Image encoding / decoding method and device, and recording medium in which bitstream is stored

By deriving intra prediction modes for chrominance blocks using luminance block-derived candidates and adaptive transform selection, the method improves encoding efficiency and accuracy in high-resolution image compression.

WO2026049511A1PCT designated stage Publication Date: 2026-03-05LG ELECTRONICS INC
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-08-27
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Existing video encoding/decoding technologies face challenges in efficiently compressing high-resolution, high-quality images, particularly in deriving optimal intra prediction modes for chrominance blocks, which affects encoding efficiency and accuracy.

Method used

The method and apparatus derive an intra prediction mode for chrominance blocks using a candidate list that includes a DIPM derived from a luminance block, and a DM mode based on predetermined positions within the luminance block, with adaptive selection of transform sets or kernels for transformation, and utilize a weighted sum of prediction blocks for improved accuracy.

Benefits of technology

This approach enhances encoding efficiency and prediction accuracy for chrominance blocks by optimizing intra prediction modes and transform selection, leading to improved compression and decoding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025013112_05032026_PF_FP_ABST
    Figure KR2025013112_05032026_PF_FP_ABST
Patent Text Reader

Abstract

An image decoding method and device according to the present disclosure may: derive an intra prediction mode for a chroma block; generate a prediction block of the chroma block on the basis of the intra prediction mode; derive a residual block of the chroma block on the basis of an inverse transform of transform coefficients of the chroma block; and reconstruct the chroma block on the basis of the prediction block and the residual block.
Need to check novelty before this filing date? Find Prior Art

Description

Video encoding / decoding method and device, and recording medium storing bitstream

[0001] The present invention relates to a video encoding / decoding method and device, and a recording medium storing a bitstream.

[0002] Recently, the demand for high-resolution, high-quality images, such as HD (High Definition) images and UHD (Ultra High Definition) images, is increasing in various application fields, and accordingly, high-efficiency image compression technologies are being discussed.

[0003] There are various technologies for image compression, such as inter prediction technology that predicts pixel values ​​included in the current picture from pictures before or after the current picture, intra prediction technology that predicts pixel values ​​included in the current picture using pixel information within the current picture, and entropy encoding technology that assigns short codes to values ​​with high frequency of appearance and long codes to values ​​with low frequency of appearance, and these technologies can be used to effectively compress and transmit or store image data.

[0004] The present disclosure provides a method and apparatus for deriving an intra prediction mode of a chrominance block.

[0005] The present disclosure provides a method and apparatus for generating a prediction block of a chrominance block.

[0006] The present disclosure provides a method and apparatus for determining a transform set or transform kernel for (inverse) transformation of a chroma block.

[0007] The image decoding method and device according to the present disclosure can derive an intra prediction mode for a chrominance block, generate a prediction block of the chrominance block based on the intra prediction mode, derive a residual block of the chrominance block based on an inverse transformation of transform coefficients of the chrominance block, and reconstruct the chrominance block based on the prediction block and the residual block.

[0008] In the image decoding method and device according to the present disclosure, the intra prediction mode of the chrominance block can be derived based on at least one of a plurality of candidate modes belonging to a candidate list.

[0009] In the image decoding method and device according to the present disclosure, the candidate list may include a DIPM (Derived Intra Prediction Mode) derived based on a luminance block at the same position corresponding to the chrominance block.

[0010] In the image decoding method and device according to the present disclosure, the DIPM can be derived through a DIMD (Decoder side Intra Mode Derivation) method based on the luminance block.

[0011] In the image decoding method and device according to the present disclosure, the DIPM can be derived through a TIMD (Template-based Intra Mode Derivation) method based on the luminance block.

[0012] In the video decoding method and device according to the present disclosure, the candidate list may further include a DM mode. Here, the DM mode may be derived based on an intra prediction mode corresponding to a predetermined position within the luminance block. The predetermined position may include at least one of a center position, an upper left position, an upper right position, a lower left position, or a lower right position.

[0013] In the image decoding method and device according to the present disclosure, the intra prediction mode of the chrominance block can be derived based on intra prediction modes collected from at least one of a luminance block at the same position corresponding to the chrominance block, a surrounding block of the luminance block, or a surrounding block of the chrominance block.

[0014] In the image decoding method and device according to the present disclosure, when the intra prediction mode corresponding to a predetermined position within the luminance block does not correspond to a directional mode or a non-directional mode, the DM mode may be set to an inter-component prediction mode.

[0015] In the image decoding method and device according to the present disclosure, when the intra prediction mode corresponding to a predetermined position within the luminance block does not correspond to a directional mode or a non-directional mode, the DM mode may be set to a DIPM derived through a DIMD (Decoder side Intra Mode Derivation) method or a TIMD (Template-based Intra Mode Derivation) method.

[0016] In the image decoding method and device according to the present disclosure, the DIMD method or the TIMD method may be based on at least one of the luminance block, the surrounding area of ​​the luminance block, or the surrounding area of ​​the chrominance block.

[0017] In the image decoding method and device according to the present disclosure, when a plurality of intra prediction modes are derived for the chrominance block, a plurality of prediction blocks can be generated based on the plurality of intra prediction modes, and the prediction block of the chrominance block can be generated based on a weighted sum of the plurality of prediction blocks.

[0018] In the image decoding method and device according to the present disclosure, a transform set or transform kernel for the inverse transform can be determined based on the intra prediction mode of the chrominance block or the prediction block of the chrominance block.

[0019] The video encoding method and device according to the present disclosure can derive an intra prediction mode for a chrominance block, generate a prediction block of the chrominance block based on the intra prediction mode, derive transform coefficients of the chrominance block based on a residual block of the chrominance block, and encode residual information regarding the transform coefficients.

[0020] A computer-readable digital storage medium is provided having encoded video / image information stored thereon, which causes a decoding device according to the present disclosure to perform a video decoding method.

[0021] A computer-readable digital storage medium storing video / image information generated by a video encoding method according to the present disclosure is provided.

[0022] A method and device for transmitting video / image information generated by a video encoding method according to the present disclosure are provided.

[0023] According to the present disclosure, an intra prediction mode more optimized for a chroma block can be derived in an encoding device and a decoding device, and the encoding efficiency of intra prediction can be improved by utilizing the intra prediction mode.

[0024] According to the present disclosure, the accuracy of prediction for a chrominance block can be improved through a weighted sum between a plurality of prediction blocks.

[0025] According to the present disclosure, the encoding efficiency of a residual signal can be improved by adaptively selecting a transform set or transform kernel for (inverse) transformation.

[0026] FIG. 1 illustrates a video / image coding system according to the present disclosure.

[0027] FIG. 2 is a schematic block diagram of an encoding device to which an embodiment of the present disclosure can be applied and in which encoding of a video / image signal is performed.

[0028] FIG. 3 is a schematic block diagram of a decoding device to which an embodiment of the present disclosure can be applied and in which decoding of a video / image signal is performed.

[0029] FIG. 4 illustrates a decoding method performed by a decoding device (300) as an embodiment according to the present disclosure.

[0030] FIG. 5 illustrates a schematic configuration of a decoding device (300) that performs a decoding method according to the present disclosure.

[0031] FIG. 6 illustrates an encoding method performed by an encoding device (200) as an embodiment according to the present disclosure.

[0032] FIG. 7 illustrates a schematic configuration of an encoding device (200) that performs an encoding method according to the present disclosure.

[0033] FIG. 8 illustrates an example of a content streaming system to which embodiments of the present disclosure can be applied.

[0034] The present disclosure may be modified in various ways and encompasses numerous embodiments. Specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present disclosure to specific embodiments, but rather to encompass all modifications, equivalents, and alternatives falling within the spirit and technical scope of the present disclosure. Throughout the description of each drawing, similar reference numerals have been used to designate similar components.

[0035] While terms such as "first" and "second" may be used to describe various components, these components should not be limited by these terms. These terms are used solely to distinguish one component from another. For example, without departing from the scope of the present disclosure, a first component could be referred to as a "second component," and similarly, a second component could also be referred to as a "first component." The term "and / or" includes a combination of multiple related items described herein or any of multiple related items described herein.

[0036] When a component is referred to as being "connected" or "connected" to another component, it should be understood that it may be directly connected or connected to that other component, but that there may be other components intervening. Conversely, when a component is referred to as being "directly connected" or "connected" to another component, it should be understood that there are no other components intervening.

[0037] The terminology used in this application is only used to describe specific embodiments and is not intended to limit the present disclosure. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this application, it should be understood that the terms "comprise" or "have" indicate the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but do not preclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0038] The present disclosure relates to video / image coding. For example, the methods / embodiments disclosed in this specification can be applied to methods disclosed in the versatile video coding (VVC) standard. In addition, the methods / embodiments disclosed in this specification can be applied to methods disclosed in the essential video coding (EVC) standard, the AOMedia Video 1 (AV1) standard, the second generation of audio video coding standard (AVN2), or the next generation of video / image coding standards (e.g., H.267 or H.268).

[0039] This specification presents various embodiments of video / image coding, and unless otherwise stated, the embodiments may be performed in combination with each other.

[0040] In this specification, a video may refer to a set of images over time. A picture generally refers to a unit representing one image at a specific time point, and a slice / tile is a unit that constitutes part of a picture in coding. A slice / tile may include one or more coding tree units (CTUs). A picture may be composed of one or more slices / tiles. A tile is a rectangular area consisting of multiple CTUs within a specific tile column and a specific tile row of a picture. A tile column is a rectangular area of ​​CTUs that has a height equal to the height of the picture and a width specified by the syntax requirements of the picture parameter set. A tile row is a rectangular area of ​​CTUs that has a height specified by the picture parameter set and a width equal to the width of the picture. CTUs within a tile are arranged consecutively according to the CTU raster scan, while tiles within a picture may be arranged consecutively according to the tile raster scan. A slice may contain an integer number of complete tiles or an integer number of contiguous complete CTU rows within a picture, which may be exclusively contained within a single NAL unit. Meanwhile, a picture may be divided into two or more subpictures. A subpicture may be a rectangular region of one or more slices within a picture.

[0041] A pixel, or pel, can refer to the smallest unit that constitutes a picture (or image). Additionally, the term "sample" can be used as a counterpart to a pixel. A sample can generally represent a pixel or a pixel value, and can represent only the pixel / pixel value of the luminance component, or only the pixel / pixel value of the chrominance component.

[0042] A unit may represent a basic unit of image processing. A unit may include at least one of a specific region of a picture and information related to the region. One unit may include one luma block and two chroma (e.g., cb, cr) blocks. In some cases, the term "unit" may be used interchangeably with terms such as "block" or "area." In general, an MxN block may include a set (or array) of samples (or sample array) or transform coefficients consisting of M columns and N rows.

[0043] As used herein, "A or B" can mean "only A," "only B," or "both A and B." In other words, as used herein, "A or B" can be interpreted as "A and / or B." For example, as used herein, "A, B or C" can mean "only A," "only B," "only C," or "any combination of A, B and C."

[0044] As used herein, a slash ( / ) or a comma can mean "and / or." For example, "A / B" can mean "A and / or B." Accordingly, "A / B" can mean "only A," "only B," or "both A and B." For example, "A, B, C" can mean "A, B, or C."

[0045] In this specification, "at least one of A and B" may mean "only A", "only B" or "both A and B". Additionally, in this specification, the expressions "at least one of A or B" or "at least one of A and / or B" may be interpreted identically to "at least one of A and B".

[0046] Additionally, in this specification, “at least one of A, B and C” can mean “only A,” “only B,” “only C,” or “any combination of A, B and C.” Additionally, “at least one of A, B or C” or “at least one of A, B and / or C” can mean “at least one of A, B and C.”

[0047] Additionally, parentheses used herein may mean "for example." Specifically, when "prediction (intra-prediction)" is indicated, "intra-prediction" may be suggested as an example of "prediction." In other words, "prediction" in this specification is not limited to "intra-prediction," and "intra-prediction" may be suggested as an example of "prediction." Furthermore, even when "prediction (i.e., intra-prediction)" is indicated, "intra-prediction" may be suggested as an example of "prediction."

[0048] Technical features individually described in a single drawing in this specification may be implemented individually or simultaneously.

[0049] FIG. 1 illustrates a video / image coding system according to the present disclosure.

[0050] Referring to FIG. 1, a video / image coding system may include a first device (source device) and a second device (receiving device).

[0051] A source device can transmit encoded video / image information or data to a receiving device via a digital storage medium or a network in the form of a file or streaming. The source device may include a video source, an encoding device, and a transmitting device. The receiving device may include a receiving device, a decoding device, and a renderer. The encoding device may be referred to as a video / image encoding device, and the decoding device may be referred to as a video / image decoding device. The transmitter may be included in the encoding device. The receiver may be included in the decoding device. The renderer may include a display unit, and the display unit may be configured as a separate device or an external component.

[0052] A video source may obtain video / images through a process of capturing, synthesizing, or generating video / images. The video source may include a video / image capture device and / or a video / image generation device. The video / image capture device may include one or more cameras, a video / image archive containing previously captured video / images, etc. The video / image generation device may include a computer, a tablet, a smartphone, etc., and may (electronically) generate video / images. For example, a virtual video / image may be generated through a computer, etc., in which case the video / image capture process may be replaced by a process of generating related data.

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

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

[0055] The decoding device can decode the video / image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding device.

[0056] The renderer can render decoded video / images. The rendered video / images can be displayed through the display unit.

[0057] FIG. 2 is a schematic block diagram of an encoding device to which an embodiment of the present disclosure can be applied and in which encoding of a video / image signal is performed.

[0058] Referring to FIG. 2, the encoding device (200) may be configured to include an image partitioner (210), a prediction unit (predictor) 220, a residual processor (residual processor) 230, an entropy encoder (entropy encoder) 240, an adder (adder) 250, a filter (filter) 260, and a memory (memory) 270. The prediction unit (220) may include an inter prediction unit (221) and an intra prediction unit (222). The residual processor (230) may include a transformer (transformer) 232, a quantizer (quantizer) 233, a dequantizer (dequantizer) 234, and an inverse transformer (inverse transformer) 235. The residual processing unit (230) may further include a subtractor (231). The addition unit (250) may be called a reconstructor or a recontructed block generator. The image segmentation unit (210), the prediction unit (220), the residual processing unit (230), the entropy encoding unit (240), the addition unit (250), and the filtering unit (260) described above may be configured by one or more hardware components (e.g., an encoding device chipset or processor) according to an embodiment. In addition, the memory (270) may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include the memory (270) as an internal / external component.

[0059] The image segmentation unit (210) can segment an input image (or picture, frame) input to the encoding device (200) into one or more processing units. For example, the processing unit may be called a coding unit (CU). In this case, the coding unit may be recursively segmented from a coding tree unit (CTU) or a largest coding unit (LCU) according to a QTBTTT (Quad-tree binary-tree ternary-tree) structure.

[0060] For example, a single coding unit may be split into multiple coding units with deeper depths based on a quad-tree structure, a binary tree structure, and / or a ternary structure. In this case, for example, the quad-tree structure may be applied first, and the binary tree structure and / or the ternary structure may be applied later. Alternatively, the binary tree structure may be applied before the quad-tree structure. The coding procedure according to the present specification may be performed based on the final coding unit that is no longer split. In this case, based on coding efficiency according to image characteristics, etc., the largest coding unit may be used directly as the final coding unit, or, if necessary, the coding unit may be recursively split into coding units of lower depths, and the coding unit with the optimal size may be used as the final coding unit. Here, the coding procedure may include procedures such as prediction, transformation, and restoration, which will be described later.

[0061] As another example, the processing unit may further include a prediction unit (PU) or a transform unit (TU). In this case, the prediction unit and the transform unit may each be split or partitioned from the final coding unit described above. The prediction unit may be a unit of sample prediction, and the transform unit may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from a transform coefficient.

[0062] The term "unit" may be used interchangeably with terms such as "block" or "area" depending on the case. In general, an MxN block can represent a set of samples or transform coefficients consisting of M columns and N rows. A sample can generally represent a pixel or a pixel value, and can represent only the pixel / pixel value of the luminance component, or only the pixel / pixel value of the chrominance component. A sample can be used as a term corresponding to a pixel or pel in a picture (or image).

[0063] The encoding device (200) can generate a residual signal (residual block, residual sample array) by subtracting a prediction signal (prediction block, prediction sample array) output from an inter prediction unit (221) or an intra prediction unit (222) from an input video signal (original block, original sample array), and the generated residual signal is transmitted to a conversion unit (232). In this case, a unit that subtracts a prediction signal (prediction block, prediction sample array) from an input video signal (original block, original sample array) within the encoding device (200) may be called a subtraction unit (231).

[0064] The prediction unit (220) can perform a prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including prediction samples for the current block. The prediction unit (220) can determine whether intra prediction or inter prediction is applied on a current block or CU basis. The prediction unit (220) can generate various information related to prediction, such as prediction mode information, as described later in the description of each prediction mode, and transmit the information to the entropy encoding unit (240). The information related to prediction can be encoded by the entropy encoding unit (240) and output in the form of a bitstream.

[0065] The intra prediction unit (222) can predict the current block by referring to samples in the current picture. The referenced samples may be located in the neighborhood of the current block or may be located a certain distance away from the current block depending on the prediction mode. In intra prediction, the prediction modes may include one or more non-directional modes and multiple directional modes. The non-directional mode may include at least one of a DC mode or a planar mode. The directional mode may include 33 directional modes or 65 directional modes depending on the degree of detail in the prediction direction. However, this is only an example, and a greater or lesser number of directional modes may be used depending on the settings. The intra prediction unit (222) may also determine the prediction mode applied to the current block by using the prediction mode applied to the template region.

[0066] The inter prediction unit (221) can derive a prediction block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, in order to reduce the amount of motion information transmitted in the inter prediction mode, the motion information can be predicted in units of blocks, subblocks, or samples based on the correlation of the motion information between the template region and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, the template region can include a spatial template region (spatial neighboring block) existing in the current picture and a temporal template region (temporal neighboring block) existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal template region may be the same or different. The temporal template region may be called a collocated reference block, a collocated CU (colCU), etc., and a reference picture including the temporal template region may be called a collocated picture (colPic). For example, the inter prediction unit (221) may configure a motion information candidate list based on template regions, and generate information indicating which candidate is used to derive the motion vector and / or reference picture index of the current block. Inter prediction may be performed based on various prediction modes, and for example, in the case of skip mode and merge mode, the inter prediction unit (221) may use the motion information of the template region as the motion information of the current block. In the case of skip mode, unlike the merge mode, a residual signal may not be transmitted.In the motion vector prediction (MVP) mode, the motion vector of the template area is used as a motion vector predictor, and the motion vector of the current block can be indicated by signaling the motion vector difference.

[0067] The prediction unit (220) can generate a prediction signal based on various prediction methods described below. For example, the prediction unit can apply intra prediction or inter prediction for prediction of a single block, and can also apply intra prediction and inter prediction simultaneously. This can be called combined inter and intra prediction (CIIP) mode. In addition, the prediction unit can be based on an intra block copy (IBC) prediction mode or a palette mode for prediction of a block. The IBC prediction mode or palette mode can be used for content image / video coding such as games, such as screen content coding (SCC). IBC basically performs prediction within the current picture, but can be performed similarly to inter prediction in that it derives a reference block within the current picture. That is, IBC can utilize at least one of the inter prediction techniques described herein. Palette mode can be viewed as an example of intra coding or intra prediction. When the palette mode is applied, sample values ​​within a picture can be signaled based on information about the palette table and palette index. The prediction signal generated through the prediction unit (220) can be used to generate a restoration signal or a residual signal.

[0068] The transform unit (232) can apply a transform technique to the residual signal to generate transform coefficients. For example, the transform technique can include at least one of a Discrete Cosine Transform (DCT), a Discrete Sine Transform (DST), a Karhunen-Loeve Transform (KLT), a Graph-Based Transform (GBT), or a Conditionally Non-linear Transform (CNT). Here, GBT refers to a transform obtained from a graph when the relationship information between pixels is expressed as a graph. CNT refers to a transform obtained based on generating a prediction signal using all previously restored pixels. In addition, the transform process can be applied to a pixel block having a square size and the same size, or can be applied to a block of a non-square variable size.

[0069] The quantization unit (233) quantizes the transform coefficients and transmits them to the entropy encoding unit (240), and the entropy encoding unit (240) can encode the quantized signal (information about the quantized transform coefficients) and output it as a bitstream. The information about the quantized transform coefficients can be called residual information. The quantization unit (233) can rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on the coefficient scan order, and can also generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.

[0070] The entropy encoding unit (240) can perform various encoding methods such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), etc. The entropy encoding unit (240) can also encode information necessary for video / image restoration (e.g., values ​​of syntax elements, etc.) together or separately from quantized transform coefficients.

[0071] 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 may further include information on 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). In addition, the video / image information may further include general constraint information. In the present specification, information and / or syntax elements transmitted / signaled from an encoding device to a decoding device may be included in the video / image information. The video / image information may be encoded through the above-described encoding procedure and included in the bitstream. The bitstream may be transmitted via a network or stored in a digital storage medium. Here, the network may include a broadcasting network and / or a communication network, and the digital storage medium may include various storage media, such as a USB, SD, CD, DVD, Blu-ray, HDD, or SSD. The signal output from the entropy encoding unit (240) may be configured as an internal / external element of the encoding device (200) by a transmitting unit (not shown) and / or a storing unit (not shown), or the transmitting unit may be included in the entropy encoding unit (240).

[0072] The quantized transform coefficients output from the quantization unit (233) can be used to generate a prediction signal. For example, by applying inverse quantization and inverse transformation to the quantized transform coefficients through the inverse quantization unit (234) and the inverse transform unit (235), a residual signal (residual block or residual samples) can be reconstructed. The addition unit (250) can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the reconstructed residual signal to the prediction signal output from the inter prediction unit (221) or the intra prediction unit (222). When there is no residual for the block to be processed, such as when skip mode is applied, the predicted block can be used as a reconstructed block. The addition unit (250) may be called a reconstructor or a reconstructed block generation unit. The generated restoration signal can be used for intra prediction of the next processing target block within the current picture, and can also be used for inter prediction of the next picture after filtering as described below. Meanwhile, LMCS (luma mapping with chroma scaling) may be applied during the picture encoding and / or restoration process.

[0073] The filtering unit (260) can improve subjective / objective picture quality by applying filtering to the restoration signal. For example, the filtering unit (260) can apply various filtering methods to the restoration picture to generate a modified restoration picture, and store the modified restoration picture in the memory (270), specifically, in the DPB of the memory (270). The various filtering methods can include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The filtering unit (260) can generate various information regarding filtering and transmit it to the entropy encoding unit (240). The information regarding filtering can be encoded by the entropy encoding unit (240) and output in the form of a bitstream.

[0074] The modified restored picture transmitted to the memory (270) can be used as a reference picture in the inter prediction unit (221). Through this, when inter prediction is applied, the encoding device can avoid prediction mismatch between the encoding device (200) and the decoding device, and can also improve encoding efficiency.

[0075] The DPB of the memory (270) can store the modified restored picture to be used as a reference picture in the inter prediction unit (221). The memory (270) can store motion information of a block from which motion information in the current picture is derived (or encoded) and / or motion information of blocks in an already restored picture. The stored motion information can be transferred to the inter prediction unit (221) to be used as motion information in a spatial template area or motion information in a temporal template area. The memory (270) can store restored samples of restored blocks in the current picture and transfer them to the intra prediction unit (222).

[0076] FIG. 3 is a schematic block diagram of a decoding device to which an embodiment of the present disclosure can be applied and in which decoding of a video / image signal is performed.

[0077] Referring to FIG. 3, the decoding device (300) may be configured to include an entropy decoder (310), a residual processor (320), a predictor (330), an adder (340), a filter (350), and a memory (360). The predictor (330) may include an inter-prediction unit (332) and an intra-prediction unit (331). The residual processor (320) may include a dequantizer (321) and an inverse transformer (321).

[0078] The entropy decoding unit (310), residual processing unit (320), prediction unit (330), addition unit (340), and filtering unit (350) described above may be configured by a single hardware component (e.g., a decoding device chipset or processor) depending on the embodiment. In addition, the memory (360) may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include the memory (360) as an internal / external component.

[0079] When a bitstream including video / image information is input, the decoding device (300) can restore the image corresponding to the process in which the video / image information is processed in the encoding device of FIG. 2. For example, the decoding device (300) can derive units / blocks based on block division-related information obtained from the bitstream. The decoding device (300) can perform decoding using a processing unit applied in the encoding device. Accordingly, the processing unit of decoding may be a coding unit, and the coding unit may be divided from a coding tree unit or a maximum coding unit according to a quad tree structure, a binary tree structure, and / or a ternary tree structure. One or more transform units may be derived from the coding unit. Then, the restored image signal decoded and output through the decoding device (300) can be reproduced through a reproduction device.

[0080] The decoding device (300) can receive a signal output from the encoding device of FIG. 2 in the form of a bitstream, and the received signal can be decoded through the entropy decoding unit (310). For example, the entropy decoding unit (310) can parse the bitstream to derive information (e.g., video / image information) necessary for image restoration (or picture restoration). The video / image information may further include information on 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). In addition, the video / image information may further include general constraint information. The decoding device can decode the picture further based on the information on the parameter set and / or the general constraint information. The signaling / received information and / or syntax elements described later in this specification can be decoded through the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit (310) can decode information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output the values ​​of syntax elements required for image restoration and the quantized values ​​of transform coefficients for residuals. More specifically, the CABAC entropy decoding method receives a bin corresponding to each syntax element in the bitstream, determines a context model using information of the syntax element to be decoded and decoding information of the surrounding and decoding target blocks or information of symbols / bins decoded in the previous step, and predicts the occurrence probability of the bin according to the determined context model to perform arithmetic decoding of the bin to generate a symbol corresponding to the value of each syntax element.At this time, the CABAC entropy decoding method can update the context model using the information of the decoded symbol / bin for the context model of the next symbol / bin after determining the context model. Information regarding prediction among the information decoded by the entropy decoding unit (310) is provided to the prediction unit (inter prediction unit (332) and intra prediction unit (331)), and residual values ​​on which entropy decoding is performed by the entropy decoding unit (310), i.e., quantized transform coefficients and related parameter information, can be input to the residual processing unit (320). The residual processing unit (320) can derive a residual signal (residual block, residual samples, residual sample array). In addition, information regarding filtering among the information decoded by the entropy decoding unit (310) can be provided to the filtering unit (350). Meanwhile, a receiving unit (not shown) that receives a signal output from an encoding device may be further configured as an internal / external element of a decoding device (300), or the receiving unit may be a component of an entropy decoding unit (310).

[0081] Meanwhile, a decoding device according to the present specification may be called a video / video / picture decoding device, and the decoding device may be divided into an information decoding device (video / video / picture information decoding device) and a sample decoding device (video / video / picture sample decoding device). The information decoding device may include the entropy decoding unit (310), and the sample decoding device may include at least one of the inverse quantization unit (321), the inverse transformation unit (322), the addition unit (340), the filtering unit (350), the memory (360), the inter prediction unit (332), and the intra prediction unit (331).

[0082] The inverse quantization unit (321) can inverse quantize the quantized transform coefficients and output the transform coefficients. The inverse quantization unit (321) can rearrange the quantized transform coefficients into a two-dimensional block form. In this case, the rearrangement can be performed based on the coefficient scanning order performed in the encoding device. The inverse quantization unit (321) can perform inverse quantization on the quantized transform coefficients using quantization parameters (e.g., quantization step size information) and obtain transform coefficients.

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

[0084] The prediction unit (320) can perform a prediction on the current block and generate a predicted block including prediction samples for the current block. The prediction unit (320) can determine whether intra-prediction or inter-prediction is applied to the current block based on the information regarding the prediction output from the entropy decoding unit (310), and can determine a specific intra / inter-prediction mode.

[0085] The prediction unit (320) can generate a prediction signal based on various prediction methods described below. For example, the prediction unit (320) can apply intra prediction or inter prediction for prediction of a single block, and can also apply intra prediction and inter prediction simultaneously. This can be called combined inter and intra prediction (CIIP) mode. In addition, the prediction unit can be based on an intra block copy (IBC) prediction mode or a palette mode for prediction of a block. The IBC prediction mode or palette mode can be used for content image / video coding such as games, such as screen content coding (SCC). IBC basically performs prediction within the current picture, but can be performed similarly to inter prediction in that it derives a reference block within the current picture. That is, IBC can utilize at least one of the inter prediction techniques described herein. Palette mode can be viewed as an example of intra coding or intra prediction. When palette mode is applied, information about the palette table and palette index may be included and signaled in the video / image information.

[0086] The intra prediction unit (331) can predict the current block by referring to samples within the current picture. The referenced samples may be located in the neighborhood of the current block, or may be located a certain distance away from the current block, depending on the prediction mode. In intra prediction, the prediction modes may include one or more non-directional modes and multiple directional modes. The intra prediction unit (331) may also determine the prediction mode applied to the current block by using the prediction mode applied to the template region.

[0087] The inter prediction unit (332) can derive a prediction block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, in order to reduce the amount of motion information transmitted in the inter prediction mode, the motion information can be predicted in units of blocks, subblocks, or samples based on the correlation of the motion information between the template region and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, the template region can include a spatial template region (spatial neighboring block) existing in the current picture and a temporal template region (temporal neighboring block) existing in the reference picture. For example, the inter prediction unit (332) can construct a motion information candidate list based on the template regions, and derive the motion vector and / or reference picture index of the current block based on the received candidate selection information. Inter prediction can be performed based on various prediction modes, and information about the prediction can include information indicating an inter prediction mode for the current block.

[0088] The addition unit (340) can generate a restoration signal (restored picture, restoration block, restoration sample array) by adding the acquired residual signal to the prediction signal (prediction block, prediction sample array) output from the prediction unit (including the inter-prediction unit (332) and / or intra-prediction unit (331)). When there is no residual for the block to be processed, such as when skip mode is applied, the prediction block can be used as the restoration block.

[0089] The addition unit (340) may be referred to as a restoration unit or restoration block generation unit. The generated restoration signal may be used for intra prediction of the next processing target block within the current picture, may be output after filtering as described below, or may be used for inter prediction of the next picture. Meanwhile, LMCS (luma mapping with chroma scaling) may be applied during the picture decoding process.

[0090] The filtering unit (350) can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit (350) can apply various filtering methods to the restored picture to generate a modified restored picture, and transmit the modified restored picture to the memory (360), specifically, to the DPB of the memory (360). The various filtering methods can include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.

[0091] The (modified) reconstructed picture stored in the DPB of the memory (360) can be used as a reference picture in the inter prediction unit (332). The memory (360) can store motion information of a block from which motion information is derived (or decoded) in the current picture and / or motion information of blocks in an already reconstructed picture. The stored motion information can be transferred to the inter prediction unit (332) to be used as motion information of a spatial template area or motion information of a temporal template area. The memory (360) can store reconstructed samples of reconstructed blocks in the current picture and transfer them to the intra prediction unit (331).

[0092] In this specification, the embodiments described in the filtering unit (260), the inter prediction unit (221), and the intra prediction unit (222) of the encoding device (200) can be applied to the filtering unit (350), the inter prediction unit (332), and the intra prediction unit (331) of the decoding device (300) in the same or corresponding manner, respectively.

[0093] FIG. 4 illustrates an image decoding method performed by a decoding device (300) as an embodiment according to the present disclosure.

[0094] According to the present disclosure, the current block can be divided into a chrominance block and a luminance block at the same position corresponding to the chrominance block. In the case of a 4:2:0 color plane, the width and height of the luminance block can be twice the width and height of the chrominance block, respectively. In the case of a 4:4:4 color plane, the width and height of the luminance block can be equal to the width and height of the chrominance block, respectively.

[0095] An intra prediction mode corresponding to a specific position within a luminance block can be set as a candidate mode of a chrominance block, and this will be referred to as a DM mode. The specific position can include at least one of a center position, an upper left position, an upper right position, a lower left position, or a lower right position within the luminance block. In intra prediction, if the tree type of the corresponding coding tree unit (CTU) or coding unit (CU) is a single tree, the luminance block and the chrominance block at the same color plane position are matched 1:1, so the efficiency of the DM mode can be high. However, if the tree type of the CTU or CU is a dual tree, the luminance block and the chrominance block at the same color plane position can have different partition structures and sizes, so the problem of reducing the efficiency of the DM mode can occur.

[0096] Additionally, if the intra prediction mode of the luminance block is not a conventional directional mode such as matrix-based intra prediction (MIP) or decoder side intra mode derivation (DIMD), the prediction accuracy of the DM mode for the chrominance block may decrease.

[0097] Accordingly, the present disclosure proposes a method for improving the prediction efficiency and accuracy of DM mode when the tree type of the current block is a single tree or a dual tree.

[0098] Referring to FIG. 4, the intra prediction mode of the color difference block can be derived (S400).

[0099] Method 1

[0100] Specifically, a candidate list for a chroma block can be constructed. The candidate list can include multiple candidate modes available to the chroma block. An intra prediction mode for the chroma block can be derived based on at least one of the multiple candidate modes.

[0101] The candidate list of chrominance blocks may include one or more Derived Intra Prediction Modes (DIPMs) derived from a luminance block. Here, the luminance block may be a luminance block in the same location as the chrominance block. Below, we will examine the DIPM derivation method.

[0102] Example 1

[0103] DIPM can be derived via the DIMD method based on luminance blocks.

[0104] Specifically, a histogram of gradient (HoG) can be derived by applying a predetermined filter to samples belonging to a luminance block. Here, the samples belonging to the luminance block may refer to predicted samples derived through intra prediction, or may refer to samples reconstructed based on the predicted samples and residual samples. The HoG can represent an accumulated amplitude value for each of the predetermined intra prediction modes.

[0105] By applying a predetermined filter to a sample belonging to a luminance block, horizontal variation and vertical variation in the corresponding sample can be derived, respectively. A slope (or angle) can be derived based on the horizontal and vertical variations, and an intra prediction mode mapped to the derived slope can be determined. The intra prediction mode mapped to the slope may be an intra prediction mode having a directionality most similar to the slope. A predetermined amplitude value can be assigned / accumulated for the mapped intra prediction mode. Here, the amplitude value may be derived based on at least one of the magnitude of the horizontal variation or the magnitude of the vertical variation. For example, the amplitude value may be defined as the sum of the magnitudes of the horizontal variation and the vertical variation. As the predetermined filter, a 3x3 Sobel edge operator or a 2x2 edge operator may be used, but is not limited thereto.

[0106] In the HoG derived through the aforementioned process, the intra prediction mode with the largest amplitude value may be set as the DIPM. Alternatively, the top N intra prediction modes in descending order of amplitude value may be set as DIPMs. Here, N may be an integer greater than or equal to 2.

[0107] The HoG may be derived based on all samples belonging to a luminance block. Alternatively, the HoG may be derived based on some samples at a specific location within the luminance block. Alternatively, the HoG may be derived based on an area including the luminance block and its surrounding area.

[0108] Example 2

[0109] DIPM can be derived through the template-based intra mode derivation (TIMD) method based on luminance blocks.

[0110] Specifically, for each of the predetermined intra prediction modes for the TIMD method, intra prediction can be performed on a predetermined template region based on the intra prediction mode to derive prediction samples. Based on the difference between the prediction samples derived for the template region and the samples of the luminance block, the cost for the corresponding intra prediction mode can be calculated. Through the above-described process, the cost can be derived for each of the predetermined intra prediction modes.

[0111] Among the calculated costs, the intra prediction mode with the lowest cost may be set as the DIPM. Alternatively, the top M intra prediction modes in ascending order of the calculated costs may be set as DIPMs. Here, M may be an integer greater than or equal to 2.

[0112] The above-described intra prediction modes may include a plurality of most probable modes (MPMs) belonging to an MPM list. The plurality of MPMs may include at least one of an intra prediction mode, a derived mode, or a default mode of a neighboring block adjacent to the current block (or luminance block).

[0113] The above-mentioned surrounding blocks may include at least one of a left block, an upper block, a lower left block, an upper right block, or an upper left block. The intra prediction modes of the surrounding blocks may be sequentially added to the MPM list according to the priority order among the surrounding blocks.

[0114] The derived mode may be derived by adding or subtracting an offset to the intra prediction mode of the neighboring block. Alternatively, the derived mode may be derived by adding or subtracting an offset to the default mode described below. Here, the offset may be an integer of 1, 2, 3, 4, or more. The derived mode may be derived based on a neighboring block having a higher priority among the neighboring blocks described above. The derived mode may not be derived based on a neighboring block having a lower priority among the neighboring blocks described above. Here, the neighboring block having a higher priority may include at least one of the left block or the upper block. Conversely, the neighboring block having a lower priority may include at least one of the lower left block, the upper right block, or the upper left block. However, if the intra prediction mode of the neighboring block corresponds to a non-directional mode, the derived mode may not be derived based on the intra prediction mode of the neighboring block.

[0115] The above default mode may be a mode defined identically in the encoding device and the decoding device to configure the MPM list. For example, the default mode may include at least one of the planar mode, the DC mode, the horizontal mode, and the vertical mode.

[0116] The aforementioned MPM list may also be updated based on the intra prediction mode of the adjacent blocks adjacent to the chroma block. The MPM list may further include the intra prediction mode of at least one adjacent block to the chroma block as an MPM. Here, the adjacent block may include at least one of the left block, the upper block, the lower left block, the upper right block, or the upper left block.

[0117] Alternatively, the predetermined intra prediction modes may be intra prediction modes predefined in the encoding device and the decoding device. For example, the predetermined intra prediction modes may be all intra prediction modes, including non-directional modes and directional modes. Alternatively, the predetermined intra prediction modes may be specific intra prediction modes separately defined in the encoding device and the decoding device to derive the DIPM.

[0118] The template region may be a luminance block at the same location as the chrominance block. Alternatively, the template region may be defined as a group of specific samples within a luminance block. Alternatively, the template region may be defined as an area including a luminance block and a surrounding area of ​​the luminance block.

[0119] The above-described DIPM can be used as a replacement for an intra prediction mode (i.e., DM mode) corresponding to a specific location within a luminance block. Here, the specific location may include at least one of the center location, the top-left location, the top-right location, the bottom-left location, or the bottom-right location. Alternatively, the DIPM can be used as an additional candidate mode in addition to the existing DM mode.

[0120] For example, the candidate list may include at least one of the following candidates 1 to 6 as candidate modes.

[0121] Candidate 1: DIPM derived through Example 1 or 2

[0122] Candidate 2: Intra prediction mode corresponding to the center position of the luminance block

[0123] Candidate 3: DIPM derived via DIMD method based on at least one of a luminance block, a surrounding region of a luminance block, or a surrounding region of a chrominance block.

[0124] Candidate 4: Default mode (e.g., planar mode, DC mode, vertical mode, horizontal mode)

[0125] Candidate 5: Intra prediction mode corresponding to at least one of the upper left position, upper right position, lower left position, or lower right position within the luminance block.

[0126] Candidate 6: Intra prediction mode(s) of neighboring blocks adjacent to the chrominance block

[0127] A pre-set number of candidate modes for each chroma block from among Candidates 1 to 6 may be added to the candidate list. Candidates 1 to 6 may be sequentially added to the candidate list in order of priority. At this time, candidate modes added to the candidate list may overlap with each other. In this case, a pruning process may be performed to exclude overlapping candidate modes from the candidate list.

[0128] For example, the DIPM derived through Embodiment 1 or 2 may be the same mode as the DM mode. In this case, in order to prevent a DIPM overlapping with the DM mode from being used as a candidate mode, an intra prediction mode with a second-higher accuracy may be used as a candidate mode. If the DIPM is derived through the DIMD method, the intra prediction mode with the second-higher accuracy may be an intra prediction mode corresponding to the next order of the DIPM in descending order of amplitude value. Alternatively, if the DIPM is derived through the TIMD method, the intra prediction mode with the second-higher accuracy may be an intra prediction mode corresponding to the next order of the DIPM in ascending order of cost.

[0129] For example, if the DIPM overlapping with the DM mode corresponds to the intra prediction mode with the largest amplitude value, the intra prediction mode with the second largest amplitude value can be used as the candidate mode. Alternatively, if the DIPM overlapping with the DM mode corresponds to the intra prediction mode with the smallest cost, the intra prediction mode with the second smallest cost can be used as the candidate mode. This can be equally extended and applied when multiple DIPMs are derived through the DIMD or TIMD method.

[0130] Reordering may be performed on at least one of a plurality of candidate modes included in a candidate list. The reordering may be performed based on a predetermined cost for the candidate mode, and the cost may be calculated based on the difference between predicted samples of a template region derived based on the candidate mode and samples of the template region. Here, the template region may include at least one of a surrounding region of a chrominance block, a luminance block, or a surrounding region of a luminance block.

[0131] Reordering of the candidate list may be omitted based on the cost of a specific candidate mode. For example, if the cost of candidate 1 is less than the costs of candidates 2 and 3, reordering of the candidate list may be omitted. Alternatively, if the cost of candidate 1 is less than the cost of candidate 2, reordering of the candidate list may be omitted. Alternatively, if the cost of candidate 1 is less than the cost of candidate 3, reordering of the candidate list may be omitted.

[0132] The intra prediction mode of a chrominance block can be derived from at least one of a plurality of candidate modes included in a candidate list. To this end, index information indicating at least one of the plurality of candidate modes can be signaled through a bitstream. The index information can be signaled through truncated binary, truncated unary, or fixed-length-based binarization, taking into account the number of candidate modes included in the candidate list. The index information can be signaled based on flag information indicating whether the mode derivation method of the chrominance block described above is applied. The flag information can be signaled after being binarized based on a predetermined binarization method. During binarization, the number of binarization bits can be reduced through appropriate context modeling.

[0133] Method 2

[0134] The intra prediction mode of the chrominance block can be derived based on the intra prediction mode collected from the luminance block. For example, the intra prediction mode of the chrominance block can be set to the intra prediction mode collected from the luminance block.

[0135] Alternatively, the intra-prediction mode of the chrominance block may be derived based on the intra-prediction mode collected from the luminance block and the intra-prediction mode of the surrounding blocks of the luminance block. For example, the intra-prediction mode of the chrominance block may be set to the intra-prediction mode collected from the luminance block and the intra-prediction mode of the surrounding blocks of the luminance block.

[0136] Alternatively, the intra prediction mode of the chrominance block may be derived based on the intra prediction mode collected from the luminance block and the intra prediction mode of the surrounding blocks of the chrominance block. For example, the intra prediction mode of the chrominance block may be set to the intra prediction mode collected from the luminance block and the intra prediction mode of the surrounding blocks of the chrominance block.

[0137] Alternatively, the intra prediction mode of the chrominance block may be derived based on the intra prediction mode collected from the luminance block, the intra prediction mode of the surrounding blocks of the luminance block, and the intra prediction mode of the surrounding blocks of the chrominance block. For example, the intra prediction mode of the chrominance block may be set to the intra prediction mode collected from the luminance block, the intra prediction mode of the surrounding blocks of the luminance block, and the intra prediction mode of the surrounding blocks of the chrominance block.

[0138] The intra prediction mode collected from the luminance block may be an intra prediction mode corresponding to (or stored in) a specific location within the luminance block. The specific location may include at least one of a center location, an upper left location, an upper right location, a lower left location, or a lower right location. All intra prediction modes stored within the luminance block may be collected while moving in NxN block units within the luminance block. Here, N may be 4, 8, or 16.

[0139] The surrounding blocks of the luminance / chrominance block may include at least one of an adjacent block of the luminance / chrominance block or a non-adjacent block of the luminance / chrominance block. The adjacent block may include at least one of a left block, an upper block, a lower left block, an upper right block, or an upper left block.

[0140] At least one of the candidates 1 to 6 discussed in Method 1 may be additionally collected and set as the intra prediction mode of the chrominance block.

[0141] Among the intra prediction modes collected for the chrominance block, K intra prediction modes can be selected, and the intra prediction mode of the chrominance block can be derived based on the selected K intra prediction modes. K can be an integer greater than or equal to 1.

[0142] For example, when the number of intra prediction modes collected for a chrominance block is greater than a predefined value (K), K intra prediction modes may be selected from the intra prediction modes collected for the chrominance block. The K intra prediction modes may be adaptively selected based on at least one of a prediction mode (e.g., intra mode, inter mode), a width / height of an input block, a number of samples of the input block, a position of a sub-block within a block, an explicitly signaled syntax element, a slice type, a tree type, statistical characteristics of surrounding samples, or whether a secondary transform is applied. On the other hand, when the number of intra prediction modes collected for the chrominance block is less than or equal to K, the intra prediction mode of the chrominance block may be derived based on the intra prediction modes collected for the chrominance block.

[0143] Alternatively, K intra prediction modes can be configured by excluding modes corresponding to outliers among the intra prediction modes collected from the luminance block.

[0144] For example, among the intra prediction modes collected from the luminance block, an intra prediction mode that is identical or similar to the DIPM derived through Method 1 can be selected to configure K intra prediction modes. Here, the intra prediction mode similar to the DIPM may mean an intra prediction mode in which a difference (e.g., mode value difference or angle difference) from the DIPM is smaller than a specific threshold. Alternatively, among the intra prediction modes collected from the luminance block, an intra prediction mode in which a difference from the DIPM derived through Method 1 is larger than or equal to a specific threshold can be excluded.

[0145] Through at least one of the above-described methods 1 or 2, for one chrominance block, one intra prediction mode or multiple intra prediction modes may be derived.

[0146] Meanwhile, if the intra prediction mode at a specific location within the luminance block corresponds to a specific intra prediction mode, the DM mode available as a candidate mode can be set as follows.

[0147] For example, if the intra prediction mode at a specific location within a luminance block does not correspond to a conventional directional / non-directional mode (for example, if the intra prediction mode at a specific location corresponds to the MIP mode, the Intra Template matching prediction (IntraTMP) mode, or the extrapolation based intra prediction (EIP) mode), the DM mode can be set to a non-directional mode such as the planar mode or the DC mode.

[0148] Alternatively, if the intra prediction mode at a specific location within the luminance block does not correspond to the traditional directional / non-directional mode, the DM mode may be set to a cross-component prediction mode. Here, the cross-component prediction mode may be any one of the CCLM mode, the MMLM (multi-model linear model) mode, the CCCM mode, or the GLM (gradient linear model) mode.

[0149] Alternatively, if the intra prediction mode at a specific location within a luminance block does not correspond to a traditional directional / non-directional mode, a DIPM can be derived through a DIMD method based on at least one of a luminance block, a surrounding area of ​​a luminance block, or a surrounding area of ​​a chrominance block, and the derived DIPM can be set to a DM mode.

[0150] Alternatively, the DM mode may be adaptively set depending on the intra prediction mode of a specific location within the luminance block. For example, if the intra prediction mode of a specific location within the luminance block is the MIP mode, the DM mode may be set to the CCLM mode. If the intra prediction mode of a specific location within the luminance block is the IntraTMP mode, the DM mode may be set to the CCCM mode. If the intra prediction mode of a specific location within the luminance block is the DIMD mode, the DIPM may be derived through a DIMD method based on at least one of the luminance block, the surrounding area of ​​the luminance block, or the surrounding area of ​​the chrominance block, and the derived DIPM may be set to the DM mode.

[0151] Alternatively, if the intra prediction mode at a specific location within a luminance block does not correspond to a traditional directional / non-directional mode, the DM mode can be set to the DIPM derived through the aforementioned method 1. That is, the DIPM can be derived through the DIMD method or the TIMD method based on the luminance block, and the derived DIPM can be set to the DM mode.

[0152] The above specific location is not limited to belonging to a luminance block, and may also belong to at least one of a surrounding block of a luminance block or a surrounding block of a chrominance block.

[0153] If the intra prediction mode of a surrounding block of a chrominance block does not correspond to a traditional directional / non-directional mode (for example, if the intra prediction mode corresponds to an inter-component prediction mode), the inter-component prediction mode can be added to the candidate list as a candidate mode of the chrominance block.

[0154] If the intra prediction mode of a neighboring block of a chrominance block corresponds to an inter-component prediction mode, signaling of information about the inter-component prediction mode for the chrominance block may be omitted. Instead of signaling of information about the inter-component prediction mode, a predetermined default mode may be set or information indicating a predetermined default mode may be signaled. The setting to the default mode or signaling of information indicating the default mode may be performed when the intra prediction mode of the chrominance block is not derived based on a candidate list, and may not be performed otherwise. For example, if the intra prediction mode of a neighboring block of the chrominance block is a CCCM mode, the CCCM mode may be added to the candidate list of the chrominance block. In this case, signaling of information about the CCCM mode may be omitted. It may be set to indicate a default mode other than the CCCM mode (e.g., vertical mode), or information indicating the default mode may be signaled.

[0155] Referring to FIG. 4, a prediction block of a chrominance block can be generated based on the intra prediction mode of the chrominance block (S410).

[0156] When one intra prediction mode is derived for a chrominance block, intra prediction can be performed based on the intra prediction mode to generate a prediction block of the chrominance block.

[0157] When multiple intra prediction modes are derived for a chrominance block, multiple prediction blocks can be generated based on the multiple intra prediction modes, and a prediction block of the chrominance block can be generated based on the multiple generated prediction blocks.

[0158] For example, prediction blocks can be generated based on intra prediction modes collected from a luminance block, and a prediction block of a chrominance block can be generated based on a weighted sum of the generated prediction blocks.

[0159] Alternatively, prediction blocks may be generated based on intra prediction modes collected from a luminance block, a surrounding block of the luminance block, and a surrounding block of the chrominance block, and a prediction block of the chrominance block may be generated based on a weighted sum of the generated prediction blocks.

[0160] Alternatively, the intra prediction mode of the chrominance block may be set to a plurality of DIPMs derived through the aforementioned DIMD method. In this case, prediction blocks may be generated based on the plurality of DIPMs, and a prediction block of the chrominance block may be generated based on a weighted sum of the generated prediction blocks. At this time, the weight for the weighted sum may be determined based on amplitude values ​​for the plurality of DIPMs. For example, a relatively large weight may be assigned to a DIPM having a relatively large amplitude value.

[0161] Alternatively, the intra prediction mode of the chrominance block may be set to a plurality of DIPMs derived through the aforementioned TIMD method. In this case, prediction blocks may be generated based on the plurality of DIPMs, and a prediction block of the chrominance block may be generated based on a weighted sum of the generated prediction blocks. At this time, the weight for the weighted sum may be determined based on the costs of the plurality of DIPMs. For example, a relatively large weight may be assigned to a DIPM with a relatively small cost.

[0162] Alternatively, a plurality of prediction blocks may be generated based on a plurality of intra prediction modes derived for the chrominance block, and a prediction block of the chrominance block may be generated based on a weighted sum of the generated plurality of prediction blocks. In this case, the weights applied to the plurality of prediction blocks may be identical.

[0163] Alternatively, prediction blocks may be generated based on intra prediction modes collected from a luminance block, and a prediction block of a chrominance block may be generated based on a weighted sum of the generated prediction blocks. At this time, the weight of the weighted sum may be determined based on the position at which the intra prediction modes are collected. For example, a greater weight may be assigned to an intra prediction mode collected at a central position within a luminance block than to an intra prediction mode collected at another position within the current block (e.g., at the top left, top right, bottom left, or bottom right).

[0164] Alternatively, prediction blocks may be generated based on intra prediction modes collected from a luminance block, and a prediction block of a chrominance block may be generated based on a weighted sum of the generated prediction blocks. At this time, the weight of the weighted sum may be determined based on a block area within a luminance block occupied (or stored) by each of the intra prediction modes. For example, a relatively large weight may be assigned to an intra prediction mode that occupies a relatively large block area within the luminance block.

[0165] Alternatively, prediction blocks may be generated based on intra prediction modes collected from a luminance block, and a prediction block of a chrominance block may be generated based on a weighted sum of the generated prediction blocks. At this time, the weight of the weighted sum may be determined based on the frequency of the collected intra prediction modes. For example, a relatively large weight may be assigned to an intra prediction mode with a relatively high frequency.

[0166] Information about the weighted sum of predicted blocks (e.g., whether the weighted sum is applied, weight information, etc.) can be signaled through truncated binary, truncated unary, or fixed-length binarization. During binarization, the number of binarization bits can be reduced through appropriate context modeling.

[0167] The method for generating a prediction block described above may be used as a replacement for an existing DM mode-based prediction block generation method, or may be used as an additional method to an existing DM mode-based prediction block generation method.

[0168] Referring to FIG. 4, a residual block (or residual samples) of a chrominance block can be derived based on an inverse transformation of the transform coefficients of the chrominance block (S420).

[0169] Quantized transform coefficients of a chrominance block can be derived based on residual information signaled from a bitstream. Transform coefficients can be derived based on inverse quantization of the quantized transform coefficients.

[0170] The above inverse transform may include at least one of a first-order inverse transform and a second-order inverse transform. Here, the first-order inverse transform may be performed based on either a separable transform or a non-separable transform, and the second-order inverse transform may be performed based on a non-separable transform. The first-order inverse transform based on a non-separable transform may be referred to as a non-separable primary transform (NSPT), and the second-order inverse transform based on a non-separable transform may be referred to as a low-frequency non-separable transform (LFNST).

[0171] The encoding device and the decoding device may define multiple transform sets for the first (inverse) transform. Each transform set may include one or more transform kernels. In this case, the transform set or transform kernel for the first (inverse) transform may be selected based on the intra prediction mode of the chrominance block derived previously. The encoding device and the decoding device may define multiple transform sets for the second (inverse) transform. Each transform set may include one or more transform kernels. In this case, the transform set or transform kernel for the second (inverse) transform may be selected based on the intra prediction mode of the chrominance block derived previously.

[0172] When inter-component prediction such as CCLM (cross-component linear model) or CCCM (convolutional cross-component model) is applied to the chrominance block, a transformation set or transformation kernel for the first or second inverse transformation can also be selected based on the DIPM derived through the aforementioned method 1.

[0173] The DIPM can be derived through the DIMD method based on the prediction block of the chrominance block, and a transform set or transform kernel for the first or second inverse transform can be selected based on the derived DIPM. Alternatively, the DIPM can be derived through the TIMD method based on the prediction block of the chrominance block, and a transform set or transform kernel for the first or second inverse transform can be selected based on the derived DIPM.

[0174] When inter-component prediction such as CCLM or CCCM is applied to a chrominance block, a DIPM can be derived through a DIMD method based on a prediction block of the chrominance block, and a transform set or transform kernel for a first or second inverse transform can also be selected based on the derived DIPM.

[0175] Referring to FIG. 4, the chrominance block can be restored based on the prediction block and residual block of the chrominance block (S430).

[0176] The proposed method according to the present disclosure may be applied to the block structure of a dual tree, but not to the block structure of a single tree. Alternatively, the proposed method may be applied to both the block structures of a single tree and a dual tree.

[0177] The proposed method can be adaptively applied based on the slice type. For example, the proposed method may be applied when the slice type is an I-slice, but not applied otherwise.

[0178] Whether to apply the proposed method can be adaptively determined depending on the intra prediction mode of a specific position within a luminance block and the intra prediction mode within the screen. For example, the proposed method can be applied when the intra prediction mode of the central position of the luminance block corresponds to a specific intra prediction mode (e.g., MIP mode, EIP mode, ISP mode, SGPM (spatial geometric partitioning mode), TMRL (template-based multiple reference line) mode, DIMD mode, or TIMD mode, etc.), and otherwise, the existing DM mode can be applied. Here, the specific position is not limited to belonging to a luminance block, and may also belong to at least one of a neighboring block of the luminance block or a neighboring block of the chrominance block.

[0179] The application of the proposed method and / or the number of candidate modes may be determined based on at least one of the prediction mode (e.g., intra mode, inter mode), width / height of the input block, number of samples of the input block, position of sub-blocks within the block, explicitly signaled syntax elements, slice type, tree type, statistical characteristics of surrounding samples, or whether a secondary transform is applied. For example, the proposed method may be applied when the size of the chrominance block is 16x16 or larger, and may not be applied otherwise.

[0180] The transform set or transform kernel for the first (inverse) transform and / or the second (inverse) transform according to the proposed method may be selected based on at least one of the selected intra prediction mode, the width of the input block, the height of the input block, the number of samples of the input block, the position of sub-blocks within the block, explicitly signaled syntax elements, or statistical properties of surrounding samples.

[0181] For example, among multiple transformation sets for the first (inverse) transformation, a transformation set for the first (inverse) transformation may be selected based on the DIPM induced by the proposed method. Alternatively, among multiple transformation sets for the second (inverse) transformation, a transformation set for the second (inverse) transformation may be selected based on the DIPM induced by the proposed method.

[0182] A syntactic element indicating whether the proposed method is activated / applied can be signaled at at least one level among VPS, SPS, PPS, picture header, slice header, or decoding capability information (DCI) in high-level syntax (HLS). Furthermore, whether the proposed method is applied can be adaptively determined without signaling information indicating whether the proposed method is applied, or by signaling information indicating whether the proposed method is applied.

[0183] The proposed method can be used if the DIMD method is defined as allowed in HLS, and can be omitted otherwise. Alternatively, the proposed method can be used if the TIMD method is defined as allowed in HLS, and can be omitted otherwise.

[0184] The proposed method may be restricted to be applied only when certain conditions, such as block size or block shape, are met. For example, the proposed method may not be applied when the size of the chrominance block is 16x16 or larger, but may be applied otherwise. Alternatively, the proposed method may not be applied when the size of the chrominance block is less than 16x16, but may be applied otherwise.

[0185] Based on the information regarding the activation / application of the proposed method defined in HLS, information regarding the application of the proposed method can be adaptively signaled at lower levels (e.g., coding units, transform units). For example, if the information regarding the activation / application of the proposed method signaled in the SPS indicates false (i.e., the proposed method is not activated / applied at the SPS level), the proposed method will not be applied in the coding unit, and information regarding the application of the proposed method may not be signaled either.

[0186] FIG. 5 illustrates a schematic configuration of a decoding device (300) that performs a decoding method according to the present disclosure.

[0187] Referring to FIG. 5, the decoding device (300) may include a mode derivation unit (500), a prediction block generation unit (510), a residual block derivation unit (520), and a restoration unit (530). The mode derivation unit (500) and the prediction block generation unit (510) may be provided in the intra prediction unit (331) of FIG. 3. The residual block derivation unit (520) may be provided in the residual processing unit (320) of FIG. 3.

[0188] The mode derivation unit (500) can perform a process of deriving an intra prediction mode of a chrominance block according to S400. The prediction block generation unit (510) can perform a process of generating a prediction block according to S410. The residual block derivation unit (520) can perform a process of deriving a residual block of a chrominance block according to S420. The restoration unit (530) can perform a process of restoring a chrominance block according to S430.

[0189] FIG. 6 illustrates an encoding method performed by an encoding device (200) as an embodiment according to the present disclosure.

[0190] Referring to FIG. 6, an intra prediction mode of a chrominance block can be derived (S600). Based on at least one of the aforementioned methods 1 or 2, one or more intra prediction modes can be derived for the chrominance block, and a redundant description thereof will be omitted.

[0191] A prediction block of a chrominance block can be generated based on the intra prediction mode derived from S600 (S610). The method for generating the prediction block is as described with reference to FIG. 4.

[0192] Transform coefficients of a chroma block can be derived based on a residual block of the chroma block (S620). The residual block of the chroma block can be generated based on the prediction block generated in S610. Transform coefficients can be derived by performing at least one of transformation or quantization on the residual block.

[0193] The above transformation may include at least one of a first transformation or a second transformation. Here, the first transformation may be performed based on either a separable transformation or a non-separable transformation, and the second transformation may be performed based on a non-separable transformation. The first transformation based on a non-separable transformation may be referred to as NSPT, and the second transformation based on a non-separable transformation may be referred to as LFNST. A method for determining a transformation set or a transformation set for the first and second transformations is as described with reference to FIG. 4.

[0194] A bitstream can be generated by encoding residual information about the transform coefficients of the chrominance block (S630).

[0195] FIG. 7 illustrates a schematic configuration of an encoding device (200) that performs an encoding method according to the present disclosure.

[0196] Referring to FIG. 7, the encoding device (200) may include a mode derivation unit (700), a prediction block generation unit (710), a transform coefficient derivation unit (720), and a residual information encoding unit (730).

[0197] The mode derivation unit (700) and the prediction block generation unit (710) may be provided in the intra prediction unit (222) of FIG. 2. The transform coefficient derivation unit (720) may be provided in the residual processing unit (230) of FIG. 2. The residual information encoding unit (730) may be provided in the entropy encoding unit (240).

[0198] The mode derivation unit (700) can perform the process of deriving an intra prediction mode according to S600. The prediction block generation unit (710) can perform the process of generating a prediction block according to S610. The transform coefficient derivation unit (720) can perform the process of deriving a transform coefficient according to S620. The residual information encoding unit (730) can perform the process of encoding residual information according to S630.

[0199] In the embodiments described above, the methods are described based on a flowchart as a series of steps or blocks. However, the embodiments are not limited to the order of the steps, and some steps may occur in a different order or simultaneously with other steps described above. Furthermore, those skilled in the art will understand that the steps depicted in the flowchart are not exclusive, and other steps may be included, or one or more steps in the flowchart may be deleted without affecting the scope of the embodiments of this document.

[0200] The method according to the embodiments of the present document described above can be implemented in the form of software, and the encoding device and / or decoding device according to the present document can be included in a device that performs image processing, such as a TV, a computer, a smartphone, a set-top box, a display device, etc.

[0201] When the embodiments in this document are implemented as software, the above-described method can be implemented as a module (process, function, etc.) that performs the above-described function. The module can be stored in memory and executed by a processor. The memory can be internal or external to the processor and can be connected to the processor by various well-known means. The processor can include an application-specific integrated circuit (ASIC), another chipset, logic circuit, and / or data processing device. The memory can include a read-only memory (ROM), a random access memory (RAM), flash memory, a memory card, a storage medium, and / or other storage devices. That is, the embodiments described in this document can be implemented and performed on a processor, a microprocessor, a controller, or a chip. For example, the functional units illustrated in each drawing can be implemented and performed on a computer, a processor, a microprocessor, a controller, or a chip. In this case, information for implementation (e.g., information on instructions) or an algorithm can be stored on a digital storage medium.

[0202] In addition, the decoding device and encoding device to which the embodiment(s) of the present specification are applied may be included in a multimedia broadcasting transmitting and receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video conversation device, a real-time communication device such as a video communication, a mobile streaming device, a storage medium, a camcorder, a video-on-demand (VoD) service providing device, an OTT (Over the top video) device, an Internet streaming service providing device, a three-dimensional (3D) video device, a VR (virtual reality) device, an AR (argumente reality) device, a video phone video device, a transportation terminal (ex. a vehicle (including an autonomous vehicle) terminal, an airplane terminal, a ship terminal, etc.), and a medical video device, and may be used to process a video signal or a data signal. For example, the OTT (Over the top video) device may include a game console, a Blu-ray player, an Internet-connected TV, a home theater system, a smartphone, a tablet PC, a DVR (Digital Video Recorder), etc.

[0203] In addition, the processing method to which the embodiment(s) of the present specification are applied can be produced in the form of a computer-executable program and can be stored in a computer-readable recording medium. Multimedia data having a data structure according to the embodiment(s) of the present specification can also be stored in a computer-readable recording medium. The computer-readable recording medium includes all types of storage devices and distributed storage devices in which computer-readable data is stored. The computer-readable recording medium can include, for example, a Blu-ray disc (BD), a universal serial bus (USB), a ROM, a PROM, an EPROM, an EEPROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. In addition, the computer-readable recording medium includes a medium implemented in the form of a carrier wave (e.g., transmission via the Internet). In addition, a bitstream generated by an encoding method can be stored in a computer-readable recording medium or transmitted via a wired or wireless communication network.

[0204] Additionally, the embodiments of the present disclosure may be implemented as a computer program product by program code, and the program code may be executed on a computer by the embodiments of the present disclosure. The program code may be stored on a computer-readable carrier.

[0205] FIG. 8 illustrates an example of a content streaming system to which embodiments of the present disclosure can be applied.

[0206] Referring to FIG. 8, a content streaming system to which the embodiment(s) of the present specification are applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.

[0207] The encoding server compresses content input from multimedia input devices such as smartphones, cameras, and camcorders into digital data, generates a bitstream, and transmits it to the streaming server. Alternatively, if multimedia input devices such as smartphones, cameras, and camcorders directly generate bitstreams, the encoding server may be omitted.

[0208] The above bitstream can be generated by an encoding method or a bitstream generation method to which the embodiment(s) of the present specification are applied, and the streaming server can temporarily store the bitstream during the process of transmitting or receiving the bitstream.

[0209] The streaming server transmits multimedia data to a user device based on a user request via a web server, and the web server acts as an intermediary to inform the user of available services. When a user requests a desired service from the web server, the web server transmits the request to the streaming server, and the streaming server transmits the multimedia data to the user. At this time, the content streaming system may include a separate control server, in which case the control server controls commands / responses between each device within the content streaming system.

[0210] The streaming server can receive content from a media repository and / or an encoding server. For example, when receiving content from the encoding server, the content can be received in real time. In this case, to provide a smooth streaming service, the streaming server can store the bitstream for a certain period of time.

[0211] Examples of the user devices may include mobile phones, smart phones, laptop computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, slate PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, HMDs), digital TVs, desktop computers, digital signage, etc.

[0212] Each server within the above content streaming system can be operated as a distributed server, in which case data received from each server can be processed in a distributed manner.

[0213] The claims set forth in this specification may be combined in various ways. For example, the technical features of the method claims of this specification may be combined and implemented as a device, and the technical features of the device claims of this specification may be combined and implemented as a method. Furthermore, the technical features of the method claims and the technical features of the device claims of this specification may be combined and implemented as a device, and the technical features of the method claims and the technical features of the device claims of this specification may be combined and implemented as a method.

Claims

1. A step of deriving an intra prediction mode for a color difference block; A step of generating a prediction block of the chrominance block based on the intra prediction mode; A step of deriving a residual block of the chrominance block based on an inverse transformation of the transform coefficients of the chrominance block; and A method comprising the step of restoring the chrominance block based on the prediction block and the residual block.

2. In paragraph 1, A method in which the intra prediction mode of the above chrominance block is derived based on at least one of a plurality of candidate modes belonging to a candidate list.

3. In paragraph 2, A method wherein the above candidate list includes a DIPM (Derived Intra Prediction Mode) derived based on a luminance block at the same location as the chrominance block.

4. In paragraph 3, The above DIPM is a method derived through a DIMD (Decoder side Intra Mode Derivation) method based on the luminance block.

5. In paragraph 3, The above DIPM is a method derived through a TIMD (Template-based Intra Mode Derivation) method based on the luminance block.

6. In paragraph 3, The above candidate list further includes DM mode, The above DM mode is derived based on an intra prediction mode corresponding to a predetermined position within the luminance block, A method wherein the predetermined position comprises at least one of a central position, an upper left position, an upper right position, a lower left position, or a lower right position.

7. In paragraph 1, A method in which the intra prediction mode of the chrominance block is derived based on intra prediction modes collected from at least one of a luminance block at the same location as the chrominance block, a surrounding block of the luminance block, or a surrounding block of the chrominance block.

8. In paragraph 6, A method in which, if the intra prediction mode corresponding to a predetermined position within the luminance block does not correspond to a directional mode or a non-directional mode, the DM mode is set to an inter-component prediction mode.

9. In paragraph 6, A method in which, if the intra prediction mode corresponding to a predetermined position within the luminance block does not correspond to a directional mode or a non-directional mode, the DM mode is set to a DIPM derived through a DIMD (Decoder side Intra Mode Derivation) method or a TIMD (Template-based Intra Mode Derivation) method.

10. In paragraph 9, A method wherein the DIMD method or the TIMD method is based on at least one of the luminance block, the surrounding area of ​​the luminance block, or the surrounding area of ​​the chrominance block.

11. In paragraph 1, When multiple intra prediction modes are derived for the above chrominance block, multiple prediction blocks are generated based on the multiple intra prediction modes, respectively. A method in which the prediction block of the chrominance block is generated based on a weighted sum of the plurality of prediction blocks.

12. In paragraph 1, A method in which a transform set or transform kernel for the inverse transform is determined based on the intra prediction mode of the chrominance block or the prediction block of the chrominance block.

13. A step of deriving an intra prediction mode for a color difference block; A step of generating a prediction block of the chrominance block based on the intra prediction mode; A step of deriving transform coefficients of the chrominance block based on a residual block of the chrominance block; and A method comprising the step of encoding residual information regarding the above transformation coefficients.

14. A computer-readable storage medium storing a bitstream generated by the method according to Article 13.

15. A step of obtaining a bitstream for image information; wherein the bitstream is generated based on a step of deriving an intra prediction mode for a chrominance block, a step of generating a prediction block of the chrominance block based on the intra prediction mode, a step of deriving transform coefficients of the chrominance block based on a residual block of the chrominance block, and a step of encoding residual information about the transform coefficients, and A method comprising the step of transmitting data including the bitstream.

Citation Information

Patent Citations

  • Semiconductor device

    KR1020250061470A

  • Chroma direct mode

    WO2023194395A1

  • Image encoding / decoding method and apparatus, and recording medium having bitstream stored therein

    WO2024010356A1

  • KR20240066134A

  • KR20240109594A