Image encoding / decoding method and device, and recording medium on which bitstream is stored
By deriving intra-prediction modes for color difference blocks using DIMD and independent conversion sets for Cb and Cr blocks, the method addresses inefficiencies in existing technologies, improving prediction accuracy and encoding efficiency in high-resolution video formats.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- LG ELECTRONICS INC
- Filing Date
- 2025-10-17
- Publication Date
- 2026-04-23
AI Technical Summary
Existing video encoding/decoding technologies face challenges in efficiently predicting and encoding color difference blocks, leading to reduced encoding efficiency and accuracy, particularly in high-resolution and high-quality video formats like HD and UHD.
The method involves deriving an intra-prediction mode for color difference blocks using a Decoder Side Intra Mode Derivation (DIMD) based on luminance and chrominance block surroundings, selecting a conversion set or kernel for inverse transformation, and applying these methods to Cb and Cr blocks independently, enhancing prediction accuracy and encoding efficiency.
This approach improves the prediction accuracy and encoding efficiency for color difference blocks, optimizing intra-prediction modes and adaptively selecting conversion sets or kernels, thereby enhancing the overall video encoding/decoding process.
Smart Images

Figure KR2025016469_23042026_PF_FP_ABST
Abstract
Description
Video encoding / decoding method and device, and a recording medium storing a bitstream
[0001] The present invention relates to a video encoding / decoding method and apparatus, and a recording medium storing a bitstream.
[0002] Recently, the demand for high-resolution, high-quality video, such as HD (High Definition) and UHD (Ultra High Definition) video, has been increasing across various application fields, and accordingly, high-efficiency video compression technologies are being discussed.
[0003] Various image compression technologies exist, such as inter-prediction technology that predicts pixel values in the current picture from previous or subsequent pictures, intra-prediction technology that predicts pixel values in the current picture using pixel information within the current picture, and entropy coding technology that assigns short codes to values with high frequency and long codes to values with low frequency; by utilizing these image compression technologies, image data can be effectively compressed for transmission or storage.
[0004] The present disclosure provides a method and apparatus for inducing an intra-prediction mode of a color difference block.
[0005] The present disclosure provides a method and apparatus for generating a prediction block of a color difference block.
[0006] The present disclosure provides a method and apparatus for determining a conversion set or a conversion kernel for (inverse)conversion of a color difference block.
[0007] An image decoding method and apparatus according to the present disclosure can derive an intra prediction mode for a color difference block, generate a prediction block of the color difference block based on the intra prediction mode, derive transformation coefficients of the color difference block based on residual information of the color difference block, derive a residual block of the color difference block based on an inverse transformation of the transformation coefficients, and restore the color difference block based on the prediction block and the residual block.
[0008] In the image decoding method and apparatus according to the present disclosure, the intra-prediction mode of the color difference block may 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 apparatus according to the present disclosure, the plurality of candidate modes may include a Derived Intra Prediction Mode (DIPM) obtained through a Decoder Side Intra Mode Derivation (DIMD) method based on at least one of a luminance block, a surrounding area of the luminance block, or a surrounding area of the chrominance block.
[0010] In the image decoding method and apparatus according to the present disclosure, the plurality of candidate modes may further include a predetermined default mode or alternative mode.
[0011] In the image decoding method and apparatus according to the present disclosure, the plurality of candidate modes may include an intra-prediction mode corresponding to 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 a luminance block.
[0012] In the image decoding method and apparatus according to the present disclosure, a conversion set or conversion kernel for the inverse conversion of the chrominance block may be selected based on an intra-prediction mode corresponding to the central position of the luminance block.
[0013] In the image decoding method and apparatus according to the present disclosure, 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 a transformation set or transformation kernel for the inverse transformation of the chrominance block can be selected based on the derived DIPM.
[0014] In the image decoding method and apparatus according to the present disclosure, a DIPM can be derived through a DIMD method based on a prediction block of the chrominance block, and a transformation set or transformation kernel for the inverse transformation of the chrominance block can be selected based on the derived DIPM.
[0015] In the image decoding method and apparatus according to the present disclosure, the color difference block may include at least one of a Cb block or a Cr block.
[0016] In the image decoding method and apparatus according to the present disclosure, the selected transformation set or transformation kernel may be applied equally to the Cb block and the Cr block.
[0017] In the image decoding method and apparatus according to the present disclosure, the DIPM can be derived independently of each other for the Cb block and the Cr block of the color difference block.
[0018] An image encoding method and apparatus according to the present disclosure can induce an intra prediction mode for a color difference block, generate a prediction block of the color difference block based on the intra prediction mode, generate a residual block of the color difference block based on the prediction block, induce transformation coefficients of the color difference block based on a transformation for the residual block, and encode residual information regarding the transformation coefficients.
[0019] A computer-readable digital storage medium is provided that stores encoded video / image information that causes an image decoding method to be performed by a decoding device according to the present disclosure.
[0020] A computer-readable digital storage medium is provided that stores video / image information generated according to the image encoding method according to the present disclosure.
[0021] A method and apparatus for transmitting video / image information generated according to the image encoding method according to the present disclosure are provided.
[0022] According to the present disclosure, an intra prediction mode more optimized for a color difference block can be induced in an encoding device and a decoding device, and the encoding efficiency of the intra prediction can be improved by utilizing this.
[0023] According to the present disclosure, the accuracy of the prediction for a color difference block can be improved through a weighted sum of a plurality of prediction blocks.
[0024] According to the present disclosure, the encoding efficiency of a residual signal can be improved by adaptively selecting a conversion set or a conversion kernel for (inverse) conversion.
[0025] FIG. 1 illustrates a video / image coding system according to the present disclosure.
[0026] FIG. 2 shows a schematic block diagram of an encoding device to which an embodiment of the present disclosure can be applied and to which encoding of a video / image signal is performed.
[0027] FIG. 3 shows a schematic block diagram of a decoding device to which an embodiment of the present disclosure can be applied and to which decoding of a video / image signal is performed.
[0028] FIG. 4 illustrates a decoding method performed by a decoding device (300) as an embodiment according to the present disclosure.
[0029] FIG. 5 illustrates a schematic configuration of a decoding device (300) that performs a decoding method according to the present disclosure.
[0030] FIG. 6 illustrates an encoding method performed by an encoding device (200) as an embodiment according to the present disclosure.
[0031] FIG. 7 illustrates a schematic configuration of an encoding device (200) that performs an encoding method according to the present disclosure.
[0032] FIG. 8 shows an example of a content streaming system to which embodiments of the present disclosure can be applied.
[0033] The present disclosure is susceptible to various modifications and may have various 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, and it should be understood that it includes all modifications, equivalents, and substitutions that fall within the spirit and scope of the present disclosure. Similar reference numerals have been used for similar components in the description of each drawing.
[0034] Terms such as "first," "second," etc., may be used to describe various components, but said components should not be limited by said terms. Such terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present disclosure, the first component may be named the second component, and similarly, the second component may be named the first component. The term "and / or" includes a combination of a plurality of related described items or any of a plurality of related described items.
[0035] When it is stated that one component is "connected" or "connected" to another component, it should be understood that while it may be directly connected or connected to that other component, there may also be other components in between. On the other hand, when it is stated that one component is "directly connected" or "directly connected" to another component, it should be understood that there are no other components in between.
[0036] The terms used in this application are used merely to describe specific embodiments and are not intended to limit the disclosure. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this application, terms such as “comprising” or “having” are intended to specify the presence of the features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.
[0037] The present disclosure relates to video / video coding. For example, the methods / embodiments disclosed herein may be applied to methods disclosed in the VVC (versatile video coding) standard. Additionally, the methods / embodiments disclosed herein may be applied to methods disclosed in the EVC (essential video coding) standard, AV1 (AOMedia Video 1) standard, AVN2 (2nd generation of audio video coding standard), or next-generation video / video coding standards (e.g., H.267 or H.268).
[0038] This specification presents various embodiments regarding video / image coding, and unless otherwise noted, said embodiments may be performed in combination with one another.
[0039] In this specification, "video" may refer to a set of images over time. "Picture" generally refers to a unit representing a single image of a specific time period, and "slice" or "tile" is a unit that constitutes a part of a picture in coding. A slice or tile may contain one or more coding tree units (CTUs). A picture may consist of one or more slices or tiles. A tile is a rectangular area composed 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 having 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 having a height specified by the picture parameter set and a width equal to the width of the picture. CTUs within a tile are arranged continuously according to the CTU raster scan, whereas tiles within a picture may be arranged continuously according to the tile's raster scan. A single slice may include an integer number of complete tiles or an integer number of consecutive complete CTU rows within a tile of a picture that can be exclusively contained in a single NAL unit. Meanwhile, a single picture may be divided into two or more subpictures. A subpicture may be a rectangular area of one or more slices within a picture.
[0040] A pixel, or pel, can refer to the smallest unit that constitutes a picture (or image). Additionally, the term 'sample' may be used as a counterpart to pixel. A sample generally represents a pixel or its value, and it may represent only the pixel / pixel value of the luminance (luma) component or only the pixel / pixel value of the chroma component.
[0041] A unit may represent a basic unit of image processing. A unit may include at least one of a specific area of a picture and information related to that area. A unit may include one luminance block and two chroma (e.g., cb, cr) blocks. Depending on the case, the term unit may be used interchangeably with terms such as block or area. In general, an MxN block may include samples (or sample arrays) or a set (or array) of transform coefficients consisting of M columns and N rows.
[0042] In this specification, "A or B" may mean "only A," "only B," or "both A and B." Alternatively, in this specification, "A or B" may be interpreted as "A and / or B." For example, in this specification, "A, B or C" may mean "only A," "only B," "only C," or "any combination of A, B and C."
[0043] A slash ( / ) or a comma used in this specification may mean "and / or." For example, "A / B" may mean "A and / or B." Accordingly, "A / B" may mean "only A," "only B," or "both A and B." For example, "A, B, C" may mean "A, B or C."
[0044] 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 as synonymous with "at least one of A and B."
[0045] Additionally, in this specification, "at least one of A, B and C" may mean "only A," "only B," "only C," or "any combination of A, B and C." Also, "at least one of A, B or C" or "at least one of A, B and / or C" may mean "at least one of A, B and C."
[0046] Additionally, parentheses used in this specification may mean "for example." Specifically, where indicated as "prediction (intra-prediction)," "intra-prediction" may be proposed as an example of "prediction." In other words, "prediction" in this specification is not limited to "intra-prediction," and "intra-prediction" may be proposed as an example of "prediction." Furthermore, even where indicated as "prediction (i.e., intra-prediction)," "intra-prediction" may be proposed as an example of "prediction."
[0047] Technical features described individually within a single drawing in this specification may be implemented individually or simultaneously.
[0048] FIG. 1 illustrates a video / image coding system according to the present disclosure.
[0049] Referring to FIG. 1, the video / image coding system may include a first device (source device) and a second device (receiving device).
[0050] A source device can transmit encoded video / image information or data in the form of a file or streaming to a receiving device via a digital storage medium or a network. The source device may include a video source, an encoding device, and a transmission unit. The receiving device may include a receiver, a decoding device, and a renderer. The encoding device may be referred to as a video / image encoding device, and the decoding device may be referred to as a video / image decoding device. A transmitter may be included in the encoding device. A receiver may be included in the decoding device. The renderer may include a display unit, and the display unit may be composed of a separate device or an external component.
[0051] A video source may acquire video / images through processes such as video / image capture, synthesis, or generation. The video source may include a video / image capture device and / or a video / image generation device. A video / image capture device may include one or more cameras, a video / image archive containing previously captured video / images, etc. A video / image generation device may include a computer, a tablet, a smartphone, etc., and may generate video / images (electronically). 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 in which related data is generated.
[0052] The encoding device can encode input video / images. The encoding device can perform a series of procedures, such as prediction, transformation, and quantization, for compression and coding efficiency. The encoded data (encoded video / image information) can be output in the form of a bitstream.
[0053] 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 in the form of a file or streaming via a digital storage medium or a network. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmission unit may include elements for creating a media file through a predetermined file format and elements for transmission via a broadcasting / communication network. The receiving unit can receive / extract the bitstream and transmit it to a decoding device.
[0054] The decoding device can decode video / images by performing a series of procedures such as inverse quantization, inverse transform, and prediction corresponding to the operation of the encoding device.
[0055] The renderer can render the decoded video / image. The rendered video / image can be displayed through the display unit.
[0056] FIG. 2 shows a schematic block diagram of an encoding device to which an embodiment of the present disclosure can be applied and to which encoding of a video / image signal is performed.
[0057] Referring to FIG. 2, the encoding device (200) may be configured to include an image partitioner (210), a predictor (220), a residual processor (230), an entropy encoder (240), an adder (250), a filter (260), and a memory (270). The predictor (220) may include an inter-predictor (221) and an intra-predictor (222). The residual processor (230) may include a transformer (232), a quantizer (233), a dequantizer (234), and an inverse transformer (235). The residual processor (230) may further include a subtractor (231). The addition unit (250) may be referred to as a reconstructor or a reconstructed block generator. The above-described image segmentation unit (210), prediction unit (220), residual processing unit (230), entropy encoding unit (240), addition unit (250), and filtering unit (260) may be configured by one or more hardware components (e.g., an encoding device chipset or processor) according to the embodiment. Additionally, 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.
[0058] The image segmentation unit (210) can divide an input image (or picture, frame) input to an 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 divided from a coding tree unit (CTU) or a largest coding unit (LCU) according to a QTBTTT (Quad-tree binary-tree ternary-tree) structure.
[0059] For example, a single coding unit may be divided into multiple coding units with a deeper depth based on a quad tree structure, a binary tree structure, and / or a terrestrial structure. In this case, for example, the quad tree structure may be applied first and the binary tree structure and / or terrestrial structure may be applied later. Alternatively, the binary tree structure may be applied before the quad tree structure. A coding procedure according to the present specification may be performed based on a final coding unit that is no longer divided. In this case, based on coding efficiency according to image characteristics, the maximum coding unit may be used directly as the final coding unit, or, if necessary, the coding unit may be recursively divided into coding units of a lower depth so that a coding unit of the optimal size may be used as the final coding unit. Here, the term "coding procedure" may include procedures such as prediction, transformation, and restoration described below.
[0060] 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 divided or partitioned from the aforementioned final coding unit. The Prediction Unit may be a unit for sample prediction, and the Transform Unit may be a unit for deriving transformation coefficients and / or a unit for deriving a residual signal from transformation coefficients.
[0061] The term "unit" may be used interchangeably with terms such as "block" or "area" depending on the context. In general, an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows. A sample may generally represent a pixel or a pixel value, and may represent only the pixel / pixel value of the luminance component or only the pixel / pixel value of the chroma component. A sample may be used to refer to a single picture (or image) as a term corresponding to a pixel or pel.
[0062] 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, the unit that subtracts the prediction signal (prediction block, prediction sample array) from the input video signal (original block, original sample array) within the encoding device (200) may be called a subtraction unit (231).
[0063] The prediction unit (220) performs a prediction for a block to be processed (hereinafter referred to as the current block) and can generate a predicted block containing prediction samples for the current block. The prediction unit (220) can determine whether intra prediction is applied or inter prediction is applied at the current block or CU level. The prediction unit (220) can generate various information regarding the prediction, such as prediction mode information, as described below in the description of each prediction mode, and transmit it to the entropy encoding unit (240). The information regarding the prediction can be encoded by the entropy encoding unit (240) and output in the form of a bitstream.
[0064] The intra prediction unit (222) can predict the current block by referencing samples within the current picture. The referenced samples may be located near the current block or at a certain distance 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 DC mode or a planar mode. The directional mode may include 33 directional modes or 65 directional modes depending on the degree of fineness of the prediction direction. However, this is merely an example, and depending on the settings, more or fewer directional modes may be used. The intra prediction unit (222) may determine the prediction mode applied to the current block by using the prediction mode applied to the template area.
[0065] 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, to reduce the amount of motion information transmitted in the inter prediction mode, motion information can be predicted in blocks, sub-blocks, or samples based on the correlation of motion information between the template area and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, the template area may include a spatial template area (spatial neighboring block) existing within the current picture and a temporal template area (temporal neighboring block) existing in the reference picture. The reference picture containing the reference block and the reference picture containing the temporal template area may be the same or different. The above temporal template area may be referred to by names such as collocated reference block, collocated CU (colCU), etc., and the reference picture containing the above temporal template area may be referred to as a collocated picture (colPic). For example, the inter prediction unit (221) may construct a list of motion information candidates based on the template areas 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, for example, in the case of skip mode and merge mode, the inter prediction unit (221) may use the motion information of the template area as the motion information of the current block. In the case of skip mode, unlike merge mode, a residual signal may not be transmitted.In the case of 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.
[0066] The prediction unit (220) can generate a prediction signal based on various prediction methods described below. For example, the prediction unit may apply intra prediction or inter prediction for prediction of a single block, and may also apply intra prediction and inter prediction simultaneously. This may be called a combined inter and intra prediction (CIIP) mode. Additionally, the prediction unit may 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 may be used for content video / video coding, such as in screen content coding (SCC) for games. IBC basically performs prediction within the current picture, but it may be performed similarly to inter prediction in that it derives a reference block within the current picture. That is, IBC may utilize at least one of the inter prediction techniques described in this specification. The palette mode can be viewed as an example of intra coding or intra prediction. When the palette mode is applied, sample values within the picture can be signaled based on information regarding the palette table and palette index. The prediction signal generated through the prediction unit (220) can be used to generate a restoration signal or to generate a residual signal.
[0067] The transformation unit (232) can generate transform coefficients by applying a transformation technique to a residual signal. For example, the transformation technique may 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 transformation obtained from a graph when the relationship information between pixels is represented as a graph. CNT refers to a transformation obtained based on a prediction signal generated using all previously restored pixels. Additionally, the transformation process may be applied to a pixel block of the same size in a square, or to a block of variable size that is not square.
[0068] The quantization unit (233) quantizes the transformation coefficients and transmits them to the entropy encoding unit (240), and the entropy encoding unit (240) can encode the quantized signal (information regarding the quantized transformation coefficients) and output it as a bitstream. The information regarding the quantized transformation coefficients may be called residual information. The quantization unit (233) can rearrange the block-shaped quantized transformation coefficients into a one-dimensional vector form based on the coefficient scan order, and can also generate information regarding the quantized transformation coefficients based on the one-dimensional vector-shaped quantized transformation coefficients.
[0069] The entropy encoding unit (240) can perform various encoding methods such as exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive binary arithmetic coding), etc. The entropy encoding unit (240) may encode information required for video / image restoration (e.g., values of syntax elements, etc.) together or separately, in addition to quantized transform coefficients.
[0070] Encoded information (e.g., encoded video / image information) may be transmitted or stored in the form of a bitstream at the level of a Network Abstraction Layer (NAL) unit. The video / image information may further include information regarding various parameter sets, such as an Adaptation Parameter Set (APS), a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), or a Video Parameter Set (VPS). Additionally, the video / image information may further include general constraint information. In this 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 encoding procedure described above and included in the bitstream. The bitstream may be transmitted over a network or stored on 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 USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmission unit (not shown) that transmits the signal output from the entropy encoding unit (240) and / or a storage unit (not shown) that stores it may be configured as internal / external elements of the encoding device (200), or the transmission unit may be included in the entropy encoding unit (240).
[0071] The quantized transform coefficients output from the quantization unit (233) can be used to generate a prediction signal. For example, a residual signal (residual block or residual samples) can be restored by applying inverse quantization and inverse transformation to the quantized transform coefficients through the inverse quantization unit (234) and the inverse transformation unit (235). The adder (250) can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the restored residual signal to the prediction signal output from the inter-prediction unit (221) or the intra-prediction unit (222). In cases where there is no residual for the block to be processed, such as when a skip mode is applied, the predicted block can be used as the reconstructed block. The adder (250) may be called a reconstruction unit or a reconstruction block generation unit. The generated restoration signal can be used for intra prediction of the next block to be processed 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.
[0072] The filtering unit (260) can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit (260) can generate a modified restored picture by applying various filtering methods to the restored picture, and can store the modified restored picture in memory (270), specifically in the DPB of memory (270). The various filtering methods may 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 in the entropy encoding unit (240) and output in the form of a bitstream.
[0073] 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 mismatches between the encoding device (200) and the decoding device, and can also improve encoding efficiency.
[0074] 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 blocks from which motion information is derived (or encoded) within the current picture and / or motion information of blocks within the picture that have already been restored. The stored motion information can be transmitted 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 restoration samples of blocks restored within the current picture and transmit them to the intra-prediction unit (222).
[0075] FIG. 3 shows a schematic block diagram of a decoding device to which an embodiment of the present disclosure can be applied and to which decoding of a video / image signal is performed.
[0076] 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-predictor (332) and an intra-predictor (331). The residual processor (320) may include a dequantizer (321) and an inverse transformer (321).
[0077] The aforementioned entropy decoding unit (310), residual processing unit (320), prediction unit (330), addition unit (340), and filtering unit (350) may be configured by a single hardware component (e.g., a decoding device chipset or processor) according to an embodiment. Additionally, the memory (360) may include a DPB (decoded picture buffer) and may be configured by a digital storage medium. The hardware component may further include the memory (360) as an internal / external component.
[0078] When a bitstream containing video / image information is input, the decoding device (300) can restore the image in correspondence with the process in which the video / image information is processed by the encoding device of FIG. 2. For example, the decoding device (300) can derive units / blocks based on block division information obtained from the bitstream. The decoding device (300) can perform decoding using a processing unit applied by the encoding device. Accordingly, the processing unit for 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 binary tree structure. One or more conversion units may be derived from the coding unit. And, the restored image signal decoded and output through the decoding device (300) can be played back through a playback device.
[0079] 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 an 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 regarding various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Additionally, the video / image information may further include general constraint information. The decoding device can decode the picture based on information regarding the parameter sets and / or the general constraint information. The signaling / receiving information and / or syntax elements described below in this specification may be decoded through the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit (310) can decode information within the bitstream based on coding methods such as exponential chord coding, CAVLC, or CABAC, and output the values of syntax elements required for image restoration and the quantized values of transformation coefficients regarding residuals. More specifically, the CABAC entropy decoding method can receive a bin corresponding to each syntax element in the bitstream, determine a context model using information on the syntax element to be decoded and decoding information of surrounding and decoding target blocks or information on symbols / bins decoded in the previous step, predict the probability of occurrence of the bin according to the determined context model, and 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 decoded symbol / bin information for the context model of the next symbol / bin after determining the context model. Among the information decoded in the entropy decoding unit (310), information regarding prediction is provided to the prediction unit (inter prediction unit (332) and intra prediction unit (331)), and the residual value for which entropy decoding was performed in the entropy decoding unit (310), i.e., quantized transformation coefficients and related parameter information, can be input to the residual processing unit (320). The residual processing unit (320) can derive residual signals (residual blocks, residual samples, residual sample array). Additionally, among the information decoded in the entropy decoding unit (310), information regarding filtering 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 the decoding device (300), or the receiving unit may be a component of the entropy decoding unit (310).
[0080] Meanwhile, the decoding device according to the present specification may be called a video / image / picture decoding device, and the decoding device may be divided into an information decoding device (video / image / picture information decoding device) and a sample decoding device (video / image / 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), inverse transform unit (322), adder (340), filtering unit (350), memory (360), inter prediction unit (332), and intra prediction unit (331).
[0081] In the inverse quantization unit (321), the quantized transformation coefficients can be inversely quantized to output transformation coefficients. The inverse quantization unit (321) can rearrange the quantized transformation coefficients into a two-dimensional block form. In this case, the rearrangement can be performed based on the coefficient scan order performed by the encoding device. The inverse quantization unit (321) can perform inverse quantization on the quantized transformation coefficients using quantization parameters (e.g., quantization step size information) and obtain transformation coefficients.
[0082] In the inverse conversion unit (322), the conversion coefficients are inversely converted to obtain a residual signal (residual block, residual sample array).
[0083] The prediction unit (320) can perform a prediction for the current block and generate a predicted block containing prediction samples for the current block. The prediction unit (320) can determine whether an intra prediction or an inter prediction is applied to the current block based on information regarding the prediction output from the entropy decoding unit (310), and can determine a specific intra / inter prediction mode.
[0084] The prediction unit (320) can generate a prediction signal based on various prediction methods described below. For example, the prediction unit (320) may apply intra prediction or inter prediction for prediction of a single block, and may also apply intra prediction and inter prediction simultaneously. This may be called a combined inter and intra prediction (CIIP) mode. Additionally, the prediction unit may 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 may be used for content video / video coding, such as in games, such as SCC (screen content coding). IBC basically performs prediction within the current picture, but it may be performed similarly to inter prediction in that it derives a reference block within the current picture. That is, IBC may utilize at least one of the inter prediction techniques described in this specification. The palette mode can be viewed as an example of intra coding or intra prediction. When palette mode is applied, information regarding the palette table and palette index can be included in the above video / image information and signaled.
[0085] The intra prediction unit (331) can predict the current block by referring to samples within the current picture. The referenced samples may be located near the current block or at a certain distance from the current block depending on the prediction mode. In intra prediction, the prediction modes may include one or more non-directional modes and a plurality of directional modes. The intra prediction unit (331) may determine the prediction mode applied to the current block by using the prediction mode applied to the template area.
[0086] 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, to reduce the amount of motion information transmitted in the inter prediction mode, motion information can be predicted in blocks, sub-blocks, or samples based on the correlation of motion information between a template area and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, the template area may include a spatial template area (spatial neighboring block) existing within the current picture and a temporal template area (temporal neighboring block) existing in the reference picture. For example, the inter prediction unit (332) may construct a motion information candidate list based on the template areas 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 regarding the prediction may include information indicating the inter-prediction mode for the current block.
[0087] The adder (340) can generate a restoration signal (restoration 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 the intra prediction unit (331)). In cases where there is no residual for the block to be processed, such as when a skip mode is applied, the prediction block can be used as the restoration block.
[0088] The addition unit (340) may be called a restoration unit or a restoration block generation unit. The generated restoration signal may be used for intra-predicting the next block to be processed within the current picture, may be output after filtering as described below, or may be used for inter-predicting the next picture. Meanwhile, LMCS (luma mapping with chroma scaling) may be applied during the picture decoding process.
[0089] The filtering unit (350) can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit (350) can generate a modified restored picture by applying various filtering methods to the restored picture, and can transmit the modified restored picture to memory (360), specifically to the DPB of memory (360). The various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.
[0090] The (modified) restored 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 blocks from which motion information within the current picture has been derived (or decoded) and / or motion information of blocks within the picture that have already been restored. The stored motion information can be transmitted to the inter prediction unit (332) to be used as motion information in a spatial template area or motion information in a temporal template area. The memory (360) can store restoration samples of blocks restored within the current picture and transmit them to the intra prediction unit (331).
[0091] In this specification, the embodiments described in the filtering unit (260), inter prediction unit (221), and intra prediction unit (222) of the encoding device (200) may be applied to the filtering unit (350), inter prediction unit (332), and intra prediction unit (331) of the decoding device (300) in the same or corresponding manner.
[0092] FIG. 4 illustrates an image decoding method performed by a decoding device (300) as an embodiment according to the present disclosure.
[0093] A current block according to the present disclosure may be divided into a color difference block and a luminance block at the same location corresponding to the color difference block. In the case of a 4:2:0 color plane, the width and height of the luminance block may each be twice the width and height of the color difference block. In the case of a 4:4:4 color plane, the width and height of the luminance block may each be equal to the width and height of the color difference block.
[0094] An intra prediction mode corresponding to a specific location within a luminance block can be set as a candidate mode for a chrominance block, and this shall be referred to as a DM mode. The specific location may include at least one of the center location, top-left location, top-right location, bottom-left location, or bottom-right location within the luminance block. In intra prediction, when 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 location are matched 1:1 with each other, so the efficiency of the DM mode may be high. However, when the tree type of the CTU or CU is a dual tree, the luminance block and the chrominance block at the same color plane location may have different partition structures and sizes, so a problem may arise in which the efficiency of the DM mode is reduced.
[0095] In addition, if the intra prediction mode of the luminance block is not an existing directional mode such as MIP (matrix-based intra prediction) or DIMD (decoder side intra mode derivation), the prediction accuracy of the DM mode for the chrominance block may decrease.
[0096] Accordingly, the present disclosure proposes a method to improve the prediction efficiency and accuracy of the DM mode when the tree type of the current block is a single tree or a dual tree.
[0097] Referring to FIG. 4, an intra-prediction mode of the color difference block can be derived (S400).
[0098] Method 1
[0099] Specifically, a candidate list for a color difference block can be constructed. The candidate list may include multiple candidate modes available for the color difference block. An intra-prediction mode of the color difference block can be derived based on at least one of the multiple candidate modes.
[0100] The candidate list of chrominance blocks may include one or more Derived Intra Prediction Modes (DIPMs) derived based on the luminance blocks. Here, the luminance block may be a luminance block at the same location corresponding to the chrominance block. Below, we will examine the method for deriving DIPMs.
[0101] Example 1
[0102] DIPM can be derived through the DIMD method based on luminance blocks.
[0103] Specifically, a histogram of gradient (HoG) can be derived by applying a predetermined filter to samples belonging to a luminance block. Here, samples belonging to the luminance block may refer to predicted samples derived through intra-prediction, or to pre-reconstructed samples based on predicted samples and residual samples. The HoG may represent the accumulated amplitude values for each of the predetermined intra-prediction modes.
[0104] A predetermined filter can be applied to a sample within a luminance block to derive horizontal variation and vertical variation in the sample, 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 the most similar directionality to the slope. A predetermined amplitude value may be assigned / accumulated to 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 magnitude of the horizontal variation and the magnitude of the vertical variation. As a predetermined filter, a 3x3 Sobel edge operator or a 2x2 edge operator may be used, but is not limited thereto.
[0105] For example, if the width and height of the luminance block are width and height, the HoG can be derived based on (width-2) x (height-2) samples excluding edge samples within the luminance block. Alternatively, if a filter is applied to an area including the luminance block and its reference sample line, the HoG can be derived based on (width-1) x (height-1) samples excluding edge samples within the luminance block. This may be an example when a 3x3 Sobel edge operator is used. If a 2x2 edge operator is used, the HoG can be derived based on (width-1) x (height-1) samples excluding edge samples within the luminance block.
[0106] The sobel operator may be adaptively selected based on the block size. For example, if the width or height of the luminance block is 4, a 2x2 edge operator may be used, and otherwise, a 3x3 sobel edge operator may be used.
[0107] In the HoG derived through the process described above, 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 the DIPMs. Here, N may be an integer greater than or equal to 2.
[0108] Alternatively, if there is a mode among the N intra prediction modes that overlaps with an intra prediction mode corresponding to the central position of the luminance block and / or a pre-derived candidate mode, the remaining intra prediction mode(s) excluding the overlapping mode may be set as DIPM(s).
[0109] The above HoG can be derived based on all samples belonging to the luminance block. Alternatively, the HoG may be derived based on some samples at specific locations within the luminance block. Alternatively, the HoG may be derived based on a region including the luminance block and the surrounding area of the luminance block.
[0110] Example 2
[0111] DIPM can be derived through the TIMD (template-based intra mode derivation) method based on luminance blocks.
[0112] Specifically, for each of the predetermined intra-prediction modes for the TIMD method, prediction samples can be derived by performing intra-prediction on a predetermined template region based on the said intra-prediction mode. Based on the difference between the prediction samples derived for the said template region and the samples of the luminance block, a cost for the said intra-prediction mode can be calculated. Through the aforementioned process, a cost can be calculated for each of the predetermined intra-prediction modes.
[0113] The intra prediction mode with the smallest cost among the above-calculated costs may be set as the DIPM. Alternatively, the top M intra prediction modes in ascending order of the calculated costs may be set as the DIPMs. Here, M may be an integer greater than or equal to 2.
[0114] The above-mentioned predetermined 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, an induced mode, or a default mode of a surrounding block adjacent to the current block (or luminance block).
[0115] The above 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 added sequentially to the MPM list according to the priority order among the surrounding blocks.
[0116] The above-described mode may be derived by adding or subtracting an offset from the intra-prediction mode of a surrounding block. Alternatively, the derived mode may be derived by adding or subtracting an offset from the default mode described below. Here, the offset may be an integer of 1, 2, 3, 4, or more. The above-described mode may be derived based on a surrounding block having a higher priority among the aforementioned surrounding blocks. The above-described mode may not be derived based on a surrounding block having a lower priority among the aforementioned surrounding blocks. Here, the surrounding block having a higher priority may include at least one of a left block or an upper block. Conversely, the surrounding block having a lower priority may include at least one of a lower-left block, an upper-right block, or an upper-left block. However, if the intra-prediction mode of a surrounding block corresponds to a non-directional mode, the above-described mode may not be derived based on the intra-prediction mode of the corresponding surrounding block.
[0117] 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 a planner mode, a DC mode, a horizontal mode, or a vertical mode.
[0118] The aforementioned MPM list may be updated based on the intra-prediction mode of a neighboring block adjacent to the chrominance block. The MPM list may further include the intra-prediction mode of at least one neighboring block adjacent to the chrominance block as an MPM. Here, the neighboring blocks may include at least one of a left block, an upper block, a lower-left block, an upper-right block, or a upper-left block.
[0119] Alternatively, the aforementioned predetermined intra prediction modes may be intra prediction modes pre-defined 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 induce the DIPM.
[0120] The above template region may be a luminance block at the same location corresponding to the color difference block. Alternatively, the template region may be defined as a group of specific samples within the luminance block. Alternatively, the template region may be defined as an area including the luminance block and the surrounding area of the luminance block.
[0121] The above-derived DIPM can be used to replace 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 a center location, a top-left location, a top-right location, a bottom-left location, or a bottom-right location. Alternatively, DIPM may be used as an additional candidate mode in addition to the existing DM mode.
[0122] For example, the candidate list may include at least one of the following candidates 1 to 7 in candidate mode.
[0123] Candidate 1: DIPM derived through Example 1 or 2
[0124] Candidate 2: Intra-prediction mode corresponding to the center position of the luminance block
[0125] Candidate 3: DIPM derived via a DIMD method based on at least one of a luminance block, the surrounding area of the luminance block, or the surrounding area of the chrominance block
[0126] Candidate 4: Default mode (e.g., Planner mode, DC mode, Horizontal mode)
[0127] Candidate 5: Alternate mode (e.g., vertical mode, diagonal mode)
[0128] Candidate 6: An intra-prediction mode corresponding to at least one of the center position, top-left position, top-right position, bottom-left position, or bottom-right position within the luminance block.
[0129] Candidate 7: Intra prediction mode(s) of neighboring blocks adjacent to the color difference block
[0130] Among candidates 1 to 7, a preset number of candidate mode(s) for the color difference block may be added to the candidate list. Candidates 1 to 7 may be added to the candidate list sequentially according to the priority order. At this time, there may be cases where candidate modes added to the candidate list overlap with each other. In this case, a pruning process may be performed to exclude duplicate candidate modes from the candidate list.
[0131] For example, the DIPM derived through Example 1 or 2 may be the same mode as the DM mode. In this case, to prevent a DIPM that overlaps with the DM mode from being used as a candidate mode, an intra prediction mode with the next highest accuracy may be used as a candidate mode. If the DIPM is derived through the DIMD method, the intra prediction mode with the next highest accuracy may be the 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 next highest accuracy may be the intra prediction mode corresponding to the next order of the DIPM in ascending order of cost.
[0132] For example, if a DIPM that overlaps with the DM mode corresponds to an intra-prediction mode with the largest amplitude value, an intra-prediction mode with the second largest amplitude value may be used as a candidate mode. Alternatively, if a DIPM that overlaps with the DM mode corresponds to an intra-prediction mode with the smallest cost, an intra-prediction mode with the second smallest cost may be used as a candidate mode. This can be extended and applied in the same way even when multiple DIPMs are derived through the DIMD or TIMD method.
[0133] A predetermined filter is applied to at least one of the luminance block, the surrounding area of the luminance block, or the surrounding area of the chrominance block to induce HoG, and an intra prediction mode having the largest amplitude value in the induced HoG may be set as candidate 3. The method for inducing HoG is as described in Example 1. However, if the intra prediction mode having the largest amplitude value in the induced HoG is the same as candidate 1 or candidate 2, an intra prediction mode having the second or third largest amplitude value may be set as candidate 3.
[0134] Candidate 5 may be a mode that replaces at least one duplicate mode among Candidates 1 to 4. For example, a duplicate check may be performed on at least two of Candidates 1 to 4. If, as a result of the duplicate check, a duplicate mode exists, that mode may not be included in the candidate list. Instead, alternative modes such as a vertical mode or a diagonal mode may be added to the candidate list. Here, the diagonal mode may include at least one of a diagonal mode that references the bottom-left direction of the color difference block (e.g., Mode 2), a diagonal mode that references the top-right direction of the color difference block (e.g., Mode 66), or a diagonal mode that references the top-left direction of the color difference block (e.g., Mode 34).
[0135] The examples of Candidate 4 and Candidate 5 are merely examples and may be changed to other modes.
[0136] If the center position in candidate 2 is denoted as (center_x, center_y), the center position in candidate 6 may be the same as the center position in candidate 2, or it may be defined as at least one of (center_x+1, center_y+1), (center_x, center_y+1), (center_x+1, center_y), (center_x-1, center_y-1), (center_x, center_y-1), or (center_x-1, center_y).
[0137] When a specific intra prediction method is applied to the luminance block, Candidate 1 may be set to a predefined mode. For example, when a matrix-based intra prediction (MIP), extrapolation-based intra prediction (EIP), intra subpartitions prediction (ISP), spatial geometric partitioning mode (SGPM), template-based multiple reference line (TMRL) mode, DIMD mode, or TIMD mode is applied to the luminance block, the DIPM derivation process according to Example 1 may be omitted, and Candidate 1 may be set to a predefined mode (e.g., planner mode) in the encoding device and the decoding device.
[0138] Reordering may be performed on at least one of the multiple candidate modes in the 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 the predicted samples of the template region derived based on the candidate mode and the samples of the template region. Here, the template region may include at least one of the surrounding region of a chrominance block, a luminance block, or the surrounding region of a luminance block.
[0139] Reordering of the candidate list may be omitted based on the cost of a specific candidate mode. For example, if the cost for candidate 1 is smaller than the cost for candidates 2 and 3, reordering of the candidate list may be omitted. Or, if the cost for candidate 1 is smaller than the cost for candidate 2, reordering of the candidate list may be omitted. Or, if the cost for candidate 1 is smaller than the cost for candidate 3, reordering of the candidate list may be omitted.
[0140] Alternatively, a reordering process may be performed on all candidate modes derived through the aforementioned method.
[0141] The intra-prediction mode of the chrominance block can be derived into at least one of a plurality of candidate modes belonging to 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 belonging to the candidate list. The index information can be signaled based on flag information indicating whether the aforementioned method of deriving the mode of the chrominance block is applied. The flag information can be signaled by binarizing based on a predetermined binarization method. During binarization, the number of binarization bits may be reduced through appropriate context modeling.
[0142] Method 2
[0143] 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.
[0144] 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.
[0145] 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.
[0146] 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 block of the luminance block, and the intra prediction mode of the surrounding block 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 block of the luminance block, and the intra prediction mode of the surrounding block of the chrominance block.
[0147] 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, a top-left location, a top-right location, a bottom-left location, or a bottom-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.
[0148] The surrounding blocks of a 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 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.
[0149] At least one of candidates 1 to 7 examined in Method 1 may be additionally collected and set as an intra-prediction mode of the color difference block.
[0150] Among the intra prediction modes collected for the color difference block, K intra prediction modes can be selected, and the intra prediction mode of the color difference block can be derived based on the selected K intra prediction modes. K can be an integer greater than or equal to 1.
[0151] For example, if the number of intra prediction modes collected for a chrominance block is greater than a predefined value (K), K intra prediction modes can be selected from among the intra prediction modes collected for the chrominance block. The K intra prediction modes can be adaptively selected based on at least one of the following: a prediction mode (e.g., intra mode, inter mode), the width / height of the input block, the number of samples in the input block, the location of sub-blocks within the block, explicitly signaled syntactic elements, slice type, tree type, statistical characteristics of surrounding samples, or whether a second transformation is applied. On the other hand, if the number of intra prediction modes collected for a chrominance block is less than or equal to K, the intra prediction modes of the chrominance block can be derived based on the intra prediction modes collected for the chrominance block.
[0152] Alternatively, K intra prediction modes can be configured by excluding modes corresponding to outliers among the intra prediction modes collected from the luminance block.
[0153] For example, K intra prediction modes can be configured by selecting intra prediction modes that are identical or similar to the DIPM derived through Method 1 from among the intra prediction modes collected from the luminance block. Here, an intra prediction mode similar to the DIPM may refer to an intra prediction mode in which the difference from the DIPM (e.g., difference in mode value or difference in angle) is smaller than a specific threshold value. Alternatively, among the intra prediction modes collected from the luminance block, intra prediction modes in which the difference from the DIPM derived through Method 1 is greater than or equal to a specific threshold value may be excluded.
[0154] Through at least one of the aforementioned method 1 or method 2, for one color difference block, one intra prediction mode may be induced or multiple intra prediction modes may be induced.
[0155] 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.
[0156] For example, if the intra prediction mode of a specific location within a luminance block does not correspond to a conventional directional / non-directional mode (e.g., if the intra prediction mode of a specific location corresponds to MIP mode, IntraTMP (Intra Template matching prediction) mode, or EIP (extrapolation based intra prediction) mode), the DM mode may be set to a non-directional mode such as a planar mode or DC mode.
[0157] 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 may be set to a cross-component prediction mode. Here, the cross-component prediction mode may be any one of CCLM mode, MMLM (multi-model linear model) mode, CCCM mode, or GLM (gradient linear model) mode.
[0158] Alternatively, if the intra prediction mode of 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 the luminance block, the surrounding area of the luminance block, or the surrounding area of the chrominance block, and the derived DIPM can be set to a DM mode.
[0159] Alternatively, the DM mode may be adaptively set according to 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 MIP mode, the DM mode may be set to CCLM mode. If the intra prediction mode of a specific location within the luminance block is IntraTMP mode, the DM mode may be set to CCCM mode. If the intra prediction mode of a specific location within the luminance block is DIMD mode, 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 DM mode.
[0160] Alternatively, if the intra prediction mode at a specific location within the luminance block does not correspond to a traditional directional / non-directional mode, the DM mode may be set to a DIPM derived through the aforementioned method 1. That is, a DIPM can be derived through a DIMD method or a TIMD method based on the luminance block, and the derived DIPM can be set to a DM mode.
[0161] The above specific location is not limited to belonging to a luminance block, and may belong to at least one of a surrounding block of a luminance block or a surrounding block of a color difference block.
[0162] If the intra prediction mode of a neighboring block of a chrominance block does not correspond to a traditional directional / non-directional mode (e.g., if the intra prediction mode corresponds to an inter-component prediction mode), the inter-component prediction mode may be added to the candidate list as a candidate mode for the chrominance block.
[0163] If the intra-prediction mode of a neighboring block of a color difference block corresponds to an inter-component prediction mode, signaling of information regarding the inter-component prediction mode for that color difference block may be omitted. Instead of signaling of information regarding 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 the signaling of information indicating the default mode may be performed when the intra-prediction mode of the color difference block is not derived based on the candidate list, and may not be performed otherwise. For example, if the intra-prediction mode of a neighboring block of a color difference block is CCCM mode, CCCM mode may be added to the candidate list of the color difference block. In this case, signaling of information regarding CCCM mode may be omitted. It may be set to indicate a default mode other than CCCM mode (e.g., vertical mode), or information indicating that default mode may be signaled.
[0164] Referring to FIG. 4, a prediction block of the color difference block can be generated based on the intra prediction mode of the color difference block (S410).
[0165] When an intra prediction mode is derived for a color difference block, an intra prediction can be performed based on that intra prediction mode to generate a prediction block for the color difference block.
[0166] When multiple intra-prediction modes are derived for a color difference block, multiple prediction blocks can be generated based on the multiple intra-prediction modes, and a prediction block of the color difference block can be generated based on the generated multiple prediction blocks.
[0167] For example, prediction blocks can be generated based on intra prediction modes collected from a luminance block, and a prediction block of a color difference block can be generated based on the weighted sum of the generated prediction blocks.
[0168] Alternatively, prediction blocks can 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 can be generated based on the weighted sum of the generated prediction blocks.
[0169] Alternatively, the intra-prediction mode of the color difference block may be set to a plurality of DIPMs derived through the aforementioned DIMD method. In this case, prediction blocks can be generated based on the plurality of DIPMs, and a prediction block of the color difference block can be generated based on the weighted sum of the generated prediction blocks. At this time, the weights for the weighted sum may be determined based on the amplitude values of the plurality of DIPMs. For example, a relatively large weight may be assigned to a DIPM having a relatively large amplitude value.
[0170] Alternatively, the intra-prediction mode of the color difference block may be set to a plurality of DIPMs derived through the aforementioned TIMD method. In this case, prediction blocks can be generated based on the plurality of DIPMs, and a prediction block of the color difference block can be generated based on the weighted sum of the generated prediction blocks. At this time, the weights 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.
[0171] Alternatively, multiple prediction blocks can be generated based on multiple intra-prediction modes derived for the color difference block, and a prediction block of the color difference block can be generated based on the weighted sum of the generated multiple prediction blocks. In this case, the weights applied to the multiple prediction blocks may be identical to each other.
[0172] Alternatively, 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 the weighted sum of the generated prediction blocks. In this case, the weights of the weighted sum can be determined based on the locations where the intra prediction modes were collected. For example, a greater weight may be assigned to an intra prediction mode collected at the central location within the luminance block than to an intra prediction mode collected at other locations within the current block (e.g., top-left, top-right, bottom-left, or bottom-right locations).
[0173] Alternatively, 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 the weighted sum of the generated prediction blocks. In this case, the weight of the weighted sum can be determined based on the block area within the 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.
[0174] Alternatively, prediction blocks can be generated based on intra prediction modes collected from the luminance block, and a prediction block of the chrominance block can be generated based on the weighted sum of the generated prediction blocks. In this case, the weights of the weighted sum can be determined based on the frequency of the collected intra prediction modes. For example, a relatively large weight may be assigned to intra prediction modes with a relatively high frequency.
[0175] Information regarding the weighted sum of prediction blocks (e.g., whether the weighted sum is applied, weight information, etc.) can be signaled through truncated binary, truncated unary, or fixed-length-based binarization. When binarizing, the number of binarization bits can be reduced through appropriate context modeling.
[0176] The aforementioned method for generating a prediction block may be used to replace the existing DM mode-based prediction block generation method, or may be used as an additional method to the existing DM mode-based prediction block generation method.
[0177] Referring to FIG. 4, a residual block (or residual samples) of a color difference block can be derived based on the inverse transformation of the transformation coefficients of the color difference block (S420).
[0178] 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 the inverse quantization of the quantized transform coefficients.
[0179] The above inverse transform may include at least one of a first-order inverse transform or 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. A first-order inverse transform based on a non-separable transform may be referred to as a non-separable primary transform (NSPT), and a second-order inverse transform based on a non-separable transform may be referred to as a low-frequency non-separable transform (LFNST).
[0180] Multiple transformation sets for a first (inverse)transformation may be defined in the encoding device and the decoding device. Each transformation set may include one or more transformation kernels. In this case, the transformation set or transformation kernel for the first (inverse)transformation may be selected based on the intra prediction mode of the previously derived chrominance block. Multiple transformation sets for a second (inverse)transformation may be defined in the encoding device and the decoding device. Each transformation set may include one or more transformation kernels. In this case, the transformation set or transformation kernel for the second (inverse)transformation may be selected based on the intra prediction mode of the previously derived chrominance block.
[0181] A transformation set or transformation kernel for a first or second inverse transformation of a color difference block may also be selected based on an intra prediction mode corresponding to any one of the aforementioned candidates 1 to 7.
[0182] When cross-component prediction such as CCLM (cross-component linear model) or CCCM (convolutional cross-component model) is applied to a color difference block, a set of transformations or transformation kernels for a first or second inverse transformation may be selected based on the intra prediction mode derived through the aforementioned method 1.
[0183] When inter-component prediction such as CCLM or CCCM is applied to a chrominance block, a transformation set or transformation kernel for the first or second inverse transformation of the chrominance block may be selected based on an intra prediction mode corresponding to any one of the aforementioned candidates 1 to 7.
[0184] When component-to-component prediction such as CCLM or CCCM is applied to a chrominance block, a transformation set or transformation kernel for a first or second inverse transformation may be selected based on an intra prediction mode corresponding to the center position of the luminance block. When a specific mode (e.g., EIP, TIMD, TMRL) is applied to a block containing the center position of the luminance block, the intra prediction mode corresponding to the center position of the luminance block may be an intra prediction mode in that specific mode.
[0185] A DIPM can be derived through a DIMD method based on a prediction block of a chrominance block, and a transformation set or transformation kernel for a first or second inverse transformation can be selected based on the derived DIPM. Alternatively, a DIPM can be derived through a TIMD method based on a prediction block of a chrominance block, and a transformation set or transformation kernel for a first or second inverse transformation can be selected based on the derived DIPM.
[0186] When component-to-component prediction such as CCLM or CCCM is applied to a color difference block, a DIPM can be derived through a DIMD method based on the prediction block of the color difference block, and a transformation set or transformation kernel for a first or second inverse transformation can be selected based on the derived DIPM.
[0187] At this time, a single DIPM can be derived based on the prediction block of the Cb block and the prediction block of the Cr block (Method A). Based on the derived DIPM, a transformation set or transformation kernel for a first or second inverse transformation can be selected. The selected transformation set or transformation kernel can be applied equally to the Cb block and the Cr block.
[0188] Alternatively, a DIPM may be derived based on either the Cb block or the Cr block (Method B). Based on the derived DIPM, a transformation set or transformation kernel for a first or second inverse transformation may be selected. The selected transformation set or transformation kernel may be applied equally to the Cb block and the Cr block.
[0189] Alternatively, a DIPM may be derived independently for the Cb block and the Cr block to select a transformation set or transformation kernel for the first or second inverse transformation for the Cb block and the Cr block, respectively (Method C). In other words, a DIPM may be derived based on the prediction block of the Cb block, and a transformation set or transformation kernel for the first or second inverse transformation of the Cb block may be selected based on the DIPM. Independently of the Cb block, a DIPM may be derived based on the prediction block of the Cr block, and a transformation set or transformation kernel for the first or second inverse transformation of the Cr block may be selected based on the DIPM.
[0190] Depending on the component-to-component prediction mode applied to the chrominance block, a transformation set or transformation kernel can be selected by adaptively using at least one of the Cb block or the Cr block. For example, if CCCM is applied to the chrominance block, a transformation set or transformation kernel can be selected based on the DIPM according to Method A. If CCLM is applied to the chrominance block, a transformation set or transformation kernel can be selected based on the DIPM according to Method B.
[0191] In a DIMD method based on a prediction block of a chrominance block, if the width and height of the chrominance block are width and height, respectively, the HoG can be derived based on (width-2) x (height-2) samples excluding edge samples within the prediction block. Alternatively, if a filter is applied to the region including the prediction block of the chrominance block and its reference sample line, the HoG can be derived based on (width-1) x (height-1) samples excluding edge samples within the prediction block. This may be an example when a 3x3 Sobel edge operator is used. If a 2x2 edge operator is used, the HoG can be derived based on (width-1) x (height-1) samples excluding edge samples within the prediction block.
[0192] As a filter for deriving the above HoG, a 3x3 Sobel edge operator or a 2x2 edge operator may be used, but is not limited thereto.
[0193] The sobel operator may be adaptively selected based on the size of the color difference block. For example, if the width or height of the color difference block is 2, a 2x2 edge operator may be used, and otherwise, a 3x3 sobel edge operator may be used. Alternatively, if the width or height of the color difference block is 2, a DIPM based on the DIMD method may not be used, and instead, a predefined mode may be used. Here, the predefined mode may be a non-directional mode (e.g., planar mode, DC mode) or a directional mode (e.g., vertical mode, horizontal mode).
[0194] If a specific intra prediction method is applied to the chrominance block, the use of DIPM obtained based on the prediction block of the chrominance block may be omitted. For example, if a specific component-to-component prediction mode (e.g., GLM) is applied to the chrominance block, a transformation set or transformation kernel for a first or second inverse transformation may be selected based on the intra prediction mode corresponding to the center position of the luminance block.
[0195] Alternatively, as shown in the following example, a set of transformations or a transformation kernel for a first or second inverse transformation may be selected based on at least one of the prediction block or luminance block of the color difference block.
[0196] [Example A] When a component-to-component prediction mode or a specific component-to-component prediction mode (e.g., CCLM, MMLM) is applied to a color difference block, a DIPM can be derived through a DIMD method based on at least one of the prediction block of the Cb block or the prediction block of the Cr block, and a transformation set or transformation kernel for a first or second inverse transformation can be selected based on the derived DIPM. The selected transformation set or transformation kernel can be applied equally to the Cb block and the Cr block.
[0197] [Example B] When a component-to-component prediction mode or a specific component-to-component prediction mode (e.g., CCCM, MM-CCCM (Multi-model CCCM)) is applied to the chrominance block, a DIPM can be derived through a DIMD method based on the prediction block of the Cb block and the prediction block of the Cr block, and a transformation set or transformation kernel for a first or second inverse transformation can be selected based on the derived DIPM. The selected transformation set or transformation kernel can be applied equally to the Cb block and the Cr block.
[0198] The prediction modes between specific components in Examples A and B are merely examples and are not limited thereto. That is, the prediction modes between specific components can be defined by all or at least two predefined prediction modes between components.
[0199] Alternatively, even if a prediction mode between specific components is applied to the color difference block, either Example A or Example B may be adaptively used based on specific conditions.
[0200] If a component-to-component prediction mode is applied to the color difference block (or, if the color difference block does not correspond to Example A or B), the following Example C or D may be applied.
[0201] [Example C] When a prediction mode between components (other than Example A or B) is applied to the chrominance block, a transformation set or transformation kernel for a first or second inverse transformation can be selected based on an intra prediction mode corresponding to the center position of the luminance block. The selected transformation set or transformation kernel can be applied equally to the Cb block and the Cr block. At this time, if a specific mode (e.g., EIP, TIMD, TMRL) is applied to the luminance block, an intra prediction mode in that specific mode may be used. Here, the intra prediction mode in the specific mode may be a DIPM obtained by applying the aforementioned DIMD method based on the prediction block of the luminance block according to the specific mode.
[0202] [Example D] When a prediction mode between components (other than Example A or B) is applied to the chrominance block, a DIPM can be derived through a DIMD method based on the luminance block, and a transformation set or transformation kernel for a first or second inverse transformation can be selected based on the derived DIPM. The selected transformation set or transformation kernel can be applied equally to the Cb block and the Cr block. At this time, if a specific mode (e.g., EIP, TIMD, TMRL) is applied to the luminance block, an intra prediction mode in that specific mode may be used. Here, the intra prediction mode in the specific mode may be a DIPM obtained by applying the aforementioned DIMD method based on the prediction block of the luminance block according to the specific mode.
[0203] A transformation set or transformation kernel for a first or second inverse transformation may be selected based on a combination of at least two of the aforementioned examples A to D.
[0204] The meaning of various intra-prediction modes (including inter-component prediction modes) and the prediction methods in this disclosure adopt the same content as described in the reference software ECM (JVET-AH2025) document currently under development by JVET, and a detailed explanation is omitted herein.
[0205] Referring to FIG. 4, the color difference block can be restored based on the prediction block and residual block of the color difference block (S430).
[0206] The proposed method according to the present disclosure may be applied to a dual tree block structure and may not be applied to a single tree block structure. Alternatively, the proposed method may be applied to both single tree and dual tree block structures.
[0207] The proposed method can be applied adaptively based on the slice type. For example, the proposed method may be applied when the slice type is an I-slice, and not applied otherwise.
[0208] The application of the proposed method can be adaptively determined based on the intra-prediction mode of a specific location within a luminance block and the intra-prediction mode. For example, the proposed method may be applied when the intra-prediction mode of the central location of a 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 may be applied. Here, the specific location is not limited to belonging within the luminance block and may belong to at least one of the surrounding blocks of the luminance block or the surrounding blocks of the chrominance block. Additionally, the specific location may belong to a block that is not adjacent to the luminance block and / or the chrominance block.
[0209] The applicability of the proposed method and / or the number of candidate modes may be determined based on at least one of the following: a prediction mode (e.g., intra mode, inter mode), the width / height of the input block, the number of samples in the input block, the location of sub-blocks within the block, explicitly signaled syntax elements, slice type, tree type, statistical characteristics of surrounding samples, or whether a second transformation is applied. For example, the proposed method may be applied when the size of the color difference block is 16x16 or larger, and the proposed method may not be applied otherwise.
[0210] A transformation set or transformation kernel for a first (inverse)transformation and / or a second (inverse)transformation according to the proposed method may be selected based on at least one of a selected intra-prediction mode, the width of an input block, the height of an input block, the number of samples in an input block, the location of a sub-block within the block, explicitly signaled syntactic elements, or statistical characteristics of surrounding samples.
[0211] For example, among a plurality of transformation sets for a first (inverse) transformation, a transformation set for a first (inverse) transformation may be selected based on the DIPM derived by the proposed method. Alternatively, among a plurality of transformation sets for a second (inverse) transformation, a transformation set for a second (inverse) transformation may be selected based on the DIPM derived by the proposed method.
[0212] Syntactic elements regarding the activation / application status of the proposed method may be signaled at at least one level among high-level syntax (HLS) such as VPS, SPS, PPS, picture header, slice header, or decoding capability information (DCI). Additionally, the application status of the proposed method may be determined adaptively without signaling information regarding the application status of the proposed method, or the application status of the proposed method may be determined through signaling information regarding the application status of the proposed method.
[0213] The proposed method may be used if the DIMD method is defined as allowed in the HLS, and may not be used otherwise. Alternatively, the proposed method may be used if the TIMD method is defined as allowed in the HLS, and may not be used otherwise.
[0214] The proposed method may be restricted to apply when specific conditions, such as block size or block shape, are satisfied. For example, the proposed method may not apply when the size of the color difference block is 16x16 or larger, and may apply otherwise. Alternatively, the proposed method may not apply when the size of the color difference block is less than 16x16, and may apply otherwise.
[0215] Based on information regarding the activation / application status of the proposed method defined in HLS, information regarding the application status of the proposed method at lower levels (e.g., coding unit, transformation unit) can be adaptively signaled. For example, if the information regarding the activation / application status 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 is not applied in the coding unit, and information regarding the application status of the proposed method may not be signaled.
[0216] FIG. 5 illustrates a schematic configuration of a decoding device (300) that performs a decoding method according to the present disclosure.
[0217] Referring to FIG. 5, the decoding device (300) may include a mode induction unit (500), a prediction block generation unit (510), a residual block induction unit (520), and a restoration unit (530). The mode induction unit (500) and the prediction block generation unit (510) may be provided in the intra prediction unit (331) of FIG. 3. The residual block induction unit (520) may be provided in the residual processing unit (320) of FIG. 3.
[0218] The mode induction unit (500) can perform the process of inducing the intra-prediction mode of the color difference block according to S400. The prediction block generation unit (510) can perform the process of generating the prediction block according to S410. The residual block induction unit (520) can perform the process of inducing the residual block of the color difference block according to S420. The restoration unit (530) can perform the restoration process of the color difference block according to S430.
[0219] FIG. 6 illustrates an encoding method performed by an encoding device (200) as an embodiment according to the present disclosure.
[0220] Referring to FIG. 6, an intra prediction mode of a color difference block can be derived (S600). Based on at least one of the aforementioned method 1 or method 2, one or more intra prediction modes can be derived for the color difference block, and a redundant description thereof will be omitted.
[0221] A prediction block of the color difference block can be generated based on the intra prediction mode derived in S600 (S610). The method for generating the prediction block is as described with reference to FIG. 4.
[0222] Transformation coefficients of the color difference block can be derived based on the residual block of the color difference block (S620). The residual block of the color difference block can be generated based on the prediction block generated in S610. Transformation coefficients can be derived by performing at least one of transformation or quantization on the residual block.
[0223] 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 transform or a non-separable transform, and the second transformation may be performed based on a non-separable transform. A first transformation based on a non-separable transform may be referred to as NSPT, and a second transformation based on a non-separable transform 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.
[0224] A bitstream can be generated by encoding residual information regarding the conversion coefficients of the color difference block (S630).
[0225] FIG. 7 illustrates a schematic configuration of an encoding device (200) that performs an encoding method according to the present disclosure.
[0226] Referring to FIG. 7, the encoding device (200) may include a mode induction unit (700), a prediction block generation unit (710), a conversion coefficient induction unit (720), and a residual information encoding unit (730).
[0227] The mode induction unit (700) and the prediction block generation unit (710) may be provided in the intra prediction unit (222) of FIG. 2. The conversion coefficient induction 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).
[0228] The mode induction unit (700) can perform the process of inducing 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 conversion coefficient induction unit (720) can perform the process of inducing a conversion coefficient according to S620. The residual information encoding unit (730) can perform the process of encoding residual information according to S630.
[0229] In the embodiments described above, methods are described based on flowcharts 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 as described above. Furthermore, those skilled in the art will understand that the steps shown in the flowcharts are not exclusive, and other steps may be included, or one or more steps of the flowcharts may be omitted without affecting the scope of the embodiments of this document.
[0230] The method according to the embodiments of the present document described above may be implemented in the form of software, and the encoding device and / or decoding device according to the present document may be included in a device that performs image processing, such as a TV, computer, smartphone, set-top box, display device, etc.
[0231] When the embodiments described in this document are implemented in software, the method described above may be implemented as a module (process, function, etc.) that performs the function described above. The module may be stored in memory and executed by a processor. The memory may be located inside or outside the processor and may be connected to the processor by various well-known means. The processor may include an application-specific integrated circuit (ASIC), other chipsets, logic circuits, and / or data processing devices. The memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and / or other storage devices. That is, the embodiments described in this document may be implemented and executed on a processor, microprocessor, controller, or chip. For example, the functional units illustrated in each figure may be implemented and executed on a computer, processor, microprocessor, controller, or chip. In this case, information on instructions or algorithms for implementation may be stored on a digital storage medium.
[0232] In addition, the decoding device and encoding device to which the embodiment(s) of the present specification are applied may be included in multimedia broadcasting transmission and reception devices, mobile communication terminals, home cinema video devices, digital cinema video devices, surveillance cameras, video conversation devices, real-time communication devices such as video communication, mobile streaming devices, storage media, camcorders, Video on Demand (VoD) service providers, Over-the-top video (OTT) devices, internet streaming service providers, 3D video devices, virtual reality (VR) devices, augmented reality (AR) devices, video phone video devices, transportation terminals (e.g., vehicle terminals (including autonomous vehicles), airplane terminals, ship terminals, etc.), and medical video devices, and may be used to process video signals or data signals. For example, Over-the-top video (OTT) devices may include game consoles, Blu-ray players, internet-connected TVs, home theater systems, smartphones, tablet PCs, Digital Video Recorders (DVRs), etc.
[0233] Additionally, the processing method to which the embodiment(s) of this specification are applied may be produced in the form of a program that is executed by a computer and may be stored on a computer-readable recording medium. Multimedia data having a data structure according to the embodiment(s) of this specification may also be stored on 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 may 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. Additionally, the computer-readable recording medium includes a medium implemented in the form of a carrier wave (e.g., transmission over the Internet). Additionally, a bitstream generated by an encoding method may be stored on a computer-readable recording medium or transmitted via a wired or wireless communication network.
[0234] Additionally, the embodiments of this specification may be implemented as a computer program product by program code, and said program code may be executed on a computer by the embodiments of this specification. said program code may be stored on a carrier readable by a computer.
[0235] FIG. 8 shows an example of a content streaming system to which embodiments of the present disclosure can be applied.
[0236] 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.
[0237] The above encoding server compresses content input from multimedia input devices, such as smartphones, cameras, and camcorders, into digital data to generate a bitstream and transmits it to the streaming server. As another example, if multimedia input devices, such as smartphones, cameras, and camcorders, generate the bitstream directly, the encoding server may be omitted.
[0238] The bitstream above may 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 may temporarily store the bitstream during the process of transmitting or receiving the bitstream.
[0239] 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 a medium to inform the user of available services. When a user requests a desired service from the web server, the web server transmits it 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, and in this case, the control server plays the role of controlling commands and responses between each device within the content streaming system.
[0240] The streaming server may receive content from a media storage and / or an encoding server. For example, when receiving content from the encoding server, the content may be received in real time. In this case, to provide a seamless streaming service, the streaming server may store the bitstream for a certain period of time.
[0241] Examples of the above user devices may include mobile phones, smartphones, laptop computers, digital broadcasting terminals, PDAs (personal digital assistants), PMPs (portable multimedia players), navigation systems, slate PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, HMDs (head-mounted displays)), digital TVs, desktop computers, digital signage, etc.
[0242] Each server within the above-mentioned content streaming system can be operated as a distributed server, and in this case, data received from each server can be processed in a distributed manner.
[0243] The claims described in this specification may be combined in various ways. For example, the technical features of the method claims in this specification may be combined to be implemented as a device, and the technical features of the device claims in this specification may be combined to be implemented as a method. Furthermore, the technical features of the method claims and the technical features of the device claims in this specification may be combined to be implemented as a device, and the technical features of the method claims and the technical features of the device claims in this specification may be combined to be 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 color difference block based on the above intra prediction mode; A step of deriving conversion coefficients of the color difference block based on residual information of the color difference block; A step of deriving a residual block of the color difference block based on an inverse transformation for the above transformation coefficients; and A method comprising the step of restoring the color difference 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-mentioned color difference 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 comprising a plurality of candidate modes including a Derived Intra Prediction Mode (DIPM) obtained through a Decoder Side Intra Mode Derivation (DIMD) method based on at least one of a luminance block, a surrounding area of the luminance block, or a surrounding area of the chrominance block.
4. In Paragraph 3, A method in which the above plurality of candidate modes further include a predetermined default mode or alternative mode.
5. In Paragraph 2, A method comprising a plurality of candidate modes, wherein the above-mentioned methods include an intra-prediction mode corresponding to 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 a luminance block.
6. In Paragraph 1, A method in which a transformation set or transformation kernel for the inverse transformation of the chrominance block is selected based on an intra-prediction mode corresponding to the central position of the luminance block.
7. In Paragraph 1, A Derived Intra Prediction Mode (DIPM) is derived through a Decoder-side Intra Mode Derivation (DIMD) method based on at least one of a luminance block, a surrounding area of the luminance block, or a surrounding area of the chrominance block, and A method in which a transformation set or transformation kernel for the inverse transformation of the color difference block is selected based on the above-derived DIPM.
8. In Paragraph 1, A DIPM (Derived Intra Prediction Mode) is derived through a DIMD (Decoder side Intra Mode Derivation) method based on the prediction block of the above color difference block, and A method in which a transformation set or transformation kernel for the inverse transformation of the color difference block is selected based on the above-derived DIPM.
9. In Paragraph 8, The above color difference block comprises at least one of a Cb block or a Cr block, in a method.
10. In Paragraph 9, A method in which the selected transformation set or transformation kernel is applied equally to the Cb block and the Cr block.
11. In Paragraph 8, The above DIPM is a method in which the Cb block and the Cr block of the color difference block are derived independently of each other.
12. Step of deriving an intra-prediction mode for a color difference block; A step of generating a prediction block of the color difference block based on the above intra prediction mode; A step of generating a residual block of the color difference block based on the prediction block above; A step of deriving transformation coefficients of the color difference block based on the transformation of the above residual block; and A method comprising the step of encoding residual information regarding the above-mentioned transformation coefficients.
13. A computer-readable storage medium for storing a bitstream generated by the method according to paragraph 12.
14. A step of acquiring a bitstream for image information; wherein the bitstream is generated based on the steps of: deriving an intra prediction mode for a chrominance block; generating a prediction block of the chrominance block based on the intra prediction mode; generating a residual block of the chrominance block based on the prediction block; deriving transformation coefficients of the chrominance block based on a transformation for the residual block; and encoding residual information regarding the transformation coefficients, and A method comprising the step of transmitting data including the above bitstream.