Intra prediction method and apparatus based on MPM list

The video coding method employing an MPM list for intra prediction addresses the inefficiencies in compressing high-resolution video data by improving prediction performance and simplifying the coding structure, resulting in enhanced coding efficiency and reduced costs.

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

Patent Information

Application Number
JP2021549140
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-02-20
Filing Date
2020-02-20
Publication Date
2025-05-26
Estimated Expiration
2040-02-20

AI Technical Summary

Technical Problem

Current video coding technologies face challenges in efficiently compressing, transmitting, and storing high-resolution and high-quality video data, particularly for immersive media and high-definition formats like 4K and 8K, which result in increased bitrates and higher transmission and storage costs.

Method used

The proposed solution involves a video coding method and apparatus that utilizes an MPM (Most Probable Modes) list for intra prediction. This method includes obtaining MPM index information and reference line index information from a bitstream, constructing an MPM list with candidate intra prediction modes, deriving an intra prediction mode for the current block, generating prediction samples, and producing restored samples based on these prediction samples.

Benefits of technology

This approach enhances the efficiency of video coding by improving intra prediction performance, reducing implementation complexity, and simplifying the structure of intra prediction, thereby achieving better coding efficiency and reducing transmission and storage costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007682793000002
    Figure 0007682793000002
  • Figure 0007682793000003
    Figure 0007682793000003
  • Figure 0007682793000004
    Figure 0007682793000004
Patent Text Reader

Abstract

The video decoding method according to this document includes the steps of: obtaining 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 step of constructing the MPM list is characterized in that, based on a case where the value of the reference line index information indicating the reference line used for intra prediction of the current block is not 0, DC mode is derived as one of the candidate intra prediction modes and included in the MPM list.
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 Art

[0002] Recently, the demand for high-resolution and high-quality video / video such as 4K or UHD (Ultra High Definition) video / video of 8K or higher has been increasing in various fields. As the video / video data becomes higher in resolution and quality, the amount of information or bits transmitted relatively increases compared to existing video / video data. Therefore, when transmitting video data using a medium such as an existing wired or wireless broadband line, or storing video / video data using an existing storage medium, the transmission cost and storage cost increase.

[0003] Also, recently, the interest and demand for immersive media such as VR (Virtual Reality), AR (Artificial Reality) content, and holograms have been increasing, and the broadcast of video / video having video characteristics different from real-world video, such as game video, has been increasing.

[0004] Therefore, in order to effectively compress, transmit, store, and reproduce information of high-resolution and high-quality video / video having various characteristics as described above, a high-efficiency video / video compression technology is required.

Summary of the Invention

Problems to be Solved by the Invention

[0005] The technical problem of this document is to provide a method and apparatus for enhancing 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, intra prediction with multiple reference lines, and intra prediction of sub-partitions.

Means for Solving the Problem

[0009] According to an embodiment of this document, a video decoding method performed by a decoding apparatus is provided. The method includes steps of obtaining MPM (Most Probable Mode) index information and index information of a reference line 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 among 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 restored sample for the current block based on the prediction sample. The step of constructing the MPM list is characterized in that when the value of the index information of the reference line indicating the reference line used for intra prediction of the current block is not 0, the DC mode is derived as one of the candidate intra prediction modes and included in the MPM list.

[0010] According to another embodiment of the present document, a video encoding method performed by an encoding device is provided. The method includes generating index information of a reference line indicating a reference line used for intra prediction of a current block, constructing an MPM (Most Probable Mode) list including candidate intra prediction modes for intra prediction of the current block, deriving an intra prediction mode for the current block from among 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 index information of the reference line. The step of constructing the MPM list derives the DC mode as one of the candidate intra prediction modes and includes it in the MPM list based on the case where the value of the index information of the reference line is not 0.

[0011] According to another embodiment of the present document, there is provided a computer-readable digital storage medium on which encoded video information that causes a decoding device to perform a video decoding method is stored. The video decoding method includes steps of: obtaining MPM (Most Probable Mode) index information and index information of a reference line 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 among 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 restored sample for the current block based on the prediction sample. The step of constructing the MPM list is characterized in that, based on a case where a value of the index information of the reference line indicating a reference line used for intra prediction of the current block is not zero, a DC mode is derived as one of the candidate intra prediction modes and included in the MPM list.

Advantages of the Invention

[0012] According to the present document, the efficiency of general video / video compression can be improved.

[0013] According to the present document, through efficient intra prediction, by reducing the complexity of implementation and improving the prediction performance, the efficiency of general coding can be improved.

[0014] According to the present document, by constructing a unified MPM list for general intra prediction, intra prediction with multiple reference lines, and intra prediction of sub-partitions, the structure of intra prediction can be simplified, and the intra prediction mode can be efficiently coded to improve coding efficiency.

Brief Description of the Drawings

[0015]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Best Mode for Carrying Out the Invention

[0016] This document can be modified in various ways and can have various embodiments. Therefore, specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit this document to specific embodiments. The terms commonly used in this document are merely used to explain specific embodiments and are not intended to limit the technical idea of this document. Singular expressions include plural expressions unless the context clearly indicates a different meaning. In this document, terms such as "including" or "having" are intended to specify the existence of features, numbers, steps, operations, components, parts, or combinations thereof described in the document, and should be understood not to preclude the possibility of the existence or addition of one or more different features, numbers, steps, operations, components, parts, or combinations thereof.

[0017] On the other hand, each configuration in the drawings described in this document is shown independently for the convenience of explaining different characteristic functions, and does not mean that each configuration is implemented by separate hardware or separate software. For example, among the configurations, two or more configurations may form one configuration together, or one configuration may be divided into a plurality of configurations. Embodiments in which each configuration is integrated and / or separated are also included in the scope of rights of this document as long as they do not deviate from the essence of this document.

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

[0019] The slashes ( / ) and commas used in this document 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" can mean "only A", "only B", or "both A and B". Also, in this document, expressions such as "at least one of A or B" and "at least one of A and / or B" can be interpreted in the same way as "at least one of A and B".

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

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

[0023] The technical features separately described within one drawing in this document may be implemented separately or simultaneously.

[0024] Hereinafter, with reference to the accompanying drawings, the preferred embodiments of this document will be described in more detail. Hereinafter, the same reference numerals will be used for the same components on the drawings, and duplicate descriptions for the same components may be omitted.

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

[0026] This document presents various embodiments related to video / video coding, and unless otherwise stated, the embodiments may be combined with each other.

[0027] In this document, a video can mean a collection of a series of images over time. A picture generally means a unit indicating one image in a specific time period, and a slice / tile is a unit that constitutes a part of a picture in coding. A slice / tile can contain one or more CTUs (coding tree units). One picture can be composed of one or more slices / tiles. One picture can be composed of one or more tile groups. One tile group can contain 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, where the CTUs may be ordered consecutively in a CTU raster scan within a brick, bricks within a tile may be ordered consecutively in a raster scan of the bricks of the tile, and tiles in a picture may be 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 width specified by syntax elements in the picture parameter set and a height equal to the height 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 may include 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, tile groups and slices may be 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 pel may mean the smallest unit that constitutes one picture (or video). Also, the term "sample" may be used as a term corresponding to a pixel. A sample may generally indicate a pixel or a pixel value, may indicate only the pixel / pixel value of the luma component, or may indicate only the pixel / pixel value of the chroma component. Alternatively, a sample may mean a pixel value in the spatial domain, and when such a pixel value is converted to the frequency domain, it may mean a conversion coefficient in the frequency domain.

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

[0030] FIG. 1 schematically shows an example of a video / video coding system applicable to an embodiment of this document.

[0031] Referring to FIG. 1, a video / video coding system can include a first device (source device) and a second device (receiving device). The source device can transmit encoded video / image information or data in the form of a file or a stream to the receiving device via a digital storage medium or a network.

[0032] The source device can include a video source, an encoding device, and a transmitting unit. The receiving device can include a receiving unit, a decoding device, and a renderer. The encoding device may be referred to as a video / video encoding device, and the decoding device may be referred to as a video / video decoding device. A transmitter can be included in the encoding device. A receiver can be included in the decoding device. The renderer may include a display unit, and the display unit may be composed of another device or an external component.

[0033] Through processes such as video / video capture, synthesis, or generation, the video source can acquire video / video. The video source can include a video / video capture device and / or a video / video generation device. The video / video capture device can include, for example, one or more cameras, a video / video archive containing previously captured video / video, etc. The video / video generation device can include, for example, a computer, a tablet, and a smartphone, etc., and can (electronically) generate video / video. For example, virtual video / video can be generated via a computer or the like, and in this case, the process of generating related data can replace the video / video capture process.

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

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

[0036] The decoding device can perform a series of procedures such as inverse quantization, inverse transformation, prediction, etc. corresponding to the operation of the encoding device, and decode the video / video.

[0037] The renderer can render the decoded video / video. The rendered video / video can be displayed via the display unit.

[0038] Figure 2 is a drawing schematically explaining the configuration of a video / video encoding device applicable to the embodiments of this document. Hereinafter, the video encoding device can include the video encoding device.

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

[0040] The video segmentation unit 210 can divide the input video (or picture, frame) input to the encoding device 200 into one or more processing units. As an example, the processing unit may be called a coding unit (CU). In this case, the coding unit can be recursively divided from a coding tree unit (CTU) or the largest coding unit (LCU) by a QTBTTT (Quad-tree binary-tree ternary-tree) structure. For example, one coding unit can be divided into multiple coding units with a deeper depth based on a quad-tree structure, a binary-tree structure, and / or a ternary-tree structure. In this case, for example, the quad-tree structure may be applied first, and the binary-tree structure and / or the ternary-tree structure may be applied later. Alternatively, the binary-tree structure may be applied first. Based on the final coding unit that cannot be further divided, the coding procedure according to this document can be performed. In this case, based on the coding efficiency and the like according to the characteristics of the video, the largest coding unit can be directly used as the final coding unit, or if necessary, the coding unit can be recursively divided into coding units with a deeper depth, and the coding unit with the optimal size can be used as the final coding unit. Here, the coding procedure can include procedures such as prediction, transformation, and restoration described later. As another example, the processing unit can further include a prediction unit (PU: Prediction Unit) or a transform unit (TU: Transform Unit). In this case, the prediction unit and the transform unit can be divided or partitioned from the final coding unit described above, respectively.The prediction unit may be a unit of sample prediction, and the conversion unit may be a unit that derives a conversion coefficient and / or a unit that derives a residual signal from the conversion coefficient.

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

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

[0043] The intra prediction unit 222 can predict the current block by referring to samples within the current picture. The samples to be referred to may be located around (neighbor) the current block or at a distance therefrom depending on the prediction mode. The prediction modes in intra prediction can include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes can include, for example, the DC mode and the planar mode (Planar mode). The directional modes can include, for example, 33 directional prediction modes or 65 directional prediction modes depending on the degree of fineness of the prediction direction. However, this is an example, and more or fewer directional prediction modes can be used depending on the setting. The intra prediction unit 222 can also determine the prediction mode to be applied to the current block using the prediction mode applied to the surrounding blocks.

[0044] The inter prediction unit 221 can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, in order to reduce the amount of motion information transmitted in the inter prediction mode, the motion information can be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the peripheral block and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include information on the inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, the peripheral block can include a spatial neighboring block existing in the current picture and a temporal neighboring block existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block may be referred to by names such as a collocated reference block and a collocated CU (colCU), and the reference picture including the temporal neighboring block may also be referred to as a collocated picture (colPic). For example, the inter prediction unit 221 can configure a candidate list of motion information based on the peripheral block, and generate information indicating which candidate is used to derive the motion vector and / or the index of the reference picture of the current block. Inter prediction is performed based on various prediction modes. For example, in the case of the skip mode and the merge mode, the inter prediction unit 221 can use the motion information of the peripheral block as the 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 the motion vector prediction (MVP) mode, the motion vector of a neighboring block can be used as a motion vector predictor, and the motion vector difference can be signaled to indicate the motion vector of the current block.

[0045] The prediction unit 220 can generate a prediction signal based on various prediction methods described below. For example, the prediction unit can apply intra prediction or inter prediction for the prediction of one block, and can also apply intra prediction and inter prediction simultaneously. This can be called combined inter and intra prediction (CIIP). Also, the prediction unit may be based on the intra block copy (IBC) prediction mode for the prediction of a block, or may be based on the palette mode. The IBC prediction mode or the palette mode can be used for coding content videos / movies such as games, for example, like SCC (screen content coding). IBC basically performs prediction within the current picture, but may be performed in the same way as inter prediction in terms of deriving a reference block within the current picture. That is, IBC can use at least one of the inter prediction techniques described in this document. The palette mode can be regarded as an example of intra coding or intra prediction. When the palette mode is applied, the sample values within the picture can be signaled based on the information regarding the palette table and the palette index.

[0046] The prediction signal generated via the prediction unit (including the inter prediction unit 221 and / or the intra prediction unit 222) can be used to generate a restored signal or can be used to generate a residual signal. The conversion unit 232 can apply a conversion technique to the residual signal to generate transform coefficients. For example, the conversion technique can include at least one of DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), KLT (Karhunen-Loeve Transform), GBT (Graph-Based Transform), or CNT (Conditionally Non-linear Transform). Here, GBT means the conversion obtained from this graph when expressing the relationship information between pixels in a graph. CNT means the conversion obtained based on generating a prediction signal using all previously reconstructed pixels. Also, the conversion process may be applied to a pixel block having the same size of a square or may be applied to a block of variable size that is not square.

[0047] The quantization unit 233 quantizes the transform coefficients and transmits them to the entropy encoding unit 240. The entropy encoding unit 240 can encode the quantized signal (information regarding the quantized transform coefficients) and output it as a bitstream. The information regarding the quantized transform coefficients may be referred to as residual information. The quantization unit 233 can reorder the quantized transform coefficients in the form of a block into a one-dimensional vector based on the scan order of the coefficients, and can also generate the information regarding the quantized transform coefficients based on the quantized transform coefficients in the form of the one-dimensional vector. The entropy encoding unit 240 can perform various encoding methods such as, for example, exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive binary arithmetic coding), etc. The entropy encoding unit 240 can also encode, together or separately, information necessary for video / image restoration (e.g., values of syntax elements, etc.) in addition to the quantized transform coefficients. The encoded information (e.g., encoded video / video information) can be transmitted or stored in the form of a bitstream in units of NAL (network abstraction layer) units. The video / video information can further include information regarding various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Also, the video / video information can further include general constraint information. Information and / or syntax elements transmitted / signaled from the encoding device to the decoding device in this document may be included in the video / video information. The video / video information is encoded through the encoding procedure described above and may be 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 broadcast network and / or a communication network, etc., and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The signal output from the entropy encoding unit 240 may be configured as an internal / external element of the encoding device 200 by a transmission unit (not shown) for transmission and / or a storage unit (not shown) for storage, or the transmission unit may be included in the entropy encoding unit 240.

[0048] The quantized transform coefficients output from the quantization unit 233 can be used to generate a prediction signal. For example, by applying inverse quantization and inverse transformation to the quantized transform coefficients via the inverse quantization unit 234 and the inverse transformation unit 235, a residual signal (residual block or residual sample) can be restored. The addition unit 250 can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the restored residual signal to the prediction signal output from the inter prediction unit 221 or the intra prediction unit 222. When there is no residual for the block to be processed, as in the case where the skip mode is applied, the predicted block can be used as the reconstructed block. The addition unit 250 may be called a restoration unit or a reconstructed block generation unit. The generated reconstructed signal can be used for intra prediction of the next block to be processed within the current picture and, as will be described later, can also be used for inter prediction of the next picture after passing through filtering.

[0049] On the other hand, LMCS (luma mapping with chroma scaling) may be applied during the picture encoding and / or restoration process.

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

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

[0052] The DPB of the memory 270 can store the modified restored picture for use as a reference picture in the inter prediction unit 221. The memory 270 can store the motion information of the blocks in which the motion information within the current picture has been derived (or encoded) and / or the motion information of the blocks within the already restored picture. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the restored samples of the restored blocks within the current picture and transmit them to the intra prediction unit 222.

[0053] FIG. 3 is a drawing schematically illustrating the configuration of a video / video decoding apparatus applicable to the embodiments of this document.

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

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

[0056] The decoding device 300 can receive the signal output from the encoding device in FIG. 2 in the form of a bitstream, and the received signal can be decoded via the entropy decoding unit 310. For example, the entropy decoding unit 310 can parse the bitstream to derive information (e.g., video / video information) necessary for video restoration (or picture restoration). The video / video information can further include information regarding various parameter sets such as an Adaptation Parameter Set (APS), a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), or a Video Parameter Set (VPS). Also, the video / video information can further include general constraint information. The decoding device can further decode a picture based on the information regarding the parameter set and / or the general constraint information. The signaling / received information and / or syntax elements described later in this document can be decoded through the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit 310 can decode the information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output the value of the syntax element necessary for video restoration and the quantized value of the transform coefficient regarding the residual. More specifically, the CABAC entropy decoding method receives the bin corresponding to each syntax element in the bitstream, determines a context model using the syntax element information to be decoded, the decoding information of the surrounding and the block to be decoded, or the information of the symbol / bin decoded in the previous stage, predicts the occurrence probability of the bin according to the determined context model, performs arithmetic decoding of the bin, and can generate a symbol corresponding to the value of each syntax element.At this time, the CABAC entropy decoding method can update the context model using the information of the decoded symbol / bin for the next symbol / bin context model after determining the context model. Among the information related to prediction in the information decoded by the entropy decoding unit 310, the information related to prediction is provided to the prediction unit (inter prediction unit 332 and intra prediction unit 331), and the residual value for which entropy decoding is performed by the entropy decoding unit 310, that is, the quantized transform coefficient and related parameter information can be input to the residual processing unit 320. The residual processing unit 320 can derive a residual signal (residual block, residual sample, residual sample array). Also, the information related to filtering among the information decoded by the entropy decoding unit 310 can be provided to the filtering unit 350. On the other hand, a receiving unit (not shown) that receives the signal output from the encoding device can be further configured as an internal / external element of the decoding device 300, or the receiving unit may be a component of the entropy decoding unit 310. On the other hand, the decoding device according to this document may be called a video / video / picture decoding device, and the decoding device may be classified into an information decoder (video / video / picture information decoder) and a sample decoder (video / video / picture sample decoder). The information decoder can include the entropy decoding unit 310, and the sample decoder can include at least one of the inverse quantization unit 321, inverse transform unit 322, addition unit 340, filtering unit 350, memory 360, inter prediction unit 332, and intra prediction unit 331.

[0057] In the inverse quantization unit 321, the quantized transform coefficients can be inverse quantized to output transform coefficients. The inverse quantization unit 321 can reorder the quantized transform coefficients in the form of a two-dimensional block. In this case, the reordering can be performed based on the scan order of the coefficients performed by the encoding device. The inverse quantization unit 321 can perform inverse quantization on the quantized transform coefficients using quantization parameters (e.g., quantization step size information) to obtain transform coefficients.

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

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

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

[0061] The intra prediction unit 331 can predict the current block by referring to samples within the current picture. The samples to be referred to may be located adjacent to or away from the periphery of the current block according to the prediction mode. In intra prediction, the prediction mode can include a plurality of non-directional modes and a plurality of directional modes. The intra prediction unit 331 can also determine the prediction mode to be applied to the current block by using the prediction mode applied to the neighboring blocks.

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

[0063] The addition unit 340 can generate a restored signal (restored picture, restored block, restored sample array) by adding the obtained 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 the block to be processed, as in the case where the skip mode is applied, the predicted block can be used as the restored block.

[0064] The addition unit 340 may be referred to as a restoration unit or a restoration block generation unit. The generated restoration signal may be used for intra prediction of the next block to be processed within the current picture, may be output after filtering as described later, or may be used for inter prediction of the next picture.

[0065] On the other hand, LMCS (luma mapping with chroma scaling) may be applied during the decoding process of a picture.

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

[0067] The (modified) restored picture stored in the DPB of the memory 360 can be used as a reference picture in the inter prediction unit 332. The memory 360 can store the motion information of the blocks for which the motion information in the current picture has been derived (or decoded) and / or the motion information of the blocks in the already restored picture. The stored motion information can be transmitted to the inter prediction unit 332 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 360 can store the restored samples of the restored blocks in the current picture and can transmit them to the intra prediction unit 331.

[0068] In this document, the examples described in the filtering unit 260, the inter prediction unit 221, and the intra prediction unit 222 of the encoding device 200 can be applied in the same or corresponding manner 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, in performing video coding, prediction is performed to improve the compression efficiency. Through this, a predicted block including prediction samples for the current block, which is the block to be coded, can be generated. Here, the predicted block includes prediction samples in the spatial domain (or pixel domain). The predicted block is derived in the same way in the encoding device and the decoding device, and the encoding device can improve the efficiency of video coding by signaling information (residual information) regarding the residual between the original block and the predicted block, rather than the original sample value of the original block, to the decoding device. The decoding device can derive a residual block including residual samples based on the residual information, and generate a restored block including restored samples by combining the residual block and the predicted block, and can generate a restored picture including the restored block.

[0070] The residual information can be generated through the conversion and quantization procedures. For example, an encoding device can derive a residual block between an original block and a predicted block, perform a conversion procedure on the residual samples (residual sample array) included in the residual block to derive conversion coefficients, perform a quantization procedure on the conversion coefficients to derive quantized conversion coefficients, and can signal the related residual information to a decoding device (via a bitstream). Here, the residual information can include information such as value information, position information, conversion technique, conversion kernel, quantization parameter, etc. of the quantized conversion coefficients. The decoding device can perform an inverse quantization / inverse conversion procedure based on the residual information to derive residual samples (or a residual block). The decoding device can generate a restored picture based on the predicted block and the residual block. The encoding device can also inverse quantize / inverse convert the quantized conversion coefficients for reference in the inter prediction of subsequent pictures to derive a residual block, and generate a restored picture based on this.

[0071] On the other hand, when intra prediction is performed, the correlation relationship between samples can be utilized, and the difference between the original block and the predicted block, that is, the residual, can be obtained. The above-mentioned conversion and quantization can be applied to the residual, and through this, spatial redundancy can be removed. Hereinafter, the encoding method and decoding method using intra prediction will be specifically described.

[0072] Intra prediction refers to a prediction that generates prediction samples for a current block based on reference samples outside the current block in a picture (hereinafter, the current picture) including the current block. Here, the reference samples outside the current block can be said to be samples located around 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 of the current block (width x height) is nW x nH, the reference samples around the current block can include samples adjacent to the left boundary of the current block, a total of 2 x nH samples adjacent to the bottom-left, samples adjacent to the top boundary of the current block, a total of 2 x nW samples adjacent to the top-right, and one sample adjacent to the top-left of the current block. Alternatively, the reference samples around the current block can also include a plurality of upper peripheral samples in a plurality of columns and a plurality of left peripheral samples in a plurality of rows. Further, the reference samples around the current block can also include a total of nH samples adjacent to the right boundary of the current block of nW x nH 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 have been decoded yet or may not be available. In this case, the decoding device can substitute the unavailable samples with available samples and construct the peripheral reference samples used for prediction. Alternatively, the peripheral reference samples used for prediction can be constructed through interpolation of the available samples.

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

[0076] Also, among the peripheral reference samples, a predicted sample can be generated through interpolation between a first peripheral sample located in the prediction direction of the intra prediction mode of the current block and a second peripheral sample located in the direction opposite to the prediction direction, with the predicted sample of the current block as a reference. The above-mentioned case can be called linear interpolation intra prediction (LIP). Also, a chroma predicted sample can be generated based on the luma sample using a linear model. In this case, it can be called the LM mode.

[0077] Also, a provisional predicted sample of the current block is derived based on the filtered peripheral reference samples, and at least one reference sample derived by the intra prediction mode among the existing peripheral reference samples, that is, the non-filtered peripheral reference samples, and the provisional predicted sample are weighted-summed to derive the predicted sample of the current block. The above-mentioned case can be called PDPC (Position dependent intra prediction).

[0078] Also, among the multiple reference sample lines around the current block, the reference sample line with the highest prediction accuracy is selected, and a prediction sample is derived using the reference sample located in the prediction direction on the corresponding line. At this time, the used reference sample line is signaled to the decoding device, and intra prediction can be encoded in this way. In the case described above, it can be called multi-reference line (MRL) intra prediction or MRL-based intra prediction.

[0079] Also, the current block can be divided into vertical or horizontal sub-partitions, and intra prediction is performed based on the same intra prediction mode, and the surrounding reference samples can 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 by deriving and using the surrounding reference samples in sub-partition units, the performance of intra prediction can be improved as appropriate. Such a prediction method can be called intra sub-partitions (ISP) or ISP-based intra prediction.

[0080] The intra prediction methods described above can be classified into intra prediction types distinct from the intra prediction modes. The intra prediction type can be called by various terms such as intra prediction techniques or additional intra prediction modes. For example, the intra prediction type (or additional intra prediction mode, etc.) can include at least one of the above-mentioned LIP, PDPC, MRL, and ISP. The general intra prediction method excluding specific intra prediction types such as the above-mentioned LIP, PDPC, MRL, and ISP can be called the normal intra prediction type. The normal intra prediction type can be generally applied when the above-mentioned specific intra prediction types are not applicable, and prediction may be performed based on the intra prediction mode described above. On the other hand, post-processing filtering may be performed on the derived prediction samples as needed.

[0081] The following figures are created to explain a specific example of this document. Since the names of specific devices, specific terms, and names (such as the name of the syntax, etc.) described in the drawings are presented exemplarily, the technical features of this document are not limited to the specific names used in the following drawings.

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

[0083] Referring to Figures 4 and 5, S400 may be performed by the intra prediction unit 222 of the encoding device, and S410 may be performed by the residual processing unit 230 of the encoding device. Specifically, S410 may be performed by the subtraction unit 231 of the encoding device. In S420, prediction information is derived by the intra prediction unit 222 and can be encoded by the entropy encoding unit 240. In S420, residual information is derived by the residual processing unit 230 and can be encoded by the entropy encoding unit 240. Residual information is information regarding residual samples. Residual information can include information regarding quantized transform coefficients for residual samples. As described above, residual samples are derived as transform coefficients via the conversion unit 232 of the encoding device, and the transform coefficients can be derived as quantized transform coefficients via the quantization unit 233. Information regarding the quantized transform coefficients can be encoded by the entropy encoding unit 240 through the residual coding procedure.

[0084] The encoding device performs intra prediction on the current block (S400). The encoding device can derive the intra prediction mode / type for the current block and derive the reference samples around the current block, and generate prediction samples within the current block based on the intra prediction mode / type and the surrounding reference samples. Here, the determination of the intra prediction mode / type, the derivation of the surrounding reference samples, and the generation procedure of the prediction samples may be performed simultaneously, or any one of the procedures may be performed prior to the other procedures.

[0085] For example, the intra prediction unit 222 of the encoding device 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. The intra prediction mode / type determination unit 222-1 determines the intra prediction mode / type for the current block, the reference sample derivation unit 222-2 derives the reference samples around the current block, and the prediction sample derivation unit 222-3 can derive the prediction samples of the current block. On the other hand, although not shown, when a filtering procedure for the prediction samples is performed, the intra prediction unit 222 may further include a prediction sample filter unit (not shown). The encoding device can determine the mode / type to be applied to the current block among a plurality of intra prediction modes / types. The encoding device can compare the RD cost for the intra prediction mode / type and determine the optimal intra prediction mode / type for the current block.

[0086] As described above, the encoding device can also perform a filtering procedure for the prediction samples. The filtering of the prediction samples may be referred to as post-filtering. By the filtering procedure of the prediction samples, some or all of the prediction samples may be filtered. Depending on the case, the filtering procedure of the prediction samples may be omitted.

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

[0088] The encoding device can encode video information including information related to intra prediction (prediction information) and residual information related to the residual samples (S420). The prediction information can include intra prediction mode information and intra prediction type information. The residual information can include the syntax of residual coding. The encoding device can convert / quantize the residual samples and derive quantized transform coefficients. The residual information can include information about the quantized transform coefficients.

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

[0090] As described above, the encoding device can generate a reconstructed picture (including reconstructed samples and reconstructed blocks). Therefore, the encoding device can perform inverse quantization / inverse transformation on the quantized transform coefficients again to derive (corrected) residual samples. The reason for performing inverse quantization / inverse transformation again after converting / quantizing the residual samples in this way is to derive the same residual samples as those derived from the decoding device, as described above. The encoding device can generate a reconstructed block including reconstructed samples for the current block based on the prediction samples and the (corrected) residual samples. Based on the reconstructed block, a reconstructed picture for the current picture can be generated. As described above, an in-loop filtering procedure or the like can be further applied to the reconstructed picture.

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

[0092] Referring to FIGS. 6 and 7, the decoding apparatus can perform operations corresponding to the operations performed by the encoding apparatus described above. S600 to S620 may be performed by the intra prediction unit 331 of the decoding apparatus, and the prediction information of S600 and the residual information of S630 can be obtained from the bitstream by the entropy decoding unit 310 of the decoding apparatus. The residual processing unit 320 of the decoding apparatus can derive residual samples for the current block based on the residual information. Specifically, the inverse quantization unit 321 of the residual processing unit 320 performs inverse quantization based on the quantized transform coefficients derived based on the residual information to derive the transform coefficients, and the inverse transform unit 322 of the residual processing unit performs an inverse transform on the transform coefficients to derive residual samples for the current block. S640 may be performed by the addition unit 340 or the restoration unit of the decoding apparatus.

[0093] The decoding device can derive the intra prediction mode / type for the current block based on the received prediction information (intra prediction mode / type information) (S600). The decoding device can derive the reference samples around the current block (S610). The decoding device generates prediction samples within the current block based on the intra prediction mode / type and the surrounding reference samples (S620). In this case, the decoding device can perform a filtering procedure on the prediction samples. The filtering of the prediction samples may be referred to as post-filtering. Some or all of the prediction samples can 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 device generates residual samples for the current block based on the received residual information (S630). The decoding device can generate restored samples for the current block based on the prediction samples and the residual samples, and derive a restored block including the restored samples (S640). Based on the restored block, a restored picture for the current picture can be generated. As described above, an in-loop filtering procedure or the like can be further applied to the restored picture.

[0095] Here, the intra prediction unit 331 of the decoding device can 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. The intra prediction mode / type determination unit 331-1 determines the intra prediction mode / type for the current block based on the intra prediction mode / type information obtained by the entropy decoding unit 310. The reference sample derivation unit 331-2 derives the reference samples around the current block, and the prediction sample derivation unit 331-3 can derive the prediction samples of the current block. On the other hand, although not shown, when the above-described filtering procedure of the prediction samples is performed, the intra prediction unit 331 may further include a prediction sample filter unit (not shown).

[0096] The intra prediction mode information can include, for example, flag information (e.g., intra_luma_mpm_flag) indicating whether MPM (most probable mode) is applied to the current block or whether the remaining mode is applied. At this time, when MPM is applied to the current block, the prediction mode information can further include index information (e.g., intra_luma_mpm_idx) indicating one of the candidates for the intra prediction mode (MPM candidates). The candidates for the intra prediction mode (MPM candidates) can be composed of an MPM candidate list or an MPM list. Also, when MPM is not applied to the current block, the intra prediction mode information can further include remaining mode information (e.g., intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the candidates for the intra prediction mode (MPM candidates). The decoding device can determine the intra prediction mode of the current block based on the intra prediction mode information.

[0097] In addition, the intra prediction type information can be embodied in various forms. As an example, the intra prediction type information can include index information of an intra prediction type that indicates one of the intra prediction types. As another example, the intra prediction type information includes reference sample line information (e.g., intra_luma_ref_idx) that indicates whether the MRL is applied to the current block and, if the MRL is applied, which reference sample line is used, ISP flag information (e.g., intra_subpartitions_mode_flag) that indicates whether the ISP is applied to the current block, ISP type information (e.g., intra_subpartitions_split_flag) that indicates the split type of the subpartition when the ISP is applied, flag information indicating whether PDCP can be applied, or flag information indicating whether LIP can be applied. Further, the intra prediction type information can include an MIP flag that indicates whether the MIP is applied to the current block.

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

[0099] On the one hand, when intra prediction is applied, the intra prediction mode applied to the current block can be determined using the intra prediction modes of the surrounding blocks. For example, the decoding device can select one of the mpm (most probable mode) candidates in the mpm list derived based on the intra prediction modes of the surrounding blocks (e.g., the left and / or upper surrounding blocks) of the current block and additional candidate modes according to the received mpm index, or can 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 can be configured to include or not include the planar mode as a candidate. For example, when the mpm list includes the planar mode as a candidate, the mpm list can have 6 candidates, and when the mpm list does not include the planar mode as a candidate, the mpm list can have 5 candidates. When the mpm list does not include the planar mode as a candidate, a not planar flag (e.g., intra_luma_not_planar_flag) indicating whether the intra prediction mode of the current block is not the planar mode can be signaled. For example, the mpm flag is first signaled, and the mpm index and the not planar flag can be signaled when the value of the mpm flag is 1. Also, the mpm index can be signaled when the value of the not planar flag is 1. Here, the reason for configuring the mpm list not to include the planar mode as a candidate is to first signal a flag (not planar flag) and check whether it is the planar mode first because the planar mode is always considered as an mpm rather than not being an mpm.

[0100] For example, whether the intra prediction mode currently applied to a block is among the mpm candidates (and the planar mode) or among the remaining modes can be indicated based on the mpm flag (e.g., intra_luma_mpm_flag). A value of 1 for the mpm flag can indicate that the intra prediction mode for the current block is within the mpm candidates (and the planar mode), and a value of 0 for the mpm flag can indicate that the intra prediction mode for the current block is not within the mpm candidates (and the planar mode). A value of 0 for the not planar flag (e.g., intra_luma_not_planar_flag) can indicate that the intra prediction mode for the current block is the planar mode, and a value of 1 for the not planar flag can indicate that the intra prediction mode for the current block is not the planar mode. The mpm index can be signaled in the form of a syntax element of mpm_idx or intra_luma_mpm_idx, and the remaining intra prediction mode information can 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 can index the remaining intra prediction modes not included in the mpm candidates (and the planar mode) among the overall intra prediction modes in ascending order of the prediction mode numbers and point to one of them. The intra prediction mode can be the intra prediction mode for the luma component (samples). Hereinafter, the intra prediction mode information can include at least one of the mpm flag (e.g., intra_luma_mpm_flag), the not planar flag (e.g., intra_luma_not_planar_flag), the mpm index (e.g., mpm_idx or intra_luma_mpm_idx), and the 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 the MPM candidate list, candidate mode list (candModeList), candidate intra prediction mode list, etc.

[0101] Generally, when performing block division on a video, the current block to be coded and the surrounding blocks will have similar video characteristics. Therefore, the current block and the surrounding blocks are likely to be identical to each other or have similar intra prediction modes. Thus, the encoder can use the intra prediction mode of the surrounding blocks to encode the intra prediction mode of the current block. For example, the encoder / decoder can construct an MPM (most probable modes) list for the current block. The MPM list can also be referred to as the MPM candidate list. Here, MPM can mean a mode that is used to improve coding efficiency by considering the similarity between the current block and the surrounding blocks during the coding of the intra prediction mode.

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

[0103] Referring to FIG. 8, the encoding apparatus constructs an MPM list for the current block (S800). The MPM list can include candidate intra prediction modes (MPM candidates) that are highly likely to be applied to the current block. The MPM list can also include the intra prediction modes of the surrounding blocks and can further include specific intra prediction modes by a predetermined method. The specific method for constructing the MPM list will be described later.

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

[0105] Specifically, for example, if the intra prediction type of the current block is not the normal intra prediction type but a specific type (e.g., LIP, MRL, or ISP), the encoding device can consider only the MPM candidates and the planar mode 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 can be determined only from the MPM candidates and the planar mode, and in this case, it may not be necessary to encode / signaling the mpm flag. The decoding device can presume that the mpm flag is 1 without receiving separate signaling of the mpm flag in this case.

[0106] Generally, when the intra prediction mode of the current block is not the planar mode but one of the MPM candidates in the MPM list, the encoding device generates an mpm index (mpm idx) indicating one of the MPM candidates. If the intra prediction mode of the current block is not in the MPM list, remaining intra prediction mode information indicating the same mode as the intra prediction mode of the current block is generated from among the remaining intra prediction modes not included in the MPM list (and the planar mode).

[0107] The encoding device can encode the intra prediction mode information and output it in the form of a bitstream (S820). The intra prediction mode information can include the mpm flag, not planar flag, mpm index, and / or remaining intra prediction mode information described above. Generally, the mpm index and the remaining intra prediction mode information are in an alternative relationship and are not signaled simultaneously when indicating the intra prediction mode for a block. That is, either the value 1 of the mpm flag and the not planar flag or the mpm index are both signaled, or the value 0 of the mpm flag and the remaining intra prediction mode information are both signaled. 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 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] FIG. 9 shows an example of an intra prediction method based on the MPM mode in a decoding device to which the embodiments of this document can be applied. The decoding device in FIG. 9 can determine the intra prediction mode corresponding to the intra prediction mode information determined and signaled by the encoding device in FIG. 8.

[0109] Referring to FIG. 9, the decoding device obtains the intra prediction mode information from the bitstream (S900). The intra prediction mode information can include at least one of the mpm flag, not planar flag, mpm index, and remaining intra prediction mode as described above.

[0110] The decoding device constructs an MPM list (S910). The MPM list is constructed in the same way as the MPM list constructed by the encoding device. That is, the MPM list may include the intra prediction modes of the surrounding blocks, and may further include specific intra prediction modes by a predetermined method. The specific method for constructing the MPM list will be described later.

[0111] Although S910 is shown to be performed after S900, this is an example, and S910 may be performed before S900 or may be performed simultaneously.

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

[0113] As an example, when the value of the mpm flag is 1, the decoding device can derive the planar mode as the intra prediction mode of the current block (not planar flag based) or derive the candidate pointed to 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 candidates may refer only to the candidates included in the MPM list, or may include not only the candidates included in the MPM list but also the planar mode 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 can derive the intra prediction mode pointed to by the remaining intra prediction mode information as the intra prediction mode of the current block from among the remaining intra prediction modes not included in the MPM list and the planar mode.

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

[0116] On the other hand, the intra prediction mode can include a non-directional (or non-angular) intra prediction mode and a directional (or angular) intra prediction mode. For example, in the HEVC standard, an intra prediction mode including two non-directional prediction modes and 33 directional prediction modes is used. The non-directional prediction modes can include the planar intra prediction mode numbered 0 and the DC intra prediction mode numbered 1, and the directional prediction modes can include the intra prediction modes numbered 2 to 34. The planar intra prediction mode can be called the planar mode, and the DC intra prediction mode can be called the DC mode.

[0117] Alternatively, to capture any edge direction presented in natural video, the directional intra prediction mode can be extended from the existing 33 to 65 as shown in FIG. 10 described later. In this case, the intra prediction mode can include two non-directional intra prediction modes and 65 directional intra prediction modes. The non-directional intra prediction modes can include the planar intra prediction mode numbered 0 and the DC intra prediction mode numbered 1, and the directional intra prediction modes can include the intra prediction modes numbered 2 to 66. The extended directional intra prediction modes can be applied to blocks of all sizes and to all of the luma and chroma components. However, this is an example, and the embodiments of this document can also be applied when the number of intra prediction modes is different. Optionally, an intra prediction mode numbered 67 may be further used, and the intra prediction mode numbered 67 may indicate the LM (linear model) 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 can be distinguished centering on the 34th intra prediction mode having a prediction direction of the upper left diagonal. H and V in FIG. 10 respectively mean horizontal directionality and vertical directionality, and the numbers from -32 to 32 indicate displacements in units of 1 / 32 on the sample grid position. The 2nd to 33rd intra prediction modes have horizontal directionality, and the 34th to 66th intra prediction modes have vertical directionality. The 18th intra prediction mode and the 50th intra prediction mode respectively indicate a horizontal intra prediction mode and a vertical intra prediction mode. The 2nd intra prediction mode can be called a lower left diagonal intra prediction mode, the 34th intra prediction mode can be called an upper left diagonal intra prediction mode, and the 66th intra prediction mode can be called an upper right diagonal intra prediction mode.

[0120] On the other hand, for intra prediction, MRL using multiple reference lines can be used. In the MRL method, for the upper side and / or the left side of the current block, intra prediction can be performed using peripheral samples located on sample lines separated by one to three sample distances as reference samples.

[0121] FIG. 11 shows an example of a reference sample line for intra prediction using multiple reference lines. The Block Unit in FIG. 11 can refer to the current block.

[0122] In one embodiment, intra prediction can use a reference sample adjacent to the current block (or a reference sample of the 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 that uses reference samples located at a sample distance of K (where K is an integer greater than or equal to 1) from the left and upper boundaries of the current block, and can have more options and more accurate prediction performance for the reference samples than intra prediction using the reference sample adjacent to the current block first (i.e., located at a sample distance of 0). The reference samples of the current block may also be referred to as the peripheral samples of the current block or the reference line samples of the current block, and the reference line samples may also be referred to as the samples on the reference line.

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

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

[0125] On the other hand, intra prediction can perform encoding / decoding without division by regarding the block to be currently coded (encoded / decoded) as one coding unit. Alternatively, intra prediction can also be performed by dividing the block to be currently coded into sub-partitions. 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 currently coded horizontally or vertically. At this time, encoding / decoding is performed in units of the divided blocks to generate restored blocks, and the restored blocks can be used as reference blocks for the next divided blocks. The current intra sub-partition (ISP) can be divided as shown in Table 1 according to the block size. The following Table 1 shows the number of sub-partitions according to the block size 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 an intra - sub - partition (ISP).

[0128] FIG. 12(a) shows an example of being divided in the horizontal and vertical directions when the current block (original HxW partition, i.e., the CU of HxW size) is 4x8 or 8x4 blocks.

[0129] As shown in FIG. 12(a), a 4x8 block or an 8x4 block can be partitioned in the horizontal or vertical direction. When partitioned in the horizontal direction, it can be divided into two sub - partition blocks with a size of (H / 2)xW, and when partitioned in the vertical direction, it can be divided into two sub - partition blocks with a size of Hx(W / 2).

[0130] FIG. 12(b) shows an example of being divided in the horizontal and vertical directions when the current block (original HxW partition, i.e., the CU of HxW size) is the remaining blocks excluding 4x4, 4x4, 8x4 blocks.

[0131] As shown in FIG. 12(b), an HxW block excluding 4x4, 4x4, 8x4 blocks can be partitioned in the horizontal or vertical direction. At this time, when partitioned in the horizontal direction, it can be divided into four sub - partition blocks with a size of (H / 4)xW, and when partitioned in the vertical direction, it can be divided into four sub - partition blocks with a size of Hx(W / 4).

[0132] The intra-subpartition method generates MPM lists for each partitioning method (horizontal partitioning and vertical partitioning) to reduce the encoding complexity. Among the prediction modes in the generated MPM lists, suitable prediction modes are compared from the perspective of bit rate-distortion (rate distortion optimization, RDO) to generate the optimal mode. Also, when the intra prediction of the aforementioned multiple reference lines (MRL) is used, the intra-subpartition method cannot be used. That is, the intra-subpartition method can be applied only when the 0th reference line is used (i.e., when the value of intra_luma_ref_idx is 0). Also, when the aforementioned intra-subpartition method is used, the aforementioned PDPC cannot be used.

[0133] The intra-subpartition method first transmits information on whether to apply intra-subpartition in block units. If the current block uses intra-subpartition (intra_subpartitions_mode_flag), it encodes / decodes information on whether it is horizontal partitioning or vertical partitioning (intra_subpartitions_split_flag) again.

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

[0135] As described above, intra prediction can apply an intra prediction method based on a multiple reference line (MRL), an intra prediction method based on a sub-partition (ISP), etc., or can apply a general intra prediction method excluding specific intra prediction methods such as MRL and ISP. At this time, general intra prediction that is not a specific intra prediction type (for example, MRL, ISP) performs encoding / decoding of intra prediction using 67 intra prediction modes, and intra prediction of multiple reference lines performs encoding / decoding of intra prediction using 65 intra prediction modes excluding the Planar mode and the DC mode. Also, intra prediction of sub-partition performs encoding / decoding of intra prediction using 66 intra prediction modes excluding the DC mode. Since the above three intra predictions (existing intra prediction, intra prediction of multiple reference lines, intra prediction of sub-partition) all perform encoding / decoding of intra prediction using different numbers of intra prediction modes, the methods for generating the MPM list for each prediction are all different.

[0136] More specifically, general intra prediction uses all 67 intra prediction modes to construct an MPM list including 6 MPM candidates. Since intra prediction of multiple reference lines does not use the Planar mode and the DC mode, it uses 65 intra prediction modes excluding the Planar mode and the DC mode to construct an MPM list including 6 MPM candidates. Intra prediction of sub-partition does not use the DC mode, so it uses 66 intra prediction modes excluding the DC mode to construct an MPM list including 6 MPM candidates. At this time, in the case of intra prediction of sub-partition, the MPM list is constructed in different ways by horizontal division and vertical division. In this way, different methods are used to construct an MPM list including 6 MPM candidates for one intra prediction.

[0137] Therefore, in order to increase the coding efficiency of intra prediction, a method for generating a unified MPM list can be used. Thus, in this document, a proposal is made for a solution that can configure the MPM lists used in general intra prediction, intra prediction with multiple reference lines, and intra prediction of sub-partitions in a single unified method. As an example of an embodiment, after generating a unified provisional MPM list, MPM lists for general intra prediction, intra prediction with multiple reference lines, and intra prediction of sub-partitions can be generated. As another example of an embodiment, after generating a unified provisional 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, intra prediction with multiple reference lines, intra prediction of sub-partitions), and in consideration of this, MPM lists for general intra prediction, intra prediction with multiple reference lines, and intra prediction of sub-partitions can be generated.

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

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

[0140] In this embodiment, a method for constructing a unified MPM list is described in consideration of specific prediction modes (e.g., planar mode, DC mode) that are not used according to a specific intra prediction type (i.e., general intra prediction, intra prediction with multiple reference lines, intra prediction of sub-partitions).

[0141] As an example, the method for generating an MPM list including six MPM candidates used in general intra prediction can be applied in the same way to the method for generating an MPM list for multi-reference line intra prediction and sub-partition intra prediction. At this time, the method for generating an MPM list used in general intra prediction may be an existing method for generating an MPM list, or may be a method that improves the existing method for generating an MPM list. For example, the MPM list used in general intra prediction can be configured by the methods of FIGS. 8 and 9 described above.

[0142] Here, general intra prediction considers all 67 intra prediction modes and generates an MPM list, including the planar mode and the DC mode. However, multi-reference line intra prediction does not use the planar mode and the DC mode, and sub-partition intra prediction does not use the DC mode. Therefore, considering this, MPM lists can be generated respectively.

[0143] Referring to FIG. 13, an MPM list including six MPM candidates used in general intra prediction can be tentatively generated. For the convenience of explanation, the MPM list tentatively generated first is referred to as a temporary MPM list. In other words, the temporary MPM list is an MPM list (or an MPM list improved through various improvement methods) including six MPM candidates used in general intra prediction, and can be configured by the methods of FIGS. 8 and 9 described above. Such a method for configuring the temporary MPM list can also be applied in the same way when generating the MPM lists for multi-reference line intra prediction and sub-partition intra prediction. As a result, a temporary MPM list including the same six MPM candidates can be generated for general intra prediction, multi-reference line intra prediction, and sub-partition intra prediction.

[0144] At this time, in the case of intra prediction of multiple reference lines, the planar mode and the 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, specific modes not used in each prediction method can be removed from the temporarily generated MPM list generated in the same way, and the MPM list suitable for the corresponding prediction method can be reconfigured.

[0145] As an example, as shown in FIGS. 13(a), (b), and (c), temporary MPM lists for general intra prediction, intra prediction of multiple reference lines, and intra prediction of sub-partitions can be generated. At this time, each temporary MPM list contains the same six MPM candidates. Also, in the case of intra prediction of multiple reference lines, since the planar mode and the DC mode are not used, as shown in FIG. 13(b), the planar mode at the 0th MPM index and the DC mode at the 2nd MPM index are removed from the temporary MPM list, and the MPM candidates in the temporary MPM list can be rearranged. As a result, an MPM list containing four MPM candidates can be finally generated. Also, in the case of intra prediction of sub-partitions, since the DC mode is not used, as shown in FIG. 13(c), the DC mode at the 2nd MPM index is removed from the temporary MPM list, and the MPM candidates in the temporary MPM list can be rearranged. As a result, an MPM list containing five MPM candidates can be finally generated.

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

[0147] In this embodiment, a method of adding a specific prediction mode (for example, the DC mode) according to a specific intra prediction type (that is, general intra prediction, intra prediction of multiple reference lines, intra prediction of sub-partitions) and constructing a unified MPM list in consideration of this will be described. As an example, a method of constructing a unified MPM list when the DC mode is further used in the intra prediction of multiple reference lines will be described.

[0148] As an example, the method for generating an MPM list including six MPM candidates used in general intra prediction can be applied in the same way to the method for generating an MPM list for multi-reference line intra prediction and sub-partition intra prediction. At this time, the method for generating an MPM list used in general intra prediction may be an existing method for generating an MPM list or a method obtained by improving the existing method for generating an MPM list. For example, the MPM list used in general intra prediction can be configured by the methods of FIGS. 8 and 9 described above.

[0149] At this time, since prediction is performed by adding the DC mode in the multi-reference line intra prediction, in this case, the DC mode is used and the planner mode is not used. Also, the sub-partition intra prediction does not use the DC mode. In this embodiment, the MPM list can be generated respectively in consideration of this.

[0150] Referring to FIG. 14, an MPM list including six MPM candidates used in general intra prediction can be tentatively generated. For the convenience of explanation, the MPM list tentatively generated first is referred to as a temporary MPM list. In other words, the temporary MPM list is an MPM list (or an MPM list improved through various improvement methods) including six MPM candidates used in general intra prediction, and can be configured by the methods of FIGS. 8 and 9 described above. Such a method for configuring the temporary MPM list can also be applied in the same way when generating the MPM list for multi-reference line intra prediction and sub-partition intra prediction. Thereby, a temporary MPM list including the same six MPM candidates can be generated for general intra prediction, multi-reference line intra prediction, and sub-partition intra prediction.

[0151] At this time, in the case of intra prediction of multiple reference lines, the DC mode may be used and the planar mode may not be used. In the case of intra prediction of sub-partitions, the DC mode may not be used. In this case, specific modes not used in each prediction method can be removed from the temporarily generated MPM list generated in the same way, and the MPM list suitable for the corresponding prediction method can be reconfigured.

[0152] As an example, as shown in FIGS. 14(a), (b), and (c), temporary MPM lists for general intra prediction, intra prediction of multiple reference lines, and intra prediction of sub-partitions can be generated. At this time, each temporary MPM list contains the same 6 MPM candidates. Also, in the case of intra prediction of multiple reference lines, since the DC mode is additionally used and the planar mode is not used, as shown in FIG. 14(b), the planar mode at the 0th MPM index is removed from the temporary MPM list, and the MPM candidates in the temporary MPM list can be re-arranged. As a result, an MPM list containing 5 MPM candidates can be finally generated. Also, in the case of intra prediction of sub-partitions, since the DC mode is not used, as shown in FIG. 14(c), the DC mode at the 2nd MPM index is removed from the temporary MPM list, and the MPM candidates in the temporary MPM list can be re-arranged. As a result, an MPM list containing 5 MPM candidates can be finally generated.

[0153] FIG. 13 and FIG. 14 illustrate an example of generating an MPM list. The basic concept of the proposed method is to generate an MPM list that includes a plurality (six) of MPM candidates in general intra prediction, and then use this in the same way for both the intra prediction of the multi-reference line and the intra prediction of the sub-partition. However, in the case of the intra prediction of the multi-reference line and the intra prediction of the sub-partition, since a specific mode (e.g., planar mode, DC mode, etc.) is not used, the MPM candidates can be configured in consideration of this. If there is a specific mode (e.g., planar mode, DC mode, etc.) that is not used in each prediction method in the MPM list, this can be removed and the MPM candidates can be re-arranged to form an MPM list for each prediction method. Also, in the above-described embodiment, after generating an MPM list (i.e., a temporary MPM list) that includes a plurality (six) of MPM candidates for each prediction method, a specific mode (e.g., planar mode, DC mode, etc.) that is not used in each prediction method is removed, and finally, it was described that the MPM list is formed. However, this is described as one example, and the process of generating the temporary MPM list can be omitted. For example, after deriving six MPM candidates (without generating a temporary MPM list), an MPM list suitable for the corresponding prediction method can be formed by excluding a specific mode (e.g., planar mode, DC mode, etc.) that is not used in each prediction method. At this time, since the planar mode is included in the six MPM candidates, when the planar mode is not used as in the intra prediction of the multi-reference line, five MPM candidates excluding this can be derived, and an MPM list including the five MPM candidates can be formed.

[0154] In addition, the above-described embodiments (the embodiments in FIGS. 13 and 14) are merely examples for helping the understanding of the basic concept of the unified MPM list generation method proposed in this document. The basic concept of the method proposed in this document is to generate a unified MPM list without classifying general intra prediction, intra prediction of multiple reference lines, and intra prediction of sub-partitions when generating the MPM list. Therefore, the MPM list generated by general intra prediction can be used in the same way for intra prediction of multiple reference lines and intra prediction of sub-partitions. At this time, considering the intra prediction modes not used in the intra prediction of multiple reference lines and the intra prediction of sub-partitions respectively, the MPM list suitable for each intra prediction can be finally configured.

[0155] That is, according to the embodiment proposed in this document, since a unified MPM list can be configured, the encoding / decoding structure of intra prediction can be simplified. In addition, the encoding / decoding efficiency of the intra prediction mode can be increased, and the overall video encoding / decoding performance can be improved.

[0156] FIG. 15 is a flowchart schematically showing an encoding method performed by an encoding apparatus according to an embodiment of this 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 can include the embodiments described above in this document. Therefore, in FIG. 15, regarding the content overlapping with the above-described embodiments, specific descriptions will be omitted or simplified.

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

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

[0160] For example, the index information of the reference line can be shown in the form of the syntax element of intra_luma_ref_idx described above, and can 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 value of the index information of the reference line (e.g., intra_luma_ref_idx) is 0, it indicates that intra prediction is performed using samples of the reference line closest to the current block (reference line 0 in FIG. 11), and when the value of the index information of the reference line (e.g., intra_luma_ref_idx) is not 0 (i.e., when it is 1 to 3), it can be shown that intra prediction is performed using samples of the reference lines second to fourth closest to the current block (reference lines 1 to 3 in FIG. 11). That is, when the value of the index information of the reference line (e.g., intra_luma_ref_idx) is not 0 (i.e., when it is 1 to 3), it can be meant that an intra prediction method based on a multiple reference line (MRL) is used.

[0161] As an embodiment, the encoding apparatus can determine whether to perform intra prediction by applying a multiple reference line to the current block, generate index information of the reference line based on the determination, and signal this to the decoding apparatus.

[0162] The encoding device can construct an MPM (Most Probable Mode) list including candidate intra prediction modes (MPM candidate modes) for intra prediction of the current block (S1510).

[0163] As an example, the encoding device can construct the MPM list based on whether a specific intra prediction method (e.g., intra prediction of multiple reference lines, intra prediction of sub - partitions, etc.) is applied. At this time, the process of constructing the MPM list can apply the above - mentioned embodiments, which are described in detail with reference to FIGS. 13 and 14.

[0164]

[0165] As an example, the encoding device can generate the MPM list based on whether intra prediction of multiple reference lines is applied. For example, when the encoding device performs intra prediction by applying multiple reference lines to the current block, that is, when the value of the index information of the reference line is not 0, the DC mode can be derived as one of the candidate intra prediction modes and included in the MPM list.Also, as described above, when performing intra prediction by applying multiple reference lines, the planar mode may not be available. Therefore, the encoding device may not use the planar mode as the intra prediction mode of the current block based on the case where the value of the index information of the reference line is not 0. For example, the encoding device can construct a temporary MPM list for intra prediction of multiple reference lines. At this time, if the planar mode is included among the candidate intra prediction modes in the temporary MPM list, the encoding device can remove the planar mode from the temporary MPM list and reconfigure it as the MPM list. Here, the process of constructing the temporary MPM list can be omitted according to the implementation method of the MPM list. For example, when the value of the index information of the reference line is not 0, since the planar mode is not used, first, it is determined that the planar mode is not used as the intra prediction mode based on the value of the index information of the reference line, and 5 candidate intra prediction modes (including the DC mode here) excluding the planar mode are derived from the 6 candidate intra prediction modes, and this can be configured as the MPM list. Therefore, depending on the algorithm method for implementing the MPM list, it is possible to implement without the intermediate process of constructing the temporary MPM list.

[0166] In addition, the encoding device can 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 can be used as information indicating whether the planar mode is used as the intra prediction mode of the current block. The planar flag information can be the above-mentioned not planar flag (e.g., intra_luma_not_planar_flag). When the value of the planar flag information (i.e., not planar flag) is 1, it indicates that the planar mode is not used as the intra prediction mode of the current block, and when the value of the planar flag information (i.e., not planar flag) is 0, it can indicate that the planar mode is used as the intra prediction mode of the current block.

[0167] As an example, the encoding device 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 way, 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) can 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, since the planar mode is not used as the intra prediction mode of the current block, even if the planar flag information (i.e., not planar flag) is not signaled, the number of bits can be saved by inducing its value to 1.

[0168] Alternatively, as another example, the encoding device can generate an MPM list based on sub-partition mode information indicating whether intra prediction of sub-partitions is used for the current block. For example, the sub-partition mode information can use the syntax element of intra_subpartitions_mode_flag described above. When the value of intra_subpartitions_mode_flag is 1, it indicates that intra prediction of sub-partitions is used for the current block. When the value of intra_subpartitions_mode_flag is 0, it can indicate that intra prediction of sub-partitions is not used for the current block. As described above, when intra prediction of sub-partitions is used, the DC mode may not be available. Therefore, when the sub-partition mode information indicates that intra prediction of sub-partitions is used for the current block (for example, when the value of intra_subpartitions_mode_flag is 1), the encoding device may not use the DC mode as the intra prediction mode for the current block. For example, the encoding device can construct a temporary MPM list for intra prediction of sub-partitions. At this time, if the DC mode is included among the candidate intra prediction modes in the temporary MPM list, the encoding device can remove the DC mode from the temporary MPM list and reconfigure it as the MPM list. Here, the process of constructing the temporary MPM list can be omitted depending on the implementation method of the MPM list. For example, when intra prediction of sub-partitions is used, since the DC mode is not used, an MPM list including five candidate intra prediction modes can be finally constructed by not including the DC mode in the candidate intra prediction modes. Therefore, it is possible to implement without the intermediate process of constructing the temporary MPM list.

[0169] According to an embodiment, when the value of the index information of the reference line is 0, the encoding device can generate sub-partition mode information and signal this to the decoding device. In other words, when the encoding device does not apply multiple reference lines (i.e., when performing intra prediction using the samples of the reference line closest to the current block first), it can determine whether to perform sub-partition intra prediction and generate sub-partition mode information based on this determination. At this time, when the value of the index information of the reference line is 0 and the value of the sub-partition mode information is 1, the encoding device may not use the DC mode as the intra prediction mode of the current block. That is, in this case, the encoding device can generate the MPM list by not including the DC mode in the candidate intra prediction modes.

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

[0171] As an example, the encoding device can perform various intra prediction modes on the current block, derive the intra prediction mode with the optimal rate-distortion (RD) cost, and determine this as the intra prediction mode of the current block. At this time, the encoding device can derive the optimal intra prediction mode for the current block based on the intra prediction mode including two non-directional intra prediction modes and 65 intra directional prediction modes. Alternatively, the encoding device can also determine the optimal intra prediction mode using only the MPM candidates configured in the MPM list.

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

[0173] The encoding device can generate MPM index information indicating the intra prediction mode for the current block (S1530).

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

[0175] The encoding device can encode video information including MPM index information and index information of a reference line (S1540).

[0176] As an example, the encoding device can encode video information including index information of a reference line determined based on whether to apply intra prediction based on a multiple reference line as described above, and MPM index information indicating an intra prediction mode of a current block derived based on an MPM list, and output the encoded video information in the form of a bitstream. Further, the encoding device can encode video information including sub - partition mode information determined based on whether to apply sub - partition intra prediction to the current block as described above.

[0177] Also, the encoding device can generate prediction samples of the current block based on the intra prediction mode of the current block. As an example, the encoding device can derive at least one peripheral reference sample of the reference samples around the current block based on the intra prediction mode, and generate prediction samples based on the peripheral reference samples. Here, the peripheral reference samples can be derived based on the index information of the reference line, and for example, can include peripheral reference samples included in the reference line indicated by the index information of the reference line.

[0178] Also, the encoding device can derive residual samples for the current block based on the prediction samples of the current block and the original samples of the current block. Further, the encoding device can generate residual information for the current block based on the residual samples, and encode video information including the residual information. Here, the residual information can include information such as value information of quantized transform coefficients, position information, transform techniques, transform channels, quantization parameters, etc., derived by performing conversion and quantization on the residual samples.

[0179] That is, the encoding device can encode video information including the intra prediction mode information (MPM index information, reference line index information, etc.) and / or residual information of the current block described above, and output it to the bitstream.

[0180] The bitstream can be transmitted to the decoding device via a network or a (digital) storage medium. Here, the network can include a broadcast network and / or a communication network, etc., 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 the prediction sample for the current block described above is performed by the intra prediction unit 222 of the encoding device 200 disclosed in FIG. 2, the process of deriving the residual sample is performed by the subtraction unit 231 of the encoding device 200 disclosed in FIG. 2, and the process of generating and encoding the residual information is performed by the residual processing unit 230 and the entropy encoding unit 240 of the encoding device 200 disclosed in FIG. 2.

[0182] FIG. 16 is a flowchart schematically showing a decoding method performed by a decoding device according to an embodiment of this document.

[0183] The method disclosed in FIG. 16 is performed by the decoding device 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. Also, the method disclosed in FIG. 16 can include the embodiments described above in this document. Therefore, in FIG. 16, specific descriptions regarding the content overlapping with the above-described embodiments will be omitted or simplified.

[0184] Referring to FIG. 16, the decoding device can obtain MPM (Most Probable Mode) index information and index information of reference lines from the bit stream (S1600).

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

[0186] For example, the index information of the reference line can be represented in the form of the syntax element of intra_luma_ref_idx described above, and can 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 value of the index information of the reference line (e.g., intra_luma_ref_idx) is 0, it indicates that intra prediction is performed using the samples of the reference line closest to the current block (reference line 0 in FIG. 11), and when the value of the index information of the reference line (e.g., intra_luma_ref_idx) is not 0 (i.e., when it is 1 to 3), it can be shown that intra prediction is performed using the samples of the reference lines second to fourth closest to the current block (reference lines 1 to 3 in FIG. 11). That is, when the value of the index information of the reference line (e.g., intra_luma_ref_idx) is not 0 (i.e., when it is 1 to 3), it can be meant to use the intra prediction method based on the multiple reference line (MRL).

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

[0188] In addition, the decoding device can obtain the MPM index information that indicates the intra prediction mode for the current block from among the candidate intra prediction modes in the MPM list from the bitstream and parse (decode) it. That is, the decoding device can derive the intra prediction mode of the current block from the MPM list based on the MPM index information.

[0189] The decoding device can configure an MPM list that includes candidate intra prediction modes for intra prediction of the current block (S1610).

[0190] As an example, the decoding device can configure the MPM list based on whether a specific intra prediction method (e.g., intra prediction with multiple reference lines, intra prediction with sub-partitions, etc.) is applied. At this time, the process of configuring the MPM list can apply the foregoing embodiments, which are described in detail with reference to FIGS. 13 and 14.

[0191] As an example, the decoding device can determine whether intra prediction of multiple reference lines is applicable based on the index information of the reference line, and thereby can generate an MPM list. For example, when the decoding device performs intra prediction by applying multiple reference lines to the current block, that is, based on the case where the value of the index information of the reference line is not 0, the DC mode can be derived as one of the candidate intra prediction modes and included 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 device may not use the planar mode as the intra prediction mode of the current block based on the case where the value of the index information of the reference line is not 0. For example, the decoding device can construct a temporary MPM list for intra prediction of multiple reference lines. At this time, if the planar mode is included among the candidate intra prediction modes in the temporary MPM list, the decoding device can remove the planar mode from the temporary MPM list and reconfigure it as the MPM list. Here, the process of constructing the temporary MPM list can be omitted according to the implementation method of the MPM list. For example, when the value of the index information of the reference line is not 0, since the planar mode is not used, first, based on the value of the index information of the reference line, it is determined that the planar mode is not used as the intra prediction mode, and five candidate intra prediction modes (including the DC mode here) obtained by removing the planar mode from the six candidate intra prediction modes can be derived and configured as the MPM list. Therefore, it is possible to implement without the intermediate process of constructing the temporary MPM list according to the algorithm method for implementing the MPM list.

[0193] In addition, the decoding device can obtain from the bitstream information indicating whether the planar mode is currently used as the intra prediction mode of the block. At this time, planar flag information can be used as the information indicating whether the planar mode is currently used as the intra prediction mode of the block. The planar flag information can be the aforementioned not planar flag (e.g., intra_luma_not_planar_flag). When the value of the planar flag information (i.e., the not planar flag) is 1, it indicates that the planar mode is not used as the intra prediction mode of the current block. When the value of the planar flag information (i.e., the not planar flag) is 0, it can indicate that the planar mode is used as the intra prediction mode of the current block.

[0194] As an example, when the value of the index information of the reference line is not 0, the planar flag information (i.e., the not planar flag) may not be signaled. In this case, since the decoding device cannot obtain the planar flag information (i.e., the not planar flag) from the bitstream, based on the case where the value of the index information of the reference line is not 0, the value of the planar flag information (i.e., the not planar flag) can be induced to be 1. When the value of the planar flag information (i.e., the not planar flag) is induced to be 1, it can indicate 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, since the planar mode is not used as the intra prediction mode of the current block, even if the planar flag information (i.e., the not planar flag) is not signaled, its value can be induced to be 1, thereby saving the number of bits.

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

[0196] According to an embodiment, when the value of the index information of the reference line is 0, the decoding device can obtain sub-partition mode information from the bitstream. In other words, the decoding device can obtain and decode sub-partition information indicating whether to perform sub-partition intra prediction only when the multiple reference lines are not applied (that is, when performing intra prediction using the samples of the reference line closest to the current block). At this time, when the value of the index information of the reference line is 0 and the value of the sub-partition mode information is 1, the decoding device may not use the DC mode as the intra prediction mode of the current block. That is, in this case, the decoding device can generate the MPM list by not including the DC mode in the candidate intra prediction modes.

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

[0198] As an example, the decoding device can obtain the intra prediction mode information for the current block from the bitstream. The intra prediction mode information can include MPM flag information, MPM index information, remaining mode information, etc. as information indicating the intra prediction mode of the current block.

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

[0200] Also, when 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 MPM index information can be signaled from the encoding device. That is, the decoding device can obtain and decode the MPM index information from the bitstream. As described above, the MPM index information includes the index value indicating the intra prediction mode for the current block among the candidate intra prediction modes included in the MPM list, and can be indicated, for example, in the form of the syntax element of intra_luma_mpm_idx.

[0201] That is, when 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 obtain 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 device can generate prediction samples for the current block based on the intra prediction mode of the current block (S1630).

[0203] As an example, as described above, the decoding device can derive at least one peripheral reference sample of the reference samples around the current block based on the derived intra prediction mode, and can generate a prediction sample based on the peripheral reference samples. Here, the peripheral reference samples can be derived based on the index information of the reference line. For example, the peripheral reference samples included in the reference line indicated by the index information of the reference line can be included.

[0204] The decoding device can generate a restored sample for the current block based on the prediction sample (S1640).

[0205] As an example, the decoding device may directly use the prediction sample as the restored sample according to the prediction mode, or may add a residual sample to the prediction sample to generate a restored sample.

[0206] When there is a residual sample for the current block, the decoding device can receive information regarding the residual for the current block. The information regarding the residual can include a conversion coefficient regarding the residual sample. The decoding device can derive a residual sample (or a residual sample array) for the current block based on the residual information. The decoding device can generate a restored sample based on the prediction sample and the residual sample, and can derive a restored block or a restored picture based on the restored sample. Hereinafter, as described above, the decoding device can apply an in-loop filtering procedure such as deblocking filtering and / or SAO procedure to the restored picture in order to improve subjective / objective image quality as necessary.

[0207] In the foregoing 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 a certain step may occur in an order different from that of steps described above or simultaneously with different steps. Also, those skilled in the art can understand that the steps shown in the flowchart are not exclusive, and different steps may be included, or one or more steps of the flowchart may be deleted without affecting the scope of this document.

[0208] The method according to the foregoing document can be embodied in the form of software, and the encoding device and / or decoding device according to this document can be included in a device that performs video processing, such as a TV, a computer, a smartphone, a set-top box, a display device, etc.

[0209] In this document, when an embodiment is embodied in software, the foregoing method can be embodied by modules (processes, functions, etc.) that perform the foregoing functions. The modules can be stored in a memory and can be executed by a processor. The memory may be inside or outside the processor and may be connected to the processor by various well-known means. The processor can include an ASIC (application-specific integrated circuit), other chip sets, logic circuits, and / or data processing devices. The memory can include a ROM (read-only memory), a RAM (random access memory), a flash memory, a memory card, a storage medium, and / or other storage devices. That is, the embodiments described in this document may be embodied and performed on a processor, a microprocessor, a controller, or a chip. For example, the functional units shown in each drawing may be embodied and performed on a computer, a processor, a microprocessor, a controller, or a chip. In this case, information for embodiment (e.g., information on instructions) or an algorithm can be stored in a digital storage medium.

[0210] In addition, the decoding device and encoding device to which this document is applicable may include a multimedia broadcast transceiver, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video conferencing device, a real-time communication device such as video communication, a mobile streaming device, a storage medium, a camcorder, an on-demand video (VoD) service providing device, an OTT video (Over the top video) device, an Internet streaming service providing device, a three-dimensional (3D) video device, a VR (virtual reality) device, an AR (argumente reality) device, a picture phone video device, a transportation means terminal (e.g., a vehicle terminal including an autonomous driving vehicle, an airplane terminal, a ship terminal, etc.) and a medical video device, etc., and may be used to process video signals or data signals. For example, the OTT video (Over the top video) device may include a game console, a Blu-ray player, an Internet access TV, a home theater system, a smartphone, a tablet PC, a DVR (Digital Video Recoder), etc.

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

[0212] In addition, the embodiments of this document can be embodied in a computer program product by program code, and the program code can be executed by a computer according to the embodiments of this document. The program code can be stored on a carrier readable by a computer.

[0213] FIG. 17 shows an example of a content streaming system to which the embodiments disclosed in this document can be applied.

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

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

[0216] The bitstream can be generated by an encoding method applied to the embodiments of this document or a method for generating a bitstream, and the streaming server can 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's request via a web server, and the web server serves as a medium for notifying the user of what services are available. When the user requests a service desired by the web server, the web server transmits this to the streaming server, and the streaming server transmits multimedia data to the user. At this time, the content streaming system can include a separate control server, and in this case, the control server serves to control commands / responses between each device within the content streaming system.

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

[0219] Examples of the user device may include a mobile phone, a smart phone, a laptop computer, a digital broadcast terminal, a PDA (personal digital assistants), a PMP (portable multimedia player), a navigation device, a slate PC, a tablet PC, an ultrabook, a wearable device, for example, a smartwatch, a smart glass, an HMD (head mounted display), a digital TV, a desktop computer, a digital signage, and the like.

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

[0221] The claims described in this document can be combined in various ways. For example, the technical features of the method claims in this document can be combined and embodied as a device, and the technical features of the device claims in this document can be combined and embodied as a method. Also, the technical features of the method claims in this document and the technical features of the device claims can be combined and embodied as a device, and the technical features of the method claims in this document and the technical features of the device claims can be combined and 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. In a video decoding method performed by a decoding apparatus, a step of obtaining MPM (Most Probable Mode) index information and reference line index information from a bitstream; a step of constructing an MPM list including candidate intra prediction modes for intra prediction of a current block; a step of deriving 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; a step of generating a prediction sample for the current block based on the intra prediction mode; a step of generating a restored sample for the current block based on the prediction sample, and including: In the step of constructing the MPM list, the DC mode is derived as one of the candidate intra prediction modes and is included in the MPM list; the reference line index information is related to a value indicating a reference line used for intra prediction of the current block; Based on the fact that the value of the reference line index information is not equal to 0, the planar mode is not included in the MPM list, 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. A video decoding method.

2. The video decoding method according to claim 1, wherein based on the fact that the value of the reference line index information is not equal to 0, the planar mode is not used as the intra prediction mode of the current block.

3. Based on the fact that the value of the reference line index information is not equal to 0, planar flag information related to indicating whether the planar mode is used as the intra prediction mode of the current block is not signaled; 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. The video decoding method according to claim 2.

4. Further including a step of constructing a temporary MPM list, In the step of constructing the MPM list, The video decoding method according to claim 2, wherein when the planner mode is included in candidate intra prediction modes in the temporary MPM list, the planner mode is removed and the MPM list is reconfigured.

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

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

7. further including the step of constructing a temporary MPM list; In the step of constructing the MPM list, The video decoding method according to claim 5, wherein when the DC mode is included in candidate intra prediction modes in the temporary MPM list, the DC mode is removed and the MPM list is reconfigured.

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

9. In a video encoding method performed by an encoding device, the step of generating reference line index information related to a value indicating a reference line used for intra prediction of a current block; the step of constructing an MPM (Most Probable Mode) list including candidate intra prediction modes for intra prediction of the current block; the step of deriving an intra prediction mode for the current block from among the candidate intra prediction modes included in the MPM list; A step of generating MPM index information related to instructing the intra prediction mode for the current block; A step of encoding video information including the MPM index information and the reference line index information, In the step of constructing the MPM list, the DC mode is derived as one of the candidate intra prediction modes and is included in the MPM list, Based on the fact that the value of the reference line index information is not equal to 0, the 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. A video encoding method.

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

11. Based on the fact that the value of the reference line index information is not equal to 0, the planar flag information related to indicating whether the planar mode is used as the intra prediction mode of the current block is not signaled, The video encoding method according to 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. Further including a step of constructing a temporary MPM list, In the step of constructing the MPM list, Based on the case where the planar mode is included in the candidate intra prediction modes in the temporary MPM list, the planar mode is removed and the MPM list is reconfigured. The video encoding method according to claim 10.

13. A method for transmitting data for video information, A step of generating a bitstream of the video information including MPM index information and reference line index information, The bitstream is generated with reference line index information related to a value indicating a reference line used for intra prediction of a current block, a MPM (Most Probable Mode) list indicating candidate intra prediction modes for the intra prediction of the current block is configured, an intra prediction mode for the current block among the candidate intra prediction modes included in the MPM list is derived, MPM index information related to indicating the intra prediction mode for the current block is generated, and the video information including the MPM index information and the reference line index information is generated by being encoded. The method includes a step of transmitting the data including the bitstream of the video information including the MPM index information and the reference line index information. In configuring the MPM list, the DC mode is derived as one of the candidate intra prediction modes and is included in the MPM list. Based on the fact that the value of the reference line index information is not equal to 0, the planar mode is not included in the MPM list, the number of candidate intra prediction modes in the MPM list is five, and the MPM index information is generated based on the intra prediction mode of the current block derived from the MPM list.

Citation Information

Cited By

  • MPM list-based intra prediction method and device

    JP2025076487A