Intra prediction method and apparatus based on intra prediction mode derivation

CN117178549BActive Publication Date: 2026-10-27LG ELECTRONICS INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202280028977.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-02-24
Filing Date
2022-02-24
Publication Date
2026-10-27
Estimated Expiration
2042-02-24

AI Technical Summary

Technical Problem

因此,如果视频/图像数据经由诸如现有有线/无线宽带线路的介质传输或者存储在传统存储介质中,则传输和存储的成本容易增加

Benefits of technology

[0013]根据本公开,从比特流获得包括解码器侧帧内模式推导(DIMD)相关信息的图像信息,基于DIMD相关信息确定DIMD模式是否应用于当前块,基于确定结果推导当前块的帧内预测模式,并且可以基于帧内预测模式生成当前块的预测样本。由此,代替通过比特流用信号通知帧内预测模式,可使用已经编码的像素推导帧内预测模式,从而减少在用信号通知帧内预测模式的过程中发生的开销并且改进总体编码效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117178549B_ABST
    Figure CN117178549B_ABST
Patent Text Reader

Abstract

According to one embodiment of the present document, a method for decoding an apparatus to decode an image is provided. The method comprises the steps of: obtaining image information including decoder side intra mode derivation (DIMD) related information from a bitstream; determining whether to apply a DIMD mode to a current block based on the DIMD related information; deriving an intra prediction mode of the current block based on the determination result; and generating a prediction sample of the current block based on the intra prediction mode.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to image coding technology, and more specifically, to a video decoding method and apparatus for deriving intra-frame prediction modes in an image coding system. Background Technology

[0002] Recently, there has been a growing demand across various sectors for high-resolution, high-quality images / videos such as 4K, 8K, or even higher Ultra High Definition (UHD). As video / image resolution or quality increases, relatively more information or bits are transmitted compared to traditional video / image data. Therefore, if video / image data is transmitted via media such as existing wired / wireless broadband lines or stored in traditional storage media, the costs of transmission and storage can easily increase.

[0003] Furthermore, there is growing interest and demand for virtual reality (VR) and artificial reality (AR) content, as well as immersive media such as holograms; and the broadcasting of images / videos that exhibit characteristics different from actual videos / images (e.g., game images / videos) is also increasing.

[0004] Therefore, efficient image compression technology is needed to effectively compress and transmit, store, or play high-resolution, high-quality videos / images that exhibit the various characteristics described above. Summary of the Invention

[0005] Technical Purpose

[0006] This disclosure provides a method and apparatus for increasing image coding efficiency.

[0007] This disclosure also provides a method and apparatus for performing efficient intra-frame prediction in an image coding system.

[0008] Technical solution

[0009] According to embodiments of this disclosure, an image decoding method performed by a decoding device is provided. The method includes the following steps: obtaining image information from a bitstream, including decoder-side intra-frame mode derivation (DIMD) related information; determining whether a DIMD mode is applied to the current block based on the DIMD related information; deriving an intra-frame prediction mode for the current block based on the determination result; and generating prediction samples for the current block based on the intra-frame prediction mode.

[0010] According to another embodiment of this disclosure, an image encoding method performed by an encoding device is provided. The method includes the following steps: deriving decoder-side intra-frame mode derivation (DIMD) related information for the current block; determining whether a DIMD mode is applied to the current block based on the DIMD related information; deriving an intra-frame prediction mode for the current block based on the determination result; generating prediction samples for the current block based on the intra-frame prediction mode; and encoding image information including DIMD related information.

[0011] According to another embodiment of this disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores a bitstream generated by a method comprising the steps of: deriving decoder-side intra-frame mode derivation (DIMD) related information for the current block; determining, based on the DIMD related information, whether a DIMD mode is applied to the current block; deriving an intra-frame prediction mode for the current block based on the determination result; generating prediction samples for the current block based on the intra-frame prediction mode; and encoding image information including DIMD related information.

[0012] The effect of this disclosure

[0013] According to this disclosure, image information including decoder-side intra-mode derivation (DIMD) related information is obtained from the bitstream. Based on the DIMD related information, it is determined whether the DIMD mode is applied to the current block. Based on the determination result, the intra-prediction mode of the current block is deduced, and prediction samples of the current block can be generated based on the intra-prediction mode. Therefore, instead of signaling the intra-prediction mode via the bitstream, the intra-prediction mode can be deduced using already encoded pixels, thereby reducing the overhead incurred in signaling the intra-prediction mode and improving overall coding efficiency. Attached Figure Description

[0014] Figure 1 Examples of video / image encoding apparatuses to which embodiments of the present disclosure are applicable are illustrated schematically.

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

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

[0017] Figure 4 The layered structure of encoded video / images is illustrated schematically.

[0018] Figure 5 Examples of intra-frame prediction-based image coding methods to which embodiments of the present disclosure can be applied are illustrated schematically.

[0019] Figure 6 An intra-frame predictor in a coding device is illustrated schematically.

[0020] Figure 7 Examples of intra-frame prediction-based image decoding methods to which embodiments of the present disclosure can be applied are illustrated schematically.

[0021] Figure 8 An intra-frame predictor in a decoding device is illustrated schematically.

[0022] Figure 9 An illustrative intra-frame prediction process to which embodiments of the present disclosure may be applied is illustrated.

[0023] Figure 10 Examples of intra-frame prediction modes to which embodiments of the present disclosure may be applied are illustrated.

[0024] Figure 11 A reconstructed pixel template is illustrated as an example.

[0025] Figure 12 Video / image encoding processing of an encoding device applying the embodiments proposed in this disclosure is exemplified.

[0026] Figure 13 The video / image decoding process of a decoding device applying the embodiments proposed in this disclosure is exemplified.

[0027] Figures 14 to 18 An intra-frame coding structure according to an embodiment proposed in this disclosure is illustrated by way of example.

[0028] Figure 19 An intra-frame coding method according to the present disclosure is illustrated schematically.

[0029] Figure 20 A decoding method based on an intra-frame coding structure according to the present disclosure is illustrated schematically.

[0030] Figure 21 A structural diagram of a content streaming system to which this disclosure can be applied is illustrated. Detailed Implementation

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

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

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

[0034] This disclosure relates to video / image coding. For example, the methods / implementations disclosed herein may be related to the Universal Video Coding (VVC) standard (ITU-T Rec.H.266), next-generation video / image coding standards after VVC, or other video coding-related standards (e.g., High Efficiency Video Coding (HEVC) standard (ITU-T Rec.H.265), Basic Video Coding (EVC) standard, AVS2 standard, etc.).

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

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

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

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

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

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

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

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

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

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

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

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

[0047] Figure 1 Examples of video / image encoding apparatuses to which embodiments of the present disclosure are applicable are illustrated schematically.

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

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

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

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

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

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

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

[0055] Figure 2 This is a schematic diagram illustrating the configuration of a video / image coding device that can be applied to this document. In the following text, a video coding device may include an image coding device.

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

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

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

[0059] In subtractor 231, the predicted signal (predicted block, predicted sample, or predicted sample array) output from predictor 220 is subtracted from the input image signal (original block, original sample, or original sample array) to generate a residual signal (residual block, residual sample, or residual sample array), and the generated residual signal is sent to converter 232. Predictor 220 can perform prediction on the block to be processed (hereinafter referred to as the current block) and generate a prediction block that includes the prediction samples of the current block. Predictor 220 can determine whether to apply intra-frame prediction or inter-frame prediction on a per-block or per-CU basis. As described later in the description of each prediction mode, the predictor can generate various information related to the prediction (such as prediction mode information) and send the generated information to entropy encoder 240. The information about the prediction can be encoded in entropy encoder 240 and output as a bitstream.

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

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

[0062] Predictor 220 can generate a prediction signal based on various prediction methods described below. For example, the predictor can not only apply intra-frame prediction or inter-frame prediction to predict a block, but can also apply both intra-frame prediction and inter-frame prediction simultaneously. This can be referred to as Inter-Frame Intra-Frame Combined Prediction (CIIP). Additionally, the predictor can perform an intra-block copy (IBC) prediction mode. For example, IBC can be used for content image / video coding such as in games, e.g., Screen Content Coding (SCC). IBC essentially performs prediction within the current frame, but can be performed similarly to inter-frame prediction because the reference block is derived within the current frame. That is, IBC can use at least one of the inter-frame prediction techniques described in this disclosure.

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

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

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

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

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

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

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

[0070] Figure 3 This is a schematic diagram illustrating the configuration of a video / image decoding device to which the embodiments described in this document can be applied.

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

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

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

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

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

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

[0077] The predictor can generate a predicted signal based on various prediction methods described below. For example, the predictor can not only apply intra-frame prediction or inter-frame prediction to predict a block, but can also apply intra-frame prediction and inter-frame prediction simultaneously. This can be called Inter-Frame Intra-Frame Combined Prediction (CIIP). Alternatively, the predictor can perform Intra-Frame Block Copy (IBC) to predict a block. IBC can be used for content image / video coding such as in games, for example, Screen Content Coding (SCC). IBC essentially performs prediction in the current frame, but can be performed similarly to inter-frame prediction because a reference block is derived in the current frame. That is, IBC can use at least one of the inter-frame prediction techniques described in this disclosure.

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

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

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

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

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

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

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

[0085] In this specification, the embodiments described in the predictor 330, dequantizer 321, inverse transformer 322 and filter 350 of the decoding device 300 can be applied to or correspond to the predictor 220, dequantizer 234, inverse transformer 235 and filter 260 of the encoding device 200, respectively.

[0086] As described above, during video encoding, prediction is performed to increase compression efficiency. This generates a prediction block that includes prediction samples of the current block (the block to be encoded). Here, the prediction block includes prediction samples in the spatial domain (or pixel domain). The prediction block is derived from both the encoding and decoding devices in the same manner, and the encoding device can increase image encoding efficiency by signaling information between the original block and the prediction block (residual information) rather than the original sample values ​​of the original block itself to the decoding device. The decoding device can derive a residual block containing residual samples based on the residual information, combine the residual block with the prediction block to create a recovery block containing recovered samples, and create a recovered image containing the recovery block.

[0087] Residual information can be generated through transformation and quantization processes. For example, an encoding device can derive a residual block between the original block and the prediction block, derive transform coefficients by performing transform processing on residual samples (residual sample arrays) included in the residual block, derive quantized transform coefficients by performing quantization processing on the transform coefficients, and signal the relevant residual information (via a bitstream) to the decoding device. Here, residual information may include information such as value information, position information, transform technique, transform kernel, and quantization parameters of the quantized transform coefficients. The decoding device can perform dequantization / inverse transform processing based on the residual information and derive residual samples (or residual blocks). The decoding device can generate a reconstructed frame based on the prediction block and the residual block. The encoding device can also derive residual blocks by performing dequantization / inverse transform on the quantized transform coefficients for inter-frame prediction reference and generate a reconstructed frame based on this.

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

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

[0090] The predictor of an encoding / decoding device can derive prediction samples by performing inter-frame prediction block by block. Inter-frame prediction can be derived in a manner that depends on data elements (e.g., sample values ​​or motion information) of frames other than the current frame. When applying inter-frame prediction to the current block, the prediction block (prediction sample array) of the current block can be derived based on the reference block (reference sample array) specified by motion vectors in the reference frame indicated by the reference frame index. In this case, to reduce the amount of motion information transmitted in inter-frame prediction mode, the motion information of the current block can be predicted on a block, sub-block, or sample basis based on the correlation of motion information between neighboring blocks and the current block. Motion information can include motion vectors and reference frame indices. Motion information can also include inter-frame prediction type (L0 prediction, L1 prediction, Bi prediction, etc.) information. When applying inter-frame prediction, neighboring blocks can include spatially neighboring blocks existing in the current frame and temporally neighboring blocks existing in the reference frame. The reference frame including the reference block and the reference frame including the temporally neighboring block can be the same or different. Temporally neighboring blocks can be referred to as collated reference blocks, collated CUs (colCU), etc., and the reference frame including the temporally neighboring block can be referred to as the collated frame (colPic). For example, a candidate list of motion information can be constructed based on the neighboring blocks of the current block, and a signal can be used to indicate which candidate is selected (used) to derive the motion vector flag or index information and / or the reference frame index of the current block. Inter-frame prediction can be performed based on various prediction modes. For example, in skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In skip mode, unlike merge mode, residual signals may not be sent. In motion vector prediction (MVP) mode, the motion vectors of the selected neighboring blocks are used as motion vector predictors, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictors and the motion vector difference.

[0091] Depending on the inter-frame prediction type (L0 prediction, L1 prediction, Bi prediction, etc.), motion information can include L0 motion information and / or L1 motion information. Motion vectors in the L0 direction can be called L0 motion vectors or MVL0, and motion vectors in the L1 direction can be called L1 motion vectors or MVL1. Prediction based on L0 motion vectors can be called L0 prediction, prediction based on L1 motion vectors can be called L1 prediction, and prediction based on both L0 and L1 motion vectors can be called Bi prediction. Here, L0 motion vectors can indicate motion vectors related to a reference frame list L0 (L0), and L1 motion vectors can indicate motion vectors related to a reference frame list L1 (L1). Reference frame list L0 can include frames preceding the current frame in output order as reference frames, and reference frame list L1 can include frames following the current frame in output order. Previous frames can be called forward (reference) frames, and subsequent frames can be called backward (reference) frames. Reference frame list L0 can also include frames following the current frame in output order as reference frames. In this scenario, the previous frame in reference frame list L0 can be indexed first, followed by the subsequent frame. Reference frame list L1 can also include frames that precede the current frame in the output order as reference frames. In this case, the subsequent frames in reference frame list L1 can be indexed first, followed by the previous frames. Here, the output order can correspond to the Frame Order Count (POC) order.

[0092] Figure 4 An exemplary layer structure for encoding video / images is shown.

[0093] Reference Figure 4 Encoded video / images are divided into the Video Coding Layer (VCL), which performs video / image decoding and processes the decoding; the lower layer system, which sends and stores encoded information; and the Network Abstraction Layer (NAL), which exists between the VCL and the lower layer system and is used to perform network adaptation functions.

[0094] In VCL, VCL data including compressed image data (slice data) can be generated, or parameter sets including picture parameter set (PPS), sequence parameter set (SPS) or video parameter set (VPS), or additional supplemental enhancement information (SEI) messages required for image decoding processing.

[0095] In the NAL, header information (NAL cell data) is added to the Raw Byte Sequence Payload (RBSP) generated in the VCL to create the NAL cell. Here, RBSP refers to slice data, parameter sets, SEI messages, etc., generated in the VCL. The NAL cell header may include NAL cell type information specified based on the RSRP data included in the corresponding NAL cell.

[0096] As shown in the figure above, NAL units can be classified into VCL NAL units and non-VCL NAL units based on the RSRP generated in the VCL. A VCL NAL unit can refer to a NAL unit that includes information about that information (slice data), while a non-VCL NAL unit can refer to a NAL unit that includes information needed to decode the image (parameter set or SEI message).

[0097] VCL NA units and non-VCL NAL units can be sent over the network while header information is added according to the subsystem's data standard. For example, NAL units can be converted to predetermined standard data formats such as H.266 / VVC file format, Real-time Transport Protocol (RTP), Transport Stream (TS), etc., and transmitted over various networks.

[0098] Furthermore, as mentioned above, regarding NAL cells, the NAL cell type can be specified based on the RBSP data structure included in the corresponding NAL cell, and information about the NAL cell type can be stored in the NAL cell header and notified by a signal.

[0099] For example, NAL units can be classified into VCL NAL unit types and non-VCL NAL unit types based on whether the NAL unit includes information about the image (slice data). Furthermore, VCL NAL unit types can be classified based on the nature and type of the image included in the VCL NAL unit, while non-VCL NAL units can be classified based on the type of parameter set.

[0100] The following is an example of a NAL cell type specified based on the type of the parameter set included in a non-VCL NAL cell type.

[0101] - Adaptive Parameter Set (APS) NAL Units: Includes NAL unit types from the APS.

[0102] - Video Parameter Set (VPS) NAL Unit: Includes the NAL unit type of the VPS.

[0103] - Sequence Parameter Set (SPS) NAL Unit: Includes NAL unit types of SPS.

[0104] - Picture Parameter Set (PPS) NAL Unit: Includes NAL unit types for PPS.

[0105] - Decoding Capability Information (DCI) NAL Unit: Includes the NAL unit type of DCI.

[0106] - Header (PH) NAL Unit: Includes the NAL unit type of PH.

[0107] The aforementioned NAL unit type has syntax information for the NAL unit type, and this syntax information can be stored in the NAL unit header and signaled. For example, the syntax information can be nal_unit_type, and the NAL unit type can be specified using the nal_unit_type value.

[0108] Furthermore, as mentioned above, a frame can include multiple slices, and a slice can include a slice header and slice data. In this case, a frame header can be further added to multiple slices (slice headers and slice datasets) within a frame. The frame header (frame header syntax) can include information / parameters common to the frame. In this document, slices can be mixed with or replaced with tile groups. Additionally, in this document, slice headers can be mixed with or replaced with type group headers.

[0109] A slice header (slice header syntax, slice header information) may include information / parameters commonly applicable to a slice. APS (APS syntax) or PPS (PPS syntax) may include information / parameters commonly applicable to one or more slices or frames. SPS (SPS syntax) may include information / parameters commonly applicable to one or more sequences. VPS (VPS syntax) may include information / parameters commonly applicable to multiple layers. DCI (DCI syntax) may include information / parameters commonly applicable to the entire video. DCI may include information / parameters related to decoding capabilities. In this document, the High-Level Syntax (HLS) may include at least one of the following: APS syntax, PPS syntax, SPS syntax, VPS syntax, DCI syntax, frame header syntax, or slice header syntax.

[0110] In this document, the image / video information encoded from the encoding device to the decoding device and signaled in the form of a bitstream includes not only in-frame partition information, intra / inter-frame prediction information, residual information, and in-loop filtering information, but also information included in the slice header, the frame header, the APS, the PPS, the SPS, the VPS, and / or the DCI. Additionally, the image / video information may also include NAL unit header information.

[0111] Furthermore, when performing intra-frame prediction, the correlation between samples can be used, and the difference between the original block and the predicted block (i.e., the residual) can be obtained. The aforementioned transformations and quantizations can be applied to the residual, thereby removing spatial redundancy. The encoding and decoding methods using intra-frame prediction will be described in detail below.

[0112] Intra-frame prediction refers to the prediction of a block based on reference samples outside the current block in the frame that includes the current block (hereinafter referred to as the current frame). Here, reference samples outside the current block can refer to samples located around the current block. When intra-frame prediction is applied to the current block, neighboring reference samples to be used for intra-frame prediction of the current block can be derived.

[0113] For example, when the size (width × height) of the current block is nW × nH, the neighboring reference samples of the current block may include: a total of 2 × nH samples, including samples adjacent to the left boundary and samples adjacent to the lower left of the current block; a total of 2 × nW samples, including samples adjacent to the top boundary and samples adjacent to the upper right of the current block; and 1 sample adjacent to the upper left of the current block. Alternatively, the neighboring reference samples of the current block may include top neighbor samples in multiple columns and left neighbor samples in multiple rows. In addition, the neighboring reference samples of the current block may include a total of nH samples adjacent to the right boundary of the current block of size nW × nH; a total of nW samples adjacent to the bottom boundary of the current block of size nW × nH; and 1 sample adjacent to the lower right of the current block of size nW × nH.

[0114] However, some neighboring reference samples of the current block may not yet be decoded or may be unavailable. In this case, the decoding device can configure the neighboring reference samples to be used for prediction by replacing unavailable samples with available samples. Alternatively, the neighboring reference samples to be used for prediction can be configured by interpolation of available samples.

[0115] When deriving neighboring reference samples, (i) the predicted sample can be derived based on the average or interpolation of the neighboring reference samples of the current block, and (ii) the predicted sample can be derived based on the reference samples of the neighboring reference samples of the current block that exist in a specific (prediction) direction relative to the predicted sample. Case (i) can be applied when the intra-frame prediction mode is non-directional or non-corner mode, and case (ii) can be applied when the intra-frame prediction mode is directional or corner mode.

[0116] Alternatively, prediction samples can be generated by interpolating between the first nearest neighbor sample in the prediction direction of the intra-prediction mode of the current block and the second nearest neighbor sample in the opposite direction of the prediction direction from the nearest reference samples. This is known as Linear Interpolation Intra-Prediction (LIP). Additionally, a linear model can be used to generate chroma prediction samples based on luminance samples. This is known as LM mode.

[0117] Alternatively, provisional prediction samples for the current block can be derived based on filtered neighboring reference samples and at least one reference sample derived from existing neighboring reference samples according to the intra-prediction mode (i.e., unfiltered neighboring reference samples), and the provisional prediction samples can be weighted and summed to derive the prediction samples for the current block. This process can be referred to as position-dependent intra-prediction (PDPC).

[0118] The reference sample line with the highest prediction accuracy among the neighboring multi-reference sample lines of the current block can be selected to derive the predicted sample using the reference sample on the corresponding line in the prediction direction. Then, the reference sample line used in this paper can be indicated (by signaling) to the decoding device to perform intra-frame prediction coding. The above situation can be referred to as multi-reference line (MRL) intra-frame prediction or MRL-based intra-frame prediction.

[0119] Alternatively, intra-prediction can be performed based on the same intra-prediction mode by dividing the current block into vertical or horizontal sub-partitions, and neighboring reference samples can be derived and used on a sub-partition basis. That is, in this case, the intra-prediction mode of the current block is applied equivalently to the sub-partitions, and in some cases, intra-prediction performance can be improved by deriving and using neighboring reference samples on a sub-partition basis. This prediction method can be called intra-partitioning (ISP) or ISP-based intra-prediction.

[0120] The intra-prediction methods described above can be separated from intra-prediction modes and referred to as intra-prediction types. Intra-prediction types can be referred to by various terms such as intra-prediction techniques or additional intra-prediction modes. For example, an intra-prediction type (or additional intra-prediction mode) may include at least one of LIP, PDPC, MRL, or ISP described above. General intra-prediction methods other than specific intra-prediction types such as LIP, PDPC, MRL, or ISP may be referred to as normal intra-prediction types. Normal intra-prediction types can generally be applied when no specific intra-prediction type is applied, and prediction can be performed based on the intra-prediction modes described above. Furthermore, post-filtering can be performed on the derived prediction samples as needed.

[0121] In addition to the intra-prediction types mentioned above, matrix-based intra-prediction (MIP) can be used as an intra-prediction method. MIP can be called affine line-weighted intra-prediction (ALWIP) or matrix-weighted intra-prediction (MIP).

[0122] If MIP is applied to the current block, then i) neighboring reference samples that have already undergone averaging are used, ii) matrix-vector multiplication is performed, and iii) further horizontal / vertical interpolation can be performed as needed to derive the predicted samples for the current block. The intra-prediction mode used for MIP can be configured to be different from the intra-prediction mode used in LIP, PDPC, MRL, ISP intra-prediction, or normal intra-prediction.

[0123] The intra-prediction mode of MIP can be referred to as an "affine linear weighted intra-prediction mode" or a matrix-based intra-prediction mode. For example, the matrix and offset used in matrix-vector multiplication can be set differently depending on the intra-prediction mode of MIP. Here, the matrix can be called the (affine) weight matrix, and the offset can be called the (affine) offset vector or (affine) bias vector. In this paper, the intra-prediction mode of MIP can be referred to as the MIP intra-prediction mode, the linear weighted intra-prediction mode, the matrix weighted intra-prediction mode, or the matrix-based intra-prediction mode. Specific MIP methods will be described later.

[0124] The following figures are provided to illustrate specific examples of this document. Since the names of particular devices or specific terms or names (e.g., names of grammars) described in the figures are provided as examples, the technical features of this document are not limited to the specific names used in the following figures.

[0125] Figure 5 Examples of intra-frame prediction-based image coding methods to which embodiments of the present disclosure can be applied are illustrated schematically. Figure 6 An intra-frame predictor in a coding device is illustrated schematically. Figure 6 The intra-frame predictor in the coding device can be related to the above. Figure 2 The intra-frame predictor 222 of the coding device 200 is applied in the same or corresponding manner.

[0126] Reference Figure 5 and Figure 6 S500 can be executed by the intra-frame predictor 222 of the encoding device, and S510 can be executed by the residual processor 230 of the encoding device. Specifically, S510 can be executed by the subtractor 231 of the encoding device. In S520, the prediction information can be derived by the intra-frame predictor 222 and encoded by the entropy encoder 240. In S520, the residual information can be derived by the residual processor 230 and encoded by the entropy encoder 240. The residual information is information about the residual samples. The residual information may include information about the quantization transform coefficients of the residual samples. As described above, the residual samples can be derived into transform coefficients by the transformer of the encoding device, and the transform coefficients can be derived into quantized transform coefficients by the quantizer. The information about the quantized transform coefficients can be encoded in the entropy encoder 240 through residual coding processing.

[0127] The encoding device performs intra-prediction on the current block (S500). The encoding device can deduce the intra-prediction mode / type of the current block, deduce the neighboring reference samples of the current block, and generate prediction samples within the current block based on the intra-prediction mode / type and the neighboring reference samples. Here, the intra-prediction mode / type determination, neighboring reference sample derivation, and prediction sample generation processes can be performed simultaneously, or one process can be performed before the other.

[0128] For example, the intra-predictor 222 of the coding apparatus may include an intra-prediction mode / type determiner 222-1, a reference sample deducer 222-2, and a prediction sample deducer 222-3. The intra-prediction mode / type determiner 222-1 determines the intra-prediction mode / type of the current block, the reference sample deducer 222-2 deduces the neighboring reference samples of the current block, and the prediction sample deducer 222-3 can derive the prediction samples of the current block. Furthermore, although not shown, the intra-predictor 222 may also include a prediction sample filter (not shown) when performing prediction sample filtering. The coding apparatus can determine the mode / type applicable to the current block from a plurality of intra-prediction modes / types. The coding apparatus can compare the RD costs of the intra-prediction modes / types and determine the optimal intra-prediction mode / type for the current block.

[0129] As described above, the encoding device can perform predictive sample filtering. Predictive sample filtering can also be called post-filtering. Some or all predictive samples can be filtered using predictive sample filtering. In some cases, predictive sample filtering can be omitted.

[0130] The encoding device generates residual samples for the current block based on the (filtered) prediction samples (S510). The encoding device can compare the prediction samples with the original samples of the current block based on the phase and derive the residual samples.

[0131] The encoding device can encode image information including intra-frame prediction information (prediction information) and residual information about residual samples (S520). The prediction information may include intra-frame prediction mode information and intra-frame prediction type information. The residual information may include residual coding syntax. The encoding device can transform / quantize the residual samples to derive quantization transform coefficients. The residual information may include information about the quantization transform coefficients.

[0132] Encoding devices can output encoded image information in the form of a bitstream. The output bitstream can be transmitted to decoding devices via storage media or a network.

[0133] As described above, the encoding device can generate a reconstructed frame (including reconstructed samples and reconstructed blocks). To this end, the encoding device can derive (modified) residual samples by performing dequantization / inverse transform on the quantized transform coefficients again. The reason for performing dequantization / inverse transform after transforming / quantizing the residual samples in this way is to derive the same residual samples as those derived from the decoding device as described above. The encoding device can generate a reconstructed block including reconstructed samples of the current block based on the predicted samples and the (modified) residual samples. A reconstructed frame of the current frame can be generated based on the reconstructed blocks. As described above, in-loop filtering and other processing can be further applied to the reconstructed frame.

[0134] Figure 7 Examples of intra-frame prediction-based image decoding methods to which embodiments of the present disclosure can be applied are illustrated schematically. Figure 8 An intra-frame predictor in a decoding device is illustrated schematically. Figure 8 The intra-frame predictor in the decoding device can be combined with Figure 2 The same or corresponding intra-frame predictor 331 of the decoding device 300 is applied.

[0135] Reference Figure 7 and Figure 8 The decoding device can perform operations corresponding to those performed by the encoding device. S700 to S720 can be executed by the intra-frame predictor 331 of the decoding device, and the prediction information of S700 and the residual information of S730 can be obtained from the bitstream by the entropy decoder 310 of the decoding device. The residual processor 320 of the decoding device can derive the residual samples of the current block based on the residual information. Specifically, the dequantizer 321 of the residual processor 320 derives the transform coefficients by performing dequantization based on the quantization transform coefficients derived from the residual information, and the inverse transformer of the residual processor 320 derives the residual samples of the current block by performing an inverse transform on the transform coefficients. S740 can be executed by the adder 340 or the reconstructor of the decoding device.

[0136] The decoding device can deduce the intra-prediction mode / type of the current block based on the received prediction information (intra-prediction mode / type information) (S700). The decoding device can deduce the neighboring reference samples of the current block (S710). The decoding device generates prediction samples within the current block based on the intra-prediction mode / type and the neighboring reference samples (S720). In this case, the decoding device can perform prediction sample filtering. Prediction sample filtering can be referred to as post-filtering. Some or all prediction samples can be filtered by prediction sample filtering. In some cases, prediction sample filtering can be omitted.

[0137] The decoding device generates a residual sample for the current block based on the received residual information (S730). The decoding device can generate a reconstructed sample for the current block based on the predicted sample and the residual sample, and derive a reconstructed block including the reconstructed sample (S740). A reconstructed image of the current frame can be generated based on the reconstructed block. As described above, further in-loop filtering and other processing can be applied to the reconstructed image.

[0138] Here, the intra-predictor 331 of the decoding device may include an intra-prediction mode / type determiner 231-1, a reference sample deducer 331-2, and a prediction sample deducer 231-3. The intra-prediction mode / type determiner 331-1 determines the intra-prediction mode / type of the current block based on the intra-prediction mode / type information obtained from the entropy decoder 310, and the reference sample deducer 331-2 can derive the neighboring reference samples of the current block, and the prediction sample deducer 331-3 can derive the prediction samples of the current block. Furthermore, although not shown, when performing the above-described prediction sample filtering process, the intra-predictor 331 may also include a prediction sample filter (not shown).

[0139] For example, intra-luma_mpm_flag may be a flag indicating whether the most probable mode (MPM) or a remaining mode is applied to the current block. In this case, when an MPM is applied to the current block, the prediction mode information may also include an index indicating one of the intra-luma_mpm_idx prediction mode candidates. The intra-luma_mpm_idx prediction mode candidates may consist of a list of MPM candidates or a list of MPMs. Additionally, when no MPM is applied to the current block, the intra-luma_mpm_remainder prediction mode information may also include remaining mode information indicating one of the intra-luma_mpm_remainder prediction modes other than the intra-luma_mpm_idx prediction mode candidates. The decoding device can determine the intra-luma_mpm_remainder prediction mode for the current block based on the intra-luma_mpm_remainder prediction mode information.

[0140] Furthermore, intra-prediction type information can be implemented in various forms. For example, intra-prediction type information may include intra-prediction type index information indicating one of the intra-prediction types. As another example, intra-prediction type information may include at least one of the following: reference sample line information (e.g., intra_luma_ref_idx) indicating whether MRL is applied to the current block; whether reference sample lines are used if MRL is applicable; ISP flag information (e.g., intra_subpartitions_mode_flag) indicating whether ISP is applied to the current block; ISP type information indicating the partition type of the subpartition when ISP is applied (e.g., intra_subpartitions_split_flag); flag information indicating whether PDCP is applied; or flag information indicating whether LIP is applied. Additionally, intra-prediction type information may include MIP flag information indicating whether MIP is applied to the current block.

[0141] The aforementioned intra-prediction mode information and / or intra-prediction type information can be encoded / decoded using the coding methods described in this document. For example, the aforementioned intra-prediction mode information and / or intra-prediction type information can be encoded / decoded using entropy coding based on truncated (Rice) binary codes (e.g., CABAC, CAVLC).

[0142] Figure 9 An illustrative intra-frame prediction process to which embodiments of the present disclosure may be applied is illustrated.

[0143] Reference Figure 9 As described above, intra-frame prediction processing may include determining the intra-frame prediction mode / type, deriving neighboring reference samples, and performing intra-frame prediction (generating prediction samples). Intra-frame prediction processing may be performed in the encoding and decoding devices described above. The encoding device in this document may include both encoding and / or decoding devices.

[0144] The coding device can determine the intra-frame prediction mode / type (S900).

[0145] The encoding device can determine the intra prediction mode / type applicable to the current block from among the various intra prediction modes / types mentioned above, and generate prediction-related information. The prediction-related information may include intra prediction mode information indicating the intra prediction mode applied to the current block and / or intra prediction type information indicating the intra prediction type applied to the current block. The decoding device can determine the intra prediction mode / type applicable to the current block based on the prediction-related information.

[0146] As described above, intra-frame prediction mode information may include at least one of MPM flag information, non-planar flag information, MPM index information, and / or residual mode (MPM residual) information. As described above, intra-frame prediction type information includes reference sample line (MRL index) information (e.g., intra_luma_ref_idx), ISP flag information (e.g., intra_subpartitions_mode_flag), ISP type information (e.g., intra_subpartitions_split_flag), and flags indicating whether PDCP is applied, flags indicating whether LIP is applied, and / or MIP flag information.

[0147] For example, when applying intra-prediction, the intra-prediction modes of neighboring blocks can be used to determine the intra-prediction mode to be applied to the current block. For instance, the coding device can select one of the most probable modes (MPMs) from a list of most probable modes derived from the intra-prediction modes of neighboring blocks (e.g., left and / or upper neighboring blocks) and / or additional candidate modes based on the received MPM index, or it can select one of the remaining intra-prediction modes not included in the MPM candidates (and planar modes) based on MPM residual information (remaining intra-prediction mode information). The MPM list can be configured to include or exclude planar modes as candidates. For example, if the MPM list includes planar modes as candidates, the MPM list can have 6 candidates; if the MPM list does not include planar modes as candidates, the MPM list can have 5 candidates. When the MPM list does not include planar modes as candidates, a non-planar flag indicating whether the intra-prediction mode of the current block is not a planar mode can be used (e.g., intra_luma_not_planar_flag). For example, the MPM flag can be signaled first, and when the MPM flag is 1, the MPM index and non-planar flags can be signaled. Additionally, when the non-planar flag is 1, the MPM index can be signaled. The reason the MPM list is configured not to include planar patterns as candidates is that planar patterns are not MPMs, and non-planar patterns are always considered MPMs; therefore, the non-planar flag is signaled first. This is to first check if it is a planar pattern.

[0148] For example, MPM flags (e.g., `intra_luma_mpm_flag`) can be used to indicate whether the intra-prediction mode applied to the current block is among the MPM candidates (and planar modes) or among the remaining modes. An MPM flag of 1 indicates that the current block's intra-prediction mode is among the MPM candidates (and planar modes), while an MPM flag of 0 indicates that the current block's intra-prediction mode is not among the MPM candidates (and planar modes). A non-planar flag (e.g., `intra_luma_not_planar_flag`) of 0 indicates that the current block's intra-prediction mode is planar, while a non-planar flag of 1 indicates that the current block's intra-prediction mode is not planar. MPM indices can be signaled in the form of `mpm_idx` or `intra_luma_mpm_idx` elements, and remaining intra-prediction mode information can be signaled in the form of `rem_intra_luma_pred_mode` or `intra_luma_mpm_remainder` syntax elements. For example, the remaining intra-prediction mode information can indicate one of all intra-prediction modes by indexing the remaining intra-prediction modes not included in the MPM candidates (and planar modes) in order of prediction mode number. An intra-prediction mode can be an intra-prediction mode for the luma component (sample). In the following text, the intra-prediction mode information includes at least one of the following: an MPM flag (e.g., intra_luma_mpm_flag), a non-planar flag (e.g., intra_luma_not_planar_flag), an MPM index (e.g., mpm_idx or intra_luma_mpm_idx), and remaining intra-prediction mode information (rem_intra_luma_luma_mpm_mode or intra_luma_mpminder). In this document, the MPM list can be referred to by various terms such as the MPM candidate list and candModeList.

[0149] When applying MIP to the current block, the individual MPM flags used for MIP (e.g., intra_mip_mpm_flag), MPM indexes (e.g., intra_mip_mpm_idx), and remaining intra-prediction mode information (e.g., intra_mip_mpm_remainder) can be signaled, and non-plane flags can be signaled without signaling.

[0150] In other words, when an image is roughly divided into blocks, the current block and its neighboring blocks to be encoded have similar image characteristics. Therefore, the current block and its neighboring blocks are very likely to have the same or similar intra-prediction modes. Thus, the encoder can use the intra-prediction modes of neighboring blocks to encode the intra-prediction mode of the current block.

[0151] The most probable mode (MPM) list for the current block can be configured for the encoding device. The MPM list can also be referred to as the MPM candidate list. Here, MPM can refer to a mode used to improve coding efficiency by considering the similarity between the current block and neighboring blocks during intra-frame prediction mode coding. As mentioned above, the MPM list can include planar modes, or it can exclude planar modes. For example, when the MPM list includes planar modes, the number of candidates in the MPM list can be 6. When the MPM list does not include planar modes, the number of candidates in the MPM list can be 5.

[0152] The encoding device can perform prediction based on various intra-prediction modes and can determine the optimal intra-prediction mode based on its rate-distortion optimization (RDO). In this case, the encoding device can determine the optimal intra-prediction mode using only the MPM candidates and planar modes configured in the MPM list, or it can use the remaining intra-prediction modes in addition to the MPM candidates and planar modes configured in the MPM list. Specifically, if the intra-prediction type of the current block is a specific type (e.g., LIP, MRL, or ISP) and not a normal intra-prediction type, the encoding device only considers the MPM candidates and planar modes as intra-prediction mode candidates for the current block and then determines the optimal intra-prediction mode. That is, in this case, the intra-prediction mode of the current block can be determined only from the MPM candidates and planar modes, and in this case, the MPM flag does not need to be encoded / signaled. In this case, the decoding device can estimate that the MPM flag is 1 without separately signaling the MPM flag.

[0153] Furthermore, typically, when the intra-prediction mode of the current block is not a planar mode but one of the MPM candidates in the MPM list, the encoding device generates an MPM index (mpm idx) indicating one of the MPM candidates. If the intra-prediction mode of the current block is not included in the MPM list, MPM remainder information (remaining intra-prediction mode information) is generated, indicating the mode that is the same as the intra-prediction mode of the current block among the remaining intra-prediction modes not included in the MPM list (and planar modes). For example, the MPM remainder information may include the intra_luma_mpm_remainder syntax element.

[0154] The decoding device obtains intra-prediction mode information from the bitstream. As described above, the intra-prediction mode information may include at least one of an MPM flag, a non-planar flag, an MPM index, or remaining MPM information (remaining intra-prediction mode information). The decoding device may construct an MPM list. This MPM list is configured identically to the MPM list configured in the encoding device. That is, the MPM list may include intra-prediction modes of neighboring blocks, or it may also include specific intra-prediction modes according to a predetermined method.

[0155] The decoding device can determine the intra-prediction mode of the current block based on the MPM list and intra-prediction mode information. For example, when the MPM flag is 1, the decoding device (based on the non-planar flag) either derives the planar mode as the intra-prediction mode for the current block or selects the candidate indicated by the MPM index from the MPM candidates in the MPM list. Here, the MPM candidates may only indicate candidates included in the MPM list, or they may include not only candidates included in the MPM list but also planar modes that can be applied when the MPM flag is 1.

[0156] For example, when the MPM flag value is 0, the decoding device can deduce the intra-prediction mode indicated by the remaining intra-prediction mode information (which may be referred to as MPM remaining information) among the remaining intra-prediction modes not included in the MPM list and planar modes as the intra-prediction mode of the current block. Furthermore, when the intra-prediction type of the current block is a specific type (e.g., LIP, MRL, or ISP), the decoding device can deduce the candidate indicated by the MPM flag in the planar mode or MPM list as the intra-prediction mode of the current block without parsing / decoding / confirming the MPM flag.

[0157] The coding device derives the neighbor reference samples of the current block (S910). When intra-frame prediction is applied to the current block, neighbor reference samples to be used for intra-frame prediction of the current block can be derived. The neighbor reference samples of the current block include a total of 2×nH samples adjacent to the left boundary of the current block of size nW×nH, a sample adjacent to the lower left of the current block of size nW×nH, a total of 2×nW samples adjacent to the upper boundary of the current block, a sample adjacent to the upper right of the current block of size nW×nH, and 1 sample adjacent to the upper left of the current block. Alternatively, the neighbor reference samples of the current block may include upper neighbor samples in multiple columns and left neighbor samples in multiple rows. In addition, the neighbor reference samples of the current block may include a total of nH samples adjacent to the right boundary of the current block of size nW×nH, a total of nW samples adjacent to the lower boundary of the current block of size nW×nH, and 1 sample adjacent to the lower right of the current block of size nW×nH.

[0158] Furthermore, when MRL is applied (i.e., when the MRL index value is greater than 0), neighboring reference samples can be located on lines 1 to 2, instead of line 0 which is adjacent to the current block on the left / top side. In this case, the number of neighboring reference samples can be further increased. Additionally, when ISP is applied, neighboring reference samples can be derived on a sub-partition basis.

[0159] The coding device derives prediction samples by performing intra-frame prediction on the current block (S920). The coding device can derive prediction samples based on intra-frame prediction mode / type and neighboring samples. The coding device can derive reference samples from neighboring reference samples of the current block according to the intra-frame prediction mode of the current block, and can derive prediction samples of the current block based on the reference samples.

[0160] Furthermore, when applying intra-prediction, the intra-prediction modes of neighboring blocks can be used to determine the intra-prediction mode to be applied to the current block. For example, the coding device can select one of the most probable modes (MPMs) from a list of most likely modes derived from the intra-prediction modes of neighboring blocks (e.g., left and / or upper neighboring blocks) and additional candidate modes, based on the received MPM index, or it can select one of the remaining intra-prediction modes not included in the MPM candidates (and planar modes) based on remaining intra-prediction mode information. The MPM list can be configured to include or exclude planar modes as candidates. For example, if the MPM list includes planar modes as candidates, it can have 6 candidates; if it excludes planar modes as candidates, it can have 5 candidates. If the MPM list excludes planar modes as candidates, a non-planar flag indicating whether the intra-prediction mode of the current block is not a planar mode can be signaled (e.g., intra_luma_not_planar_flag). For example, the MPM flag can be signaled first, and the MPM index and non-planar flag can be signaled when the MPM flag is 1. Additionally, when the non-planar flag has a value of 1, the MPM index can be signaled. Here, the fact that the MPM list is configured not to include planar patterns as candidates is not because planar patterns are not MPMs, but because planar patterns are always considered MPMs. Therefore, the non-planar flag is signaled first to determine whether a planar pattern is a planar pattern, and this is checked first.

[0161] For example, the intra-prediction mode applied to the current block can be indicated based on the MPM flag (e.g., `intra_luma_mpm_flag`) whether it is among the MPM candidates (and planar modes) or the remaining modes. A value of 1 for the `mpm` flag indicates that the intra-prediction mode of the current block is among the MPM candidates (and planar modes), while a value of 0 indicates that the intra-prediction mode of the current block is not among the MPM candidates (and planar modes). A value of 0 for a non-planar flag (e.g., `intra_luma_not_planar_flag`) indicates that the intra-prediction mode of the current block is planar, while a value of 1 indicates that the intra-prediction mode of the current block is not planar. The MPM index can be signaled in the form of `mpm_idx` or `intra_luma_mpm_idx` elements, and the remaining intra-prediction mode information can be signaled in the form of `rem_intra_luma_pred_mode` or `intra_luma_mpm_remainder` syntax elements. For example, the remaining intra-prediction mode information can indicate one of all intra-prediction modes by indexing the remaining intra-prediction modes not included in the MPM candidates (and planar modes) in order of prediction mode number. An intra-prediction mode can be an intra-prediction mode for the luma component (samples). In the following text, intra-prediction mode information may include at least one of the following: an MPM flag (e.g., intra_luma_mpm_flag), a non-planar flag (e.g., intra_luma_not_planar_flag), an MPM index (e.g., mpm_idx or intra_luma_mpm_idx), or remaining intra-prediction mode information (rem_intra_luma_luma_mpm_mode or intra_luma_mpminder). In this document, the MPM list may be referred to by various terms such as the MPM candidate list, the candidate mode list (candModeList), and the candidate intra-prediction mode list.

[0162] Figure 10 Examples of intra-frame prediction modes to which embodiments of the present disclosure may be applied are illustrated.

[0163] Reference Figure 10 It can distinguish between intra-prediction modes with a horizontal direction and intra-prediction modes with a vertical direction in the 34th frame with a left-up diagonal prediction direction. Figure 8H and V represent the horizontal and vertical directions, respectively, and the numbers -32 to 32 represent 1 / 32 unit displacement at the sample grid position. Intra-prediction modes 2 to 33 are horizontally oriented, and intra-prediction modes 34 to 66 are vertically oriented. Intra-prediction modes 18 and 50 represent the horizontal and vertical intra-prediction modes, respectively, while intra-prediction mode 2 is called the lower-left diagonal intra-prediction mode, intra-prediction mode 34 can be called the upper-right diagonal intra-prediction mode, and intra-prediction mode 66 can be called the upper-left diagonal intra-prediction mode.

[0164] The decoder-side intra-mode derivation (DIMD) mode, which is used as an intra-prediction method, will be described below.

[0165] For example, DIMD modes include decoder-side intra-mode derivation mode, decoder-side intra-mode derivation mode, decoder-side intra-mode prediction mode, and decoder-side intra-mode prediction mode (decoder-side intra-mode prediction mode).

[0166] Alternatively, for example, DIMD mode can be referred to as DIMD intra-frame mode. Additionally, DIMD mode can be referred to as DIMD intra-frame prediction mode or DIMD prediction mode.

[0167] Additionally, for example, in this document, intra-frame mode can be referred to as intra-frame prediction mode. Furthermore, intra-frame mode and intra-frame prediction mode can be used interchangeably.

[0168] Furthermore, in existing video codecs such as HEVC and VVC, the intra-prediction mode is signaled via the bitstream. The overhead of the intra-prediction mode can vary depending on several factors, including quantization parameters, video characteristics, etc. Table 1 below shows the overhead of the intra-prediction mode.

[0169] [Table 1]

[0170]

[0171]

[0172] Referring to Table 1, on average, approximately 8.15% of the bits are used for encoding intra-prediction modes. Although this represents statistics derived from VVC reference software VTM version 10, it should be considered that this trend is observable regardless of the video standard. Furthermore, this trend indicates that the overhead of intra-mode signaling is not negligible.

[0173] Furthermore, unlike the traditional intra-prediction mode signaling described above, this paper introduces a decoder-side intra-prediction mode derivation (DIMD) method. Here, DIMD refers to an intra-coding tool that does not transmit the lumen intra-prediction mode (IPM) via the bitstream. Instead, the lumen intra-prediction mode is derived using previously encoded / decoded pixels in both the encoder and decoder.

[0174] For example, the DIMD mode is selected as the optimal mode in the encoder when the corresponding RD cost is the lowest among all other intra-frame modes. In the decoder, each CU can check whether the DIMD mode is applied. For example, a DIMD flag can be signaled to indicate the DIMD mode. Alternatively, the CU can be instructed whether to derive the DIMD intra-frame mode using another method.

[0175] When the CU is encoded in DIMD mode, the decoder can deduce the DIMD intra-frame mode. For example, the DIMD intra-frame mode (or DIMD mode) can be deduced during reconstruction processing using previously decoded neighboring pixels. Alternatively, other techniques or other processes can be used to deduce the DIMD mode.

[0176] When the DIMD mode is not selected in the decoder, the information about the intra-frame mode that can be parsed from the bitstream may be related to the existing intra-frame mode. For example, the information about the intra-frame mode may be at least one of the MPM flag, MPM index, or remaining mode information.

[0177] For example, DIMD flag information can be parsed / signaled before the MPM flag. Alternatively, for example, DIMD flag information can be parsed / signaled between the MPM flag information and the MPM index information. For instance, when DIMD flag information is parsed / signaled between the MPM flag information and the MPM index information, it can be parsed / signaled when the value of the MPM flag information is 1.

[0178] Figure 11 A reconstructed pixel template is illustrated as an example.

[0179] Reference Figure 11 The DIMD mode of the current CU can be derived using a reconstructed pixel template. For example, the angular direction of the template can be assumed to be highly correlated with the direction of the current block, and the DIMD mode can be derived by calculating the directional information between the reconstructed pixels.

[0180] For example, gradient quantities can be used to measure DIMD patterns. In this case, the gradient quantity can be represented by a histogram. For example, DIMD patterns can be estimated based on the intensity and orientation that can be computed from the neighboring reconstructed pixels of the current block. In this case, the intensity can be indicated by G, and the orientation can be indicated by O. In this case, intensity can refer to magnitude.

[0181] Furthermore, the Sobel filter can also be referred to as the Sobel operator and is a highly efficient filter for edge detection. When using the Sobel filter, two types are available: a Sobel filter for the vertical direction and a Sobel filter for the horizontal direction.

[0182] For example, for each pixel in the template, the Sobel filter uses a window centered on the current pixel to compute the x (i.e., Mx) and y (i.e., applicable to My) directions.

[0183] Mx and My can be calculated using the following formula.

[0184] [Formula 1]

[0185] and

[0186] In addition, the amplitude and direction can be calculated using the following formula.

[0187] [Equation 2]

[0188] G = |G x |+|G y And

[0189] Gradient directions can be converted to intra-corner prediction modes. For example, the histogram values ​​in an intra-corner mode can be increased by G, and the gradient intensity values ​​of various intra-corner modes can be accumulated. The mode that displays the highest peak value in the histogram is selected as the intra-prediction mode for the current block. For example, the mode that displays the highest peak value in the histogram can be selected as the DIMD mode for the current block.

[0190] To investigate how to consider DIMD and how it can be incorporated into future video coding standards, several aspects may need to be considered. For example, it could include new DIMD patterns derived using available environmental and / or other parameters. It could also include new DIMD patterns derived using, for example, available neighboring pixels and / or other parameters. Additionally, for example, the new DIMD pattern could be signaled to conform to the structure of the video codec under consideration, and the overhead it might introduce might be insignificant. Furthermore, for example, signaling could be considered to eliminate resolution latency. However, considering the aforementioned new DIMD patterns is not limited to these.

[0191] Therefore, this document proposes the following implementation methods to improve the DIMD-based intra-frame coding structure. The proposed implementation methods can be applied individually or in combination.

[0192] For example, in this document, a value of 1 for a specific piece of information can mean that the specific information is available. Additionally, for example, a value of 1 for a specific piece of information can mean that the specific information is enabled.

[0193] Additionally, for example, in this document, if the value of a specific piece of information is 0, it can mean that the specific information is unavailable. Furthermore, for example, when the value of a specific piece of information is 0, it can mean that the specific information is disabled.

[0194] In addition, in this paper, deriving intra-frame mode can mean deriving intra-frame prediction mode.

[0195] For example, DIMD-related information can be used. This information could include DIMD flags indicating whether a DIMD mode is applied to the current block. In this case, the DIMD flags could be dimdFlag.

[0196] For example, when the DIMD flag information is 1, the DIMD flag information can be used to indicate that the intra-frame mode of the current coding unit (CU) will be derived using DIMD mode operation. Or, in other words, when the DIMD flag information is 1, the DIMD flag information can be used to indicate the intra-frame mode for which the DIMD mode is to be derived.

[0197] Alternatively, for example, when the value of the DIMD flag information is 0, it can indicate that the intra-frame mode of the current CU is not derived and existing intra-frame coding techniques can be used. In other words, when the value of the DIMD flag information is 0, the intra-frame mode of the DIMD mode is not derived, and existing intra-frame coding techniques can be used.

[0198] Additionally, as an example, the DIMD flag information of the CU can be parsed at multiple locations. For instance, the DIMD flag information can be parsed before or after the intra-luma reference index information. For example, the DIMD flag information can be parsed before parsing the intra-luma reference index information. Alternatively, for example, the DIMD flag information can be parsed after parsing the intra-luma reference index information. Here, for example, the intra-luma reference index information could be `intra_luma_ref_idx`. Furthermore, the intra-luma reference index information can indicate the reference line index of the current block.

[0199] Alternatively, for example, the DIMD flag information can be parsed before or after the intra-subpartition information. For example, the DIMD flag information can be parsed before parsing the intra-subpartition information. Alternatively, for example, the DIMD flag information can be parsed after parsing the intra-subpartition information. Here, for example, the intra-subpartition information may include either `intra_subpartitions_mode_flag` or `intra_subpartitions_split_flag`.

[0200] Alternatively, for example, it can be parsed before matrix-weighted intra-prediction (MIP) related information. In other words, the DIMD flag information can be parsed before the MIP flag information. Here, for example, the MIP flag information could be `intra_mip_flag`. Alternatively, for example, the DIMD flag information can be parsed after the MIP flag information.

[0201] Alternatively, for example, when the DIMD flag information is 1, DIMD processing can be used to deduce the intra-frame mode of the CU. In other words, when the DIMD flag information is 1, the DIMD flag information can be used to indicate that the intra-frame mode of the current CU will be deduced using DIMD mode operation.

[0202] Alternatively, for example, when the DIMD flag information is 0, additional syntax elements can be parsed during the decoding process. For instance, when the DIMD flag information is 0, the intra-frame mode can be inferred based on the additional syntax elements. The additional syntax elements can be syntax related to the prediction mode information. Additionally, the prediction mode information can include, for example, MPM flag information, non-planar flag information, MPM index information, or MPM remainder information.

[0203] Additionally, as an example, the following structure can be considered as an example of the DIMD pattern.

[0204] a. The DIMD flag information can be parsed after the ISP.

[0205] b. If the DIMD flag information is true, then deduce the intra-frame mode.

[0206] c. When the DIMD flag information is false, parse intra_luma_mpm_flag.

[0207] For example, parsing DIMD flag information after ISP can mean parsing DIMD flag information after parsing intra-subpartitions information. In this case, it can include intra_subpartitions_mode_flag or intra_subpartitions_split_flag.

[0208] Alternatively, for example, when the DIMD flag information is true, it can mean that the value of the DIMD flag information is 1. In other words, when the value of the DIMD flag information is 1, the intra-frame mode can be derived. In this case, the intra-frame mode can be used for the DIMD mode.

[0209] Alternatively, for example, when the DIMD flag is false, it can mean that the value of the DIMD flag is 0. In other words, when the value of the DIMD flag is 0, the MPM flag can be parsed. In this case, the MPM flag could be intra_luma_mpm_flag.

[0210] Additionally, as an example, the following structure can be considered as another example of the DIMD pattern.

[0211] a. Intra-frame mode can be derived after parsing the MPM flag information. This is as follows.

[0212] a1. If MPM flag information is enabled, the MPM pattern is resolved using non-planar flag information or MPM index information.

[0213] a2. If the MPM flag information is disabled, the DIMD flag information can be parsed to indicate whether the deduced mode or the parsed non-MPM mode should be used.

[0214] Here, for example, the non-planar flag information could be `intra_luma_not_planar_flag`. Additionally, the MPM index information could be `intra_luma_mpm_index`. Furthermore, the non-MPM mode can be derived based on the remaining MPM information, and the remaining MPM information can include `intra_luma_mpm_remainder`.

[0215] For example, enabling the MPM flag information means that `intra_luma_mpm_flag` is available. Additionally, enabling the MPM flag information means that its value is 1. In other words, when the MPM flag information is 1, the MPM pattern can be resolved based on either the non-planar flag information or the MPM index information.

[0216] Alternatively, for example, when the MPM flag information is disabled, it can mean that the MPM flag information is unavailable. Furthermore, when the MPM flag information is disabled, it can mean that the value of the MPM flag information is 0. In other words, when the value of the MPM flag information is 0, the DIMD flag information can be parsed to indicate whether the derived mode should be used or a non-MPM mode should be parsed. Here, the derived mode can be an intra-prediction mode used for DIMD modes.

[0217] Additionally, as an example, in another variant using DIMD mode, DIMD mode can be used in conjunction with MPM mode.

[0218] a. If the DIMD flag information is enabled, deduce the intra-frame mode.

[0219] b. If the DIMD flag information is disabled, then the MPM mode is resolved. It should be noted that non-MPM modes are not considered in this structure.

[0220] For example, when the DIMD flag information is enabled, the intra-frame mode can be derived. In other words, when the DIMD flag information value is 1, the intra-frame mode can be derived. In this case, the intra-frame mode can be used for DIMD mode.

[0221] Alternatively, for example, MPM patterns can be resolved when the DIMD flag information is disabled. In other words, MPM patterns can be resolved when the value of the DIMD flag information is 0. In this case, non-planar flag information or MPM index information can be used to resolve the MPM pattern. Furthermore, in this case, the remaining MPM information can be communicated without signaling.

[0222] Additionally, for example, in another variation of the use of the DIMD mode, the use of the MPM flag information can be reused.

[0223] a. When MPM flag information is enabled, non-planar flag information or MPM index information can be parsed.

[0224] b. When the MPM flag information is disabled, the remaining MPM information is replaced with DIMD mode, so DIMD processing can be used to deduce the intra-frame mode.

[0225] c. It can be noted that by changing the use of MPM flag information, it may not be necessary to add DIMD flag information.

[0226] For example, when the MPM flag information is enabled, non-planar flag information or MPM index information can be parsed. In other words, when the value of the MPM flag information is 1, non-planar flag information or MPM index information can be parsed. Furthermore, intra-frame prediction modes can be derived based on non-planar flag information or MPM index information.

[0227] Alternatively, for example, if the MPM flag information is disabled, DIMD processing can be used to derive the intra-frame mode. In other words, when the value of the MPM flag information is 0, the intra-frame mode can be derived through DIMD processing. In this case, the intra-frame mode can be used in DIMD mode.

[0228] Alternatively, for example, when the value of the MPM flag information is 0, since the intra-frame mode used for DIMD mode can be derived, the DIMD flag information may not be needed in the process of deriving the DIMD mode. In other words, since the intra-frame mode used for DIMD mode can be derived based on the MPM flag information, the DIMD flag information may not be needed.

[0229] Additionally, as an example, the intra-frame mode can be derived multiple times as follows.

[0230] a. The primary DIMD flag information (referred to as DIMD flag information) can be used to distinguish between the derived intra-frame mode (i.e., DIMD mode) and the mode obtained from the MPM / non-MPM structure. The first layer of DIMD application is similar to that described above.

[0231] b. Additionally, when the MPM flag information is disabled, a secondary DIMD mode can be derived so that the secondary DIMD mode can be used to replace the non-MPM mode.

[0232] For example, the DIMD flag information can be used to distinguish between DIMD modes and modes obtained from MPM / non-MPM structures. For example, when the value of the DIMD flag information is 1, the primary DIMD mode can be derived. In this case, the DIMD mode can be derived according to the above implementation method. Alternatively, for example, when the value of the DIMD flag information is 0, either the MPM mode or the non-MPM mode can be derived.

[0233] Alternatively, for example, the secondary DIMD mode can be used as a non-MPM mode. For example, when the value of the MPM flag information is 1, the MPM mode can be derived. Additionally, for example, when the value of the MPM flag information is 0, the secondary DIMD mode can be derived. In this case, the DIMD mode can be derived according to the above-described implementation. In this situation, the remaining MPM information can be disregarded.

[0234] Additionally, as an example, DIMD mode can be used when other tools are disabled to maximize coding gain and thus video quality. For instance, when using intra-frame sub-partitions (ISPs) in a coding unit (CU), DIMD mode can be omitted. Therefore, when using ISP, there is no need to signal DIMD flag information, and vice versa. In other words, when applying ISP to the current block, DIMD mode can be omitted from the current block, and DIMD flag information can be omitted from the signal. Furthermore, for example, when applying DIMD mode to the current block, ISP can be omitted from the current block, and ISP-related information can be omitted from the signal.

[0235] For example, the DIMD mode can be applied to the current block based on the value of the ISP flag information. For instance, when the value of the ISP flag information is 1, the value of the DIMD flag information can be set to 0.

[0236] For example, the ISP can be applied to the current block based on the value of the DIMD flag information. For example, when the value of the DIMD flag information is 1, the value of the ISP flag information can be set to 0.

[0237] For example, the DIMD flag information can be notified by signaling based on the value of the ISP flag information. For example, when the value of the ISP flag information is 1, the DIMD flag information can be notified without signaling. Alternatively, for example, when the value of the ISP flag information is 0, the DIMD flag information can be notified by signaling.

[0238] For example, the ISP can be notified of the flag information using a signal based on the value of the DIMD flag information. For example, when the value of the DIMD flag information is 1, the ISP can be notified of the flag information without a signal. Alternatively, for example, when the value of the DIMD flag information is 0, the ISP can be notified of the flag information using a signal.

[0239] Additionally, for example, when using multiple reference lines (MRL), DIMD mode can be omitted. Therefore, when using MRL, it is not necessary to signal the DIMD flag information, and vice versa. In other words, if intra_luma_ref_idx is greater than 0, it is not necessary to signal the DIMD flag information, and vice versa.

[0240] Additionally, for example, the DIMD structure may be dependent during intra-frame prediction mode derivation processing. This is because the mode is unknown during parsing and can be derived during a later recovery step. Measures to mitigate this effect may include:

[0241] a. Intra-frame mode derivation and parsing can be separated, so that the peripheral CU based on DIMD mode encoding can be used for MPM derivation, thus no delay occurs during MPM mode generation.

[0242] b. Alternatively, a dummy mode can be assigned during MPM list construction, and then, if the mode selected during MPM processing is also a DIMD mode, the dummy mode can be replaced with the DIMD mode during recovery processing.

[0243] Additionally, various methods can be applied to the current block to predict the DIMD pattern. As one method, histogram of gradients (HoG) can be used to estimate the block's orientation.

[0244] a. This technique relies on the calculation of intensity (i.e., |Gx|+|Gy|) and gradient (Gx / Gy).

[0245] b. A scaling factor (SF) can be used to scale the amplitude. For example, weights w1 and w2 can be considered in intensity calculation. That is, the intensity can be calculated as w1|Gx|+w2|Gy|. The weights can be sent heuristically, empirically, and / or adaptively using any prescribed existing parameter sets such as the Picture Parameter Set (PPS), Adaptive Parameter Set (APS), or Picture Header (PH).

[0246] c. Amplitude (i.e., intensity) is calculated using a Sobel filter. A full 3×3 filter can be used, or a filter in a more simplified form can be used.

[0247] d. If gradients are unavailable, a planar mode can be used. Alternatively, other modes can be used, such as DC and / or other dominant modes.

[0248] e. The DIMD mode can be selected based on the gradient histogram magnitude. Additionally, restrictions can be imposed on the modes that can be selected as DIMD modes. In one example, a plane may not be selected as a DIMD mode; in another example, the MPM mode may not be selected as a DIMD mode.

[0249] Additionally, for example, refer to Figure 10 A Sobel filter can be applied to a template composed of reference lines. The use of reference lines can be extended to include as many as needed / as many as possible to improve the accuracy of pattern determination.

[0250] Additionally, as an example, the DIMD structure can be used to derive an intra-frame mode.

[0251] a. Alternatively, the DIMD structure can be used to construct a list with multiple intra-frame modes (i.e., the number of returned DIMD modes is greater than 1), where the optimal mode is selected using the rate-distortion module.

[0252] a1. In RD search, an alternative is to use a fast RD search based on SATD and add it to the full RD if the cost is less than that of the one in the RD list.

[0253] a2. Alternatively, a full RD check can be performed at the selected location.

[0254] b. Alternatively, if multiple DIMD modes are used, the predictive signal can be generated by averaging some or all of the possible modes under consideration.

[0255] b1. A weighted method can be used to calculate the average of the patterns under consideration, where weights can be assigned equally or unequally. For example, all available patterns with non-zero amplitudes can be used.

[0256] b2. Alternatively, averaging with other patterns (e.g., planar or DC) can be considered to generate the derived pattern. Even in these cases, equal or unequal weight contributions can be used.

[0257] Additionally, as an example, restrictions can be imposed on the use of DIMD. These restrictions may include (but are not limited to):

[0258] a. Block size: For example, DIMD can be specified for block sizes greater than 4×4 and / or less than 32×32 or 64×64.

[0259] b. Other appropriate block settings can also be used.

[0260] c. Alternatively, restrictions on the availability of neighboring CUs could be considered.

[0261] d. Another aspect to consider is the availability of reference lines in the template, which are used to calculate the strength and orientation of the current block.

[0262] Additionally, as an example, the DIMD mode, as a tool, can be turned on and off at the sequence parameter set level. Furthermore, general constraint flags related to the DIMD mode may also exist in the sequence parameter set and / or the decoding capability information parameter set.

[0263] Additionally, as an example, the DIMD mode can be constructed using a most probable mode (MPM) candidate list or an MPM list. For instance, when the MPM flag information is 1, the MPM mode can be derived based on non-planar flag information or MPM index information. Alternatively, for example, one of the MPM candidates from the most probable mode (MPM) list derived based on intra-prediction modes and / or additional candidate modes can be selected based on the MPM index. In this case, the DIMD mode can be included in the MPM list. Therefore, the DIMD mode can be selected from the MPM candidates based on the MPM index.

[0264] Furthermore, in this document, the parsing order of information / syntax elements can correspond to the signaling order of information / syntax elements. Additionally, for example, the sequence of information / syntax elements in this document can correspond to a sequence of information / syntax elements.

[0265] Figure 12 Video / image encoding processing of an encoding device applying the embodiments proposed in this disclosure is exemplified.

[0266] Figure 12 At least one step can be omitted or changed.

[0267] Reference Figure 12 The encoding device determines whether to apply the DIMD mode (S1200). For example, the encoding device may determine whether to apply the DIMD mode. Alternatively, for example, the encoding device may determine whether to apply the DIMD mode to the current block based on DIMD-related information. In this case, the DIMD-related information may include DIMD flag information.

[0268] The encoding device generates DIMD flag information (S1210). For example, the encoding device can generate DIMD flag information. The DIMD flag information may include DIMD flags. In this case, the syntax element of the DIMD flag information may be dimFlag.

[0269] For example, when the DIMD flag information is 1, the DIMD flag information can be used to indicate that the intra-prediction mode of the current coding unit (CU) will be derived using DIMD mode operation. Alternatively, for example, when applying DIMD mode to the current block, the intra-prediction mode used for DIMD mode can be derived based on the neighboring reference samples of the current block.

[0270] Alternatively, for example, when the DIMD flag information is 0, it can indicate that the intra-prediction mode of the current CU is not derived based on the DIMD mode, and existing intra-coding techniques can be used. For example, when the DIMD flag information is 0, the intra-prediction mode can be derived based on the MPM flag information. Furthermore, when the MPM flag information is 1, the intra-prediction mode can be derived based on the MPM mode, and when the MPM flag information is 0, the intra-prediction mode can be derived based on a non-MPM mode.

[0271] Alternatively, for example, the DIMD flag information can be parsed after parsing the intra-frame luma reference index information. Additionally, for example, the DIMD flag information can be parsed before parsing the intra-frame luma reference index information. Here, for example, the intra-frame luma reference index information can be configured to be parsed based on a value of 0 for the DIMD flag information.

[0272] Alternatively, for example, the DIMD flag information can be parsed after parsing the intra-frame sub-partition information. Additionally, for example, the DIMD flag information can be parsed before parsing the intra-frame sub-partition information. Here, for example, the intra-frame sub-partition information can be configured to be parsed based on a DIMD flag value of 0.

[0273] Alternatively, for example, the DIMD flag information can be parsed after the MIP flag information. Additionally, for example, the DIMD flag information can be parsed before the MIP flag information. Here, for example, the intra-frame MIP flag information can be configured to be parsed based on the value of the DIMD flag information being 0.

[0274] The encoding device encodes video / image information including DIMD tag information (S1220). For example, the encoding device can encode video / video information including DIMD tag information.

[0275] Figure 13 The video / image decoding process of a decoding device applying the embodiments proposed in this disclosure is exemplified.

[0276] Figure 13 At least one step can be omitted or changed.

[0277] Reference Figure 13The decoding device obtains DIMD flag information from the bitstream (S1300). For example, the decoding device can obtain DIMD flag information from the bitstream. Alternatively, for example, although DIMD-related information can be included in the bitstream, DIMD-related information can include DIMD flag information.

[0278] For example, the DIMD flag information can be parsed after parsing the intra-frame luma reference index information. Alternatively, the DIMD flag information can be parsed before parsing the intra-frame luma reference index information. Here, for example, when the value of the DIMD flag information is 0, the intra-frame luma reference index information can be parsed.

[0279] Alternatively, for example, the DIMD flag information can be parsed after parsing the intra-frame sub-partition information. Additionally, for example, the DIMD flag information can be parsed before parsing the intra-frame sub-partition information. Here, for example, when the value of the DIMD flag information is 0, the intra-frame sub-partition information can be parsed.

[0280] Alternatively, for example, the DIMD flag information can be parsed after the MIP flag information. Additionally, for example, the DIMD flag information can be parsed before the MIP flag information. Here, for example, the MIP flag information can be parsed when the value of the DIMD flag information is 0.

[0281] The decoding device determines whether to apply the DIMD mode based on the DIMD flag information (S1310). For example, the decoding device can determine whether to apply the DIMD mode based on the DIMD flag information. For example, when the value of the DIMD flag information is 1, the DIMD flag information can be used to indicate that the intra-frame prediction mode of the current coding unit (CU) will be derived using DIMD mode operation.

[0282] Alternatively, for example, when the DIMD flag information is 0, it can indicate that the intra-prediction mode of the current CU is not derived based on the DIMD mode, and existing intra-coding techniques can be used. For example, when the DIMD flag information is 0, the intra-prediction mode can be derived based on the MPM flag information. Furthermore, when the MPM flag information is 1, the intra-prediction mode can be derived based on the MPM mode, and when the MPM flag information is 0, the intra-prediction mode can be derived based on a non-MPM mode.

[0283] The decoding device derives the DIMD mode (S1320). For example, the decoding device can derive the DIMD mode. Alternatively, for example, when applying the DIMD mode to the current block, the intra-prediction mode for the DIMD mode can be derived based on the neighboring reference samples of the current block.

[0284] In this context, the DIMD mode can be referred to as the DIMD intra-frame mode or the DIMD intra-frame prediction mode. Furthermore, DIMD mode, DIMD intra-frame mode, and DIMD intra-frame prediction mode are used interchangeably. Additionally, the DIMD mode can include one or more intra-frame prediction modes.

[0285] The decoding device can perform intra-frame prediction based on the DIMD mode (S1230). For example, the decoding device can perform intra-frame prediction by deriving an intra-frame prediction mode for the DIMD mode.

[0286] Furthermore, DIMD flag information can be signaled / resolved in various ways. For example, DIMD flag information can be resolved after resolving intra-frame luma reference index information and intra-frame sub-segment information, but before resolving MPM flag information. Alternatively, for example, DIMD flag information can be resolved after resolving intra-frame luma reference index information, intra-frame sub-segment information, and MPM flag information. Additionally, for example, when the value of MPM flag information is 0, the DIMD mode can be deduced, or the DIMD flag information can be resolved to indicate a non-MPM mode.

[0287] Furthermore, neighboring reference samples are derived, and these samples can be used to perform intra-frame prediction based on the intra-frame prediction mode. In this case, the intra-frame prediction mode can be used for the DIMD mode. Additionally, neighboring blocks / samples can be used to derive the DIMD mode.

[0288] The encoding device can perform intra-frame prediction to generate prediction samples for the current block (S1330). Residual samples for the current block can be derived based on the prediction samples. Residual information related to the residual samples can be encoded and signaled to the decoding device via a bitstream.

[0289] The decoding device can generate reconstructed samples / blocks / images based on the predicted samples. Based on the residual information, the decoding device can deduce the residual samples and generate reconstructed samples / blocks / images based on the residual samples.

[0290] In addition, in-loop filtering can be applied to the reconstructed image.

[0291] Figures 14 to 18 An intra-frame coding structure according to an embodiment proposed in this disclosure is illustrated by way of example. The coding apparatus according to this document can be based on... Figures 13 to 17 Intra-frame prediction is performed based on the intra-frame coding structure. Furthermore, the decoding device according to this document can be based on... Figures 13 to 17 Intra-frame prediction is performed using the intra-frame coding structure.

[0292] Figure 14 An intra-frame coding structure according to an embodiment proposed in this disclosure is illustrated by way of example.

[0293] Reference Figure 14 The DIMD flag information can be parsed after parsing the intra-frame luma reference index information and intra-frame sub-partition information, but before parsing the MPM flag information. In this case, the DIMD flag information can be parsed at other locations within the coding unit (CU). In this structure, when using DIMD mode more than MPM / non-MPM mode, parsing the DIMD flag information before the MPM flag information may be advantageous.

[0294] For example, MIP flag information can be parsed. In this case, the MIP flag information could be `intra_mip_flag`. Additionally, when the MIP flag information is 1, MIP processing can be performed, and when the MIP flag information is 0, intra-frame luma reference index information and intra-frame sub-partition information can be parsed. Here, for example, the intra-frame luma reference index information could be `intra_luma_ref_idx`. Furthermore, for example, the intra-frame sub-partition information could include `intra_subpartitions_mode_flag` and `intra_subpartitions_split_flag`.

[0295] Alternatively, for example, the DIMD flag information can be parsed after parsing the intra-frame luma reference index information and intra-frame sub-partition information. In this case, when the DIMD flag information value is 1, the DIMD mode can be derived, and when the DIMD flag information value is 0, the MPM flag information can be parsed. In other words, the MPM flag information can be parsed after parsing the DIMD flag information.

[0296] Furthermore, for example, when the MPM flag value is 1, the MPM pattern can be derived, and when the MPM flag value is 0, the remaining MPM information can be parsed. In other words, when the MPM flag value is 0, the non-MPM pattern can be derived.

[0297] Figure 15 An intra-frame coding structure according to another embodiment proposed in this disclosure is illustrated by way of example.

[0298] Reference Figure 15 The DIMD flag information can be parsed after parsing the intra-frame luminance reference index information, intra-frame sub-partition information, and MPM flag information. At this point, the DIMD flag information can only be parsed if the MPM flag information value is 0. This structure can be applied when using the DIMD mode at almost the same level as the non-MPM mode. Alternatively, for example, the DIMD mode can be derived when the DIMD flag information value is 1, and the remaining MPM information for the non-MPM mode can be parsed when the DIMD flag information value is 0.

[0299] For example, MIP flag information can be parsed. In this case, the MIP flag information could be `intra_mip_flag`. Additionally, when the MIP flag information is 1, MIP processing can be performed, and when the MIP flag information is 0, intra-frame luma reference index information and intra-frame sub-partition information can be parsed. Here, for example, the intra-frame luma reference index information could be `intra_luma_ref_idx`. Furthermore, for example, the intra-frame sub-partition information could include `intra_subpartitions_mode_flag` and `intra_subpartitions_split_flag`.

[0300] Alternatively, for example, the MPM flag information can be parsed after parsing the intra-frame lumen reference index information and intra-frame sub-partition information. In this case, when the value of the MPM flag information is 1, the MPM mode can be derived, and when the value of the MPM flag information is 0, the DIMD flag can be parsed.

[0301] Additionally, for example, when the DIMD flag value is 1, the DIMD mode can be derived, and when the DIMD flag value is 0, the remaining MPM information can be parsed. In other words, when the DIMD flag value is 0, the non-MPM mode can be derived.

[0302] Figure 16 An intra-frame coding structure according to another embodiment proposed in this disclosure is illustrated by way of example.

[0303] Reference Figure 16 The DIMD flag information can be parsed after parsing the intra-frame sub-partition information. For example, when the DIMD flag information value is 1, the DIMD mode is derived, and when the DIMD flag information value is 0, the non-plane flag information or MPM index information can be parsed. This structure can be viewed as using MPM flag information to replace the DIMD flag information. For example, when the DIMD flag information value is 1, the DIMD mode is derived, and this can be considered as corresponding to a non-MPM mode. Alternatively, for example, when the DIMD flag information value is 0, the non-plane flag information or MPM index information is parsed, and thus the MPM mode can be derived. Furthermore, this structure may be advantageous when the non-MPM mode occurs at a frequency similar to the MPM mode. Signaling an existing non-MPM mode may require up to 7 bits, so deriving the non-MPM mode without signaling may be a better approach.

[0304] For example, MIP flag information can be parsed. In this case, the MIP flag information could be `intra_mip_flag`. Additionally, when the MIP flag information is 1, MIP processing can be performed, and when the MIP flag information is 0, intra-frame luma reference index information and intra-frame sub-partition information can be parsed. Here, for example, the intra-frame luma reference index information could be `intra_luma_ref_idx`. Furthermore, for example, the intra-frame sub-partition information could include `intra_subpartitions_mode_flag` and `intra_subpartitions_split_flag`.

[0305] Alternatively, for example, the DIMD flag information can be parsed after parsing the intra-frame lumen reference line index information and intra-frame sub-partition information. In this case, when the value of the DIMD flag information is 1, the DIMD mode can be derived, and when the value of the DIMD flag information is 0, the non-planar flag information or MPM index information can be parsed.

[0306] Figure 17 An intra-frame coding structure according to another embodiment proposed in this disclosure is illustrated by way of example.

[0307] Reference Figure 17 The MPM flag information can be parsed after parsing the intra-frame sub-partition information. In this case, when the MPM flag information is 1, non-planar flag information or MPM index information can be parsed. Alternatively, when the MPM flag information is 0, the DIMD mode can be derived. This structure can also be considered as replacing the remaining MPM information. In the above structure, the MPM flag information can indicate both the MPM mode and the DIMD mode, rather than signaling additional flags such as the DIMD flag information. This can be advantageous when non-MPM modes occur at frequencies similar to MPM modes.

[0308] For example, MIP flag information can be parsed. In this case, the MIP flag information could be `intra_mip_flag`. Additionally, when the MIP flag information is 1, MIP processing can be performed, and when the MIP flag information is 0, intra-frame luma reference index information and intra-frame sub-partition information can be parsed. Here, for example, the intra-frame luma reference index information could be `intra_luma_ref_idx`. Furthermore, for example, the intra-frame sub-partition information could include `intra_subpartitions_mode_flag` and `intra_subpartitions_split_flag`.

[0309] Alternatively, for example, the MPM flag information can be parsed after parsing the intra-frame lumen reference index and intra-frame sub-partition information. In this case, when the MPM flag information is 1, the non-planar flag information or MPM index information is parsed, and the MPM mode can be derived from this. Alternatively, for example, when the MPM flag information is 0, the DIMD mode can be derived.

[0310] Figure 18 An intra-frame coding structure according to another embodiment proposed in this disclosure is illustrated by way of example.

[0311] Reference Figure 18 The DIMD mode can be derived twice. For example, the DIMD flag information can be parsed after parsing the intra-frame sub-partition information. When the DIMD flag information is 1, the primary DIMD mode can be derived, and when the DIMD flag information is 0, the MPM flag information can be parsed. Additionally, when the MPM flag information is 1, the MPM mode can be derived, and when the MPM flag information is 0, the secondary DIMD mode can be derived. This structure can be considered as a secondary DIMD mode replacing the non-MPM mode. In other words, when the MPM flag information is 0, the secondary DIMD mode corresponding to the non-MPM mode can be considered for derivation. That is, in the above structure, the secondary DIMD mode can be executed as the non-MPM mode, instead of signaling the remaining MPM information.

[0312] For example, MIP flag information can be parsed. In this case, the MIP flag information could be `intra_mip_flag`. Additionally, when the MIP flag information is 1, MIP processing can be performed, and when the MIP flag information is 0, intra-frame luma reference index information and intra-frame sub-partition information can be parsed. Here, for example, the intra-frame luma reference index information could be `intra_luma_ref_idx`. Furthermore, for example, the intra-frame sub-partition information could include `intra_subpartitions_mode_flag` and `intra_subpartitions_split_flag`.

[0313] Alternatively, for example, the DIMD flag information can be parsed after parsing the intra-frame luma reference index information and intra-frame sub-partition information. In this case, the intra-frame luma reference index information can be parsed before the intra-frame sub-partition information.

[0314] Additionally, for example, when the value of the DIMD flag information is 1, the main DIMD mode can be derived, and when the value of the DIMD flag information is 0, the MPM flag information can be parsed.

[0315] Additionally, for example, when the value of the MPM flag information is 1, the MPM pattern can be derived, and when the value of the MPM flag information is 0, the secondary DIMD pattern can be derived. In this case, the MPM pattern can be derived based on the non-planar flag information or the MPM index information.

[0316] Figure 19 An intra-frame coding method according to the present disclosure is illustrated schematically.

[0317] Reference Figure 19 The encoding device can derive decoder-side intra-frame mode derivation (DIMD) related information (S1900). For example, the encoding device can derive DIMD related information for the current block according to the above implementation method.

[0318] The encoding device can determine whether to apply the DIMD mode based on DIMD-related information (S1910). For example, the encoding device can determine whether to apply the DIMD mode to the current block based on DIMD-related information according to the implementation method proposed in this document.

[0319] The encoding device can deduce the intra-prediction mode based on the determination result (S1920). For example, the decoding device can deduce the intra-prediction mode of the current block based on the determination result according to the above embodiment.

[0320] For example, based on determining the DIMD mode to apply to the current block, the intra-prediction mode for the DIMD mode can be derived based on the neighboring reference samples of the current block. Here, prediction samples can be generated based on the intra-prediction mode for the DIMD mode.

[0321] Alternatively, for example, based on the determination that the DIMD mode will not be applied to the current block, the intra-prediction mode can be derived based on the prediction mode information. Here, the prediction mode information includes most probable mode (MPM) flag information, non-planar flag information, MPM index information, or MPM remainder information.

[0322] Additionally, DIMD-related information may include DIMD flag information indicating whether a DIMD mode is applied to the current block. Here, the DIMD flag information can be parsed after the intra-frame luma reference index information indicating the reference line index of the current block.

[0323] Additionally, for example, DIMD-related information may include DIMD flag information indicating whether a DIMD mode is applied to the current block, and the DIMD flag information may be parsed after the intra-fractional sub-partition (ISP) information. Here, the ISP information may include at least one of intra-fractional sub-partition mode flag information or intra-fractional sub-partition segmentation flag information.

[0324] Here, for example, the image information may include prediction mode information, and the prediction mode information may include at least one of MPM flag information, non-planar flag information, MPM index information, or MPM residual information. For example, the DIMD mode can be determined based on a value of 1 for the DIMD flag information. Alternatively, the MPM flag information can be parsed based on a value of 0 for the DIMD flag information.

[0325] Alternatively, for example, it can be determined whether to apply intra-fractional partitioning to the current block based on intra-fractional partitioning (ISP) information. Here, DIMD mode may not be applied to the current block where intra-fractional partitioning is applied. In other words, when intra-fractional partitioning is applied to the current block, DIMD mode may not be applied to the current block.

[0326] Alternatively, for example, intra-framing sub-partitions may not be applied to the current block when DIMD mode is applied. In other words, when DIMD mode is applied to the current block, intra-framing sub-partitions may not be applied to the current block.

[0327] Additionally, for example, the image information may include prediction mode information, which includes at least one of MPM flag information, non-planar flag information, MPM index information, or MPM residual information, and the DIMD-related information may include DIMD flag information indicating whether a DIMD mode is applied to the current block, and the DIMD flag information may be parsed based on the value 0 in the MPM flag information.

[0328] Additionally, for example, the image information includes prediction mode information, which includes at least one of non-planar flag information or MPM index information, and the DIMD-related information includes DIMD flag information indicating whether a DIMD mode is applied to the current block, and the non-planar flag information or MPM index information can be parsed based on the value of the DIMD flag information being 0. Here, the intra-frame prediction mode can be derived based on the non-planar flag information or the MPM index information.

[0329] Additionally, for example, the image information includes prediction mode information, which includes at least one of MPM flag information, non-planar flag information, or MPM index information, and the DIMD-related information may include DIMD flag information indicating whether a DIMD mode is applied, and the DIMD flag information may be parsed after the MPM flag information.

[0330] Additionally, for example, a value of 1 for the MPM flag information allows for the derivation of the intra-frame prediction mode based on non-planar flag information or MPM index information. Conversely, a value of 0 for the MPM flag information allows for the determination of the DIMD mode to be applied to the current block.

[0331] Additionally, for example, the image information includes prediction mode information, which includes at least one of MPM flag information, non-planar flag information, or MPM index information. DIMD-related information may include DIMD flag information indicating whether a DIMD mode is applied to the current block, and the primary DIMD mode can be determined as the DIMD mode based on a DIMD flag information value of 1. Alternatively, the MPM flag information can be parsed based on a DIMD flag information value of 0.

[0332] Here, for example, when the value of the DIMD flag information is 0, the MPM flag information is parsed, and when the value of the MPM flag information is 1, the intra-frame prediction mode can be derived based on the non-planar flag information or the MPM index information. Additionally, when the value of the MPM flag information is 0, the secondary DIMD mode can be determined as the DIMD mode.

[0333] Additionally, image information may include, for example, a sequence parameter set (SPS) or decoding capability information (DCI). Furthermore, DIMD-related information may be included in the SPS or DCI, and may include DIMD flag information indicating whether a DIMD mode is applied to the current block.

[0334] Additionally, for example, DIMD-related information includes DIMD flag information indicating whether a DIMD mode is applied to the current block, and the DIMD flag information can be parsed before matrix-based intra-frame prediction (MIP) flag information.

[0335] The encoding device can generate prediction samples based on the intra-frame prediction mode (S1930). For example, the encoding device can generate prediction samples for the current block based on the intra-frame prediction mode according to the above-described implementation.

[0336] The encoding device encodes image information including DIMD-related information (S1940). For example, the encoding device can encode image information including DIMD-related information according to the above embodiment.

[0337] Figure 20 A decoding method based on an intra-frame coding structure according to the present disclosure is illustrated schematically.

[0338] Reference Figure 20 The decoding device can obtain / receive image information including decoder-side intra-frame mode derivation (DIMD) related information (S2000). For example, the decoding device can obtain / receive image information including DIMD related information according to the above embodiment.

[0339] The decoding device can determine whether to apply the DIMD mode to the current block based on DIMD-related information (S2010). For example, the decoding device can determine whether to apply the DIMD mode based on DIMD-related information according to the above implementation method.

[0340] The decoding device can deduce the intra-prediction mode based on the determination result (S2020). For example, the decoding device can deduce the intra-prediction mode of the current block based on the determination result according to the above implementation method.

[0341] For example, based on determining the DIMD mode to apply to the current block, the intra-prediction mode for the DIMD mode can be derived based on the neighboring reference samples of the current block. Here, prediction samples can be generated based on the intra-prediction mode for the DIMD mode.

[0342] Alternatively, for example, based on the determination that the DIMD mode will not be applied to the current block, the intra-prediction mode can be derived based on the prediction mode information. Here, the prediction mode information may include most probable mode (MPM) flag information, non-planar flag information, MPM index information, or MPM remainder information.

[0343] Additionally, DIMD-related information may include DIMD flag information indicating whether a DIMD mode is applied to the current block. Here, the DIMD flag information can be parsed after the intra-frame luma reference index information indicating the reference line index of the current block.

[0344] Additionally, DIMD-related information may include DIMD flag information indicating whether a DIMD mode is applied to the current block. Here, the DIMD flag information can be parsed before the intra-frame luma reference index information indicating the reference line index of the current block.

[0345] Additionally, for example, DIMD-related information includes DIMD flag information indicating whether a DIMD mode is applied to the current block, and the DIMD flag information can be parsed after the intra-fractional sub-partition (ISP) information. Here, the ISP information may include at least one of intra-fractional sub-partition mode flag information or intra-fractional sub-partition segmentation flag information. Here, the intra-fractional sub-partition mode flag information can indicate whether intra-fractional sub-partition (ISP) is applied to the current block. Additionally, the intra-fractional sub-partition segmentation flag information can indicate the intra-fractional sub-partition segmentation type.

[0346] Additionally, for example, DIMD-related information includes DIMD flag information indicating whether a DIMD mode is applied to the current block, and the DIMD flag information can be parsed before the intra-fractional sub-segment (ISP) information. Here, the ISP information may include at least one of intra-fractional sub-segment mode flag information or intra-fractional sub-segmentation flag information.

[0347] Here, for example, the image information may include prediction mode information, and the prediction mode information may include at least one of MPM flag information, non-planar flag information, MPM index information, or MPM residual information. For example, the DIMD mode can be determined based on a value of 1 for the DIMD flag information. Alternatively, the MPM flag information can be parsed based on a value of 0 for the DIMD flag information.

[0348] Alternatively, for example, it can be determined whether to apply intra-fractional partitioning to the current block based on intra-fractional partitioning (ISP) information. Here, DIMD mode may not be applied to the current block where intra-fractional partitioning is applied. In other words, when intra-fractional partitioning is applied to the current block, DIMD mode may not be applied to the current block.

[0349] Alternatively, for example, intra-framing sub-partitions may not be applied to the current block when DIMD mode is applied. In other words, when DIMD mode is applied to the current block, intra-framing sub-partitions may not be applied to the current block.

[0350] Additionally, for example, the image information includes prediction mode information, which includes at least one of MPM flag information, non-planar flag information, MPM index information, or MPM residual information, and the DIMD-related information includes DIMD flag information indicating whether a DIMD mode is applied to the current block, and the DIMD flag information can be parsed based on the value 0 in the MPM flag information.

[0351] Additionally, for example, the image information includes prediction mode information, which includes at least one of non-planar flag information or MPM index information, and the DIMD-related information includes DIMD flag information indicating whether a DIMD mode is applied to the current block, and the non-planar flag information or MPM index information can be parsed based on a value of 0 for the DIMD flag information. Here, the intra-frame prediction mode can be derived based on the non-planar flag information or the MPM index information.

[0352] Additionally, for example, the image information includes prediction mode information, which includes at least one of MPM flag information, non-planar flag information, or MPM index information, and the DIMD-related information includes DIMD flag information indicating whether a DIMD mode is applied to the current block, and the DIMD flag information can be parsed after the MPM flag information.

[0353] Additionally, for example, a value of 1 for the MPM flag information allows for the derivation of the intra-frame prediction mode based on non-planar flag information or MPM index information. Conversely, a value of 0 for the MPM flag information allows for the determination of the DIMD mode to be applied to the current block.

[0354] Additionally, for example, the image information includes prediction mode information, which includes at least one of MPM flag information, non-planar flag information, or MPM index information. The DIMD-related information includes DIMD flag information indicating whether a DIMD mode is applied to the current block. Based on a DIMD flag information value of 1, the primary DIMD mode can be determined as the DIMD mode. Conversely, based on a DIMD flag information value of 0, the MPM flag information can be parsed.

[0355] Here, for example, when the value of the DIMD flag information is 0, the MPM flag information is parsed, and when the value of the MPM flag information is 1, the intra-frame prediction mode can be derived based on the non-planar flag information or the MPM index information. Additionally, when the value of the MPM flag information is 0, the secondary DIMD mode can be determined as the DIMD mode.

[0356] Additionally, image information may include, for example, a sequence parameter set (SPS) or decoding capability information (DCI). Furthermore, DIMD-related information may be included in the SPS or DCI, and may include DIMD flag information indicating whether a DIMD mode is applied to the current block.

[0357] Additionally, for example, DIMD-related information includes DIMD flag information indicating whether a DIMD mode is applied to the current block, and the DIMD flag information can be parsed before matrix-based intra-frame prediction (MIP) flag information.

[0358] The decoding device generates prediction samples based on the intra-frame prediction mode (S2030). For example, the decoding device can generate prediction samples for the current block based on the intra-frame prediction mode according to the above-described implementation.

[0359] When residual samples for the current block exist, the decoding device can receive information about the residuals of the current block. This information may include transform coefficients related to the residual samples. The decoding device can derive the residual samples (or an array of residual samples) for the current block based on the residual information. Specifically, the decoding device can derive the quantization transform coefficients based on the residual information. The quantization transform coefficients may have a one-dimensional vector form based on the coefficient scan order. The decoding device can derive the transform coefficients based on the dequantization process of the quantization transform coefficients. The decoding device can derive the residual samples based on the transform coefficients.

[0360] The decoding device can generate reconstructed samples based on (intra-frame) predicted samples and residual samples, and can deduce reconstructed blocks or reconstructed frames based on the reconstructed samples. Specifically, the decoding device can generate reconstructed samples based on the sum of (intra-frame) predicted samples and residual samples. As described above, if necessary, the decoding device can then apply in-loop filtering processing such as deblocking filtering and / or SAO processing to the reconstructed frames to improve subjective / objective frame quality.

[0361] For example, a decoding device can decode a bitstream or encoded information to obtain image information that includes all or some of the aforementioned information (or syntax elements). Alternatively, the bitstream or encoded information can be stored in a computer-readable storage medium, which can lead to the execution of the aforementioned decoding method.

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

[0363] The methods described above according to the embodiments of this document can be implemented in software, and the encoding and / or decoding devices according to this document can be included in, for example, TVs, computers, smartphones, set-top boxes, display devices, etc., that perform the processing.

[0364] When the embodiments described in this document are implemented as software, the methods described above can be implemented as modules (processes, functions, etc.) that perform the functions described above. Modules can be stored in memory and executed by a processor. The memory can be internal or external to the processor and can be connected to the processor by various well-known means. The processor may include application-specific integrated circuits (ASICs), 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 can be implemented and executed on a processor, microprocessor, controller, or chip. For example, the functional units shown in each figure can be implemented and executed on a computer, processor, microprocessor, controller, or chip. In this case, the information used for implementation (e.g., information about instructions) or algorithms can be stored in a digital storage medium.

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

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

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

[0368] Figure 21 A structural diagram of a content streaming system to which this disclosure can be applied is illustrated.

[0369] Reference Figure 21 The content streaming system that applies the implementation method of this document can mainly include an encoding server, a streaming server, a network server, a media storage device, a user device, and a multimedia input device.

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

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

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

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

[0374] Examples of user devices may include mobile phones, smartphones, laptops, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigators, touchscreen PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, and head-mounted displays), digital TVs, desktop computers, and digital signage.

[0375] Each server within a content streaming system can operate as a distributed server, in which case the data received from each server can be distributed.

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

Claims

1. An image decoding method performed by a decoding device, the image decoding method comprising the following steps: Obtain image information from the bitstream, including DIMD-related information derived from the decoder-side intra-frame mode derivation. Based on the DIMD-related information, determine whether to apply the DIMD mode to the current block; Based on the determined results, the intra-prediction mode for the current block is derived; as well as The prediction samples for the current block are generated based on the intra-frame prediction mode. The DIMD-related information includes DIMD flag information indicating whether the DIMD mode is applied to the current block, and The DIMD flag information is parsed after at least one of the intra-fragmentation ISP information or intra-luminance reference index information indicating the reference line index for the current block.

2. The image decoding method according to claim 1, wherein, Based on determining that the DIMD mode will be applied to the current block, the intra-prediction mode for the DIMD mode is derived based on neighboring reference samples of the current block. The prediction samples are generated based on the intra-prediction mode used for the DIMD mode.

3. The image decoding method according to claim 1, wherein, Based on the determination that the DIMD mode will not be applied to the current block, the intra-frame prediction mode is derived based on the prediction mode information, and The prediction pattern information includes at least one of the following: most likely pattern (MPM) flag information, non-planar flag information, MPM index information, or MPM remaining information.

4. The image decoding method according to claim 1, in, The ISP information includes at least one of intra-frame sub-partition mode flag information or intra-frame sub-partition segmentation flag information.

5. The image decoding method according to claim 4, wherein, The image information includes prediction mode information, wherein the prediction mode information includes at least one of the following: most probable mode (MPM) flag information, non-planar flag information, MPM index information, or MPM residual information. Specifically, the DIMD mode is determined based on the value of the DIMD flag information being equal to 1, and Specifically, the MPM flag information is parsed based on the fact that the value of the DIMD flag information is equal to 0.

6. The image decoding method according to claim 1, wherein, Based on the intra-frame sub-partition ISP information, determine whether to apply ISP to the current block. Specifically, the DIMD mode is not applied to the current block of the ISP.

7. The image decoding method according to claim 1, wherein, Intra-framing sub-partition ISP is not applied to the current block for which the DIMD mode is applied.

8. The image decoding method according to claim 1, wherein, The image information includes prediction mode information, wherein the prediction mode information includes at least one of the following: most probable mode (MPM) flag information, non-planar flag information, MPM index information, or MPM residual information. The DIMD-related information includes DIMD flag information indicating whether the DIMD mode is applied to the current block. Specifically, the DIMD flag information is parsed based on the fact that the value of the MPM flag information is equal to 0.

9. The image decoding method according to claim 1, wherein, The image information includes prediction mode information, wherein the prediction mode information includes at least one of non-planar marker information or most probable mode (MPM) index information. The DIMD-related information includes DIMD flag information indicating whether the DIMD mode is applied to the current block. Specifically, based on the DIMD flag information value being equal to 0, the non-planar flag information or the MPM index information is parsed, and The intra-frame prediction mode is derived based on the non-planar flag information or the MPM index information.

10. The image decoding method according to claim 1, wherein, The image information includes prediction mode information, wherein the prediction mode information includes at least one of most probable mode (MPM) flag information, non-planar flag information, or MPM index information. The DIMD-related information includes DIMD flag information indicating whether the DIMD mode is applied to the current block, and The DIMD flag information is parsed after the MPM flag information.

11. The image decoding method according to claim 10, wherein, Based on the MPM flag information value being equal to 1, the intra-frame prediction mode is derived based on the non-planar flag information or the MPM index information, and Specifically, if the value of the MPM flag information is equal to 0, it is determined that the DIMD mode is applied to the current block.

12. The image decoding method according to claim 1, wherein, The image information includes prediction mode information, wherein the prediction mode information includes at least one of most probable mode (MPM) flag information, non-planar flag information, or MPM index information. The DIMD-related information includes DIMD flag information indicating whether the DIMD mode is applied to the current block. Specifically, based on the DIMD flag information value being equal to 1, the primary DIMD mode is determined to be the DIMD mode, and Specifically, the MPM flag information is parsed based on the fact that the value of the DIMD flag information is equal to 0.

13. The image decoding method according to claim 12, wherein, Based on the fact that the value of the DIMD flag information is equal to 0, the MPM flag information is parsed. Specifically, the intra-frame prediction mode is derived based on the MPM flag information value being equal to 1, the non-planar flag information, or the MPM index information. Wherein, based on the value of the MPM flag information being equal to 0, the auxiliary DIMD mode is determined to be the DIMD mode.

14. The image decoding method according to claim 1, wherein, The image information includes Sequence Parameter Set (SPS) or Decoding Capability Information (DCI), and The DIMD-related information is included in the SPS or the DCI. The DIMD-related information includes DIMD flag information indicating whether the DIMD mode is applied to the current block.

15. The image decoding method according to claim 1, wherein, The DIMD-related information includes DIMD flag information indicating whether the DIMD mode is applied to the current block. The DIMD flag information is parsed before the MIP flag information is predicted in the matrix-weighted intra-frame.

16. An image encoding method performed by an encoding device, the image encoding method comprising the following steps: Derive DIMD-related information for decoder-side intra-frame mode derivation for the current block; Based on the DIMD-related information, determine whether to apply the DIMD mode to the current block; Based on the determined results, the intra-prediction mode for the current block is derived; The prediction sample for the current block is generated based on the intra-frame prediction mode; as well as The image information, including the DIMD-related information, is encoded. The DIMD-related information includes DIMD flag information indicating whether the DIMD mode is applied to the current block, and The DIMD flag information is signaled after at least one of the intra-fragmentation ISP information or intra-fragmentation luminance reference index information indicating the reference line index for the current block.

17. The image encoding method according to claim 16, wherein, Based on determining that the DIMD mode will be applied to the current block, the intra-prediction mode for the DIMD mode is derived based on neighboring reference samples of the current block. The prediction samples are generated based on the intra-prediction mode used for the DIMD mode.

18. The image encoding method according to claim 16, wherein, Based on the determination that the DIMD mode will not be applied to the current block, the intra-frame prediction mode is derived based on the prediction mode information, and The prediction pattern information includes at least one of the following: most likely pattern (MPM) flag information, non-planar flag information, MPM index information, or MPM remaining information.

19. A method for transmitting a bit stream, the method comprising the following steps: The bitstream is generated based on the following steps: deriving decoder-side intra-frame mode derivation DIMD-related information for the current block; determining whether to apply a DIMD mode to the current block based on the DIMD-related information; deriving an intra-frame prediction mode for the current block based on the determined result; generating prediction samples for the current block based on the intra-frame prediction mode; and encoding image information including the DIMD-related information. as well as Send the bit stream, The DIMD-related information includes DIMD flag information indicating whether the DIMD mode is applied to the current block, and The DIMD flag information is signaled after at least one of the intra-fragmentation ISP information or intra-fragmentation luminance reference index information indicating the reference line index for the current block.

Citation Information

Patent Citations

  • Method and apparatus for video coding using decoder side intra prediction derivation

    US20190215521A1