Image coding method, digital storage medium and data transmission method

By constructing an MPM list and utilizing intra-frame prediction modes of neighboring blocks, the problem of high transmission and storage costs for high-resolution, high-quality images and videos is solved, achieving more efficient image coding and compression.

CN116527894BActive Publication Date: 2025-11-11BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310736509.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-01-08
Filing Date
2020-01-07
Publication Date
2025-11-11
Estimated Expiration
2040-01-07

AI Technical Summary

Technical Problem

Existing technologies suffer from high costs due to increased information volume when transmitting and storing high-resolution, high-quality images and videos, especially when transmitting high-resolution and high-quality image and video data, where the transmission and storage costs of existing media increase significantly.

Method used

By constructing a most probable mode (MPM) list, utilizing the intra-prediction modes of neighboring blocks of the current block, candidate intra-prediction modes are generated, and DC modes are derived during the encoding process, thereby improving image coding efficiency.

Benefits of technology

It enhances image/video compression efficiency, reduces computational complexity, improves prediction performance, increases overall coding efficiency, and reduces the number of bits used.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116527894B_ABST
    Figure CN116527894B_ABST
Patent Text Reader

Abstract

Image coding method, digital storage medium and data transmission method. The video decoding method according to the present document comprises the following steps: configuring an MPM list by deriving candidate intra prediction modes based on a first neighboring block located on the left side and a second neighboring block located on the top side relative to a current block; deriving an intra prediction mode of the current block based on the MPM list; generating prediction samples of the current block based on the intra prediction mode; and generating a reconstructed picture of the current block based on the prediction samples, wherein a first intra prediction mode of the first neighboring block and a second intra prediction mode of the second neighboring block are the same, and wherein the candidate intra prediction modes including a DC mode are derived based on a case that both the first intra prediction mode and the second intra prediction mode are DC modes.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the original invention patent application No. 202080008583.6 (International Application No.: PCT / KR2020 / 000224, Application Date: January 7, 2020, Invention Title: Video Coding Method and Apparatus Based on Intra-Frame Prediction Using MPM List). Technical Field

[0002] This document relates to image coding techniques, and more specifically, to image coding methods and apparatuses using intra-frame prediction based on a list of most probable patterns (MPMs). Background Technology

[0003] There has been a growing demand for high-resolution, high-quality images and videos, such as ultra-high-definition (HUD) images and 4K or 8K or higher video, across various fields. As image and video data becomes higher resolution and higher quality, the relative amount of information or bits transmitted increases compared to existing image and video data. Therefore, transmission and storage costs increase if media such as existing wired or wireless broadband lines are used to transmit image data or if existing storage media are used to store image and video data.

[0004] Furthermore, there has been a growing interest in and demand for immersive media such as virtual reality (VR), artificial reality (AR) content, or holograms. The broadcasting of images and videos, such as game graphics, whose image characteristics differ from those of real-world images, is also on the rise.

[0005] Therefore, efficient image and video compression technologies are needed to effectively compress, transmit, store, and play back high-resolution and high-quality images and videos with such various characteristics. Summary of the Invention

[0006] Technical Purpose

[0007] One purpose of this document is to provide methods and devices for improving image coding efficiency.

[0008] Another objective of this document is to provide efficient intra-frame prediction methods and devices.

[0009] Another objective of this document is to provide image encoding methods and devices for exporting MPM lists.

[0010] Another objective of this document is to provide methods and apparatus for configuring an MPM list in multi-reference line-based intra-frame prediction.

[0011] Technical solution

[0012] This document provides an exemplary implementation of an image decoding method performed by a decoding device. The method includes: constructing a most probable mode (MPM) list by deriving candidate intra-prediction modes based on a first neighboring block adjacent to the left of the current block and a second neighboring block adjacent to the upper side of the current block; deriving an intra-prediction mode for the current block based on the MPM list; generating a prediction sample for the current block based on the intra-prediction modes; and generating a reconstructed image of the current block based on the prediction samples, wherein the construction of the MPM list derives candidate intra-prediction modes including DC modes when the first intra-prediction mode of the first neighboring block and the second intra-prediction mode of the second neighboring block are the same and both the first and second intra-prediction modes are DC modes.

[0013] Another exemplary embodiment of this document provides an image encoding method performed by an encoding device. The method includes: constructing a most probable mode (MPM) list by deriving candidate intra-prediction modes based on a first neighboring block adjacent to the left of the current block and a second neighboring block adjacent to the upper side of the current block; deriving the intra-prediction mode of the current block based on the MPM list; generating intra-prediction mode information indicating the intra-prediction mode of the current block; and encoding image information including the intra-prediction mode information, wherein the construction of the MPM list is based on the case that the first intra-prediction mode of the first neighboring block and the second intra-prediction mode of the second neighboring block are the same, and both the first and second intra-prediction modes are DC modes, thereby deriving candidate intra-prediction modes including DC modes.

[0014] Another example implementation of this document provides a computer-readable storage medium that stores encoded image information that enables the execution of an image decoding method.

[0015] Technical effect

[0016] This document can improve overall image / video compression efficiency.

[0017] This document demonstrates how efficient intra-frame prediction can reduce computational complexity and improve prediction performance, thereby enhancing overall coding efficiency.

[0018] This document describes how to efficiently derive candidate intra-prediction modes from the MPM list to assign and encode fewer bits when performing multi-reference line-based intra-prediction, thereby improving overall coding efficiency. Attached Figure Description

[0019] Figure 1 Examples of video / image coding systems that are exemplary implementations applicable to this document are illustrated schematically.

[0020] Figure 2This is a diagram illustrating, schematically, the configuration of a video / image encoding device applicable to an exemplary implementation of this document.

[0021] Figure 3 This is a diagram illustrating, schematically, the configuration of a video / image decoding device applicable to an exemplary embodiment of this document.

[0022] Figure 4 Examples of intra-frame prediction-based image coding methods to which the exemplary implementations of this document are applicable are illustrated schematically, and Figure 5 An intra-frame predictor in a coding device is illustrated schematically.

[0023] Figure 6 This document schematically illustrates an example of an intra-frame prediction-based image decoding method to which the exemplary implementation of this document applies, and Figure 7 An intra-frame predictor in a decoding device is illustrated schematically.

[0024] Figure 8 Examples of MPM-based intra-frame prediction methods in coding devices to which exemplary embodiments of this document are applicable are illustrated.

[0025] Figure 9 Examples of MPM-based intra-frame prediction methods in decoding devices to which exemplary embodiments of this document are applicable are illustrated.

[0026] Figure 10 Examples of intra-prediction modes to which exemplary implementations of this document are applicable are illustrated.

[0027] Figure 11 An example of reference sample lines for intra-frame prediction using multiple reference lines is shown.

[0028] Figure 12 This is a flowchart that schematically illustrates an encoding method that can be performed by an encoding device according to an example implementation of this document.

[0029] Figure 13 This is a flowchart illustrating, schematically, a decoding method that can be performed by a decoding device according to an example implementation of this document.

[0030] Figure 14 Examples of content streaming systems to which the exemplary implementations disclosed in this document are applicable are illustrated. Detailed Implementation

[0031] This document can be modified in various ways and can have various implementations, and specific implementations will be illustrated and described in detail in the accompanying drawings. However, this is not intended to limit this document to a particular implementation. The terminology generally used in this specification is used to describe a particular implementation and is not intended to limit the technical spirit of this document. Unless otherwise expressly indicated in the context, singular expressions include plural expressions. Terms such as “comprising” or “having” in this specification should be understood to indicate the presence of the features, numbers, steps, operations, elements, components or combinations thereof described in this specification, without excluding the possibility of the presence or addition of one or more features, numbers, steps, operations, elements, components or combinations thereof.

[0032] Furthermore, for ease of description in relation to different features and functions, the elements in the accompanying drawings described in this document are illustrated independently. This does not imply that each element is implemented as a separate piece of hardware or separate piece of software. For example, at least two elements may be combined to form a single element, or a single element may be divided into multiple elements. Embodiments in which elements are combined and / or separated are also included within the scope of this document, unless they depart from its spirit.

[0033] In the following, preferred embodiments of this document are described in more detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used for the same elements, and redundant descriptions of the same elements may be omitted.

[0034] Figure 1 Examples of video / image coding systems to which the implementation methods described in this document can be applied are illustrated schematically.

[0035] 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.

[0036] 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.

[0037] Video sources can be obtained 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.

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

[0039] A transmitter can send encoded video / image information or data, output as a bitstream, to a receiver in a receiving device via a digital storage medium or network, either as a file or a stream. 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 over a broadcast / communication network. The receiver can receive / extract the bitstream and send the received / extracted bitstream to a decoding device.

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

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

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

[0043] This document provides various implementations related to video / image encoding, and these implementations may be combined and performed together unless otherwise specified.

[0044] In this document, video can refer to a collection of images over time. Generally, an image refers to a unit representing a specific time period of an image, and a tile is a unit that constitutes a part of an image. A tile can include one or more Coded Tree Units (CTUs). An image can consist of one or more tiles. An image can consist of one or more groups of tiles. A group of tiles can include one or more tiles. A brick can represent a rectangular area of ​​CTU rows within a tile in an image. A tile can be divided into multiple bricks, each brick consisting of one or more CTU rows within the tile. A tile that is not divided into multiple bricks can also be called a brick. Brick scanning can be a specific order of CTUs that divide the image, such as sequentially sorting CTUs by CTU raster scan within a brick, sequentially sorting bricks within a tile by raster scan of the bricks of a tile, and sequentially sorting tiles in an image by raster scan of the tiles of the image. A tile is a rectangular region of CTUs within a specific tile column and a specific tile row in an image. A tile column is a rectangular region where the height of a CTU is equal to the height of the image and the width is specified by a syntax element in the image parameter set. A tile row is a rectangular region where the height of a CTU is specified by a syntax element in the image parameter set and the width is equal to the width of the image. A tile scan can be a specific order of CTUs in a segmented image, where CTUs can be ordered consecutively by CTU raster scan within a tile, or consecutively by the raster scan of the tiles in the image. A slice comprises an integer number of block portions of an image that can be exclusively included in a single NAL unit. A slice can consist of multiple complete tiles or only a consecutive sequence of complete block portions of a single tile. In this document, tile groups and slices can be used interchangeably. For example, in this document, a tile group / tile group header can be referred to as a slice / slice header.

[0045] A pixel, or pel, can refer to 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.

[0046] A unit can represent a basic unit of image processing. A unit may include a specific region 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. Depending on the context, units and terms such as blocks and regions may be used interchangeably. Typically, an M×N block may include a set (or array) of samples (or sample arrays) or transform coefficients consisting of M columns and N rows.

[0047] In this document, the terms " / " and "," should be interpreted as indicating "and / or". For example, the expression "A / B" can mean "A and / or B". Additionally, "A, B" can mean "A and / or B". Furthermore, "A / B / C" can mean "at least one of A, B, and / or C". Additionally, "A / B / C" can mean "at least one of A, B, and / or C".

[0048] Additionally, in this document, the term "or" should be interpreted as indicating "and / or". For example, the expression "A or B" can include 1) "A only", 2) "B only", and / or 3) both "A and B". In other words, the term "or" in this document should be interpreted as indicating "alternatively or alternatively".

[0049] Figure 2 This is a schematic diagram illustrating the configuration of a video / image encoding device to which this document can be applied. In the following text, the term "video encoding device" may include an image encoding device.

[0050] Reference Figure 2 The encoding device 200 may include 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 described above may be constituted by one or more hardware components (e.g., an encoder chipset or processor). Additionally, the memory 270 may include a decoded picture buffer (DPB) and may be constituted by a digital storage medium. The hardware components may also include the memory 270 as an internal / external component.

[0051] Image segmenter 210 segments an input image (or picture or frame) input to encoding device 200 into one or more processing units. As an example, a processing unit may be referred to as a coding unit (CU). In this case, starting from a coding tree unit (CTU) or a maximum coding unit (LCU), the coding unit can be recursively segmented according to a quadtree-binary-tritree (QTBTTT) structure. For example, a coding unit can be divided into multiple deeper coding units based on a quadtree structure, a binary tree structure, and / or a ternary tree structure. In this case, for example, a quadtree structure can be applied first, followed by a binary tree structure and / or a ternary tree structure. Alternatively, a binary tree structure can be applied first. The encoding process according to this document can be performed based on the final coding unit that has not been further segmented. In this case, based on the encoding efficiency according to image characteristics, the maximum coding unit can be directly used as the final coding unit. Alternatively, the coding unit can be recursively segmented into coding units of even greater depth as needed, such that the optimally sized coding unit can be used as the final coding unit. Here, the encoding process may include processes such as prediction, transformation, and reconstruction, which will be described later. As another example, the processing unit may also include a prediction unit (PU) or a transformation unit (TU). In this case, the prediction unit and the transformation unit can be divided or segmented from the final encoding unit described above. The prediction unit may be a unit for predicting samples, and the transformation unit may be a unit for deriving the transformation coefficients and / or a unit for deriving the residual signal from the transformation coefficients.

[0052] Depending on the context, units and terms such as blocks and regions can be used interchangeably. Typically, an M×N block can represent a set of samples or transform coefficients consisting of M columns and N rows. Samples can usually represent pixels or pixel values, and can represent pixel / pixel values ​​only for the luminance component, or pixel / pixel values ​​only for the chrominance component. Samples can be used as a term corresponding to pixels or pels of a picture (or image).

[0053] In the encoding device 200, a residual signal (residual block, residual sample array) is generated by subtracting the prediction signal (prediction block, prediction sample array) output from the inter-frame predictor 221 or the intra-frame predictor 222 from the input image signal (original block, original sample array), and the generated residual signal is sent to the converter 232. In this case, as shown, the unit in the encoding device 200 that subtracts the prediction signal (prediction block, prediction sample array) from the input image signal (original block, original sample array) can be referred to as subtractor 231. The predictor can perform prediction on the processing target block (hereinafter referred to as "current block") and can generate a prediction block including prediction samples for the current block. The predictor can determine whether to apply intra-frame prediction or inter-frame prediction based on the current block or CU. As discussed later in the description of each prediction mode, the predictor can generate various prediction-related information such as prediction mode information and send the generated information to the entropy encoder 240. The prediction information can be encoded in the entropy encoder 240 and output as a bitstream.

[0054] Intra-predictor 222 can predict the current block by referencing samples in the current image. Depending on the prediction mode, the reference samples can be located near or separate 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 can 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.

[0055] Inter-frame predictor 221 can derive a predicted block for the current block based on a reference block (reference sample array) specified by motion vectors on a reference image. In this case, to reduce the amount of motion information transmitted in inter-frame prediction mode, motion information can be predicted based on the correlation between motion information of neighboring blocks and the current block, on a block, sub-block, or sample basis. Motion information may include motion vectors and reference image 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 neighboring blocks existing in the current image and temporally neighboring blocks existing in the reference image. The reference image including the reference block and the reference image including the temporally neighboring block may be the same as or different from each other. The temporally neighboring block may be referred to as a juxtaposed reference block, juxtaposed CU (colCU), etc., and the reference image including the temporally neighboring block may be referred to as a juxtaposed image (colPic). For example, inter-frame predictor 221 can configure a motion information candidate list based on neighboring blocks and generate information indicating which candidate is used to derive the motion vector and / or reference image index of the current block. Inter-frame prediction can be performed based on various prediction modes. For example, in jump mode and merge mode, the inter-frame predictor 221 can use motion information of neighboring blocks as motion information of the current block. In jump mode, unlike merge mode, residual signals cannot be sent. In motion information prediction (motion vector prediction, MVP) mode, motion vectors of neighboring blocks can be used as motion vector prediction terms, and the motion vector of the current block can be indicated by signaling the motion vector difference.

[0056] Predictor 220 can generate prediction signals based on various prediction methods. For example, the predictor can apply intra-frame prediction or inter-frame prediction to the prediction of a block, and can also apply intra-frame prediction and inter-frame prediction simultaneously. This can be referred to as combined intra-frame and inter-frame prediction (CIIP). Alternatively, the predictor can perform prediction on a block based on an intra-block copy (IBC) prediction mode or a palette mode. The IBC prediction mode or palette mode can be used for content image / video encoding such as games, etc. Although IBC essentially performs prediction in the current image, its execution is similar to inter-frame prediction in that it derives a reference block in the current image. That is, IBC can use at least one of the inter-frame prediction techniques described in this document. The palette mode can be considered as an example of intra-frame coding or intra-frame prediction. When applying a palette mode, sample values ​​in the image can be signaled based on information about the palette index and palette table.

[0057] The predicted signal generated by the predictor (including inter-frame predictor 221 and / or intra-frame predictor 222) can be used to generate a reconstructed signal or a residual signal. Transformer 232 can generate transform coefficients by applying transform techniques to the residual signal. For example, the transform technique can include at least one of Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loève Transform (KLT), Graph-Based Transform (GBT), or Conditional Nonlinear Transform (CNT). Here, GBT refers to a transform obtained from a graph when the relationship information between pixels is represented as a graph. CNT refers to a transform obtained based on the predicted signal generated using all previously reconstructed pixels. Furthermore, the transform processing can be applied to square pixel blocks of the same size, or to blocks of variable size that are not square.

[0058] 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 the encoded signal in a bitstream. The information about the quantized transform coefficients can be referred to as residual information. Quantizer 233 can rearrange the block-type quantized transform coefficients into a one-dimensional vector based on the coefficient scan order, and generate information about the quantized transform coefficients based on the one-dimensional vector form. Entropy encoder 240 can perform various encoding methods such as exponential 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), either together or separately. The encoded information (e.g., encoded video / image information) can be transmitted or stored in bitstream form at the unit level of the Network Abstraction Layer (NAL). 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), and Video Parameter Set (VPS). Additionally, the video / image information may include general constraint information. In this document, information and / or syntax elements sent from the encoding device to / signaled to the decoding device may be included in the video / image information. The video / image information can be encoded using the encoding process described above and included in the bitstream. The bitstream can be transmitted over a network or stored in a digital storage medium. Here, the network may include broadcast networks, communication networks, and / or the like, 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 sends the signal output from the entropy encoder 240 or a memory (not shown) that stores it may be configured as an internal / external element of the encoding device 200, or the transmitter may be included in the entropy encoder 240.

[0059] The quantized transform coefficients output from quantizer 233 can be used to generate a prediction signal. For example, by applying dequantization and inverse transform to the vectorized transform coefficients from dequantizer 234 and inverse transform 235, the residual signal (residual block or residual sample) can be reconstructed. Adder 155 adds the reconstructed residual signal to the prediction signal output from inter-frame predictor 221 or intra-frame predictor 222, thereby generating a reconstructed signal (reconstructed image, reconstructed block, reconstructed sample array). When there is no residual for the processing target block, as in the case of applying a jump mode, the prediction block can be used as the reconstructed block. Adder 250 can be referred to as a reconstructor or reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next processing target block in the current image, and, as described later, for inter-frame prediction of the next image by filtering.

[0060] In addition, luminance mapping with chroma scaling (LMCS) can be applied in image encoding and / or reconstruction processing.

[0061] Filter 260 can improve subjective / objective video 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 the modified reconstructed image can be stored in memory 270, specifically in the DPB of memory 270. Various filtering methods can include, for example, deblocking filtering, sample adaptive offset, adaptive ring filter, bilateral filter, etc. As discussed later in the description of each filtering method, filter 260 can generate various filtering-related information and send the generated information to entropy encoder 240. The filtering information can be encoded in entropy encoder 240 and output as a bitstream.

[0062] The modified reconstructed image sent to memory 270 can be used as a reference image in inter-frame predictor 221. Accordingly, the encoding device can avoid prediction mismatch in the encoding device 100 and the decoding device when applying inter-frame prediction, and can also improve encoding efficiency.

[0063] The memory 270DPB can store modified reconstructed images for use as reference images in the inter-frame predictor 221. The memory 270 can store motion information of blocks in the current image from which motion information has been derived (or encoded) and / or motion information of blocks in reconstructed images. The stored motion information can be sent to the inter-frame predictor 221 to be used as motion information for neighboring blocks or temporally neighboring blocks. The memory 270 can store reconstructed samples of reconstructed blocks in the current image and send them to the intra-frame predictor 222.

[0064] Figure 3This is a diagram that schematically illustrates the configuration of the video / image decoding device to which this document can be applied.

[0065] Reference Figure 3 The video 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 described above may be constituted by one or more hardware components (e.g., a decoder chipset or processor). Additionally, the memory 360 may include a decoded picture buffer (DPB) and may be constituted by a digital storage medium. The hardware components may also include the memory 360 as an internal / external component.

[0066] When the input includes a bitstream containing video / image information, the decoding device 300 can interact with data already prepared therein. Figure 2 The processing of video / image information in the encoding device correspondingly reconstructs the image. For example, the decoding device 300 can derive units / blocks based on information related to block segmentation obtained from the bitstream. The decoding device 300 can perform decoding by using processing units applied in the encoding device. Therefore, the decoding processing unit can be, for example, an encoding unit, which can be segmented along a quadtree, binary tree, and / or ternary tree structure using encoding tree units or maximum encoding units. One or more transform units can be derived from the encoding units. And, the reconstructed image signal decoded and output by the decoding device 300 can be reproduced by a reproducer.

[0067] Decoding device 300 can receive data from... in the form of a bitstream. 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), Video Parameter Set (VPS), etc. In addition, the video / image information may also include general constraint information. The decoding device can further decode the picture based on the information about the parameter sets and / or general constraint information. The signaling / receiving information and / or syntax elements, which will be described subsequently in this document, can be decoded and obtained from the bitstream through the decoding process. For example, the entropy decoder 310 can decode the information in the bitstream based on encoding methods such as Exponential Golomb coding, CAVLC, CABAC, etc., and can output the values ​​of the syntax elements required for image reconstruction and the quantized values ​​of the transform coefficients of the residuals. More specifically, the CABAC entropy decoding method can receive bins corresponding to each syntax element in the bitstream, determine a context model using information about the target syntax element and the decoding information of neighboring and target blocks, or information about symbols / bins decoded in previous steps, predict the bin generation probability based on the determined context model, and perform arithmetic decoding on the bins to generate symbols corresponding to each syntax element value. Here, the CABAC entropy decoding method can update the context model after determining it using information about symbols / bins decoded for the context model of the next symbol / bin. Prediction information from the information decoded in the entropy decoder 310 can be provided to the predictors (inter-frame predictor 332 and intra-frame predictor 331), and the residual values ​​(i.e., quantized transform coefficients) and associated parameter information that have undergone entropy decoding in the entropy decoder 310 can be input to the residual processor 320. The residual processor 320 can derive residual signals (residual blocks, residual samples, residual sample arrays). Additionally, filtering information from the information decoded in the entropy decoder 310 can be provided to the filter 350. Furthermore, a receiver (not shown) that receives the signal output from the encoding device can also configure the decoding device 300 as an internal / external component, and the receiver can be a component of the entropy decoder 310. Additionally, the decoding device according to this document can be referred to as a video / image / picture decoding device, and the decoding device can be divided into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include the entropy decoder 310, and the sample decoder may include at least one of a dequantizer 321, an inverse transformer 322, an adder 340, a filter 350, a memory 360, an inter-frame predictor 332, and an intra-frame predictor 331.

[0068] The dequantizer 321 can output transform coefficients by dequantizing the quantized transform coefficients. The dequantizer 321 can rearrange the quantized transform coefficients into two-dimensional blocks. In this case, the rearrangement can be performed based on the order of coefficient scans already performed in the encoding device. The dequantizer 321 can use quantization parameters (e.g., quantization step size information) to perform dequantization on the quantized transform coefficients and obtain the transform coefficients.

[0069] The inverse converter 322 obtains the residual signal (residual block, residual sample array) by performing an inverse transformation on the transformation coefficients.

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

[0071] Predictor 330 can generate prediction signals based on various prediction methods. For example, the predictor can apply intra-frame prediction or inter-frame prediction to the prediction of a block, and can also apply intra-frame prediction and inter-frame prediction simultaneously. This can be referred to as combined intra-frame and inter-frame prediction (CIIP). Additionally, the predictor can perform prediction on blocks based on an intra-block copy (IBC) prediction mode or a palette mode. The IBC prediction mode or palette mode can be used for content image / video encoding such as games with screen content coding (SCC). Although IBC essentially performs prediction within the current frame, its execution is similar to inter-frame prediction in that it derives a reference block in the current frame. That is, IBC can use at least one of the inter-frame prediction techniques described in this document. The palette mode can be considered an example of intra-frame coding or intra-frame prediction. When a palette mode is applied, information about the palette table and palette index can be included in the video / image information and signaled.

[0072] The intra-predictor 331 can predict the current block by referencing samples in the current image. Depending on the prediction mode, the reference samples can be located near or separate from the current block. In intra-prediction, the prediction mode can include multiple non-directional modes and multiple directional modes. The intra-predictor 331 can determine the prediction mode applied to the current block by using the prediction modes applied to neighboring blocks.

[0073] Inter-frame predictor 332 can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference image. In this case, to reduce the amount of motion information transmitted in inter-frame prediction mode, motion information can be predicted based on the correlation between motion information of neighboring blocks and the current block, at the block, sub-block, or sample level. Motion information may include motion vectors and a reference image index. 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 neighboring blocks existing in the current image and temporally neighboring blocks existing in the reference image. For example, inter-frame predictor 332 can configure a motion information candidate list based on neighboring blocks and derive the motion vector and / or reference image index for the current block based on the 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.

[0074] Adder 340 adds the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the predictor (inter-frame predictor 332 or intra-frame predictor 331) to generate a reconstruction signal (reconstructed image, reconstruction block, reconstruction sample array). When there is no residual for processing the target block, as in the case of applying a jump mode, the prediction block can be used as the reconstruction block.

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

[0076] In addition, Luminance Mapping with Chroma Scaling (LMCS) can be applied to image decoding processing.

[0077] 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 in the DPB of memory 360. Various filtering methods may include, for example, deblocking filtering, adaptive sample shifting, adaptive loop filtering, bilateral filtering, etc.

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

[0079] In this disclosure, the embodiments described in the filter 260, inter-frame predictor 221 and intra-frame predictor 222 of the encoding device 200 can be the same as or applied to the filter 350, inter-frame predictor 332 and intra-frame predictor 331 of the decoding device 300 respectively.

[0080] As described above, during video encoding, prediction is performed to improve compression efficiency. A prediction block, i.e., a target coding block, can be generated by prediction, which includes prediction samples of the current block. In this case, the prediction block includes prediction samples in the spatial domain (or pixel domain). The prediction block is derived similarly in both the encoding and decoding devices. The encoding device can improve image coding efficiency by signaling to the decoding device information about the residuals (residual information) between the original block (not the original block) and the prediction block. The decoding device can derive a residual block including residual samples based on the residual information, generate a reconstructed block including reconstructed samples by adding the residual block to the prediction block, and generate a reconstructed image including the reconstructed block.

[0081] 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 a transform process on the residual samples (residual sample array) included in the residual block, derive quantized transform coefficients by performing a quantization process on the transform coefficients, and signal the relevant residual information to the decoding device (via a bitstream). In this case, the residual information can include information such as value information, position information, transform scheme, transform kernel, and quantization parameters of the quantized transform coefficients. The decoding device can perform dequantization / inverse transform processes based on the residual information and derive residual samples (or residual blocks). The decoding device can generate a reconstructed image based on the prediction block and the residual block. Furthermore, the encoding device can derive residual blocks by performing dequantization / inverse transform on the quantized transform coefficients for inter-frame prediction reference in subsequent images and can generate a reconstructed image.

[0082] Furthermore, if intra-frame prediction is performed, 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 transformations and quantizations mentioned above can be applied to the residual. Therefore, spatial redundancy can be reduced. The coding and decoding methods using intra-frame prediction are described in detail below.

[0083] Intra-frame prediction refers to generating a prediction sample for the current block based on reference samples located outside the current block within the image including the current block (hereinafter, the current image). In this case, the reference sample located outside the current block can refer to a sample adjacent to the current block. If intra-frame prediction is applied to the current block, the neighboring reference samples to be used for intra-frame prediction of the current block can be derived.

[0084] For example, when the size (width × height) of the current block is nW × nH, the neighbor reference samples of the current block can include samples near the left boundary and a total of 2 × nH samples near the bottom left of the current block, samples near the top boundary and a total of 2 × nW samples near the top right of the current block, and one sample near the top left of the current block. Alternatively, the neighbor reference samples of the current block can also include multiple column-level top neighbor samples and multiple row-level left neighbor samples. In addition, the neighbor reference samples of the current block can also include a total of nH samples near the right boundary of the current block of size nW × nH, a total of nW samples near the bottom boundary of the current block, and one sample near the bottom right of the current block.

[0085] In this scenario, some of the neighboring reference samples for the current block may not have been 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 ones. Alternatively, the neighboring reference samples to be used for prediction can be constructed by interpolation of available samples.

[0086] If deriving neighboring reference samples, then (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 a reference sample present in a specific (prediction) direction for the predicted sample among the neighboring reference samples of the current block. (i) can be applied when the intra-frame prediction mode is non-directional or non-angular. (ii) can be applied when the intra-frame prediction mode is directional or angular.

[0087] Furthermore, prediction samples can be generated by interpolation between the first neighboring sample in the prediction direction of the intra-prediction mode of the current block and the second neighboring sample in the opposite direction of the prediction direction, based on the prediction sample of the current block among the neighboring reference samples. This is referred to as Linear Interpolation Intra-Prediction (LIP). Additionally, chroma prediction samples can be generated based on luminance samples using a linear model. This is referred to as LM mode.

[0088] Furthermore, a provisional prediction sample for the current block can be derived based on filtered neighboring reference samples, and a prediction sample for the current block can also be derived by weighted summing of at least one reference sample derived from regular neighboring reference samples (i.e., unfiltered neighboring reference samples) according to the intra-prediction mode with the provisional prediction sample. This process is referred to as position-dependent intra-prediction (PDPC).

[0089] Furthermore, prediction samples can be derived using reference samples in the prediction direction of the corresponding line by selecting the reference sample line with the highest prediction accuracy among the neighboring multi-reference sample lines of the current block, and intra-frame prediction coding can be performed by indicating (signaling) the reference sample line used at this time to the decoding device. The aforementioned situation can be referred to as multi-reference line (MRL) intra-frame prediction or MRL-based intra-frame prediction.

[0090] Furthermore, 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. In other words, in this case, the intra-prediction mode of the current block is applied equally to the sub-partitions, and neighboring reference samples can be derived and used on a sub-partition basis, thereby improving intra-prediction performance in some cases. This prediction method can be called intra-fractional (ISP) intra-prediction or ISP-based intra-prediction.

[0091] The aforementioned intra-prediction methods can be referred to as intra-prediction types separate from intra-prediction modes. 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, etc.) may include at least one of the aforementioned LIP, PDPC, MRL, and ISP. General intra-prediction methods that differ from specific intra-prediction types such as LIP, PDPC, MRL, and ISP can be referred to as normal intra-prediction types. If a specific intra-prediction type is not applied, then a normal intra-prediction type can typically be applied, and prediction can be performed based on the aforementioned intra-prediction modes. Furthermore, post-processing filtering can be performed on the derived prediction samples if necessary.

[0092] Figure 4 Examples of intra-frame prediction-based image coding methods to which the exemplary implementations of this document are applicable are illustrated schematically, and Figure 5 An intra-frame predictor in a coding device is illustrated schematically. Figure 5 The intra-frame predictor in the coding device shown can also be applied equivalently or correspondingly to... Figure 2 The intra-frame predictor 222 of the coding device 200 shown.

[0093] Reference Figure 4 and Figure 5 S400 can be executed by the intra-frame predictor 222 of the encoding device, and S410 can be executed by the residual processor 230 of the encoding device. Specifically, S410 can be executed by the subtractor 231 of the encoding device. In S420, prediction information can be derived by the intra-frame predictor 222 and encoded by the entropy encoder 240. In S420, residual information can be derived by the residual processor 230 and encoded by the entropy encoder 240. The residual information indicates information about the residual samples. The residual information may include information about the quantization transform coefficients of the residual samples. As described above, residual samples can be derived from the transform coefficients via the transformer 232 of the encoding device, and transform coefficients can be derived from the quantization transform coefficients via the quantizer 233. Information about the quantization transform coefficients can be encoded by the entropy encoder 240 through the residual encoding process.

[0094] The encoding device performs intra-prediction for the current block (S400). The encoding device can derive the intra-prediction mode / type of the current block, derive the neighboring reference samples of the current block, and generate prediction samples in the current block based on the intra-prediction mode / type and the neighboring reference samples. Here, the processes of determining the intra-prediction mode / type, deriving the neighboring reference samples, and generating the prediction samples can also be performed simultaneously, and any one of these processes can be performed earlier than the others.

[0095] For example, the intra-predictor 222 of the encoding apparatus may include an intra-prediction mode / type determiner 222-1, a reference sample deriver 222-2, and a prediction sample deriver 222-3, wherein the intra-prediction mode / type determiner 222-1 determines the intra-prediction mode / type of the current block, the reference sample deriver 222-2 derives the neighboring reference samples of the current block, and the prediction sample deriver 222-3 derives the prediction samples of the current block. Furthermore, although not shown, the intra-predictor 222 may further include a prediction sample filter (not shown) if a prediction sample filtering process is performed. The encoding apparatus may determine the mode / type applicable to the current block from a plurality of intra-prediction modes / types. The encoding apparatus may compare the RD costs of the intra-prediction modes / types and determine the optimal intra-prediction mode / type for the current block.

[0096] As mentioned above, the encoding device can also perform a prediction sample filtering process. Prediction sample filtering can be called post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering process. In some cases, the prediction sample filtering process can be omitted.

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

[0098] The encoding device can encode image information including information about intra-frame prediction (prediction information) and residual information about residual samples (S420). 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 derive quantized transform coefficients by transforming / quantizing the residual samples. The residual information may include information about the quantized transform coefficients.

[0099] Encoding devices can output encoded image information in the form of bitstreams. The output bitstream can be delivered to decoding devices via storage media or networks.

[0100] As described above, the encoding device can generate a reconstructed image (including reconstructed samples and reconstructed blocks). To this end, the encoding device can derive (modified) residual samples by re-dequantizing / inverse-transforming the transform coefficients. As described above, the reason for transforming / quantizing the residual samples and then re-dequantizing / inverse-transforming them is to derive the same residual samples as those derived by 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 image of the current image can be generated based on the reconstructed block. As described above, in-loop filtering processes, etc., can be further applied to the reconstructed image.

[0101] Figure 6 This document schematically illustrates an example of an intra-frame prediction-based image decoding method to which the exemplary implementation of this document applies, and Figure 7 An intra-frame predictor in a decoding device is illustrated schematically. Figure 7 The intra-frame predictor in the decoding device shown can also be applied equivalently or correspondingly to... Figure 3 The intra-frame predictor 331 of the decoding device 300 shown.

[0102] Reference Figure 6 and Figure 7 The decoding device can perform operations corresponding to those performed by the encoding device. S600 to S620 can be performed by the intra-frame predictor 331 of the decoding device, and the prediction information in S600 and the residual information in S630 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 residual samples of the current block based on the residual information. Specifically, the dequantizer 321 of the residual processor 320 can derive transform coefficients by performing dequantization based on the quantization transform coefficients derived from the residual information, and the inverse transformer 322 of the residual processor derives residual samples of the current block by performing an inverse transform on the transform coefficients. S640 can be performed by the reconstructor or adder 340 of the decoding device.

[0103] The decoding device can derive the intra-prediction mode / type of the current block based on the received prediction information (intra-prediction mode / type information) (S600). The decoding device can derive the neighboring reference samples of the current block (S610). The decoding device generates prediction samples in the current block based on the intra-prediction mode / type and the neighboring reference samples (S620). In this case, the decoding device can perform a prediction sample filtering process. Prediction sample filtering can be called post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering process. In some cases, the prediction sample filtering process can be omitted.

[0104] The decoding device generates residual samples for the current block based on the received residual information (S630). The decoding device can generate reconstructed samples for the current block based on the predicted samples and residual samples, and derive a reconstructed block including the reconstructed samples (S640). A reconstructed image of the current image can be generated based on the reconstructed block. As described above, in-loop filtering processes, etc., can be further applied to the reconstructed image.

[0105] Here, the intra-predictor 331 of the decoding device may include an intra-prediction mode / type determiner 331-1, a reference sample deriver 331-2, and a prediction sample deriver 331-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 by the entropy decoder 310. The reference sample deriver 331-2 derives the neighboring reference samples of the current block, and the prediction sample deriver 331-3 derives the prediction samples of the current block. Furthermore, although not shown, if the above-described prediction sample filtering process is performed, the intra-predictor 331 may further include a prediction sample filter (not shown).

[0106] Intra-prediction mode information may include, for example, flag information (e.g., intra_luma_mpm_flag) indicating whether the most probable mode (MPM) is applied to the current block or whether the remaining modes are applied to it. If the MPM is applied to the current block, the prediction mode information may also include index information (e.g., intra_luma_mpm_idx) indicating one of the intra-prediction mode candidates (MPM candidates). The intra-prediction mode candidates (MPM candidates) may consist of an MPM candidate list or an MPM list. Furthermore, if the MPM is not applied to the current block, the intra-prediction mode information may also include residual mode information (e.g., intra_luma_mpm_remainder) indicating one of the remaining intra-prediction modes besides the intra-prediction mode candidates (MPM candidates). The decoding device can determine the intra-prediction mode of the current block based on the intra-prediction mode information.

[0107] Furthermore, intra-prediction type information can be implemented in various forms. As an 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, and if so, which reference sample line is used; ISP flag information (e.g., intra_subpartitions_mode_flag) indicating whether ISP is applied to the current block; ISP type information (e.g., intra_subpartitions_split_flag) indicating the subpartition splitting type when ISP is applied; flag information indicating whether PDCP is applied; or flag information indicating whether LIP is applied. Additionally, intra-prediction type information may include a MIP flag indicating whether MIP is applied to the current block.

[0108] The aforementioned intra-prediction mode information and / or intra-prediction type information can be encoded / decoded using the encoding 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).

[0109] Furthermore, if intra-prediction is applied, the intra-prediction modes of neighboring blocks can be used to determine the intra-prediction mode applied to the current block. For example, the decoding device can select one of the most probable mode (MPM) candidates derived from the intra-prediction modes of the left block and the block above the current block based on the received MPM index, or select one of the remaining intra-prediction modes not included in the MPM candidates based on the remaining intra-prediction mode information. An MPM flag (e.g., intra_luma_mpm_flag) can indicate whether the intra-prediction mode applied to the current block exists in the MPM candidates or in the remaining modes. A value of 1 for the MPM flag indicates that the intra-prediction mode of the current block exists in the MPM candidates (MPM list), and a value of 0 for the MPM flag indicates that the intra-prediction mode of the current block does not exist in the MPM candidates (MPM list). The MPM index can be signaled in the form of the `mpm_idx` or `intra_luma_mpm_idx` syntax element, and the remaining intra-prediction mode information can be signaled in the form of the `rem_intra_luma_pred_mode` or `intra_luma_mpm_remainder` syntax element. For example, the remaining intra-prediction mode information can be indexed in order of prediction mode number for all remaining intra-prediction modes not included in the MPM candidates, at least one of them.

[0110] Typically, when dividing an image 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 more 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. For example, the encoder / decoder can construct a list of most probable modes (MPMs) for the current block. This MPM list can also be called an MPM candidate list. Here, MPM can represent a mode used to improve coding efficiency by taking into account the similarity between the current block and its neighboring blocks when encoding intra-prediction modes.

[0111] Figure 8 Examples of MPM-based intra-frame prediction methods in coding devices to which exemplary embodiments of this document are applicable are illustrated.

[0112] Reference Figure 8 The encoding device constructs an MPM list for the current block (S800). The MPM list may include candidate intra-prediction modes (MPM candidates) that are more likely to be applied to the current block. The MPM list may also include intra-prediction modes of neighboring blocks, and further include specific intra-prediction modes according to a predetermined method. The specific method for constructing the MPM list will be described later.

[0113] The coding device determines the intra-prediction mode for the current block (S810). The coding device can perform prediction based on various intra-prediction modes and determine the optimal intra-prediction mode based on rate-distortion optimization (RDO). In this case, the coding device may also determine the optimal intra-prediction mode using only the MPM candidates and plane modes configured in the MPM list, or it may further determine the optimal intra-prediction mode using the remaining intra-prediction modes as well as the MPM candidates and plane modes configured in the MPM list.

[0114] Specifically, for example, if the intra-prediction type of the current block is a specific type other than the normal intra-prediction type (e.g., LIP, MRL, or ISP), then the encoding device can determine the optimal intra-prediction mode by considering only the MPM candidates and the planar mode as intra-prediction mode candidates for the current block. That is, in this case, the intra-prediction mode of the current block can be determined only from the MPM candidates and the planar mode, and the MPM flag may not be encoded / signaled. In this case, even without separate signaling for the MPM flag, the decoding device can estimate the MPM flag to be 1.

[0115] Generally, if the intra-prediction mode of the current block is not a planar mode but one of the MPM candidates in the MPM list, then the encoding device generates an MPM index (mpm idx) indicating one of the MPM candidates. If the intra-prediction mode of the current block does not even exist in the MPM list, then the encoding device generates remaining intra-prediction mode information, which indicates modes such as the intra-prediction mode of the current block that are not included in the remaining intra-prediction modes in the MPM list (and planar modes).

[0116] The encoding device can encode intra-prediction mode information and output it as a bitstream (S820). The intra-prediction mode information may include the aforementioned MPM flag, non-planar flag, MPM index, and / or remaining intra-prediction mode information. Generally, the MPM index and remaining intra-prediction mode information are alternately related and are not signaled simultaneously when indicating the intra-prediction mode of a block. That is, the value of the MPM flag (1) is signaled together with the non-planar flag or the MPM index, or the value of the MPM flag (0) is signaled together with the remaining intra-prediction mode information. However, as described above, if a specific intra-prediction type is applied to the current block, then the MPM flag is not signaled, and only the non-planar flag and / or the MPM index may be signaled. That is, in this case, the intra-prediction mode information may also include only the non-planar flag and / or the MPM index.

[0117] Figure 9 Examples of MPM-based intra-frame prediction methods in decoding devices to which exemplary embodiments of this document are applicable are illustrated. Figure 9The decoding device shown can determine the relationship between the decoding device and the decoding device provided by the decoding device. Figure 8 The intra-prediction mode corresponding to the intra-prediction mode information determined and signaled by the encoding device is shown.

[0118] Reference Figure 9 The decoding device obtains intra-prediction mode information from the bitstream (S900). As described above, the intra-prediction mode information may include at least one of the following: MPM flag, non-planar flag, MPM index, and remaining intra-prediction modes.

[0119] The decoding device constructs an MPM list (S910). The MPM list consists of the same MPM list configured in the encoding device. That is, the MPM list may also include intra-prediction modes of neighboring blocks, and further include specific intra-prediction modes according to a predetermined method. The specific method for constructing the MPM list will be described later.

[0120] Although S910 is shown to execute later than S900, this is only an example, and S910 can also execute earlier than S900, and S900 and S910 can also execute simultaneously.

[0121] The decoding device determines the intra-prediction mode of the current block based on the MPM list and intra-prediction mode information (S920).

[0122] As an example, if the value of the mpm flag is 1, the decoding device can derive either a planar mode as the intra-prediction mode for the current block or (based on the non-planar flag) derive the candidate indicated by the mpm index from the MPM candidates in the MPM list as the intra-prediction mode for the current block. Here, the MPM candidate may also indicate only candidates included in the MPM list, or it may include both the planar mode applicable when the mpm flag is 1 and the candidates included in the MPM list.

[0123] As another example, if the value of the mpm flag is 0, then the decoding device can export the intra-prediction mode indicated by the remaining intra-prediction mode information, which is not included in the MPM list and the plane mode, as the intra-prediction mode of the current block.

[0124] As another example, if the intra-prediction type of the current block is a specific type (e.g., LIP, MRL, or ISP), then even without confirmation of the MPM flag, the decoding device can derive the candidate or planar mode indicated by the MPM index from the MPM list as the intra-prediction mode of the current block.

[0125] Furthermore, intra-prediction modes can include non-directional (or non-angular) intra-prediction modes and directional (or angular) intra-prediction modes. For example, the HEVC standard uses intra-prediction modes that include 2 non-directional prediction modes and 33 directional prediction modes. Non-directional prediction modes can include planar intra-prediction modes (i.e., mode 0) and DC intra-prediction modes (i.e., mode 1). Directional prediction modes can include intra-prediction modes 2 through 34. Planar intra-prediction modes can be referred to as planar modes, and DC intra-prediction modes can be referred to as DC modes.

[0126] Alternatively, in order to obtain a given edge orientation proposed in a natural video, such as Figure 10 Similar to the previous example, directional intra-prediction modes can be extended from the existing 33 modes to 65 modes. In this case, the intra-prediction modes can include 2 non-directional intra-prediction modes and 65 directional intra-prediction modes. Non-directional intra-prediction modes can include planar intra-prediction mode (i.e., mode 0) and DC intra-prediction mode (i.e., mode 1). Directional intra-prediction modes can include intra-prediction modes 2 through 66. The extended directional intra-prediction modes can be applied to blocks of all sizes and can be applied to both the luma and chroma components. However, this is just an example, and the implementation described in this document can be applied to cases with different numbers of intra-prediction modes. Intra-prediction mode 67 can also be used, depending on the situation. Intra-prediction mode 67 can indicate a linear model (LM) mode.

[0127] Figure 10 Examples of intra-frame prediction modes to which the implementation methods of this document can be applied are illustrated.

[0128] Reference Figure 10 Based on intra-prediction mode 34, which has a top-left diagonal prediction direction, the mode can be divided into intra-prediction modes with horizontal directionality and intra-prediction modes with vertical directionality. Figure 10 In the diagram, H and V represent horizontal and vertical orientations, respectively. Each of the numbers -32 to 32 indicates the displacement of 1 / 32 cell at the sample grid location. 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 indicate the horizontal and vertical intra-prediction modes, respectively. Intra-prediction mode 2 can be referred to as the lower-left diagonal intra-prediction mode, mode 34 as the upper-left diagonal intra-prediction mode, and mode 66 as the upper-right diagonal intra-prediction mode.

[0129] In addition, intra-frame prediction can use MRL with multiple reference lines. The MRL method can use neighboring samples located one or three sample distances away from the current block on the upper and / or left side as reference samples to perform intra-frame prediction.

[0130] Figure 11 An example of reference sample lines for intra-frame prediction using multiple reference lines is shown. Figure 11 The block unit shown indicates the current block.

[0131] According to an exemplary implementation, intra-frame prediction can use a reference sample (or the reference sample closest to the current block, i.e., a reference sample located at a zero-sample distance from the current block) as the reference sample for prediction. According to another exemplary implementation, multi-reference line (MRL) intra-frame prediction is a method that uses reference samples located at K sample distances (K is an integer of 1 or greater) from the left and top boundaries of the current block, and can have more options for reference samples and more accurate prediction performance compared to intra-frame prediction using the reference sample closest to the current block (i.e., located at a zero-sample distance from the current block). The reference sample of the current block can also be referred to as a neighboring sample of the current block or a reference line sample of the current block, and the reference line sample can also be referred to as a sample on the reference line.

[0132] Reference Figure 11 The positions of neighboring reference samples located at distances of 0, 1, 2, and 3 samples from the current block can be referred to as reference lines 0, 1, 2, and 3, respectively. Reference lines can be called reference sample lines, reference sample rows, or reference sample columns, or simply lines, rows, or columns. Reference lines 0, 1, 2, and 3 can be located in order of proximity to the current block. As an example, multi-reference line intra-prediction can be performed based on reference lines 1 and 2. As another example, multi-reference line intra-prediction can be performed based on reference lines 1 and 3. However, multi-reference line intra-prediction according to this document is not necessarily limited to these examples.

[0133] This document proposes a method for constructing an MPM candidate list for intra-frame prediction using a zero reference line. The zero reference line refers to reference line 0 as described above and indicates the sample located in the reference line closest to the current block, i.e., the reference sample located at a distance of 0 samples from the current block. For example, the zero reference line may include samples from the left reference line closest to the left boundary of the current block and samples from the upper reference line closest to the upper boundary of the current block. Furthermore, intra-frame prediction can be performed by constructing the proposed MPM candidate list, thereby improving intra-frame prediction coding efficiency and prediction performance.

[0134] Table 1 below illustrates an exemplary algorithm (i.e., specification) for generating an MPM candidate list for intra-frame prediction using a zero reference line. In other words, a method for generating an MPM candidate list according to the algorithm shown in Table 1 below can be implemented.

[0135] [Table 1]

[0136]

[0137]

[0138]

[0139]

[0140] The method for generating the MPM candidate list shown in Table 1 considers various cases but does not prioritize planar modes. However, if intra-frame prediction using a zero reference line is performed, planar modes are more likely to be applied, and in this case, generating MPM candidates by prioritizing planar modes can be efficient. Therefore, this document proposes a method for generating the MPM candidate list by prioritizing planar modes only when certain conditions are met when performing intra-frame prediction using a zero reference line. In this case, coding efficiency can be improved by assigning a smaller number of bits to planar modes with high occurrence frequency for encoding (i.e., encoding / decoding).

[0141] According to an exemplary implementation, the intra-prediction mode (i.e., left mode) of the left neighboring block and the intra-prediction mode (i.e., upper mode) of the upper neighboring block can be derived based on the left neighboring block and the upper neighboring block of the current block. Here, the left neighboring block can refer to the left neighboring block located at the bottommost part of the left neighboring block adjacent to the left side of the current block, and the upper neighboring block can refer to the upper neighboring block located at the rightmost part of the upper neighboring block adjacent to the upper side of the current block. For example, if the size of the current block is WxH, the x-component of the upper left sample position of the current block is xN, and its y-component is yN, then the left neighboring block can be a block including samples with coordinates (xN-1, yN+H-1), and the upper neighboring block can be a block including samples with coordinates (xN+W-1, yN-1).

[0142] At this point, if the left mode and the top mode are different intra-frame prediction modes and both the left mode and the top mode have a mode number greater than the mode number of the DC mode, then the MPM candidate list can be generated as shown in Table 2 below.

[0143] [Table 2]

[0144]

[0145] The method shown in Table 1 first inserts the left and top patterns into the MPM candidate list, and then adds the planar and DC patterns to the MPM candidate list. However, the method shown in Table 2 first inserts the left pattern into the MPM candidate list, and then adds the planar pattern to it. Furthermore, thereafter, the method adds the top pattern and DC pattern to the MPM candidate list in sequence.

[0146] For example, according to Table 2, if a zero reference line (e.g., IntraLumaRefLinkIdx = 0) is used to perform intra-frame prediction and if the left mode (e.g., candIntraPredModeA) and the upper mode (e.g., candIntraPredModeB) are not the same and both modes have a mode number greater than the DC mode (e.g., the first mode number), then the left mode (e.g., candIntraPredModeA) can be inserted into index 0 of the MPM candidate list (e.g., candModeList[0]). Furthermore, the planar mode (e.g., INTRA_PLANAR) can be inserted into index 1 of the MPM candidate list (e.g., candModeList[1]). Additionally, the upper mode (e.g., candIntraPredModeB) can be inserted into index 2 of the MPM candidate list (e.g., candModeList[2]), and the DC mode (e.g., INTRA_DC) can be inserted into index 3 of the MPM candidate list (e.g., candModeList[3]). Subsequently, the remaining MPM candidates can be derived based on the difference in mode number between the left mode (e.g., candIntraPredModeA) and the upper mode (e.g., candIntraPredModeB), and the remaining MPM candidates can be added to the index values ​​4 and 5 in the MPM candidate list.

[0147] If the MPM candidate list is constructed using the method shown in Table 2, then the planar pattern can have a higher priority than the upper pattern (i.e., the planar pattern can be in the MPM candidate list first), thereby performing encoding by assigning a smaller number of bits.

[0148] Another exemplary implementation can derive the intra-prediction mode (i.e., left mode) of the left neighboring block and the intra-prediction mode (i.e., upper mode) of the upper neighboring block based on the left neighboring block and the upper neighboring block of the current block. Here, the left neighboring block can refer to the left neighboring block located at the bottommost part of the left neighboring block adjacent to the left of the current block, and the upper neighboring block can refer to the upper neighboring block located at the rightmost part of the upper neighboring block adjacent to the upper side of the current block. For example, if the size of the current block is WxH, the x-component of the upper left sample position of the current block is xN, and its y-component is yN, then the left neighboring block can be a block including samples with coordinates (xN-1, yN+H-1), and the upper neighboring block can be a block including samples with coordinates (xN+W-1, yN-1).

[0149] At this point, if the left mode and the top mode are different intra-prediction modes, and both the left mode and the top mode have mode numbers greater than the DC mode's mode number, then the MPM candidate list can be generated as shown in Table 3 below. In other words, the method shown in Table 3 below can construct the MPM candidate list by assigning the highest priority to the planar mode.

[0150] [Table 3]

[0151]

[0152] The method shown in Table 3 constructs the planar pattern, which is first in the MPM candidate list, and then adds the left pattern, top pattern, and DC pattern to the MPM candidate list in sequence.

[0153] For example, according to Table 3, if a zero reference line (e.g., IntraLumaRefLinkIdx = 0) is used to perform intra-frame prediction and if the left mode (e.g., candIntraPredModeA) and the upper mode (e.g., candIntraPredModeB) are not the same and both modes have a mode number greater than the DC mode (e.g., the first mode number), then the planar mode (e.g., INTRA_PLANAR) can be inserted into index 0 of the MPM candidate list (e.g., candModeList[0]). Furthermore, the left mode (e.g., candIntraPredModeA) can be inserted into index 1 of the MPM candidate list (e.g., candModeList[L]), and the upper mode (e.g., candIntraPredModeB) can be inserted into index 2 of the MPM candidate list (e.g., candModeList[2]). Additionally, the DC mode (e.g., INTRA_DC) can be inserted into index 3 of the MPM candidate list (e.g., candModeList[3]). Subsequently, the remaining MPM candidates can be derived based on the difference in mode number between the left mode (e.g., candIntraPredModeA) and the upper mode (e.g., candIntraPredModeB), and the remaining MPM candidates can be added to the index values ​​4 and 5 in the MPM candidate list.

[0154] If the MPM candidate list is constructed using the method shown in Table 3, then the planar mode is at the forefront of the MPM candidate list, thus having the highest priority over other MPM candidates. Therefore, the planar mode can be preferentially constructed as the candidate intra-prediction mode for the current block. Furthermore, signaling and coding can be performed efficiently using fewer bits.

[0155] Another exemplary implementation can derive the intra-prediction mode (i.e., left mode) of the left neighboring block and the intra-prediction mode (i.e., upper mode) of the upper neighboring block based on the left neighboring block and the upper neighboring block of the current block. Here, the left neighboring block can refer to the left neighboring block located at the bottommost part of the left neighboring block adjacent to the left of the current block, and the upper neighboring block can refer to the upper neighboring block located at the rightmost part of the upper neighboring block adjacent to the upper side of the current block. For example, if the size of the current block is WxH, the x-component of the upper left sample position of the current block is xN, and its y-component is yN, then the left neighboring block can be a block including samples with coordinates (xN-1, yN+H-1), and the upper neighboring block can be a block including samples with coordinates (xN+W-1, yN-1).

[0156] At this point, if the left mode and the top mode are different intra-prediction modes and one of the left mode and the top mode is a planar mode, then the MPM candidate list can be generated as shown in Table 4 below.

[0157] [Table 4]

[0158]

[0159] The method shown in Table 4 first constructs the planar patterns that are in the MPM candidate list, and then adds the candidate patterns other than the planar patterns to the MPM candidate list.

[0160] For example, according to Table 4, if a zero reference line (e.g., IntraLumaRefLinkIdx = 0) is used to perform intra-frame prediction and if the left mode (e.g., candIntraPredModeA) and the top mode (e.g., candIntraPredModeB) are not the same and one of the two modes is a planar mode, then the planar mode (e.g., INTRA_PLANAR) can be inserted at index 0 in the MPM candidate list (e.g., candModeList[0]). Furthermore, modes other than the planar mode in the left and top modes can be inserted at index 1 in the MPM candidate list (e.g., candModeList[L]). Additionally, DC modes (e.g., modes derived from 1-minAB) can be inserted at index 2 in the MPM candidate list (e.g., candModeList[2]). Subsequently, the remaining MPM candidates can be derived based on the larger mode number between the left mode (e.g., candIntraPredModeA) and the upper mode (e.g., candIntraPredModeB) and added to the MPM candidate list at index values ​​3, 4, and 5.

[0161] If the MPM candidate list is constructed using the method shown in Table 4, then the planar mode is at the forefront of the MPM candidate list, thus having the highest priority over other MPM candidates. Therefore, the planar mode can be preferentially constructed as the candidate intra-prediction mode for the current block. Furthermore, signaling and coding can be performed efficiently using fewer bits.

[0162] Another exemplary implementation can derive the intra-prediction mode (i.e., left mode) of the left neighboring block and the intra-prediction mode (i.e., upper mode) of the upper neighboring block based on the left neighboring block and the upper neighboring block of the current block. Here, the left neighboring block can refer to the left neighboring block located at the bottommost part of the left neighboring block adjacent to the left of the current block, and the upper neighboring block can refer to the upper neighboring block located at the rightmost part of the upper neighboring block adjacent to the upper side of the current block. For example, if the size of the current block is WxH, the x-component of the upper left sample position of the current block is xN, and its y-component is yN, then the left neighboring block can be a block including samples with coordinates (xN-1, yN+H-1), and the upper neighboring block can be a block including samples with coordinates (xN+W-1, yN-1).

[0163] At this point, if the left mode and the top mode are the same intra-prediction mode and both the left mode and the top mode are DC modes, then the MPM candidate list can be generated as shown in Table 5 below.

[0164] [Table 5]

[0165]

[0166] The method shown in Table 5 constructs a planar pattern that is first in the MPM candidate list, and then adds the DC pattern to the MPM candidate list.

[0167] For example, according to Table 5, if intra-prediction is performed using a zero reference line (e.g., IntraLumaRefLineIdx = 0) and if this is different from the aforementioned conditions shown in Tables 2 to 4, then an MPM list can be constructed by deriving MPM candidates, as shown in Table 5. As an example, if intra-prediction is performed using a zero reference line (e.g., IntraLumaRefLineIdx = 0) and additionally if the left and top modes are the same intra-prediction mode and both the left and top modes are DC modes, then the planar mode (e.g., INTRA_PLANAR) can be inserted into index 0 of the MPM candidate list (e.g., candModeList[0]). Furthermore, the DC mode (e.g., INTRA_DC) can be inserted into index 1 of the MPM candidate list (e.g., candModeList[1]). Subsequently, directional intra-prediction modes can be added to indexes 2, 3, 4, and 5 of the MPM candidate list. For example, directional intra-prediction mode 50 can be added to index 2 of the MPM candidate list (e.g., candModeList[2]), directional intra-prediction mode 18 can be added to index 3 of the MPM candidate list (e.g., candModeList[3]), directional intra-prediction mode 46 can be added to index 4 of the MPM candidate list (e.g., candModeList[4]), and directional intra-prediction mode 54 can be added to index 5 of the MPM candidate list (e.g., candModeList[5]).

[0168] If the MPM candidate list is constructed using the method shown in Table 5, then the planar pattern is positioned at the very beginning of the MPM candidate list, thus having the highest priority over other MPM candidates. Therefore, the planar pattern can be preferentially constructed as the candidate intra-prediction pattern for the current block. Furthermore, signaling and coding can be performed efficiently using fewer bits.

[0169] Another example implementation can combine and use the foregoing exemplary implementations with reference to Tables 2 through 5 in various methods. For example, any of the two methods shown in Tables 2 and 3, as well as the method shown in Table 4, can also be combined and used, and the methods shown in Table 4 and Table 5 can also be combined and used. Alternatively, the exemplary implementations shown in Tables 2 through 5 can be combined and used in various methods, and one method of the exemplary implementations shown in Tables 2 through 5 must be selected, and the selected method and one or more of the remaining exemplary implementations can also be arbitrarily combined and used.

[0170] Figure 12This is a flowchart that schematically illustrates an encoding method that can be performed by an encoding device according to an example implementation of this document.

[0171] Figure 12 The method shown can be derived from Figure 2 The encoding device 200 shown performs this operation. Specifically, Figure 12 Steps S1200 to S1220 shown can be performed by... Figure 2 The predictor 220 and intra-frame predictor 222 shown are used to perform this, and Figure 12 Steps S1220 and S1230 shown can be performed by Figure 2 The entropy encoder 240 shown is used for execution. Furthermore, Figure 12 The methods shown may include the exemplary embodiments described above in this document. Therefore, in Figure 12 In this document, specific descriptions of content overlapping with the foregoing exemplary embodiments will be omitted or simplified.

[0172] Reference Figure 12 The encoding device can construct a list of most probable modes (MPMs) by deriving candidate intra-frame prediction modes based on the first neighboring block adjacent to the left of the current block and the second neighboring block adjacent to the top of the current block (S1200).

[0173] Here, the first neighboring block can refer to the bottommost portion of the left neighboring block adjacent to the left of the current block, and the second neighboring block can refer to the rightmost portion of the upper neighboring block adjacent to the upper side of the current block. For example, if the size of the current block is WxH, the x-component of the upper left sample position of the current block is xN, and its y-component is yN, then the first neighboring block can be a block including samples with coordinates (xN-1, yN+H-1), and the second neighboring block can be a block including samples with coordinates (xN+W-1, yN-1).

[0174] According to an exemplary implementation, if a first neighboring block is available and intra-prediction is applied to the first neighboring block, the encoding device can derive the intra-prediction mode of the first neighboring block as a first candidate intra-prediction mode. If a second neighboring block is available, intra-prediction is applied to the second neighboring block, and the second neighboring block is included in the current CTU, the encoding device can derive the intra-prediction mode of the second neighboring block as a second candidate intra-prediction mode. Alternatively, if the first neighboring block is unavailable or if intra-prediction is not applied to the first neighboring block, the encoding device can derive a planar mode as a first candidate intra-prediction mode. If the second neighboring block is unavailable, intra-prediction is not applied to the second neighboring block, or the second neighboring block is not included in the current CTU, the encoding device can derive a planar mode as a second candidate intra-prediction mode.

[0175] Furthermore, the encoding device can construct an MPM list for the current block based on a first candidate intra-prediction mode derived from a first neighboring block and a second candidate intra-prediction mode derived from a second neighboring block. In this case, the process of constructing the MPM list can be applied to the methods already referenced in Tables 1 to 1. Figure 5 The various exemplary embodiments described above are specifically illustrated.

[0176] According to an exemplary implementation, the encoding device can check whether a planar mode is a candidate intra-prediction mode that takes precedence over other candidate intra-prediction modes for the current block based on whether the zero-reference sample line used for intra-prediction is used for the current block. Here, as described above, the zero-reference sample line may include a left reference sample line that is closest to the left boundary of the current block and an upper reference sample line that is closest to the upper boundary of the current block. When the zero-reference sample line is used for intra-prediction of the current block, the encoding device can generate an MPM list by specifying conditions that prioritize the planar mode over other candidate intra-prediction modes when generating the MPM list. For example, when the zero-reference sample line is used for intra-prediction of the current block, the encoding device may derive the planar mode as a candidate intra-prediction mode for the current block prioritizing other candidate intra-prediction modes included in the MPM list.

[0177] Alternatively, according to an exemplary embodiment, the encoding device performs intra-prediction on the current block using a zero-reference sampling line and constructs an MPM list by deriving candidate intra-prediction modes under specific conditions (i.e., depending on whether specific conditions are met) based on a first candidate intra-prediction mode of a first neighboring block and a second candidate intra-prediction mode of a second neighboring block.

[0178] For example, when the first candidate intra-prediction mode of the first neighboring block is the same as the second candidate intra-prediction mode of the second neighboring block, and both the first and second candidate intra-prediction modes are DC modes, the coding device can derive candidate intra-prediction modes that include the DC mode. Furthermore, the coding device can derive candidate intra-prediction modes that also include directional intra-prediction modes. In this case, directional intra-prediction modes can be added after the DC modes in the MPM list. For example, directional intra-prediction modes may include intra-prediction mode 50 (i.e., vertical intra-prediction mode), intra-prediction mode 18 (i.e., horizontal intra-prediction mode), intra-prediction mode 46 (i.e., horizontal diagonal intra-prediction mode), and intra-prediction mode 54 (i.e., vertical diagonal intra-prediction mode). Furthermore, in this case, the coding device can derive a planar mode as a candidate intra-prediction mode for the current block by checking whether the planar mode is a candidate intra-prediction mode that takes precedence over the candidate intra-prediction modes for the current block.

[0179] In other words, when the first candidate intra-prediction mode of the first neighboring block and the second candidate intra-prediction mode of the second neighboring block are the same, and both the first candidate intra-prediction mode and the second candidate intra-prediction mode are DC modes, the encoding device can derive DC mode, intra-prediction mode 50, intra-prediction mode 18, intra-prediction mode 46, and intra-prediction mode 54 as candidate intra-prediction modes and construct them into an MPM list. In this MPM list, the encoding device can assign a first index to DC mode, a second index to intra-prediction mode 50, a third index to intra-prediction mode 18, a fourth index to intra-prediction mode 46, and a fifth index to intra-prediction mode 54. Furthermore, in this case, the encoding device can check whether a plane mode can be preferentially derived as a candidate intra-prediction mode for the current block compared to the candidate intra-prediction modes (i.e., DC mode, intra-prediction mode 50, intra-prediction mode 18, intra-prediction mode 46, and intra-prediction mode 54) based on whether the zero-reference sample line used for intra-prediction is used for the current block.

[0180] As another example, when the first candidate intra-prediction mode of the first neighboring block is different from the second candidate intra-prediction mode of the second neighboring block, and both the first and second candidate intra-prediction modes have a mode number greater than the mode number of the DC mode, the encoding device can derive candidate intra-prediction modes that include both the first and second candidate intra-prediction modes. Furthermore, the encoding device can derive candidate intra-prediction modes that also include the DC mode. In this case, the DC mode can be added after the first and second candidate intra-prediction modes in the MPM list. Additionally, in this case, the encoding device can construct the MPM list by checking whether a plane mode can be derived as a candidate intra-prediction mode for the current block prior to the candidate intra-prediction modes (i.e., the first, second, and DC modes).

[0181] As another example, when the first candidate intra-prediction mode of the first neighboring block is different from the second candidate intra-prediction mode of the second neighboring block, and both the first and second candidate intra-prediction modes have a mode number greater than the mode number of the DC mode, the encoding device can derive candidate intra-prediction modes that include both the first and second candidate intra-prediction modes. Furthermore, the encoding device can derive candidate intra-prediction modes that also include the DC mode. In this case, the DC mode can be added after the first and second candidate intra-prediction modes in the MPM list. Additionally, in this case, the encoding device can construct the MPM list by checking whether a plane mode can be derived as a candidate intra-prediction mode for the current block prior to either the first or second candidate intra-prediction mode.

[0182] As another example, when the first candidate intra-prediction mode of the first neighboring block and the second candidate intra-prediction mode of the second neighboring block are different, and one of the first and second candidate intra-prediction modes is a planar mode, the encoding device can construct the MPM list by checking whether the planar candidate intra-prediction mode among the first and second candidate intra-prediction modes can be preferentially exported as the candidate intra-prediction mode for the current block. That is, in this case, the encoding device can first export the planar mode as a candidate intra-prediction mode, and then export the intra-prediction modes other than the planar mode among the first and second candidate intra-prediction modes as candidate intra-prediction modes. Furthermore, the encoding device can also export the DC mode as a candidate intra-prediction mode, and then export the remaining candidate intra-prediction modes through a specific operation based on the larger mode number of the first and second candidate intra-prediction modes. As described above, the exported candidate intra-prediction modes can be sequentially included in the MPM list.

[0183] The encoding device can derive the intra prediction mode of the current block based on the MPM list (S1210) and generate intra prediction mode information indicating the intra prediction mode of the current block (S1220).

[0184] According to an exemplary implementation, the encoding device can derive an intra-prediction mode with optimal rate-distortion (RD) cost by performing various intra-prediction modes for the current block, and determine the intra-prediction mode as the intra-prediction mode for the current block. In this case, the encoding device can derive the optimal intra-prediction mode for the current block based on an intra-prediction mode comprising 2 non-directional intra-prediction modes and 65 directional intra-prediction modes.

[0185] Additionally, the encoding device can determine whether the optimal intra-prediction mode derived for the current block is one of the candidate intra-prediction modes in the MPM list, and generate intra-prediction mode information for the current block based on the determination result. For example, if the intra-prediction mode of the current block is included in the candidate intra-prediction modes in the MPM list, then the encoding device can generate intra-prediction mode information (e.g., MPM index information) indicating the intra-prediction mode of the current block among the candidate intra-prediction modes in the MPM list. Alternatively, if the intra-prediction mode of the current block is not included in the candidate intra-prediction modes in the MPM list, then the encoding device can generate residual mode information indicating the intra-prediction mode of the current block among the remaining candidate intra-prediction modes other than those in the MPM list.

[0186] The encoding device can generate MPM flag information based on whether the best intra-prediction mode derived for the current block is one of the candidate intra-prediction modes in the MPM list. For example, if the intra-prediction mode of the current block is included in the candidate intra-prediction modes in the MPM list, the encoding device can generate the MPM flag information as 1. Alternatively, if the intra-prediction mode of the current block is not included in the candidate intra-prediction modes in the MPM list, the encoding device can generate the MPM flag information as 0.

[0187] The encoding device can encode image information including intra-frame prediction mode information (S1230).

[0188] According to an exemplary embodiment, as described above, the encoding device can encode image information including intra-prediction mode information (e.g., MPM index information, remaining mode information, MPM flag information, etc.) of the current block derived from the MPM list.

[0189] Furthermore, the encoding device can generate prediction samples for the current block based on the intra-prediction mode of the current block. According to an exemplary embodiment, the encoding device can derive at least one neighboring reference sample from the neighboring reference samples of the current block based on the intra-prediction mode, and generate prediction samples based on the neighboring reference samples. Here, the neighboring reference samples may include the top-left neighboring sample, the top neighboring sample, and the left neighboring sample of the current block. For example, if the size of the current block is WxH, the x-component of the top-left sample position of the current block is xN, and its y-component is yN, then the left neighboring sample may be p[xN-1][yN] to p[xN-1][2H+yN-1], the top-left neighboring sample may be p[xN-1][yN-1], and the top neighboring sample may be p[xN][yN-1] to p[2W+xN-1][yN-1].

[0190] Furthermore, the encoding device can derive residual samples for the current block based on the predicted samples and the original samples of the current block. Additionally, the encoding device can generate residual information for the current block based on the residual samples and encode image information including the residual information. Here, the residual information may include information such as value information, location information, transformation technique, transformation kernel, and quantization parameters of the quantized transform coefficients derived by transforming and quantizing the residual samples.

[0191] In other words, the encoding device can encode image information including the aforementioned intra-frame prediction mode information and / or residual information of the current block to output encoded image information in the form of a bit stream.

[0192] The bitstream can be sent to the decoding device via a network or (digital) storage medium. Here, the network can include broadcast networks and / or communication networks, and the digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.

[0193] The aforementioned processing for generating prediction samples for the current block can be performed by Figure 2 The intra-frame predictor 222 of the coding device 200 shown is responsible for performing the process of deriving residual samples. Figure 2 The subtractor 231 of the encoding device 200 shown is executed, and the processing of generating and encoding residual information can be performed by... Figure 2 The residual processor 230 and entropy encoder 240 of the encoding device 200 shown are executed.

[0194] Figure 13 This is a flowchart illustrating, schematically, a decoding method that can be performed by a decoding device according to an example implementation of this document.

[0195] Figure 13 The method shown can be derived from Figure 3 The decoding device 300 shown performs this operation. Specifically, Figure 13 Steps S1300 to S1320 shown can be performed by Figure 3 The predictor 330 and intra-frame predictor 331 shown are used to perform this, and Figure 13 Step S1330 shown can be performed by Figure 3 The residual processor 320 and / or adder 340 shown are used to perform this. Furthermore, Figure 13 The methods shown may include the exemplary embodiments described above in this document. Therefore, in Figure 13 In this document, specific descriptions of content overlapping with the foregoing exemplary embodiments will be omitted or simplified.

[0196] Reference Figure 13 The decoding device can construct a list of most probable modes (MPMs) by deriving candidate intra-frame prediction modes based on the first neighboring block adjacent to the left of the current block and the second neighboring block adjacent to the top of the current block (S1300).

[0197] Here, the first neighboring block can refer to the bottommost portion of the left neighboring block adjacent to the left of the current block, and the second neighboring block can refer to the rightmost portion of the upper neighboring block adjacent to the upper side of the current block. For example, if the size of the current block is WxH, the x-component of the upper left sample position of the current block is xN, and its y-component is yN, then the first neighboring block can be a block including samples with coordinates (xN-1, yN+H-1), and the second neighboring block can be a block including samples with coordinates (xN+W-1, yN-1).

[0198] According to an exemplary implementation, if a first neighboring block is available and intra-prediction is applied to the first neighboring block, the decoding device can derive the intra-prediction mode of the first neighboring block as a first candidate intra-prediction mode. If a second neighboring block is available, intra-prediction is applied to the second neighboring block, and the second neighboring block is included in the current CTU, the decoding device can derive the intra-prediction mode of the second neighboring block as a second candidate intra-prediction mode. Alternatively, if the first neighboring block is unavailable or if intra-prediction is not applied to the first neighboring block, the decoding device can derive a planar mode as a first candidate intra-prediction mode. If the second neighboring block is unavailable, intra-prediction is not applied to the second neighboring block, or the second neighboring block is not included in the current CTU, the decoding device can derive a planar mode as a second candidate intra-prediction mode.

[0199] Furthermore, the decoding device can construct an MPM list for the current block based on a first candidate intra-prediction mode derived from a first neighboring block and a second candidate intra-prediction mode derived from a second neighboring block. In this case, the process of constructing the MPM list can be applied to the methods already referenced in Tables 1 to 12. Figure 5 The various exemplary embodiments described above are specifically illustrated.

[0200] According to an exemplary implementation, the decoding device can check whether a planar mode is a candidate intra-prediction mode for the current block that takes precedence over other candidate intra-prediction modes based on whether a zero-reference sample line used for intra-prediction of the current block is used. Here, as described above, the zero-reference sample line may include a left reference sample line that is closest to the left boundary of the current block and an upper reference sample line that is closest to the upper boundary of the current block. When the zero-reference sample line is used for intra-prediction of the current block, the decoding device can generate an MPM list by specifying conditions that prioritize the planar mode over other candidate intra-prediction modes when generating the MPM list. For example, when the zero-reference sample line is used for intra-prediction of the current block, the decoding device may derive the planar mode as a candidate intra-prediction mode for the current block prioritizing other candidate intra-prediction modes included in the MPM list.

[0201] Alternatively, according to an exemplary embodiment, the decoding device may perform intra-frame prediction on the current block using a zero-reference sampling line, and construct an MPM list by deriving candidate intra-frame prediction modes under specific conditions (i.e., depending on whether specific conditions are met) based on a first candidate intra-frame prediction mode of a first neighboring block and a second candidate intra-frame prediction mode of a second neighboring block.

[0202] For example, when the first candidate intra-prediction mode of the first neighboring block is the same as the second candidate intra-prediction mode of the second neighboring block, and both the first and second candidate intra-prediction modes are DC modes, the decoding device can derive candidate intra-prediction modes that include the DC mode. Furthermore, the decoding device can derive candidate intra-prediction modes that also include directional intra-prediction modes. In this case, directional intra-prediction modes can be added after the DC modes in the MPM list. For example, directional intra-prediction modes may include intra-prediction mode 50 (i.e., vertical intra-prediction mode), intra-prediction mode 18 (i.e., horizontal intra-prediction mode), intra-prediction mode 46 (i.e., horizontal diagonal intra-prediction mode), and intra-prediction mode 54 (i.e., vertical diagonal intra-prediction mode). Furthermore, in this case, the decoding device can derive a planar mode as a candidate intra-prediction mode for the current block by checking whether the planar mode is a candidate intra-prediction mode that takes precedence over the candidate intra-prediction modes for the current block.

[0203] In other words, when the first candidate intra-prediction mode of the first neighboring block and the second candidate intra-prediction mode of the second neighboring block are the same, and both the first and second candidate intra-prediction modes are DC modes, the decoding device can derive DC mode, intra-prediction mode 50, intra-prediction mode 18, intra-prediction mode 46, and intra-prediction mode 54 as candidate intra-prediction modes and construct them into an MPM list. In this MPM list, the decoding device can assign a first index to DC mode, a second index to intra-prediction mode 50, a third index to intra-prediction mode 18, a fourth index to intra-prediction mode 46, and a fifth index to intra-prediction mode 54. Furthermore, in this case, the decoding device can check whether a plane mode can be preferentially derived as a candidate intra-prediction mode for the current block compared to the candidate intra-prediction modes (i.e., DC mode, intra-prediction mode 50, intra-prediction mode 18, intra-prediction mode 46, and intra-prediction mode 54) based on whether the zero-reference sample line used for intra-prediction is used for the current block.

[0204] As another example, when the first candidate intra-prediction mode of the first neighboring block is different from the second candidate intra-prediction mode of the second neighboring block, and both the first and second candidate intra-prediction modes have a mode number greater than the mode number of the DC mode, the decoding device can derive candidate intra-prediction modes that include both the first and second candidate intra-prediction modes. Furthermore, the decoding device can derive candidate intra-prediction modes that also include the DC mode. In this case, the DC mode can be added after the first and second candidate intra-prediction modes in the MPM list. Additionally, in this case, the decoding device can construct the MPM list by checking whether a plane mode can be derived as a candidate intra-prediction mode for the current block prior to the candidate intra-prediction modes (i.e., the first, second, and DC modes).

[0205] As another example, when the first candidate intra-prediction mode of the first neighboring block is different from the second candidate intra-prediction mode of the second neighboring block, and both the first and second candidate intra-prediction modes have a mode number greater than the mode number of the DC mode, the decoding device can derive candidate intra-prediction modes that include both the first and second candidate intra-prediction modes. Furthermore, the decoding device can derive candidate intra-prediction modes that also include the DC mode. In this case, the DC mode can be added after the first and second candidate intra-prediction modes in the MPM list. Additionally, in this case, the decoding device can construct the MPM list by checking whether a plane mode can be derived as a candidate intra-prediction mode for the current block with priority over one of the first and second candidate intra-prediction modes.

[0206] As another example, when the first candidate intra-prediction mode of the first neighboring block and the second candidate intra-prediction mode of the second neighboring block are different, and one of the first and second candidate intra-prediction modes is a planar mode, the decoding device can construct an MPM list by checking whether the planar candidate intra-prediction mode among the first and second candidate intra-prediction modes can be preferentially exported as the candidate intra-prediction mode for the current block. That is, in this case, the decoding device can first export the planar mode as a candidate intra-prediction mode, and then export the intra-prediction modes other than the planar mode among the first and second candidate intra-prediction modes as candidate intra-prediction modes. Furthermore, the decoding device can also export the DC mode as a candidate intra-prediction mode, and then export the remaining candidate intra-prediction modes through a specific operation based on the larger mode number of the first and second candidate intra-prediction modes. As described above, the exported candidate intra-prediction modes can be sequentially included in the MPM list.

[0207] The decoding device can derive the intra-prediction mode of the current block based on the MPM list (S1310).

[0208] According to an exemplary implementation, the decoding device can obtain intra-prediction mode information of the current block from the bitstream. Intra-prediction mode information, which serves as information indicating the intra-prediction mode of the current block, may include MPM flag information, MPM index information, remaining mode information, etc.

[0209] The decoding device can obtain MPM flag information indicating whether the intra-prediction mode of the current block is included in the candidate intra-prediction modes in the MPM list. Furthermore, the decoding device can obtain MPM index information or remaining mode information based on the MPM flag information. Here, the MPM flag information can be signaled using the `intra_luma_mpm_flag` syntax element. The MPM index information can be signaled using the `mpm_idx` or `intra_luma_mpm_idx` syntax element. The remaining mode information can be signaled using the `rem_intra_lurna_pred_mode` or `intra_luma_mpm_remainder` syntax element.

[0210] For example, if the intra prediction mode of the current block is included in the candidate intra prediction modes in the MPM list (i.e., if the MPM flag information indicates 1), then the decoding device can obtain the MPM index information indicating the intra prediction mode of the current block among the candidate intra prediction modes in the MPM list, and derive the candidate intra prediction modes in the MPM list indicated by the MPM index information as the intra prediction mode of the current block.

[0211] Alternatively, if the intra-prediction mode of the current block is not included in the candidate intra-prediction modes in the MPM list (i.e., if the MPM flag information indicates 0), then the decoding device can obtain residual mode information indicating the intra-prediction mode of the current block from the remaining intra-prediction modes other than the candidate intra-prediction modes in the MPM list. Furthermore, the decoding device can derive the intra-prediction mode indicated by the residual mode information as the intra-prediction mode of the current block.

[0212] The decoding device can generate a prediction sample for the current block based on the intra-frame prediction mode (S1320).

[0213] According to an exemplary implementation, the decoding device can derive at least one neighboring reference sample from the neighboring reference samples of the current block based on the intra-frame prediction mode derived as described above, and generate a prediction sample based on the neighboring reference samples. Here, the neighboring reference samples may include the top-left neighboring sample, the top neighboring sample, and the left neighboring sample of the current block. For example, if the size of the current block is WxH, the x-component of the top-left sample position of the current block is xN, and its y-component is yN, then the left neighboring sample may be p[xN-1][yN] to p[xN-1][2H+yN-1], the top-left neighboring sample may be p[xN-1][yN-1], and the top neighboring sample may be p[xN][yN-1] to p[2W+xN-1][yN-1].

[0214] The decoding device can generate a reconstructed image of the current block based on the predicted samples (S1330).

[0215] According to an exemplary implementation, the decoding device may also use the predicted samples directly as reconstructed samples according to the prediction mode, or generate reconstructed samples by adding residual samples to the predicted samples.

[0216] If residual samples for the current block exist, the decoding device can receive information related to the residuals of the current block. This residual-related information may include transform coefficients associated with the residual samples. The decoding device can derive residual samples (or an array of residual samples) for the current block based on the residual information. The decoding device can generate reconstructed samples based on the predicted samples and residual samples, and can derive a reconstructed block or reconstructed image based on the reconstructed samples. Subsequently, as described above, if necessary, the decoding device can apply in-loop filtering processes such as unblocking filtering and / or SAO processes to the reconstructed image to enhance subjective / objective image quality.

[0217] In the embodiments described above, although these methods have been described based on flowcharts in the form of a series of steps or units, the embodiments described herein are not limited to the order of these steps, and some of these steps may be performed in a different order than the others or may be performed simultaneously with the others. Furthermore, those skilled in the art will understand that the steps shown in the flowcharts are not exclusive, and without affecting the scope of the claims of this document, these steps may include additional steps or one or more steps in the flowchart may be deleted.

[0218] The methods described above in this document can be implemented in software, and the encoding and / or decoding devices according to this document can be included in devices for performing image processing, such as TVs, computers, smartphones, set-top boxes, or display devices.

[0219] In this document, when the implementation is carried out in software form, the methods mentioned above can be implemented as modules (programs, functions, etc.) for performing the functions mentioned above. Modules can be stored in memory and executed by a processor. Memory can be located inside or outside the processor and connected to the processor by various known means. The processor may include application-specific integrated circuits (ASICs), other chipsets, logic circuits, and / or data processing devices. 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 implementations described in this document can be implemented and executed on a processor, microprocessor, controller, or chip. For example, the functional units illustrated in the figures can be implemented and executed on a computer, processor, microprocessor, controller, or chip. In this case, information (e.g., information about instructions) or algorithms used for such implementation can be stored in a digital storage medium.

[0220] Furthermore, the decoding and encoding devices using this document can be included in multimedia broadcasting transmitting and 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, cameras, video-on-demand (VoD) service providers, over-the-top (OTT) video devices, internet streaming service providers, three-dimensional (3D) video devices, virtual reality (VR) devices, augmented reality (AR) devices, video telephony devices, transportation terminals (e.g., vehicle (including autonomous vehicle) terminals, aircraft terminals, and ship terminals), and medical video devices, and 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 TVs, home theater systems, smartphones, tablet PCs, and digital video recorders (DVRs).

[0221] Furthermore, the processing methods described in this document 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 this document can also be stored in a computer-readable recording medium. Computer-readable recording media include all types of storage devices storing computer-readable data. Computer-readable recording media can include, for example, Blu-ray discs (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disks, and optical data storage devices. Furthermore, computer-readable recording media include media implemented in the form of a carrier wave (e.g., transmitted via the Internet). Additionally, bitstreams generated using encoding methods can be stored in computer-readable recording media or transmitted via wired and wireless communication networks.

[0222] Furthermore, the embodiments described in this document can be implemented as a computer program product using program code. The program code can be executed by a computer according to the embodiments described in this document. The program code can be stored on a carrier wave that can be read by a computer.

[0223] Figure 14 Examples of content streaming systems to which the implementation methods disclosed in this document can be applied are illustrated.

[0224] Reference Figure 14 The content streaming system implemented using the methods described in this document may mainly include an encoding server, a streaming server, a web server, a media storage device, a user device, and a multimedia input device.

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

[0226] Bitstreams can be generated using the encoding methods or bitstream generation methods described in this document, and the streaming server can temporarily store the bitstreams during the sending or receiving of bitstreams.

[0227] A streaming server sends multimedia data to a user's device via a web server based on a user's request, and the web server acts as a medium for informing the user of services. When a user requests a desired service from the web server, the web server forwards it to the streaming server, which then 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 controls the commands / responses between devices within the content streaming system.

[0228] A streaming server can receive content from media storage devices 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 bit stream for a predetermined period of time.

[0229] Examples of user equipment 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, head-mounted displays), digital TVs, desktop computers, digital signage, etc.

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

Claims

1. An image decoding method performed by a decoding device, the image decoding method comprising the following steps: Obtain intra-frame prediction mode information and residual information from the bitstream; Candidate intra-frame prediction modes are derived based on the first neighboring block to the left of the current block and the second neighboring block to the top of the current block; Construct a list of most probable mode MPMs based on the candidate intra-frame prediction modes; The intra-prediction mode of the current block is derived based on the MPM list and the intra-prediction mode information. The prediction sample for the current block is generated based on the intra-frame prediction mode; The residual sample of the current block is generated based on the residual information; as well as Reconstructed samples are generated based on the predicted samples and the residual samples. In the case where the first intra-prediction mode of the first neighboring block and the second intra-prediction mode of the second neighboring block are the same, and both the first intra-prediction mode and the second intra-prediction mode are DC modes, the candidate intra-prediction modes in the MPM list include the DC mode and the directional intra-prediction mode. The directional intra-prediction mode is added to the MPM list after the DC mode, and the directional intra-prediction mode includes intra-prediction mode 50, intra-prediction mode 18, intra-prediction mode 46 and intra-prediction mode 54. The DC mode is associated with the first index of the MPM list, the intra-prediction mode 50 is associated with the second index of the MPM list, the intra-prediction mode 18 is associated with the third index of the MPM list, the intra-prediction mode 46 is associated with the fourth index of the MPM list, and the intra-prediction mode 54 is associated with the fifth index of the MPM list.

2. An image encoding method performed by an encoding device, the image encoding method comprising the following steps: Candidate intra-frame prediction modes are derived based on the first neighboring block to the left of the current block and the second neighboring block to the top of the current block; Construct a list of most probable mode MPMs based on the candidate intra-frame prediction modes; The intra-prediction mode of the current block is derived based on the MPM list; The prediction sample for the current block is generated based on the intra-frame prediction mode; Intra-prediction mode information is generated based on the intra-prediction mode. The residual sample of the current block is generated based on the predicted sample; Residual information is generated based on the residual samples; as well as Image information, including the intra-frame prediction mode information and the residual information, is encoded. In the case where the first intra-prediction mode of the first neighboring block and the second intra-prediction mode of the second neighboring block are the same, and both the first intra-prediction mode and the second intra-prediction mode are DC modes, the candidate intra-prediction modes in the MPM list include the DC mode and the directional intra-prediction mode. The directional intra-prediction mode is added to the MPM list after the DC mode, and the directional intra-prediction mode includes intra-prediction mode 50, intra-prediction mode 18, intra-prediction mode 46 and intra-prediction mode 54. The DC mode is associated with the first index of the MPM list, the intra-prediction mode 50 is associated with the second index of the MPM list, the intra-prediction mode 18 is associated with the third index of the MPM list, the intra-prediction mode 46 is associated with the fourth index of the MPM list, and the intra-prediction mode 54 is associated with the fifth index of the MPM list.

3. A non-transitory computer-readable digital storage medium that stores a program, which, when executed by a processor, performs the following steps: Candidate intra-frame prediction modes are derived based on the first neighboring block to the left of the current block and the second neighboring block to the top of the current block; Construct a list of most probable mode MPMs based on the candidate intra-frame prediction modes; The intra-prediction mode of the current block is derived based on the MPM list; The prediction sample for the current block is generated based on the intra-frame prediction mode; Intra-prediction mode information is generated based on the intra-prediction mode. The residual sample of the current block is generated based on the predicted sample; Residual information is generated based on the residual samples; as well as A bitstream is generated by encoding image information including the intra-prediction mode information and the residual information. In the case where the first intra-prediction mode of the first neighboring block and the second intra-prediction mode of the second neighboring block are the same, and both the first and second intra-prediction modes are DC modes, the candidate intra-prediction modes in the MPM list include the DC mode and directional intra-prediction modes. The directional intra-prediction modes are added to the MPM list after the DC mode. The directional intra-prediction modes include intra-prediction mode 50, intra-prediction mode 18, intra-prediction mode 46, and intra-prediction mode 54. The DC mode is associated with a first index of the MPM list, intra-prediction mode 50 is associated with a second index of the MPM list, intra-prediction mode 18 is associated with a third index of the MPM list, intra-prediction mode 46 is associated with a fourth index of the MPM list, and intra-prediction mode 54 is associated with a fifth index of the MPM list.

4. A method for transmitting image information data, the method comprising the following steps: A bitstream of image information is obtained, wherein the bitstream is generated based on the following steps: deriving candidate intra-prediction modes based on a first neighboring block adjacent to the left of the current block and a second neighboring block adjacent to the upper side of the current block; constructing a most probable mode (MPM) list based on the candidate intra-prediction modes; deriving the intra-prediction mode of the current block based on the MPM list; generating prediction samples for the current block based on the intra-prediction modes; generating intra-prediction mode information based on the intra-prediction modes; generating residual samples for the current block based on the prediction samples; generating residual information based on the residual samples; and encoding image information including the intra-prediction mode information and the residual information; and transmitting the data comprising the bitstream of the image information. In the case where the first intra-prediction mode of the first neighboring block and the second intra-prediction mode of the second neighboring block are the same, and both the first intra-prediction mode and the second intra-prediction mode are DC modes, the candidate intra-prediction modes in the MPM list include the DC mode and the directional intra-prediction mode. The directional intra-prediction mode is added to the MPM list after the DC mode, and the directional intra-prediction mode includes intra-prediction mode 50, intra-prediction mode 18, intra-prediction mode 46 and intra-prediction mode 54. The DC mode is associated with the first index of the MPM list, the intra-prediction mode 50 is associated with the second index of the MPM list, the intra-prediction mode 18 is associated with the third index of the MPM list, the intra-prediction mode 46 is associated with the fourth index of the MPM list, and the intra-prediction mode 54 is associated with the fifth index of the MPM list.

Citation Information

Patent Citations

  • MPM list-based intra prediction method and device

    CN113574871A