MPM list-based intra prediction method and device

By deriving an intra prediction mode for the current block and simplifying the intra prediction structure within the video coding method, the challenges of compressing high-quality video data are addressed, resulting in improved coding efficiency and reduced complexity.

JP2025076487AActive Publication Date: 2025-05-15BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025020706
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-02-20
Filing Date
2025-02-12
Publication Date
2025-05-15
Estimated Expiration
2040-02-20

AI Technical Summary

Technical Problem

Current video coding technologies face challenges in efficiently compressing and transmitting high-quality video data, particularly for high-resolution and immersive media, due to increased bitrates and complexity.

Method used

The method involves obtaining MPM index information and reference line index information from a bitstream, configuring an MPM list with candidate intra prediction modes, deriving an intra prediction mode for the current block, generating prediction and restored samples, and simplifying the intra prediction structure by constructing a single MPM list for general, multiple reference line, and subpartition intra predictions.

Benefits of technology

This approach improves video coding efficiency by reducing implementation complexity and enhancing prediction performance, leading to better coding efficiency and simplified intra prediction coding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025076487000001_ABST
    Figure 2025076487000001_ABST
Patent Text Reader

Abstract

To provide a video coding method and device using intra prediction based on an MPM (Most Probable Modes) list.SOLUTION: A video decoding method comprises the steps of: obtaining MPM index information and reference line index information from a bitstream; compiling an MPM list including candidate intra prediction modes for the intra prediction of a current block; deriving an intra prediction mode for the current block from among the candidate intra prediction modes included in the MPM list on the basis of the MPM index information; generating prediction samples for the current block on the basis of the intra prediction mode; and generating reconstructed samples for the current block on the basis of the prediction samples.SELECTED DRAWING: Figure 16
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This document relates to video coding technology, and more particularly to a video coding method and apparatus using intra prediction based on a Most Probable Modes (MPM) list. [Background technology]

[0002] Recently, the demand for high-resolution, high-quality images / videos such as 4K or 8K or higher UHD (Ultra High Definition) images / videos is increasing in various fields. As the image / video data has higher resolution and quality, the amount of information or bits transmitted relatively increases compared to existing image / video data, so when transmitting image data using existing media such as wired or wireless broadband lines or storing image / video data using existing storage media, the transmission and storage costs increase.

[0003] In addition, interest and demand for immersive media such as virtual reality (VR), artificial reality (AR) content and holograms has been increasing recently, and the broadcast of images / videos with different image characteristics from real images, such as game images, is increasing.

[0004] Therefore, in order to effectively compress and transmit or store and play back high-resolution, high-quality image / video information having the above-mentioned various characteristics, a highly efficient image / video compression technology is required. Summary of the Invention [Problem to be solved by the invention]

[0005] The technical problem of this document is to provide a method and apparatus for improving the efficiency of video coding.

[0006] Another technical problem of this document is to provide an efficient intra prediction method and apparatus.

[0007] Another technical problem of this document is to provide a video coding method and apparatus for deriving an MPM list.

[0008] Another technical problem of this document is to provide a video coding method and apparatus for deriving a unified MPM list for general intra prediction, multiple reference line intra prediction, and sub-partition intra prediction. [Means for solving the problem]

[0009] According to an embodiment of the present document, there is provided a video decoding method performed by a decoding device. The method includes the steps of: acquiring MPM (Most Probable Mode) index information and reference line index information from a bitstream; constructing an MPM list including candidate intra prediction modes for intra prediction of a current block; deriving an intra prediction mode for the current block from the candidate intra prediction modes included in the MPM list based on the MPM index information; generating a prediction sample for the current block based on the intra prediction mode; and generating a reconstructed sample for the current block based on the prediction sample, wherein the constructing the MPM list includes deriving a DC mode as one of the candidate intra prediction modes and including it in the MPM list based on a case where a value of the reference line index information indicating a reference line used for intra prediction of the current block is not 0.

[0010] According to another embodiment of the present document, there is provided a video encoding method performed by an encoding apparatus, the method including the steps of: generating reference line index information indicating a reference line used for intra prediction of a current block, constructing a Most Probable Mode (MPM) list including candidate intra prediction modes for intra prediction of the current block, deriving an intra prediction mode for the current block from the candidate intra prediction modes included in the MPM list, generating MPM index information indicating the intra prediction mode for the current block, and encoding video information including the MPM index information and the reference line index information, wherein the constructing the MPM list includes deriving a DC mode as one of the candidate intra prediction modes based on a case where a value of the reference line index information is not 0, and including the DC mode in the MPM list.

[0011] According to another embodiment of the present document, a computer-readable digital storage medium is provided, in which encoded video information for causing a decoding device to perform a video decoding method is stored. The video decoding method includes the steps of: acquiring MPM (Most Probable Mode) index information and reference line index information from a bitstream; constructing an MPM list including candidate intra prediction modes for intra prediction of a current block; deriving an intra prediction mode for the current block from the candidate intra prediction modes included in the MPM list based on the MPM index information; generating a prediction sample for the current block based on the intra prediction mode; and generating a reconstructed sample for the current block based on the prediction sample. The step of constructing the MPM list includes deriving a DC mode as one of the candidate intra prediction modes and including it in the MPM list based on a case where a value of the reference line index information indicating a reference line used for intra prediction of the current block is not 0. Effect of the Invention

[0012] This document can improve the efficiency of image / video compression in general.

[0013] According to this document, efficient intra prediction can reduce implementation complexity and improve prediction performance, thereby improving overall coding efficiency.

[0014] According to this document, by constructing a unified MPM list for general intra prediction, multiple reference line intra prediction, and sub-partition intra prediction, the structure of intra prediction can be simplified, and intra prediction modes can be efficiently coded to improve coding efficiency. [Brief description of the drawings]

[0015] [Figure 1] 1 illustrates generally an example of a video / image coding system to which embodiments of the present document may be applied; [Diagram 2] FIG. 1 is a diagram illustrating the configuration of a video / image encoding device that can be applied to an embodiment of this document. [Diagram 3] FIG. 1 is a diagram illustrating the configuration of a video / image decoding device that can be applied to an embodiment of this document. [Figure 4] 1 illustrates an example of a general intra-prediction based video encoding method to which embodiments of the present document can be applied. [Diagram 5] 1 illustrates a schematic diagram of an intra prediction unit in an encoding device. [Figure 6] 1 illustrates an example of a general intra-prediction based video decoding method to which the embodiments of this document can be applied. [Figure 7] 2 illustrates a schematic diagram of an intra-prediction unit in a decoding device. [Figure 8] 1 illustrates an example of an intra prediction method based on MPM mode in an encoding device to which the embodiments of this document can be applied. [Figure 9] 1 illustrates an example of an intra prediction method based on MPM mode in a decoding device to which the embodiments of this document can be applied. [Figure 10] 1 illustrates an example of an intra-prediction mode that can be applied in an embodiment of this document. [Figure 11] 1 illustrates an example of reference sample lines for intra prediction using multiple reference lines. [Figure 12] 1 shows an example of sub-partitions divided by intra-sub-partition (ISP). [Figure 13] FIG. 2 is a diagram for explaining one embodiment of a method for generating a unified MPM list according to this document. [Figure 14] FIG. 13 is a diagram for explaining another embodiment of a method for generating a unified MPM list according to the present document. [Figure 15]1 is a flow chart illustrating an encoding method performed by an encoding device according to an embodiment of the present document; [Figure 16] 1 is a flow chart illustrating a decoding method performed by a decoding device according to an embodiment of the present document. [Figure 17] 1 illustrates an example of a content streaming system to which the embodiments disclosed herein may be applied. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] Since this document can be modified in various ways and can have various embodiments, a specific embodiment will be illustrated in the drawings and described in detail. However, this is not intended to limit this document to a specific embodiment. Commonly used terms in this document are used merely to describe a specific embodiment and are not intended to limit the technical ideas of this document. A singular expression includes a plural expression unless the context clearly indicates otherwise. In this document, the terms "include" or "have" are intended to specify the presence of a feature, number, step, operation, component, part, or combination thereof described in the document, and should be understood not to preclude the possibility of the presence or addition of one or more different features, numbers, steps, operations, components, parts, or combinations thereof.

[0017] Meanwhile, each component in the drawings described in this document is shown independently for the convenience of explaining the different characteristic functions, and does not mean that each component is realized by separate hardware or software. For example, two or more components among the components may be combined to form one component, and one component may be divided into multiple components. An embodiment in which each component is integrated and / or separated is also included in the scope of the rights of this document as long as it does not deviate from the essence of this document.

[0018] In this document, "A or B" may mean "only A," "only B," or "both A and B." In other words, in this document, "A or B" may be interpreted as "A and / or B." For example, in this document, "A, B or C" may mean "only A," "only B," "only C," or "any combination of A, B and C."

[0019] As used in this document, a slash ( / ) or a comma can mean "and / or." For example, "A / B" can mean "A and / or B." Thus, "A / B" can mean "only A," "only B," or "both A and B." For example, "A, B, C" can mean "A, B, or C."

[0020] In this document, "at least one of A and B" may mean "only A," "only B," or "both A and B." Also, in this document, the expressions "at least one of A or B" and "at least one of A and / or B" may be interpreted as "at least one of A and B."

[0021] Additionally, in this document, "at least one of A, B and C" may mean "only A," "only B," "only C," or "any combination of A, B and C." Additionally, "at least one of A, B or C" and "at least one of A, B and / or C" may mean "at least one of A, B and C."

[0022] Furthermore, parentheses used in this document may mean "for example." Specifically, when "prediction (intra prediction)" is displayed, "intra prediction" may be proposed as an example of "prediction." In other words, "prediction" in this document is not limited to "intra prediction," and "intra prediction" may be proposed as an example of "prediction." Furthermore, even when "prediction (i.e., intra prediction)" is displayed, "intra prediction" may be proposed as an example of "prediction."

[0023] Technical features described individually in one drawing in this document may be embodied individually or simultaneously.

[0024] Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In the following, the same reference numerals are used for the same components in the drawings, and duplicated descriptions of the same components may be omitted.

[0025] This document relates to video / image coding. For example, the methods / embodiments disclosed in this document may be applied to methods disclosed in the versatile video coding (VVC) standard, the essential video coding (EVC) standard, the AOMedia Video 1 (AV1) standard, the 2nd generation of audio video coding standard (AVS2) or next generation video / image coding standards (e.g., H.267 or H.268, etc.).

[0026] This document presents various embodiments relating to video / image coding, which embodiments may be used in combination with each other, unless otherwise stated.

[0027] In this document, a video may mean a collection of a series of images over time. A picture generally means a unit showing one image at a specific time, and a slice / tile is a unit constituting a part of a picture in coding. A slice / tile may include one or more coding tree units (CTUs). A picture may be composed of one or more slices / tiles. A picture may be composed of one or more tile groups. A tile group may include one or more tiles. A brick may represent a rectangular region of CTU rows within a tile in a picture. A tile may be partitioned into multiple bricks, each of which consisting of one or more CTU rows within the tile. A tile that is not partitioned into multiple bricks may be also referred to as a brick.A brick scan may indicate a specific sequential ordering of CTUs partitioning a picture, in which the CTUs are ordered consecutively in CTU raster scan in a brick, bricks within a tile are ordered consecutively in a raster scan of the bricks of the tile, and tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture. A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture. The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set.The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture. A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture. A slice includes an integer number of bricks of a picture that may be exclusively contained in a single NAL unit. A slice may consist of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile. In this document, the terms tile group and slice are sometimes used interchangeably.For example, in this document, a tile group / tile group header may be referred to as a slice / slice header.

[0028] A pixel or a pel may mean the smallest unit constituting one picture (or image). A term corresponding to a pixel may also be used as a "sample." A sample may generally refer to a pixel or a pixel value, may refer to only a pixel / pixel value of a luma component, or may refer to only a pixel / pixel value of a chroma component. Alternatively, a sample may refer to a pixel value in the spatial domain, or may refer to a transform coefficient in the frequency domain when such a pixel value is transformed into the frequency domain.

[0029] A unit may indicate a basic unit of image processing. A unit may include at least one of a specific region of a picture and information about the corresponding region. One unit may include one luma block and two chroma (e.g., cb, cr) blocks. The unit may be used in combination with terms such as block or area depending on the case. In general, an MxN block may include a set (or array) of samples or transform coefficients consisting of M columns and N rows.

[0030] FIG. 1 illustrates a schematic diagram of an example video / image coding system to which embodiments of the present document may be applied.

[0031] Referring to Figure 1, the video / image coding 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 streaming via a digital storage medium or a network.

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

[0033] A video source may acquire video / video through a video / video capture, synthesis, or generation process, etc. A video source may include a video / video capture device and / or a video / video generation device. A video / video capture device may include, for example, one or more cameras, a video / video archive containing previously captured video / video, etc. A video / video generation device may include, for example, a computer, a tablet, a smartphone, etc., and may (electronically) generate video / video. For example, a virtual video / video may be generated via a computer, etc., in which case the video / video capture process may be substituted as the process by which the associated data is generated.

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

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

[0036] The decoding device can decode the video / image by performing a series of procedures such as inverse quantization, inverse transformation, prediction, etc., which correspond to the operations of the encoding device.

[0037] The renderer may render the decoded video / image, and the rendered video / image may be displayed via a display unit.

[0038] 2 is a diagram for explaining a schematic configuration of a video / image encoding device that can be applied to an embodiment of the present document. Hereinafter, the video encoding device may include an image encoding device.

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

[0040] The image division unit 210 may divide an input image (or picture, frame) input to the encoding device 200 into one or more processing units. As an example, the processing units may be called coding units (CUs). In this case, the coding units may be recursively divided from a coding tree unit (CTU) or a largest coding unit (LCU) according to a quad-tree binary-tree ternary-tree (QTBTTT) structure. For example, one coding unit may be divided into a plurality of coding units of a deeper depth based on a quad-tree structure, a binary tree structure, and / or a ternary structure. In this case, for example, the quad-tree structure may be applied first, and the binary tree structure and / or the ternary structure may be applied later. Alternatively, the binary tree structure may be applied first. The coding procedure according to this document may be performed based on the final coding unit that is not further divided. In this case, the largest coding unit may be used as the final coding unit immediately based on coding efficiency according to image characteristics, or the coding unit may be recursively divided into coding units of lower depths as necessary, and the coding unit of the optimal size may be used as the final coding unit. Here, the coding procedure may include procedures such as prediction, transformation, and restoration, which will be described later. As another example, the processing unit may further include a prediction unit (PU) or a transform unit (TU). In this case, the prediction unit and the transform unit may each be divided or partitioned from the final coding unit described above.The prediction unit may be a unit of sample prediction, and the transform unit may be a unit for deriving transform coefficients and / or a unit for deriving a residual signal from the transform coefficients.

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

[0042] The encoding apparatus 200 may generate a residual signal (residual block, residual sample array) by subtracting a prediction signal (predicted block, prediction sample array) output from the inter prediction unit 221 or the intra prediction unit 222 from an input video signal (original block, original sample array), and the generated residual signal is transmitted to the conversion unit 232. In this case, as shown, a unit that subtracts a prediction signal (prediction block, prediction sample array) from an input video signal (original block, original sample array) in the encoder 200 may be called a subtraction unit 231. The prediction unit may perform prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including a prediction sample for the current block. The prediction unit may determine whether intra prediction or inter prediction is applied in units of the current block or CU. The prediction unit may generate various information related to prediction, such as prediction mode information, and transmit the information to the entropy encoding unit 240, as described below in the description of each prediction mode. The prediction-related information can be encoded in the entropy encoding unit 240 and output in the form of a bitstream.

[0043] The intra prediction unit 222 may predict the current block by referring to samples in the current picture. The referenced samples may be located in the neighborhood of the current block or may be located away from the current block depending on the prediction mode. Prediction modes in intra prediction may include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes may include, for example, a DC mode and a planar mode. The directional modes may include, for example, 33 directional prediction modes or 65 directional prediction modes depending on the fineness of the prediction direction. However, this is merely an example, and more or less directional prediction modes may be used depending on the settings. The intra prediction unit 222 may also determine a prediction mode to be applied to the current block using prediction modes applied to neighboring blocks.

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

[0045] The prediction unit 220 may generate a prediction signal based on various prediction methods, which will be described later. For example, the prediction unit may apply intra prediction or inter prediction for prediction of one block, and may simultaneously apply intra prediction and inter prediction. This may be called combined inter and intra prediction (CIIP). The prediction unit may also be based on an intra block copy (IBC) prediction mode or a palette mode for prediction of a block. The IBC prediction mode or palette mode may be used for coding of content images / moving images such as games, for example, as in screen content coding (SCC). IBC basically performs prediction within a current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this document. The palette mode may be seen as an example of intra coding or intra prediction. When the palette mode is applied, a sample value within a picture may be signaled based on information regarding a palette table and a palette index.

[0046] The prediction signal generated through the prediction unit (including the inter prediction unit 221 and / or the intra prediction unit 222) may be used to generate a restored signal or may be used to generate a residual signal. The transform unit 232 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loeve transform (KLT), a graph-based transform (GBT), or a conditionally non-linear transform (CNT). Here, the GBT refers to a transform obtained from a graph when the relationship information between pixels is expressed as a graph. The CNT refers to a transform obtained based on a prediction signal generated using all previously reconstructed pixels. In addition, the transform process may be applied to pixel blocks having the same square size, or may be applied to non-square variable-sized blocks.

[0047] The quantization unit 233 quantizes the transform coefficients and transmits the quantized transform coefficients to the entropy encoding unit 240, and the entropy encoding unit 240 may encode the quantized signal (information on the quantized transform coefficients) and output the quantized signal as a bitstream. The information on the quantized transform coefficients may be called residual information. The quantization unit 233 may rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on a coefficient scan order, and may generate information on the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form. The entropy encoding unit 240 may perform various encoding methods, such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), etc. The entropy encoding unit 240 may also encode information required for video / image restoration (e.g., values ​​of syntax elements, etc.) together with or separately from the quantized transform coefficients. The encoded information (e.g., encoded video / image information) may be transmitted or stored in the form of a bitstream in network abstraction layer (NAL) unit units. The video / image information may further include information on various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). The video / image information may further include general constraint information. Information and / or syntax elements transmitted / signaled from an encoding device to a decoding device in this document may be included in the video / image information. The video / image information may be encoded through the above-mentioned encoding procedure and included in the bitstream.The bitstream may be transmitted via a network or may be stored in a digital storage medium. Here, the network may include a broadcasting network and / or a communication network, and the digital storage medium may include various storage media such as a USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmitter (not shown) for transmitting the signal output from the entropy encoding unit 240 and / or a storage unit (not shown) for storing the signal may be configured as an internal / external element of the encoding apparatus 200, or the transmitter may be included in the entropy encoding unit 240.

[0048] The quantized transform coefficients output from the quantizer 233 may be used to generate a prediction signal. For example, a residual signal (residual block or residual sample) may be restored by applying inverse quantization and inverse transform to the quantized transform coefficients via the inverse quantizer 234 and the inverse transformer 235. The adder 250 may generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the reconstructed residual signal to the prediction signal output from the inter prediction unit 221 or the intra prediction unit 222. When there is no residual for the block to be processed, such as when the skip mode is applied, the predicted block may be used as the reconstructed block. The adder 250 may be referred to as a reconstruction unit or a reconstructed block generator. The generated reconstructed signal may be used for intra prediction of the next block to be processed in the current picture, and may also be used for inter prediction of the next picture after filtering, as described below.

[0049] Meanwhile, luma mapping with chroma scaling (LMCS) may be applied during picture encoding and / or reconstruction.

[0050] The filtering unit 260 may apply filtering to the reconstructed signal to improve subjective / objective image quality. For example, the filtering unit 260 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture, and may store the modified reconstructed picture in the memory 270, specifically, in the DPB of the memory 270. The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, an adaptive loop filter, a bilateral filter, etc. The filtering unit 260 may generate various information related to filtering and transmit the information to the entropy encoding unit 290, as will be described later in relation to each filtering method. The information related to filtering may be encoded by the entropy encoding unit 240 and output in the form of a bitstream.

[0051] The modified reconstructed picture transmitted to the memory 270 can be used as a reference picture in the inter predictor 221. When inter prediction is applied through this, the encoding apparatus can avoid a mismatch in prediction between the encoding apparatus 100 and the decoding apparatus, and can also improve encoding efficiency.

[0052] The DPB of the memory 270 may store the modified reconstructed picture to be used as a reference picture in the inter prediction unit 221. The memory 270 may store motion information of a block from which motion information in the current picture is derived (or encoded) and / or motion information of a block in an already reconstructed picture. The stored motion information may be transmitted to the inter prediction unit 221 to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block. The memory 270 may store reconstructed samples of reconstructed blocks in the current picture and transmit them to the intra prediction unit 222.

[0053] FIG. 3 is a diagram illustrating a schematic configuration of a video / image decoding device that can be applied to an embodiment of the present document.

[0054] Referring to FIG. 3, the decoding device 300 may include an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter 350, and a memory 360. The predictor 330 may include an inter predictor 331 and an intra predictor 332. The residual processor 320 may include a dequantizer 321 and an inverse transformer 321. The entropy decoding unit 310, the residual processor 320, the predictor 330, the adder 340, and the filter 350 may be configured as one hardware component (e.g., a decoder chipset or processor) according to an embodiment. Also, the memory 360 may include a decoded picture buffer (DPB) and may be configured as a digital storage medium. The hardware components may further include a memory 360 as an internal / external component.

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

[0056] The decoding apparatus 300 may receive a signal output from the encoding apparatus of FIG. 2 in the form of a bitstream, and the received signal may be decoded via the entropy decoding unit 310. For example, the entropy decoding unit 310 may parse the bitstream to derive information (e.g., video / image information) required for image restoration (or picture restoration). The video / image information may further include information on various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may further include general constraint information. The decoding apparatus may further decode pictures based on information on the parameter set and / or the general constraint information. Signaling / received information and / or syntax elements described later in this document may be decoded through the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit 310 may decode information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output values ​​of syntax elements required for image restoration and quantized values ​​of transform coefficients related to residuals. More specifically, the CABAC entropy decoding method may receive bins corresponding to each syntax element in a bitstream, determine a context model using information on a syntax element to be decoded and decoding information on neighboring and target blocks to be decoded, or information on symbols / bins decoded in a previous step, predict the occurrence probability of a bin according to the determined context model, and perform arithmetic decoding of the bins to generate symbols corresponding to the values ​​of each syntax element.In this case, the CABAC entropy decoding method may update the context model using information of the decoded symbol / bin for the context model of the next symbol / bin after determining the context model. Prediction information from the information decoded by the entropy decoding unit 310 is provided to a prediction unit (inter prediction unit 332 and intra prediction unit 331), and residual values ​​entropy decoded by the entropy decoding unit 310, i.e., quantized transform coefficients and related parameter information, may be input to the residual processing unit 320. The residual processing unit 320 may derive a residual signal (residual block, residual sample, residual sample array). In addition, filtering information from the information decoded by the entropy decoding unit 310 may be provided to the filtering unit 350. Meanwhile, a receiving unit (not shown) for receiving a signal output from the encoding apparatus may be further configured as an internal / external element of the decoding apparatus 300, or the receiving unit may be a component of the entropy decoding unit 310. Meanwhile, the decoding device according to this document may be called a video / image / picture decoding device, and the decoding device may 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 decoding unit 310, and the sample decoder may include at least one of the inverse quantization unit 321, the inverse transform unit 322, the addition unit 340, the filtering unit 350, the memory 360, the inter prediction unit 332, and the intra prediction unit 331.

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

[0058] The inverse transform unit 322 inversely transforms the transform coefficients to obtain a residual signal (residual block, residual sample array).

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

[0060] The prediction unit 320 may generate a prediction signal based on various prediction methods described later. For example, the prediction unit may apply intra prediction or inter prediction for prediction of one block, and may simultaneously apply intra prediction and inter prediction. This may be called combined inter and intra prediction (CIIP). The prediction unit may also be based on an intra block copy (IBC) prediction mode or a palette mode for prediction of a block. The IBC prediction mode or palette mode may be used for coding of content images / moving images such as games, for example, as in screen content coding (SCC). IBC basically performs prediction within a current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this document. The palette mode may be seen as an example of intra coding or intra prediction. When the palette mode is applied, information regarding a palette table and a palette index may be included in the video / image information and signaled.

[0061] The intra prediction unit 331 may predict the current block by referring to samples in the current picture. The referenced samples may be located in the neighborhood of the current block or may be located away from the current block depending on the prediction mode. Prediction modes in intra prediction may include a plurality of non-directional modes and a plurality of directional modes. The intra prediction unit 331 may also determine a prediction mode to be applied to the current block using prediction modes applied to neighboring blocks.

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

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

[0064] The adder 340 may be referred to as a reconstruction unit or a reconstruction block generator. The generated reconstruction signal may be used for intra prediction of a next block to be processed in the current picture, or may be output after filtering as described below, or may be used for inter prediction of a next picture.

[0065] Meanwhile, luma mapping with chroma scaling (LMCS) may be applied during picture decoding.

[0066] The filtering unit 350 may apply filtering to the reconstructed signal to improve subjective / objective image quality. For example, the filtering unit 350 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture, and may transmit the modified reconstructed picture to the memory 360, specifically, to the DPB of the memory 360. The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, an adaptive loop filter, a bilateral filter, etc.

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

[0068] In this document, the embodiments described for the filtering unit 260, the inter prediction unit 221, and the intra prediction unit 222 of the encoding device 200 can also be applied identically or correspondingly to the filtering unit 350, the inter prediction unit 332, and the intra prediction unit 331 of the decoding device 300, respectively.

[0069] As described above, prediction is performed to improve compression efficiency when performing video coding. Through this, a predicted block including a predicted sample for a current block, which is a block to be coded, can be generated. Here, the predicted block includes a predicted sample in a spatial domain (or a pixel domain). The predicted block is derived in the same way in an encoding device and a decoding device, and the encoding device signals information (residual information) on the residual between an original block and the predicted block, rather than the original sample value of the original block, to the decoding device, thereby improving the efficiency of video coding. The decoding device derives a residual block including a residual sample based on the residual information, combines the residual block with the predicted block to generate a reconstructed block including a reconstructed sample, and generates a reconstructed picture including the reconstructed block.

[0070] The residual information may be generated through a transform and quantization procedure. For example, the encoding apparatus may derive a residual block between an original block and a predicted block, perform a transform procedure on the residual samples (residual sample array) included in the residual block to derive transform coefficients, perform a quantization procedure on the transform coefficients to derive quantized transform coefficients, and signal the related residual information (through a bitstream) to a decoding apparatus. Here, the residual information may include information such as value information, position information, transform technique, transform kernel, and quantization parameter of the quantized transform coefficients. The decoding apparatus may perform an inverse quantization / inverse transform procedure based on the residual information to derive a residual sample (or a residual block). The decoding apparatus may generate a reconstructed picture based on the predicted block and the residual block. The encoding apparatus may also derive a residual block by inverse quantizing / inverse transforming the quantized transform coefficients for reference for inter-prediction of a subsequent picture, and generate a reconstructed picture based on the residual block.

[0071] Meanwhile, when intra prediction is performed, correlation between samples can be used to obtain the difference between the original block and the predicted block, i.e., a residual. The above-mentioned transform and quantization can be applied to the residual, and spatial redundancy can be removed through this. Hereinafter, an encoding method and a decoding method using intra prediction will be described in detail.

[0072] Intra prediction refers to a prediction that generates a prediction sample for a current block based on a reference sample outside the current block in a picture including the current block (hereinafter, the current picture). Here, the reference sample outside the current block refers to a sample located in the neighborhood of the current block. When intra prediction is applied to the current block, neighboring reference samples used for intra prediction of the current block can be derived.

[0073] For example, when the size (width x height) of the current block is nWxnH, the reference samples around the current block may include a total of 2xnH samples adjacent to the left boundary and bottom-left of the current block, a total of 2xnW samples adjacent to the top boundary and top-right of the current block, and one sample adjacent to the top-left of the current block. Alternatively, the reference samples around the current block may include multiple columns of top-side samples and multiple rows of left-side samples. In addition, the reference samples around the current block may include a total of nH samples adjacent to the right boundary of the current block of nWxnH size, a total of nW samples adjacent to the bottom boundary of the current block, and one sample adjacent to the bottom-right of the current block.

[0074] However, some of the reference samples around the current block may not be decoded or available. In this case, the decoding apparatus may substitute unavailable samples with available samples to construct the surrounding reference samples used for prediction. Alternatively, the decoding apparatus may construct the surrounding reference samples used for prediction through interpolation of available samples.

[0075] When the neighboring reference samples are derived, (i) the prediction sample may be derived based on an average or an interpolation of the neighboring reference samples of the current block, or (ii) the prediction sample may be derived based on a reference sample that exists in a specific (prediction) direction with respect to the prediction sample among the neighboring reference samples of the current block. In the case of (i), it may be applied when the intra prediction mode is a non-directional mode or a non-angular mode, and in the case of (ii), it may be applied when the intra prediction mode is a directional mode or an angular mode.

[0076] In addition, a prediction sample may be generated by interpolating a first neighboring sample located in a prediction direction of an intra prediction mode of the current block and a second neighboring sample located in a direction opposite to the prediction direction based on a prediction sample of the current block among the neighboring reference samples. The above case may be called linear interpolation intra prediction (LIP). In addition, a chroma prediction sample may be generated based on a luma sample using a linear model. In this case, it may be called LM mode.

[0077] Also, a tentative prediction sample of the current block may be derived based on the filtered surrounding reference samples, and the prediction sample of the current block may be derived by weighting the tentative prediction sample and at least one reference sample derived according to an intra prediction mode among existing surrounding reference samples, i.e., unfiltered surrounding reference samples. The above case may be called Position Dependent Intra Prediction (PDPC).

[0078] Also, the reference sample line with the highest prediction accuracy is selected from among multiple reference sample lines around the current block, a prediction sample is derived using a reference sample located in a prediction direction in the corresponding line, and the used reference sample line is signaled to a decoding device, thereby performing intra prediction encoding. The above case may be called multi-reference line (MRL) intra prediction or MRL-based intra prediction.

[0079] Also, the current block may be divided into vertical or horizontal sub-partitions, and intra prediction may be performed based on the same intra prediction mode, and neighboring reference samples may be derived and used in sub-partition units. That is, in this case, the intra prediction mode for the current block is applied to the sub-partitions in the same way, and neighboring reference samples may be derived and used in sub-partition units, thereby improving the performance of intra prediction as needed. Such a prediction method may be called intra sub-partitions (ISP) or ISP-based intra prediction.

[0080] The above-mentioned intra prediction methods may be called intra prediction types, distinguished from intra prediction modes. The intra prediction types may be called various terms, such as intra prediction techniques or additional intra prediction modes. For example, the intra prediction types (or additional intra prediction modes, etc.) may include at least one of the above-mentioned LIP, PDPC, MRL, and ISP. A general intra prediction method other than the specific intra prediction types, such as the LIP, PDPC, MRL, and ISP, may be called a normal intra prediction type. The normal intra prediction type may be generally applied when the above-mentioned specific intra prediction types are not applied, and prediction may be performed based on the above-mentioned intra prediction modes. Meanwhile, post-processing filtering may be performed on the derived prediction samples, if necessary.

[0081] The following drawings are created to explain a specific example of the present document. The names of specific devices and specific terms and names (e.g., syntax names, etc.) described in the drawings are presented for illustrative purposes only, and the technical features of the present document are not limited to the specific names used in the drawings.

[0082] 4 shows an example of a video encoding method based on a schematic intra prediction to which the embodiments of the present document can be applied, and FIG 5 shows a schematic intra prediction unit in an encoding device. The intra prediction unit in the encoding device of FIG 5 may be applied in the same or corresponding manner to the intra prediction unit 222 of the encoding device 200 of FIG 2 described above.

[0083] 4 and 5, S400 may be performed by the intra prediction unit 222 of the encoding apparatus, and S410 may be performed by the residual processing unit 230 of the encoding apparatus. Specifically, S410 may be performed by the subtraction unit 231 of the encoding apparatus. In S420, prediction information may be derived by the intra prediction unit 222 and encoded by the entropy encoding unit 240. In S420, residual information may be derived by the residual processing unit 230 and encoded by the entropy encoding unit 240. The residual information is information about a residual sample. The residual information may include information about a quantized transform coefficient for the residual sample. As described above, the residual sample may be derived as a transform coefficient through the transform unit 232 of the encoding apparatus, and the transform coefficient may be derived as a quantized transform coefficient through the quantization unit 233. Information about the quantized transform coefficient may be encoded in the entropy encoding unit 240 through a residual coding procedure.

[0084] The encoding apparatus performs intra prediction for a current block (S400). The encoding apparatus may derive an intra prediction mode / type for the current block, derive neighboring reference samples for the current block, and generate a prediction sample in the current block based on the intra prediction mode / type and the neighboring reference samples. Here, the procedures of determining the intra prediction mode / type, deriving the neighboring reference samples, and generating the prediction sample may be performed simultaneously, or one of the procedures may be performed prior to the other procedures.

[0085] For example, the intra prediction unit 222 of the encoding apparatus may include an intra prediction mode / type determination unit 222-1, a reference sample derivation unit 222-2, and a prediction sample derivation unit 222-3, where the intra prediction mode / type determination unit 222-1 determines an intra prediction mode / type for a current block, the reference sample derivation unit 222-2 derives reference samples around the current block, and the prediction sample derivation unit 222-3 derives a prediction sample for the current block. Meanwhile, although not shown, if a filtering procedure of the prediction sample is performed, the intra prediction unit 222 may further include a prediction sample filter unit (not shown). The encoding apparatus may determine a mode / type to be applied to the current block from among a plurality of intra prediction modes / types. The encoding apparatus may compare RD costs for the intra prediction modes / types to determine an optimal intra prediction mode / type for the current block.

[0086] As described above, the encoding apparatus may also perform a filtering procedure of the prediction samples. The filtering of the prediction samples may be called post-filtering. The filtering procedure of the prediction samples may filter some or all of the prediction samples. In some cases, the filtering procedure of the prediction samples may be omitted.

[0087] The encoding apparatus generates a residual sample for the current block based on the (filtered) predicted sample (S410). The encoding apparatus may derive the residual sample by comparing the predicted sample with a phase base based on the original samples of the current block.

[0088] The encoding apparatus may encode video information including information related to intra prediction (prediction information) and residual information related to residual samples (S420). The prediction information may include intra prediction mode information and intra prediction type information. The residual information may include a syntax for residual coding. The encoding apparatus may transform / quantize the residual samples to derive quantized transform coefficients. The residual information may include information on the quantized transform coefficients.

[0089] The encoding device may output the encoded video information in the form of a bitstream, and the output bitstream may be transmitted to a decoding device via a storage medium or a network.

[0090] As described above, the encoding apparatus can generate a reconstructed picture (including reconstructed samples and reconstructed blocks). To this end, the encoding apparatus can again inverse quantize / inverse transform the quantized transform coefficients to derive (modified) residual samples. The reason for again performing inverse quantization / inverse transform after transforming / quantizing the residual samples is to derive the same residual samples as the residual samples derived by the decoding apparatus, as described above. The encoding apparatus can generate a reconstructed block including reconstructed samples for the current block based on the predicted samples and the (modified) residual samples. A reconstructed picture for the current picture can be generated based on the reconstructed block. As described above, an in-loop filtering procedure, etc. can be further applied to the reconstructed picture.

[0091] 6 shows an example of a video decoding method based on a schematic intra prediction to which the embodiments of the present document can be applied, and FIG 7 shows a schematic intra prediction unit in a decoding device. The intra prediction unit in the decoding device of FIG 7 may be applied in the same or corresponding manner to the intra prediction unit 331 of the decoding device 300 of FIG 3 described above.

[0092] 6 and 7, the decoding apparatus may perform operations corresponding to those performed by the encoding apparatus described above. S600 to S620 may be performed by an intra prediction unit 331 of the decoding apparatus, and prediction information of S600 and residual information of S630 may be obtained from a bitstream by an entropy decoding unit 310 of the decoding apparatus. The residual processing unit 320 of the decoding apparatus may derive a residual sample for a current block based on the residual information. Specifically, the inverse quantization unit 321 of the residual processing unit 320 may derive a transform coefficient by performing inverse quantization based on a quantized transform coefficient derived based on the residual information, and the inverse transform unit 322 of the residual processing unit may perform an inverse transform on the transform coefficient to derive a residual sample for a current block. S640 may be performed by an adder 340 or a reconstruction unit of the decoding apparatus.

[0093] The decoding apparatus may derive an intra prediction mode / type for a current block based on received prediction information (intra prediction mode / type information) (S600). The decoding apparatus may derive neighboring reference samples for the current block (S610). The decoding apparatus 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 apparatus may perform a filtering procedure of the prediction samples. The filtering of the prediction samples may be referred to as post-filtering. Some or all of the prediction samples may be filtered by the filtering procedure of the prediction samples. Depending on the case, the filtering procedure of the prediction samples may be omitted.

[0094] The decoding apparatus generates a residual sample for the current block based on the received residual information (S630). The decoding apparatus generates a reconstructed sample for the current block based on the prediction sample and the residual sample, and can derive a reconstructed block including the reconstructed sample (S640). A reconstructed picture for the current picture can be generated based on the reconstructed block. As described above, an in-loop filtering procedure or the like can be further applied to the reconstructed picture.

[0095] Here, the intra prediction unit 331 of the decoding device may include an intra prediction mode / type determination unit 331-1, a reference sample derivation unit 331-2, and a prediction sample derivation unit 331-3, where the intra prediction mode / type determination unit 331-1 determines an intra prediction mode / type for a current block based on intra prediction mode / type information acquired by the entropy decoding unit 310, the reference sample derivation unit 331-2 derives reference samples around the current block, and the prediction sample derivation unit 331-3 derives a prediction sample of the current block. Meanwhile, although not shown, if the above-mentioned prediction sample filtering procedure is performed, the intra prediction unit 331 may further include a prediction sample filter unit (not shown).

[0096] The intra prediction mode information may include, for example, flag information (ex.intra_luma_mpm_flag) indicating whether a most probable mode (MPM) is applied to the current block or a remaining mode is applied. In this case, if MPM is applied to the current block, the prediction mode information may further include index information (ex.intra_luma_mpm_idx) indicating one of intra prediction mode candidates (MPM candidates). The intra prediction mode candidates (MPM candidates) may be configured in an MPM candidate list or an MPM list. In addition, if MPM is not applied to the current block, the intra prediction mode information may further include remaining mode information (ex.intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding apparatus may determine the intra prediction mode of the current block based on the intra prediction mode information.

[0097] Also, the intra prediction type information may be embodied in various forms. As an example, the intra prediction type information may include index information of intra prediction type indicating one of intra prediction types. As another example, the intra prediction type information may include at least one of reference sample line information (ex. intra_luma_ref_idx) indicating whether MRL is applied to the current block and, if MRL is applied, which reference sample line is used, ISP flag information (ex. intra_subpartitions_mode_flag) indicating whether ISP is applied to the current block, ISP type information (ex. intra_subpartitions_split_flag) indicating a subpartition split type when ISP is applied, flag information indicating whether PDCP is applied, or flag information indicating whether LIP is applied. Also, the intra prediction type information may include an MIP flag indicating whether MIP is applied to the current block.

[0098] The intra prediction mode information and / or intra prediction type information may be encoded / decoded through the coding method described in this document. For example, the intra prediction mode information and / or intra prediction type information may be encoded / decoded through entropy coding (e.g., CABAC, CAVLC) based on a truncated (rice) binary code.

[0099] On the other hand, when intra prediction is applied, the intra prediction mode applied to the current block may be determined using the intra prediction mode of the neighboring blocks. For example, the decoding apparatus may select one of the MPM candidates in an MPM (most probable mode) list derived based on the intra prediction modes of neighboring blocks (e.g., left and / or upper neighboring blocks) of the current block and additional candidate modes based on the received MPM index, or may select one of the remaining intra prediction modes not included in the MPM candidates (and the planar mode) based on the remaining intra prediction mode information. The MPM list may be configured to include or not include the planar mode as a candidate. For example, if the MPM list includes the planar mode as a candidate, the MPM list may have six candidates, and if the MPM list does not include the planar mode as a candidate, the MPM list may have five candidates. If the mpm list does not include the planar mode as a candidate, a not planar flag (ex. intra_luma_not_planar_flag) indicating whether the intra prediction mode of the current block is not a planar mode may be signaled. For example, the mpm flag may be signaled first, and the mpm index and not planar flag may be signaled if the value of the mpm flag is 1. Also, the mpm index may be signaled if the value of the not planar flag is 1. Here, the reason that the mpm list is configured not to include the planar mode as a candidate is that the planar mode is always considered as the mpm, rather than the planar mode being not an mpm, and therefore the flag (not planar flag) is signaled first to check whether the mode is a planar mode or not.

[0100] For example, whether the intra prediction mode applied to the current block is among the mpm candidates (and planar mode) or among the remaining mode may be indicated based on the mpm flag (ex. intra_luma_mpm_flag). A value of 1 of the mpm flag may indicate that the intra prediction mode for the current block is among the mpm candidates (and planar mode), and a value of 0 of the mpm flag may indicate that the intra prediction mode for the current block is not among the mpm candidates (and planar mode). A value of 0 of the not planar flag (ex. intra_luma_not_planar_flag) may indicate that the intra prediction mode for the current block is planar mode, and a value of 1 of the not planar flag may indicate that the intra prediction mode for the current block is not planar mode. The mpm index may be signaled in the form of a syntax element of mpm_idx or intra_luma_mpm_idx, and the remaining intra prediction mode information may be signaled in the form of a syntax element of rem_intra_luma_pred_mode or intra_luma_mpm_remainder. For example, the remaining intra prediction mode information may index the remaining intra prediction modes not included in the mpm candidates (and planar modes) among all intra prediction modes in the order of prediction mode numbers and point to one of them. The intra prediction mode may be an intra prediction mode for a luma component (sample). Hereinafter, the intra prediction mode information may include at least one of an mpm flag (ex. intra_luma_mpm_flag), a not planar flag (ex. intra_luma_not_planar_flag), an mpm index (ex. mpm_idx or intra_luma_mpm_idx), and remaining intra prediction mode information (rem_intra_luma_pred_mode or intra_luma_mpm_remainder).In this document, the mpm list may be referred to by various terms, such as an mpm candidate list, a candidate mode list (candModeList), a candidate intra-prediction mode list, etc.

[0101] In general, when an image is divided into blocks, a current block to be coded and a neighboring block have similar image characteristics. Therefore, there is a high probability that the current block and the neighboring blocks have the same or similar intra prediction modes. Therefore, an encoder can use the intra prediction mode of the neighboring block to encode the intra prediction mode of the current block. For example, the encoder / decoder can configure an MPM (most probable modes) list for the current block. The MPM list can also be referred to as an MPM candidate list. Here, MPM can refer to a mode used to improve coding efficiency by considering the similarity between the current block and the neighboring blocks when coding an intra prediction mode.

[0102] FIG. 8 illustrates an example of an intra prediction method based on MPM mode in an encoding device to which the embodiments of this document can be applied.

[0103] Referring to Fig. 8, the encoding apparatus constructs an MPM list for a current block (S800). The MPM list may include candidate intra prediction modes (MPM candidates) that are likely to be applied to the current block. The MPM list may include intra prediction modes of neighboring blocks, and may further include a specific intra prediction mode according to a predetermined method. A specific method for constructing an MPM list will be described later.

[0104] The encoding apparatus determines an intra prediction mode of a current block (S810). The encoding apparatus may perform prediction based on various intra prediction modes and may determine an optimal intra prediction mode based on rate-distortion optimization (RDO) based on the prediction. In this case, the encoding apparatus may determine an optimal intra prediction mode using only the MPM candidates and planar modes configured in the MPM list, or may determine an optimal intra prediction mode using not only the MPM candidates and planar modes configured in the MPM list but also the remaining intra prediction modes.

[0105] Specifically, for example, if the intra prediction type of the current block is not a normal intra prediction type but a specific type (e.g., LIP, MRL, or ISP), the encoding device may consider only MPM candidates and planar modes as candidates for the intra prediction mode for the current block and determine the optimal intra prediction mode. That is, in this case, the intra prediction mode for the current block may be determined only from the MPM candidates and planar mode, and in this case, the mpm flag does not need to be encoded / signaled. In this case, the decoding device may estimate that the mpm flag is 1 without receiving a separate signal of the mpm flag.

[0106] In general, if the intra prediction mode of the current block is not a planar mode but is one of the MPM candidates in the MPM list, the encoding device generates an mpm index (mpm idx) that points to one of the MPM candidates. If the intra prediction mode of the current block is not in the MPM list, the encoding device generates remaining intra prediction mode information that points to the same mode as the intra prediction mode of the current block among the remaining intra prediction modes not included in the MPM list (and planar modes).

[0107] The encoding apparatus may encode the intra prediction mode information and output it in the form of a bitstream (S820). The intra prediction mode information may include the above-mentioned mpm flag, not planar flag, mpm index, and / or remaining intra prediction mode information. In general, the mpm index and the remaining intra prediction mode information are alternative and are not signaled simultaneously when indicating the intra prediction mode for one block. That is, the value 1 of the mpm flag and the not planar flag or the mpm index are signaled together, or the value 0 of the mpm flag and the remaining intra prediction mode information are signaled together. However, as described above, when a specific intra prediction type is applied to the current block, the mpm flag may not be signaled and only the not planar flag and / or the mpm index may be signaled. That is, in this case, the intra prediction mode information may include only the not planar flag and / or the mpm index.

[0108] 9 shows an example of an intra prediction method based on an MPM mode in a decoding device to which an embodiment of this document can be applied. The decoding device of FIG. 9 can determine an intra prediction mode in response to the intra prediction mode information determined and signaled by the encoding device of FIG.

[0109] 9, the decoding apparatus acquires intra-prediction mode information from a bitstream (S900). The intra-prediction mode information may include at least one of an mpm flag, a not planar flag, an mpm index, and a remaining intra-prediction mode, as described above.

[0110] The decoding apparatus constructs an MPM list (S910). The MPM list is constructed in the same manner as the MPM list constructed in the encoding apparatus. That is, the MPM list may include intra-prediction modes of neighboring blocks, and may further include a specific intra-prediction mode according to a predetermined method. A specific method for constructing the MPM list will be described later.

[0111] Although S910 is illustrated as being performed after S900, this is by way of example only, and S910 may be performed prior to S900 or may be performed simultaneously.

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

[0113] For example, when the value of the mpm flag is 1, the decoding apparatus may derive a planar mode as the intra prediction mode of the current block (based on the not planar flag) or derive a candidate indicated by the mpm index from among the MPM candidates in the MPM list as the intra prediction mode of the current block. Here, the MPM candidate may refer to only the candidates included in the MPM list, or may include not only the candidates included in the MPM list but also the planar modes that can be applied when the value of the mpm flag is 1.

[0114] As another example, when the value of the mpm flag is 0, the decoding device may derive the intra prediction mode indicated by the remaining intra prediction mode information from among the remaining intra prediction modes not included in the MPM list and the planar mode as the intra prediction mode of the current block.

[0115] As another example, if the intra prediction type of the current block is a specific type (e.g., LIP, MRL, or ISP, etc.), the decoding device may derive a planar mode or a candidate pointed to by an mpm index in the MPM list as the intra prediction mode of the current block even without checking the mpm flag.

[0116] Meanwhile, the intra prediction modes may include a non-directional (or non-angular) intra prediction mode and a directional (or angular) intra prediction mode. For example, the HEVC standard uses intra prediction modes including two non-directional prediction modes and 33 directional prediction modes. The non-directional prediction modes may include a planar intra prediction mode numbered 0 and a DC intra prediction mode numbered 1, and the directional prediction modes may include intra prediction modes numbered 2 to 34. The planar intra prediction mode may be referred to as a planar mode, and the DC intra prediction mode may be referred to as a DC mode.

[0117] Alternatively, in order to capture any edge direction presented in a natural video, the directional intra prediction modes may be expanded from the existing 33 to 65 as shown in FIG. 10 described below. In this case, the intra prediction modes may include two non-directional intra prediction modes and 65 directional intra prediction modes. The non-directional intra prediction modes may include a planar intra prediction mode numbered 0 and a DC intra prediction mode numbered 1, and the directional intra prediction modes may include intra prediction modes numbered 2 to 66. The expanded directional intra prediction modes may be applied to blocks of all sizes and may be applied to all luma and chroma components. However, this is merely an example, and the embodiment of this document may also be applied to cases where the number of intra prediction modes is different. Depending on the case, the 67th intra prediction mode may be further used, and the 67th intra prediction mode may indicate a linear model (LM) mode.

[0118] FIG. 10 shows an example of an intra prediction mode to which the embodiments of this document can be applied.

[0119] Referring to FIG. 10, intra prediction modes having horizontal directionality and intra prediction modes having vertical directionality may be distinguished from each other with respect to intra prediction mode no. 34 having a prediction direction of the upper left diagonal. H and V in FIG. 10 respectively mean horizontal directionality and vertical directionality, and numbers from -32 to 32 indicate displacements of 1 / 32 units on a sample grid position. Intra prediction modes no. 2 to 33 have horizontal directionality, and intra prediction modes no. 34 to 66 have vertical directionality. Intra prediction modes no. 18 and 50 indicate horizontal intra prediction modes and vertical intra prediction modes, respectively, and intra prediction mode no. 2 may be called a lower left diagonal intra prediction mode, intra prediction mode no. 34 may be called an upper left diagonal intra prediction mode, and intra prediction mode no. 66 may be called an upper right diagonal intra prediction mode.

[0120] Meanwhile, intra prediction can use MRL using multiple reference lines. In the MRL method, intra prediction can be performed using surrounding samples located on sample lines one to three sample distances away from the upper and / or left side of the current block as reference samples.

[0121] 11 shows an example of a reference sample line for intra prediction using multiple reference lines. A block unit in FIG. 11 may refer to a current block.

[0122] In one embodiment, intra prediction can use a reference sample adjacent to the current block (or a reference sample of a reference line closest to the current block, i.e., a reference sample located at a sample distance of 0 from the current block) as a reference sample for prediction. In another embodiment, multiple reference line (MRL) intra prediction is a method using reference samples located at a sample distance of K (K is an integer equal to or greater than 1) from the left and top boundaries of the current block, and can have more options for reference samples and more accurate prediction performance than intra prediction using a reference sample closest to the current block (i.e., located at a sample distance of 0). The reference sample of the current block may be referred to as a peripheral sample of the current block or a reference line sample of the current block, and the reference line sample may be referred to as a sample on the reference line.

[0123] Referring to FIG. 11, the positions of the surrounding reference samples located at 0, 1, 2, and 3 sample distances from the current block may be referred to as reference lines 0, 1, 2, and 3, respectively. The reference lines may be referred to as reference sample lines, reference sample rows, or reference sample columns, or may be simply referred to as lines, rows, or columns. The reference lines 0, 1, 2, and 3 may be located in order of proximity to the current block. As an example, multiple reference line intra prediction may be performed based on the reference lines 1 and 2. As another example, multiple reference line intra prediction may be performed based on the reference lines 1 and 3. However, the multiple reference line intra prediction of this document is not necessarily limited to these examples.

[0124] In addition, the intra prediction based on the multiple reference line (MRL) may signal reference line information for indicating which reference line is used. For example, the reference line information may be signaled in the form of a syntax element of intra_luma_ref_idx. When the value of intra_luma_ref_idx is 0, it may indicate that intra prediction is performed using a reference sample closest to the current block (i.e., located at a sample distance of 0). When the value of intra_luma_ref_idx is 1, it may indicate that intra prediction is performed using a reference sample second closest to the current block (i.e., located at a sample distance of 1). When the value of intra_luma_ref_idx is 2, it may indicate that intra prediction is performed using a reference sample third or fourth closest to the current block (i.e., located at a sample distance of 2 or 3).

[0125] Meanwhile, in intra prediction, a block to be coded (encoded / decoded) can be coded / decoded without division by considering the block to be coded (encoded / decoded) as one coding unit. Alternatively, the block to be coded can be divided into subpartitions and intra prediction can be performed. Such an intra prediction method can be called intra sub-partitions (ISP) or ISP-based intra prediction. That is, the ISP method can perform intra prediction by dividing the block to be coded horizontally or vertically. In this case, coding / decoding is performed in divided block units to generate a reconstructed block, and the reconstructed block can be used as a reference block for the next divided block. The current intra sub-partition (ISP) can be divided according to the size of the block as shown in Table 1. Table 1 below shows the number of sub-partitions according to the size of the block when the intra sub-partition (ISP) mode is applied to the current block.

[0126] [Table 1]

[0127] FIG. 12 shows an example of sub-partitions divided by intra-sub-partitions (ISPs).

[0128] FIG. 12(a) illustrates an example of division in the horizontal and vertical directions when a current block (original HxW partition, ie, a CU of HxW size) is a 4x8 or 8x4 block.

[0129] As shown in (a) of Figure 12, a 4x8 block or an 8x4 block can be partitioned horizontally or vertically. If partitioned horizontally, it can be divided into two sub-partition blocks each having a size of (H / 2)xW, and if partitioned vertically, it can be divided into two sub-partition blocks each having a size of Hx(W / 2).

[0130] FIG. 12(b) illustrates an example of division in the horizontal and vertical directions when the current block (original HxW partition, ie, a CU of HxW size) is a remaining block excluding 4x4, 4x8, and 8x4 blocks.

[0131] As shown in (b) of Figure 12, HxW blocks except for 4x4, 4x8, and 8x4 blocks can be partitioned horizontally or vertically. In this case, when partitioned horizontally, it can be divided into 4 sub-partition blocks having a size of (H / 4)xW, and when partitioned vertically, it can be divided into 4 sub-partition blocks having a size of Hx(W / 4).

[0132] In order to reduce the complexity of coding, the intra sub-partition method generates an MPM list according to each partitioning method (horizontal partitioning and vertical partitioning), and compares the suitable prediction modes in the generated MPM list in terms of rate distortion optimization (RDO) to generate the optimal mode. In addition, when the above-mentioned multiple reference line (MRL) intra prediction is used, the intra sub-partition method cannot be used. That is, the intra sub-partition method can be applied only when the 0th reference line is used (i.e., when the value of intra_luma_ref_idx is 0). In addition, when the above-mentioned intra sub-partition method is used, the above-mentioned PDPC cannot be used.

[0133] The intra subpartition method first transmits whether or not intra subpartitions are applied on a block-by-block basis, and if the current block uses intra subpartitions (intra_subpartitions_mode_flag), it again encodes / decodes information on whether the partition is horizontal or vertical (intra_subpartitions_split_flag).

[0134] When the intra sub-partition method is applied, the intra prediction mode for the current block is applied to the sub-partitions in the same manner, and the performance of intra prediction can be improved by deriving and using neighboring reference samples in units of sub-partitions. That is, when the intra sub-partition method is applied, a residual sample processing procedure is performed in units of sub-partitions. In other words, an intra prediction sample is derived for each sub-partition, and a residual signal (residual sample) for the corresponding sub-partition is added thereto to obtain a reconstructed sample. The residual signal (residual sample) may be derived through an inverse quantization / inverse transform procedure based on the residual information (quantized transform coefficient information or residual coding syntax) in the bitstream described above. That is, a prediction sample for the first sub-partition and a residual sample are derived, and a reconstructed sample for the first sub-partition can be derived based on the prediction sample. In this case, when a prediction sample for the second sub-partition is derived, some of the reconstructed samples in the first sub-partition (e.g., reference samples in the left or upper peripheral side of the second sub-partition) may be used as neighboring reference samples for the second sub-partition. Similarly, prediction samples and residual samples for the second subpartition are derived, and based on the above, reconstruction samples for the second subpartition can be derived. In this case, when deriving prediction samples for the third subpartition, some of the reconstruction samples in the second subpartition (e.g., reference samples on the left or upper side of the third subpartition) can be used as peripheral reference samples for the third subpartition. The same can be applied to the remaining subpartitions.

[0135] As described above, the intra prediction may be an intra prediction method based on a multiple reference line (MRL), an intra prediction method based on a subpartition (ISP), or a general intra prediction method other than a specific intra prediction method such as MRL or ISP. In this case, general intra prediction that is not a specific intra prediction type (e.g., MRL or ISP) performs intra prediction encoding / decoding using 67 intra prediction modes, and the intra prediction of the multiple reference line performs intra prediction encoding / decoding using 65 intra prediction modes excluding a planar mode and a DC mode. In addition, the intra prediction of the subpartition performs intra prediction encoding / decoding using 66 intra prediction modes excluding a DC mode. Since the three intra predictions (existing intra prediction, intra prediction of the multiple reference line, and intra prediction of the subpartition) all perform intra prediction encoding / decoding using a different number of intra prediction modes, the MPM list generation methods for each prediction are all different.

[0136] More specifically, general intra prediction uses all 67 intra prediction modes to form an MPM list including 6 MPM candidates. Since intra prediction of multiple reference lines does not use planar mode and DC mode, 65 intra prediction modes excluding planar mode and DC mode are used to form an MPM list including 6 MPM candidates. Since intra prediction of sub-partitions does not use DC mode, 66 intra prediction modes excluding DC mode are used to form an MPM list including 6 MPM candidates. In this case, in the case of intra prediction of sub-partitions, MPM lists are formed in different ways according to horizontal division and vertical division. In this way, an MPM list including 6 MPM candidates is formed using different methods for one intra prediction.

[0137] Therefore, in order to increase the coding efficiency of intra prediction, a unified MPM list generation method can be used. Therefore, this document proposes a method in which MPM lists used in general intra prediction, multi-reference line intra prediction, and sub-partition intra prediction can be configured in a single unified method. As an embodiment, after generating a unified tentative MPM list, MPM lists for general intra prediction, multi-reference line intra prediction, and sub-partition intra prediction can be generated. As another embodiment, after generating a unified tentative MPM list, a specific prediction mode (e.g., DC mode) can be added according to a specific intra prediction type (i.e., general intra prediction, multi-reference line intra prediction, and sub-partition intra prediction), and in consideration of this, MPM lists for general intra prediction, multi-reference line intra prediction, and sub-partition intra prediction can be generated.

[0138] By using the method for generating a unified MPM list according to the embodiments of this document, the structure of intra prediction encoding / decoding can be simplified, and the efficiency of intra mode encoding / decoding can be increased, thereby increasing the efficiency of video encoding / decoding.

[0139] FIG. 13 is a diagram for explaining one embodiment of a method for generating a unified MPM list according to this document.

[0140] In this embodiment, a method is described for constructing a unified MPM list taking into account certain unused prediction modes (e.g., planar mode, DC mode) depending on a particular intra prediction type (i.e., general intra prediction, intra prediction of multiple reference lines, intra prediction of sub-partitions).

[0141] As an embodiment, the method of generating an MPM list including six MPM candidates used in general intra prediction can be applied to the method of generating MPM lists for multiple reference line intra prediction and sub-partition intra prediction in the same way. In this case, the method of generating an MPM list used in general intra prediction may be an existing MPM list generation method or may be an improved method of an existing MPM list generation method. For example, the MPM list used in general intra prediction may be constructed according to the methods of FIGS. 8 and 9 described above.

[0142] Here, general intra prediction considers all 67 intra prediction modes to generate an MPM list, including planar mode and DC mode. However, since intra prediction of multiple reference lines does not use planar mode and DC mode, and intra prediction of sub-partitions does not use DC mode, each MPM list can be generated taking this into consideration.

[0143] Referring to FIG. 13, an MPM list including six MPM candidates used in general intra prediction may be provisionally generated. For convenience of explanation, the provisionally generated MPM list is referred to as a provisional MPM list. In other words, the provisional MPM list is an MPM list including six MPM candidates used in general intra prediction (or an MPM list improved through various improvement methods), and may be constructed by the above-described methods of FIG. 8 and FIG. 9. The construction method of such a provisional MPM list may be similarly applied when generating MPM lists for multi-reference line intra prediction and sub-partition intra prediction. As a result, a provisional MPM list including the same six MPM candidates may be generated for general intra prediction, multi-reference line intra prediction, and sub-partition intra prediction.

[0144] In this case, in the case of intra prediction of multiple reference lines, the planar mode and DC mode may not be used, and in the case of intra prediction of sub-partitions, the DC mode may not be used. In this case, a specific mode that is not used in each prediction method can be removed from the virtual MPM list generated in the same manner, and an appropriate MPM list can be reconstructed according to the corresponding prediction method.

[0145] As an example, as shown in (a), (b), and (c) of FIG. 13, a provisional MPM list can be generated for each of general intra prediction, intra prediction of multiple reference lines, and intra prediction of subpartitions. In this case, each provisional MPM list includes the same six MPM candidates. In addition, since the planar mode and DC mode are not used in the case of intra prediction of multiple reference lines, as shown in (b) of FIG. 13, the 0th planar mode of the MPM index and the 2nd DC mode of the MPM index can be removed from the provisional MPM list, and the MPM candidates in the provisional MPM list can be rearranged. As a result, an MPM list including four MPM candidates can be finally generated. In addition, since the DC mode is not used in the case of intra prediction of subpartitions, as shown in (c) of FIG. 13, the 2nd DC mode of the MPM index can be removed from the provisional MPM list, and the MPM candidates in the provisional MPM list can be rearranged. As a result, an MPM list including five MPM candidates can be finally generated.

[0146] FIG. 14 is a diagram illustrating another embodiment of a method for generating a unified MPM list according to the present document.

[0147] In this embodiment, a method of adding a specific prediction mode (e.g., DC mode) according to a specific intra prediction type (i.e., general intra prediction, multiple reference line intra prediction, sub-partition intra prediction) and configuring a unified MPM list in consideration of this will be described. As an example, a method of configuring a unified MPM list when DC mode is further used in multiple reference line intra prediction will be described.

[0148] As an embodiment, the method of generating an MPM list including six MPM candidates used in general intra prediction can be applied to the method of generating MPM lists for multiple reference line intra prediction and sub-partition intra prediction in the same way. In this case, the method of generating an MPM list used in general intra prediction may be an existing MPM list generation method or may be an improved method of an existing MPM list generation method. For example, the MPM list used in general intra prediction may be constructed according to the methods of FIGS. 8 and 9 described above.

[0149] In this case, since DC mode is added to intra prediction of multiple reference lines to perform prediction, in this case, DC mode is used and planar mode is not used. Also, DC mode is not used for intra prediction of sub-partitions. In this embodiment, each MPM list can be generated taking this into consideration.

[0150] Referring to FIG. 14, an MPM list including six MPM candidates used in general intra prediction may be provisionally generated. For convenience of explanation, the provisionally generated MPM list is referred to as a provisional MPM list. In other words, the provisional MPM list is an MPM list including six MPM candidates used in general intra prediction (or an MPM list improved through various improvement methods), and may be constructed by the above-described methods of FIG. 8 and FIG. 9. The construction method of such a provisional MPM list may be similarly applied when generating MPM lists for multi-reference line intra prediction and sub-partition intra prediction. As a result, a provisional MPM list including the same six MPM candidates may be generated for general intra prediction, multi-reference line intra prediction, and sub-partition intra prediction.

[0151] In this case, in the case of intra prediction of multiple reference lines, the DC mode may be used and the planar mode may not be used, and in the case of intra prediction of sub-partitions, the DC mode may not be used. In this case, a specific mode that is not used in each prediction method may be removed from the virtual MPM list generated in the same manner, and an appropriate MPM list may be reconstructed according to the corresponding prediction method.

[0152] As an example, as shown in (a), (b), and (c) of FIG. 14, a provisional MPM list can be generated for each of general intra prediction, multi-reference line intra prediction, and sub-partition intra prediction. In this case, each provisional MPM list includes the same six MPM candidates. In addition, in the case of multi-reference line intra prediction, a DC mode is added and used, and a planar mode is not used. Therefore, as shown in (b) of FIG. 14, the 0th planar mode of the MPM index can be removed from the provisional MPM list, and the MPM candidates in the provisional MPM list can be rearranged. As a result, an MPM list including five MPM candidates can be finally generated. In addition, in the case of sub-partition intra prediction, a DC mode is not used, and the 2nd DC mode of the MPM index can be removed from the provisional MPM list, and the MPM candidates in the provisional MPM list can be rearranged. As a result, an MPM list including five MPM candidates can be finally generated.

[0153] 13 and 14 illustrate an example of generating an MPM list, and the basic concept of the proposed method is to generate an MPM list including multiple (6) MPM candidates in general intra prediction, and then use the MPM list in the same way for intra prediction of multiple reference lines and intra prediction of subpartitions. However, in the case of intra prediction of multiple reference lines and intra prediction of subpartitions, a specific mode (e.g., planar mode, DC mode, etc.) is not used, so that the MPM candidates can be configured taking this into consideration. If a specific mode (e.g., planar mode, DC mode, etc.) that is not used in each prediction method exists in the MPM list, the MPM list for each prediction method can be configured by removing the mode and rearranging the MPM candidates. In addition, in the above-mentioned embodiment, it has been described that an MPM list including multiple (6) MPM candidates for each prediction method (i.e., a provisional MPM list) is generated, and then a specific mode (e.g., planar mode, DC mode, etc.) that is not used in each prediction method is removed to finally configure the MPM list, but this is described as an example, and the process of generating a provisional MPM list can be omitted. For example, after deriving six MPM candidates (without generating a provisional MPM list), it is possible to configure an MPM list suitable for the corresponding prediction method by excluding specific modes (e.g., planar mode, DC mode, etc.) that are not used in each prediction method. In this case, since the six MPM candidates include the planar mode, when the planar mode is not used, such as in intra prediction of multiple reference lines, it is possible to derive five MPM candidates excluding the planar mode, and configure an MPM list including the five MPM candidates.

[0154] Also, the above-mentioned embodiments (embodiments of FIG. 13 and FIG. 14) are merely examples for helping to understand the basic concept of the method for generating a unified MPM list proposed in this document. The basic concept of the method proposed in this document is to generate a unified MPM list without distinction between general intra prediction, intra prediction of multiple reference lines, and intra prediction of subpartitions when generating an MPM list. Therefore, the MPM list generated in general intra prediction can be used in the same way for intra prediction of multiple reference lines and intra prediction of subpartitions. In this case, an MPM list suitable for each intra prediction can be finally configured by considering the intra prediction modes not used in each of intra prediction of multiple reference lines and intra prediction of subpartitions.

[0155] That is, according to the embodiment proposed in this document, a unified MPM list can be configured, so that the encoding / decoding structure of intra prediction can be simplified, and the efficiency of encoding / decoding of intra prediction modes can be increased, thereby improving the overall performance of video encoding / decoding.

[0156] FIG. 15 is a flow chart that illustrates a schematic of an encoding method performed by an encoding device according to an embodiment of the present document.

[0157] The method disclosed in FIG. 15 is performed by the encoding apparatus 200 disclosed in FIG. 2. Specifically, steps S1500 to S1530 in FIG. 15 are performed by the prediction unit 220 (specifically, the intra prediction unit 222) disclosed in FIG. 2, and step S1540 in FIG. 15 is performed by the entropy encoding unit 240 disclosed in FIG. 2. In addition, the method disclosed in FIG. 15 may include the embodiments described above in this document. Therefore, in FIG. 15, detailed descriptions of contents that overlap with the embodiments described above will be omitted or simplified.

[0158] Referring to FIG. 15, the encoding apparatus may generate reference line index information indicating a reference line used for intra prediction of a current block (S1500).

[0159] As described above, the reference line index information indicates a reference line used for intra prediction based on multiple reference lines (MRL), and may be information indicating surrounding reference samples located at sample distances of 0, 1, 2, and 3 from the current block.

[0160] For example, the reference line index information may be represented in the form of the above-mentioned syntax element intra_luma_ref_idx, and may be an index value indicating any one of reference lines 0, 1, 2, and 3 based on the value of intra_luma_ref_idx. As an example, when the reference line index information (e.g., intra_luma_ref_idx) has a value of 0, it indicates that intra prediction is performed using a sample of the reference line (reference line 0 in FIG. 11) closest to the current block, and when the reference line index information (e.g., intra_luma_ref_idx) has a value other than 0 (i.e., 1 to 3), it may indicate that intra prediction is performed using samples of the reference lines (reference lines 1 to 3 in FIG. 11) second to fourth closest to the current block. That is, when the reference line index information (e.g., intra_luma_ref_idx) has a value other than 0 (i.e., 1 to 3), it may indicate that an intra prediction method based on multiple reference lines (MRL) is used.

[0161] As one embodiment, the encoding device may determine whether to apply multiple reference lines to perform intra prediction for a current block, and may generate index information of the reference lines based on the determination and signal the same to the decoding device.

[0162] The encoding apparatus may construct a Most Probable Mode (MPM) list including candidate intra prediction modes (MPM candidate modes) for intra prediction of a current block (S1510).

[0163] As an embodiment, the encoding apparatus may configure the MPM list based on whether a particular intra prediction method (e.g., multiple reference line intra prediction, sub-partition intra prediction, etc.) is applied. In this case, the process of configuring the MPM list may be applied to the above-described embodiment, which is described in detail with reference to FIG. 13 and FIG. 14.

[0164] For example, the encoding apparatus may generate the MPM list based on whether intra prediction of multiple reference lines is applied. For example, when intra prediction is performed by applying multiple reference lines to the current block, i.e., when the value of the index information of the reference lines is not 0, the encoding apparatus may derive the DC mode as one of the candidate intra prediction modes and include it in the MPM list.

[0165] Also, as described above, when performing intra prediction by applying multiple reference lines, the planar mode may not be available. Therefore, the encoding apparatus may not use the planar mode as the intra prediction mode of the current block when the value of the index information of the reference lines is not 0. For example, the encoding apparatus may configure a provisional MPM list for intra prediction of multiple reference lines. At this time, when the planar mode is included among the candidate intra prediction modes in the provisional MPM list, the encoding apparatus may remove the planar mode from the provisional MPM list and reconstruct the MPM list. Here, the process of configuring the provisional MPM list may be omitted depending on the implementation method of the MPM list. For example, since the planar mode is not used when the value of the index information of the reference lines is not 0, the encoding apparatus may first determine that the planar mode is not used as the intra prediction mode based on the value of the index information of the reference lines, and derive five candidate intra prediction modes (here, including the DC mode) excluding the planar mode from the six candidate intra prediction modes and configure the MPM list. Therefore, depending on the algorithm for implementing the MPM list, it may be possible to implement the MPM list without the intermediate process of constructing a provisional MPM list.

[0166] In addition, the encoding apparatus may generate and signal information indicating whether the planar mode is used as the intra prediction mode of the current block. For example, planar flag information may be used as information indicating whether the planar mode is used as the intra prediction mode of the current block. The planar flag information may be the above-mentioned not planar flag (e.g., intra_luma_not_planar_flag). If the value of the planar flag information (i.e., not planar flag) is 1, it may indicate that the planar mode is not used as the intra prediction mode of the current block, and if the value of the planar flag information (i.e., not planar flag) is 0, it may indicate that the planar mode is used as the intra prediction mode of the current block.

[0167] As an example, the encoding apparatus may not signal planar flag information (i.e., not planar flag) based on the case where the value of the index information of the reference line is not 0. In this manner, when the planar flag information (i.e., not planar flag) is not signaled, the value of the planar flag information (i.e., not planar flag) may be induced to a value of 1 indicating that the planar mode is not used as the intra prediction mode of the current block. That is, as described above, when the value of the index information of the reference line is not 0, the planar mode is not used as the intra prediction mode of the current block, so that the number of bits can be saved by deriving the value of the planar flag information (i.e., not planar flag) to 1 without signaling it.

[0168] Alternatively, as another example, the encoding apparatus may generate an MPM list based on subpartition mode information indicating whether intra prediction of a subpartition is used for a current block. For example, the subpartition mode information may use the above-mentioned syntax element intra_subpartitions_mode_flag, and may indicate that intra prediction of a subpartition is used for a current block when the value of intra_subpartitions_mode_flag is 1, and may indicate that intra prediction of a subpartition is not used for a current block when the value of intra_subpartitions_mode_flag is 0. As described above, when intra prediction of a subpartition is used, DC mode may not be available. Therefore, when the subpartition mode information indicates that intra prediction of a subpartition is used for a current block (e.g., when the value of intra_subpartitions_mode_flag is 1), the encoding apparatus may not use DC mode as an intra prediction mode of a current block. For example, the encoding apparatus may configure a tentative MPM list for intra prediction of a subpartition. In this case, if the DC mode is included among the candidate intra prediction modes in the provisional MPM list, the encoding apparatus may remove the DC mode from the provisional MPM list and reconstruct it as an MPM list. Here, the process of constructing the provisional MPM list may be omitted depending on the implementation method of the MPM list. For example, when intra prediction of a sub-partition is used, the DC mode is not used, so that the MPM list including five candidate intra prediction modes may be finally constructed by not including the DC mode in the candidate intra prediction modes. Therefore, it is possible to implement the method without the intermediate process of constructing the provisional MPM list.

[0169] According to an embodiment, the encoding apparatus may generate sub-partition mode information and signal the sub-partition mode information to the decoding apparatus when the value of the reference line index information is 0. In other words, the encoding apparatus may determine whether to perform intra prediction of the sub-partition when multiple reference lines are not applied (i.e., when intra prediction is performed using a sample of the reference line closest to the current block), and may generate the sub-partition mode information based on the determination. In this case, the encoding apparatus may not use the DC mode as the intra prediction mode of the current block when the value of the reference line index information is 0 and the value of the sub-partition mode information is 1. In other words, in this case, the encoding apparatus may generate an MPM list by not including the DC mode in the candidate intra prediction modes.

[0170] The encoding apparatus may derive an intra-prediction mode for the current block from among the candidate intra-prediction modes included in the MPM list (S1520).

[0171] In one embodiment, the encoding apparatus may perform various intra prediction modes on the current block, derive an intra prediction mode having an optimal RD (rate-distortion) cost, and determine the intra prediction mode as the intra prediction mode of the current block. In this case, the encoding apparatus may derive the optimal intra prediction mode for the current block based on the intra prediction modes including two non-directional intra prediction modes and 65 intra directional prediction modes. Alternatively, the encoding apparatus may determine the optimal intra prediction mode using only the MPM candidates configured in the MPM list.

[0172] For example, when the value of the reference line index information is not 0, the encoding apparatus may derive an optimal intra prediction mode for the current block using the intra prediction mode of the MPM candidate included in the MPM list. That is, in this case, the intra prediction mode for the current block may be determined only from the candidate intra prediction modes including the DC mode in the MPM list. Also, when the value of the reference line index information is not 0, the encoding apparatus may not encode / signal the MPM flag information. In this way, when the MPM flag information is not encoded / signaled, the value of the MPM flag information may be induced to be 1. As described above, the MPM flag information may be indicated in the form of a syntax element of intra_luma_mpm_flag. For example, when the value of intra_luma_mpm_flag is 1, it may indicate that the intra prediction mode of the current block is selected from the intra prediction modes of the MPM candidates, and when the value of intra_luma_mpm_flag is 0, it may indicate that the intra prediction mode of the current block is not selected from the intra prediction modes of the MPM candidates.

[0173] The encoding apparatus may generate MPM index information indicating an intra-prediction mode for a current block (S1530).

[0174] As an example, the encoding apparatus may generate an index value indicating one of the candidate intra prediction modes in the MPM list and encode it as MPM index information when the value of the reference line index information is not 0 and the value of the MPM flag information is induced to be 1. That is, when the value of the reference line index information is not 0 and the value of the MPM flag information is induced to be 1, the MPM index information may be encoded / signaled.

[0175] The encoding apparatus may encode image information including the MPM index information and the reference line index information (S1540).

[0176] As an embodiment, the encoding apparatus may encode image information including reference line index information determined based on whether intra prediction based on multiple reference lines is applied and MPM index information indicating an intra prediction mode of a current block derived based on an MPM list, as described above, and output the encoded image information in the form of a bitstream. Also, the encoding apparatus may encode sub-partition mode information determined based on whether intra prediction of a sub-partition is applied to a current block, as described above, by including it in the image information.

[0177] In addition, the encoding apparatus may generate a prediction sample of the current block based on an intra prediction mode of the current block. As an example, the encoding apparatus may derive at least one surrounding reference sample of the reference samples surrounding the current block based on the intra prediction mode, and may generate a prediction sample based on the surrounding reference sample. Here, the surrounding reference sample may be derived based on index information of a reference line, and may include, for example, a surrounding reference sample included in a reference line indicated by the index information of the reference line.

[0178] The encoding apparatus may also derive a residual sample for the current block based on a predicted sample of the current block and an original sample of the current block. The encoding apparatus may also generate residual information for the current block based on the residual sample, and encode image information including the residual information. Here, the residual information may include information such as value information, position information, transformation technique, transformation canal, and quantization parameter of quantized transform coefficients derived by transforming and quantizing the residual sample.

[0179] That is, the encoding apparatus may encode image information including the intra prediction mode information (MPM index information, reference line index information, etc.) and / or residual information of the current block and output the encoded image information as a bitstream.

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

[0181] The process of generating a prediction sample for the current block as described above is performed by the intra prediction unit 222 of the encoding apparatus 200 disclosed in FIG. 2, the process of deriving a residual sample is performed by the subtraction unit 231 of the encoding apparatus 200 disclosed in FIG. 2, and the process of generating and encoding residual information is performed by the residual processing unit 230 and the entropy encoding unit 240 of the encoding apparatus 200 disclosed in FIG. 2.

[0182] FIG. 16 is a flow chart that illustrates a schematic diagram of a decoding method performed by a decoding device according to an embodiment of the present document.

[0183] The method disclosed in FIG. 16 is performed by the decoding apparatus 300 disclosed in FIG. 3. Specifically, steps S1600 to S1630 in FIG. 16 are performed by the entropy decoding unit 310 and / or the prediction unit 330 (specifically, the intra prediction unit 331) disclosed in FIG. 3, and step S1640 in FIG. 16 is performed by the addition unit 340 disclosed in FIG. 3. In addition, the method disclosed in FIG. 16 may include the embodiments described above in this document. Therefore, in FIG. 16, detailed descriptions of contents overlapping with the embodiments described above will be omitted or simplified.

[0184] Referring to FIG. 16, a decoding apparatus can obtain Most Probable Mode (MPM) index information and reference line index information from a bitstream (S1600).

[0185] As described above, the reference line index information indicates a reference line used for intra prediction based on multiple reference lines (MRL), and may be information indicating surrounding reference samples located at sample distances of 0, 1, 2, and 3 from the current block.

[0186] For example, the reference line index information may be represented in the form of the syntax element intra_luma_ref_idx described above, and may be an index value indicating any one of reference lines 0, 1, 2, and 3 based on the value of intra_luma_ref_idx. As an example, when the reference line index information (e.g., intra_luma_ref_idx) has a value of 0, it indicates that intra prediction is performed using a sample of the reference line (reference line 0 in FIG. 11) closest to the current block, and when the reference line index information (e.g., intra_luma_ref_idx) has a value other than 0 (i.e., 1 to 3), it may indicate that intra prediction is performed using samples of the reference lines (reference lines 1 to 3 in FIG. 11) second to fourth closest to the current block. That is, when the reference line index information (e.g., intra_luma_ref_idx) has a value other than 0 (i.e., 1 to 3), it may indicate that an intra prediction method based on multiple reference lines (MRL) is used.

[0187] As an example, the decoding device may obtain a syntax element of reference line index information (e.g., intra_luma_ref_idx) from a bitstream and parse (decode) the reference line index information (e.g., intra_luma_ref_idx) as a result of the parsing, and may determine whether intra prediction of multiple reference lines is applied based on the value.

[0188] In addition, the decoding apparatus may obtain MPM index information indicating an intra prediction mode for the current block from among candidate intra prediction modes in the MPM list from the bitstream and parse (decode) the MPM index information, i.e., the decoding apparatus may derive the intra prediction mode of the current block from the MPM list based on the MPM index information.

[0189] The decoding apparatus may construct an MPM list including candidate intra-prediction modes for intra-prediction of the current block (S1610).

[0190] In one embodiment, the decoding device may configure the MPM list based on whether a particular intra prediction method (e.g., multiple reference line intra prediction, sub-partition intra prediction, etc.) is applied. In this case, the process of configuring the MPM list may be applied to the above-mentioned embodiment, which is described in detail with reference to FIG. 13 and FIG. 14.

[0191] For example, the decoding device may determine whether intra prediction of multiple reference lines is applied based on index information of the reference lines, and may generate an MPM list accordingly. For example, when intra prediction is performed by applying multiple reference lines to the current block, i.e., when the value of the index information of the reference lines is not 0, the decoding device may derive a DC mode as one of the candidate intra prediction modes and include it in the MPM list.

[0192] Also, as described above, when performing intra prediction by applying multiple reference lines, the planar mode may not be available. Therefore, the decoding apparatus may not use the planar mode as the intra prediction mode of the current block when the value of the index information of the reference lines is not 0. For example, the decoding apparatus may configure a provisional MPM list for intra prediction of multiple reference lines. At this time, when the planar mode is included among the candidate intra prediction modes in the provisional MPM list, the decoding apparatus may remove the planar mode from the provisional MPM list and reconstruct the MPM list. Here, the process of configuring the provisional MPM list may be omitted depending on the implementation method of the MPM list. For example, since the planar mode is not used when the value of the index information of the reference lines is not 0, the decoding apparatus may first determine that the planar mode is not used as the intra prediction mode based on the value of the index information of the reference lines, and derive five candidate intra prediction modes (here, including the DC mode) excluding the planar mode from the six candidate intra prediction modes and configure the MPM list. Therefore, the MPM list can be implemented without the intermediate process of constructing a provisional MPM list by an algorithmic method for implementing the MPM list.

[0193] In addition, the decoding apparatus may obtain information indicating whether the planar mode is used as the intra prediction mode of the current block from the bitstream. In this case, planar flag information may be used as the information indicating whether the planar mode is used as the intra prediction mode of the current block. The planar flag information may be the above-mentioned not planar flag (e.g., intra_luma_not_planar_flag). If the value of the planar flag information (i.e., not planar flag) is 1, it may indicate that the planar mode is not used as the intra prediction mode of the current block, and if the value of the planar flag information (i.e., not planar flag) is 0, it may indicate that the planar mode is used as the intra prediction mode of the current block.

[0194] As an example, if the value of the reference line index information is not 0, the planar flag information (i.e., not planar flag) may not be signaled. In this case, since the decoding apparatus cannot acquire the planar flag information (i.e., not planar flag) from the bitstream, the decoding apparatus may induce the value of the planar flag information (i.e., not planar flag) to 1 based on the case where the value of the reference line index information is not 0. The case where the planar flag information (i.e., not planar flag) is induced to 1 may indicate that the planar mode is not used as the intra prediction mode of the current block. That is, as described above, if the value of the reference line index information is not 0, the planar mode is not used as the intra prediction mode of the current block, so that the planar flag information (i.e., not planar flag) may be induced to 1 without being signaled, thereby saving the number of bits.

[0195] Alternatively, as another example, the decoding apparatus may generate an MPM list based on subpartition mode information indicating whether intra prediction of a subpartition is used for a current block. For example, the subpartition mode information may use the above-mentioned syntax element intra_subpartitions_mode_flag, and may indicate that intra prediction of a subpartition is used for a current block when the value of intra_subpartitions_mode_flag is 1, and may indicate that intra prediction of a subpartition is not used for a current block when the value of intra_subpartitions_mode_flag is 0. As described above, when intra prediction of a subpartition is used, DC mode may not be available. Therefore, when the subpartition mode information indicates that intra prediction of a subpartition is used for a current block (e.g., when the value of intra_subpartitions_mode_flag is 1), the decoding apparatus may not use DC mode as an intra prediction mode of the current block. For example, the decoding apparatus may configure a tentative MPM list for intra prediction of a subpartition. In this case, if the DC mode is included among the candidate intra prediction modes in the provisional MPM list, the decoding apparatus may remove the DC mode from the provisional MPM list and reconstruct it as an MPM list. Here, the process of constructing the provisional MPM list may be omitted depending on the implementation method of the MPM list. For example, when intra prediction of a sub-partition is used, the DC mode is not used, so that the MPM list including five candidate intra prediction modes may be finally constructed by not including the DC mode in the candidate intra prediction modes. Therefore, it is possible to implement the method without the intermediate process of constructing the provisional MPM list.

[0196] According to an embodiment, the decoding apparatus may acquire sub-partition mode information from a bitstream when the value of the reference line index information is 0. In other words, the decoding apparatus may acquire sub-partition information indicating whether or not to perform intra prediction of a sub-partition only when multiple reference lines are not applied (i.e., when intra prediction is performed using a sample of a reference line closest to the current block), and perform decoding. In this case, when the value of the reference line index information is 0 and the value of the sub-partition mode information is 1, the decoding apparatus may not use the DC mode as the intra prediction mode of the current block. In other words, in this case, the decoding apparatus may generate an MPM list by not including the DC mode in the candidate intra prediction modes.

[0197] The decoding apparatus may derive an intra prediction mode for the current block from among the candidate intra prediction modes included in the MPM list based on the MPM index information (S1620).

[0198] In one embodiment, the decoding apparatus may obtain intra-prediction mode information for a current block from a bitstream. The intra-prediction mode information may include MPM flag information, MPM index information, remaining mode information, etc., as information for indicating the intra-prediction mode of the current block.

[0199] In this case, if the value of the reference line index information is not 0, the MPM flag information may not be signaled from the encoding device. If the MPM flag information is not signaled, the decoding device may induce the value of the MPM flag information to be 1. As described above, the MPM flag information may be signaled in the form of a syntax element of intra_luma_mpm_flag. For example, if the value of intra_luma_mpm_flag is 1, it may indicate that the intra prediction mode of the current block is selected from among the MPM candidate intra prediction modes, and if the value of intra_luma_mpm_flag is 0, it may indicate that the intra prediction mode of the current block is not selected from among the MPM candidate intra prediction modes.

[0200] Also, if the value of the reference line index information is not 0 and the value of the MPM flag information is induced to be 1, the MPM index information may be signaled from the encoding device. That is, the decoding device may obtain and decode the MPM index information from the bitstream. As described above, the MPM index information includes an index value indicating an intra prediction mode for a current block among candidate intra prediction modes included in the MPM list, and may be represented in the form of a syntax element of, for example, intra_luma_mpm_idx.

[0201] That is, if the value of the index information of the reference line is not 0 and the value of the MPM flag information is induced to be 1, the decoding device can acquire and decode the MPM index information, and based on this, derive the intra prediction mode of the current block from the MPM list.

[0202] The decoding apparatus may generate a prediction sample for the current block based on the intra-prediction mode of the current block (S1630).

[0203] In one embodiment, the decoding apparatus may derive at least one of the neighboring reference samples of the current block based on the derived intra prediction mode as described above, and may generate a prediction sample based on the neighboring reference sample, where the neighboring reference sample may be derived based on index information of the reference line, for example, may include neighboring reference samples included in the reference line indicated by the index information of the reference line.

[0204] The decoding apparatus may generate reconstructed samples for the current block based on the predicted samples (S1640).

[0205] In one embodiment, the decoding apparatus may directly use the predicted sample as a reconstructed sample according to a prediction mode, or may generate a reconstructed sample by adding a residual sample to the predicted sample.

[0206] The decoding apparatus may receive information about a residual for the current block if a residual sample for the current block exists. The information about the residual may include a transform coefficient for the residual sample. The decoding apparatus may derive a residual sample (or a residual sample array) for the current block based on the residual information. The decoding apparatus may generate a reconstructed sample based on the prediction sample and the residual sample, and may derive a reconstructed block or a reconstructed picture based on the reconstructed sample. As described above, the decoding apparatus may subsequently apply an in-loop filtering procedure, such as a deblocking filtering and / or an SAO procedure, to the reconstructed picture to improve subjective / objective image quality as necessary.

[0207] In the above embodiments, the method is described based on a flowchart as a series of steps or blocks, but the embodiments of this document are not limited to the order of steps, and certain steps may occur in a different order or simultaneously with other steps than those described above. Also, those skilled in the art will understand that the steps shown in the flowcharts are not exclusive, and different steps may be included, or one or more steps of the flowcharts may be deleted without affecting the scope of this document.

[0208] The methods described herein may be embodied in the form of software, and the encoding device and / or decoding device described herein may be included in devices that perform image processing, such as, for example, TVs, computers, smartphones, set-top boxes, display devices, etc.

[0209] When the embodiments in this document are implemented in software, the methods described above may be implemented in modules (processes, functions, etc.) performing the functions described above. The modules may be stored in a memory and executed by a processor. The memory may be internal or external to the processor and may be coupled to the processor in various well-known ways. The processor may include an application-specific integrated circuit (ASIC), other chipsets, logic circuits, and / or data processing devices. The memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and / or other storage devices. That is, the embodiments described in this document may be implemented and performed on a processor, microprocessor, controller, or chip. For example, the functional units shown in each drawing may be implemented and performed on a computer, processor, microprocessor, controller, or chip. In this case, information on instructions or algorithms for the implementation may be stored in a digital storage medium.

[0210] In addition, the decoding device and encoding device to which this document is applied may be included in a multimedia broadcast transmitting / receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video interactive device, a real-time communication device such as video communication, a mobile streaming device, a storage medium, a camcorder, a customized video (VoD) service providing device, an over-the-top video (OTT) device, an internet streaming service providing device, a three-dimensional (3D) video device, a virtual reality (VR) device, an argument reality (AR) device, an image telephone video device, a transportation means terminal (e.g., a vehicle (including an autonomous vehicle) terminal, an airplane terminal, a ship terminal, etc.), a medical video device, etc., and may be used to process a video signal or a data signal. For example, an over-the-top video (OTT) device may include a game console, a Blu-ray player, an internet access TV, a home theater system, a smartphone, a tablet PC, a digital video recorder (DVR), etc.

[0211] In addition, the processing method to which this document is applied may be produced in the form of a program executed by a computer and may be stored in a computer-readable recording medium. Multimedia data having a data structure according to this document may also be stored in a computer-readable recording medium. The computer-readable recording medium includes all kinds of storage devices and distributed storage devices in which computer-readable data is stored. The computer-readable recording medium may include, for example, a Blu-ray Disc (BD), a Universal Serial Bus (USB), a ROM, a PROM, an EPROM, an EEPROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. In addition, the computer-readable recording medium may include a medium embodied in the form of a carrier wave (e.g., transmission via the Internet). In addition, a bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted via a wired or wireless communication network.

[0212] Furthermore, the embodiments of the present document may be embodied in a computer program product having program code, the program code being executable by a computer in accordance with the embodiments of the present document, the program code being stored on a carrier readable by a computer.

[0213] FIG. 17 illustrates an example of a content streaming system to which the embodiments disclosed herein may be applied.

[0214] Referring to FIG. 17, the content streaming system applied to the embodiments of this document may broadly include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.

[0215] The encoding server compresses content input from a multimedia input device such as a smartphone, camera, camcorder, etc. into digital data to generate a bitstream and transmits the bitstream to the streaming server. As another example, if a multimedia input device such as a smartphone, camera, camcorder, etc. directly generates a bitstream, the encoding server may be omitted.

[0216] The bitstream may be generated by an encoding method or a bitstream generation method applied to an embodiment of this document, and the streaming server may temporarily store the bitstream during the process of transmitting or receiving the bitstream.

[0217] The streaming server transmits multimedia data to a user device based on a user request via a web server, and the web server acts as a medium to inform the user of available services. When a user requests a desired service from the web server, the web server transmits the request to the streaming server, and the streaming server transmits multimedia data to the user. In this case, the content streaming system may include a separate control server, and in this case, the control server controls commands / responses between devices in the content streaming system.

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

[0219] Examples of the user devices include mobile phones, smart phones, laptop computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation systems, slate PCs, tablet PCs, ultrabooks, wearable devices such as smartwatches, smart glass, head mounted displays (HMDs), digital TVs, desktop computers, and digital signage.

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

[0221] The claims described herein may be combined in various ways. For example, the technical features of the method claims herein may be combined to be embodied as an apparatus, the technical features of the device claims herein may be combined to be embodied as a method, the technical features of the method claims herein and the technical features of the device claims herein may be combined to be embodied as an apparatus, and the technical features of the method claims herein and the technical features of the device claims herein may be combined to be embodied as a method.

[0222] (Claims in the present description can be combined in a various way. For instance, technical features in method claims of the present description can be combined to be implemented or performed in an apparatus, and technical features in apparatus claims can be combined to be implemented or performed in a method. Further, technical features in method claim(s) and apparatus claim(s) can be combined to be implemented or performed in an apparatus. Further, technical features in method claim(s) and apparatus claim(s) can be combined to be implemented or performed in a method.)

Claims

1. 1. A video decoding method performed by a decoding device, comprising: obtaining Most Probable Mode (MPM) index information and reference line index information from a bitstream; constructing an MPM list including candidate intra prediction modes for intra prediction of the current block; deriving an intra prediction mode for the current block from the candidate intra prediction modes included in the MPM list based on the MPM index information; generating a prediction sample for the current block based on the intra-prediction mode; generating a reconstructed sample for the current block based on the predicted sample; In the step of constructing the MPM list, a DC mode is derived as one of the candidate intra-prediction modes and is included in the MPM list; The reference line index information relates to a value indicating a reference line used for intra prediction of the current block, A video decoding method, in which a planar mode is not included in the MPM list based on the value of the reference line index information being not equal to 0, the number of candidate intra-prediction modes in the MPM list is 5, and the intra-prediction mode of the current block is derived from the MPM list based on the MPM index information.

2. The method of claim 1 , further comprising: not using a planar mode as the intra prediction mode of the current block based on a value of the reference line index information not equal to zero.

3. Based on the value of the reference line index information not being equal to 0, planar flag information relating to indicating whether the planar mode is used as the intra prediction mode of the current block is not signaled; The image decoding method of claim 2 , wherein the value of the planar flag information is set to 1, indicating that the planar mode is not used as the intra prediction mode of the current block.

4. constructing a provisional MPM list; In the step of constructing the MPM list, The video decoding method of claim 2 , wherein the MPM list is reconstructed to remove the planar mode based on whether the planar mode is included among candidate intra-prediction modes in the tentative MPM list.

5. The image decoding method of claim 1 , wherein the DC mode is not used as the intra prediction mode of the current block based on sub-partition mode information related to indicating whether intra prediction of a sub-partition is used for the current block.

6. obtaining the sub-partition mode information based on the value of the reference line index information being equal to 0; The method of claim 5 , wherein the DC mode is not used as the intra prediction mode for the current block based on the sub-partition mode information indicating that intra prediction of a sub-partition is used for the current block.

7. constructing a provisional MPM list; In the step of constructing the MPM list, The video decoding method of claim 5 , wherein the MPM list is reconstructed to remove the DC mode based on whether the DC mode is included among the candidate intra-prediction modes in the tentative MPM list.

8. The reference line index information having a value of 0 indicates that intra prediction is performed using a sample of a reference line closest to the current block, The image decoding method of claim 1, wherein the reference line index information has a value other than 0, which means that intra prediction is performed using samples of the reference lines that are second to fourth closest to the current block.

9. A video encoding method performed by an encoding device, comprising: generating reference line index information relating to a value indicating a reference line used for intra prediction of a current block; constructing a Most Probable Mode (MPM) list including candidate intra prediction modes for intra prediction of the current block; deriving an intra prediction mode for the current block from the candidate intra prediction modes included in the MPM list; generating MPM index information associated with indicating the intra-prediction mode for the current block; encoding image information including the MPM index information and the reference line index information; In the step of constructing the MPM list, a DC mode is derived as one of the candidate intra-prediction modes and is included in the MPM list; A video encoding method, wherein a planar mode is not included in the MPM list based on the value of the reference line index information being not equal to 0, the number of candidate intra-prediction modes in the MPM list is 5, and the MPM index information is generated based on the intra-prediction mode of the current block derived from the MPM list.

10. The video encoding method of claim 9 , wherein a planar mode is not used as the intra prediction mode for the current block based on a value of the reference line index information not equal to 0.

11. Based on the value of the reference line index information not being equal to 0, planar flag information relating to indicating whether the planar mode is used as the intra prediction mode of the current block is not signaled; The video encoding method of claim 10 , wherein the value of the planar flag information is set to 1, indicating that the planar mode is not used as the intra prediction mode of the current block.

12. constructing a provisional MPM list; In the step of constructing the MPM list, The video encoding method of claim 10 , wherein the MPM list is reconstructed to remove the planar mode based on whether the planar mode is included among the candidate intra-prediction modes in the tentative MPM list.

13. 1. A method for transmitting data for video information, comprising: generating a bitstream of the video information including MPM index information and reference line index information; The bitstream is generated by generating the reference line index information related to a value indicating a reference line used for intra prediction of the current block, constructing an MPM (Most Probable Mode) list indicating candidate intra prediction modes for intra prediction of the current block, deriving an intra prediction mode for the current block from the candidate intra prediction modes included in the MPM list, generating the MPM index information related to indicating the intra prediction mode for the current block, and encoding the image information including the MPM index information and the reference line index information, transmitting the data including the bitstream of the video information including the MPM index information and the reference line index information; In constructing the MPM list, a DC mode is derived as one of the candidate intra-prediction modes and is included in the MPM list; A method, wherein based on the value of the reference line index information not being equal to 0, a planar mode is not included in the MPM list, the number of candidate intra prediction modes in the MPM list is 5, and the MPM index information is generated based on the intra prediction mode of the current block derived from the MPM list.

Citation Information

Patent Citations

  • Intra prediction method and apparatus based on MPM list

    JP7682793B2