Video encoding / decoding method based on intra prediction, bitstream transmission method, and recording medium storing bitstream

The optimized intra-prediction mode coding structure in video encoding/decoding methods addresses the high-cost issue of high-resolution video by improving efficiency and reducing costs through slice-type dependent intra-prediction, enabling effective video transmission and storage.

JP2025533235APending Publication Date: 2025-10-03LG ELECTRONICS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025521051
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-10-12
Filing Date
2023-10-12
Publication Date
2025-10-03

AI Technical Summary

Technical Problem

The increasing demand for high-resolution, high-quality video has led to a surge in transmission and storage costs due to the increased amount of information, necessitating a more efficient video compression technique.

Method used

A video encoding/decoding method and apparatus utilizing an optimized intra-prediction mode coding structure, where the intra-prediction mode is determined based on the slice type of the current block, and a bitstream is generated and transmitted for efficient encoding and decoding.

Benefits of technology

This approach enhances encoding/decoding efficiency, reduces transmission and storage costs, and allows for improved video restoration from the bitstream.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025533235000001_ABST
    Figure 2025533235000001_ABST
Patent Text Reader

Abstract

The video encoding / decoding method and apparatus according to the present disclosure include obtaining intra prediction mode information of a current block, determining an intra prediction mode of the current block based on the intra prediction mode information, and performing intra prediction on the current block based on the intra prediction mode, wherein the intra prediction mode information may be determined differently depending on a slice type of the current block.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a video encoding / decoding method based on intra prediction, a method for transmitting a bitstream, and a recording medium storing the bitstream, and more particularly, to an optimized intra prediction mode coding structure. [Background technology]

[0002] In recent years, demand for high-resolution, high-quality video, such as HD (High Definition) video and UHD (Ultra High Definition) video, has been increasing in various fields. As video data becomes higher in resolution and quality, the amount of information or bits to be transmitted increases compared to existing video data. The increase in the amount of information or bits to be transmitted leads to an increase in transmission costs and storage costs.

[0003] Therefore, there is a demand for a highly efficient video compression technique for effectively transmitting, storing, and reproducing high-resolution, high-quality video information. Summary of the Invention [Problem to be solved by the invention]

[0004] An object of the present disclosure is to provide a video encoding / decoding method and apparatus with improved encoding / decoding efficiency.

[0005] Another object of the present disclosure is to provide a video encoding / decoding method and apparatus based on an optimized intra-prediction mode coding structure.

[0006] Another object of the present disclosure is to provide a video encoding / decoding method and apparatus having a predetermined luma intra-mode coding order according to mode selection probability.

[0007] Another object of the present disclosure is to provide a video encoding / decoding method and apparatus having an optimized intra-prediction mode coding structure according to slice type.

[0008] Another object of the present disclosure is to provide a non-transitory computer-readable recording medium that stores a bitstream generated by the video encoding method or apparatus according to the present disclosure.

[0009] Another object of the present disclosure is to provide a non-transitory computer-readable recording medium that stores a bitstream that is received and decoded by a video decoding device according to the present disclosure and is used to restore a video.

[0010] Another object of the present disclosure is to provide a method for transmitting a bitstream generated by the video encoding method or apparatus according to the present disclosure.

[0011] The technical problems to be solved by the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by a person having ordinary skill in the art to which the present disclosure pertains from the following description. [Means for solving the problem]

[0012] A video decoding method according to one aspect of the present disclosure is a video decoding method performed by a video decoding device, and includes (has; configures; builds; sets; encompasses; contains; contains) steps of obtaining intra prediction mode information of a current block, determining an intra prediction mode of the current block based on the intra prediction mode information, and performing intra prediction on the current block based on the intra prediction mode, and the intra prediction mode information may be determined differently depending on the slice type of the current block.

[0013] A video decoding device according to another aspect of the present disclosure includes a memory and at least one processor, wherein the at least one processor is configured to obtain intra-prediction mode information of a current block, determine an intra-prediction mode of the current block based on the intra-prediction mode information, and perform intra-prediction on the current block based on the intra-prediction mode, and the intra-prediction mode information may be determined to be different from each other based on the slice type of the current block.

[0014] A video encoding method according to yet another aspect of the present disclosure includes a step of determining an intra prediction mode of a current block, a step of performing intra prediction on the current block based on the intra prediction mode, and a step of encoding information regarding the intra prediction mode, wherein the information regarding the intra prediction mode may be determined differently based on the slice type of the current block.

[0015] A computer-readable recording medium according to yet another aspect of the present disclosure can store a bitstream generated by the video encoding method or video encoding device of the present disclosure.

[0016] A transmission method according to yet another aspect of the present disclosure can transmit a bitstream generated by the video encoding device or video encoding method of the present disclosure.

[0017] The above briefly summarized features of the present disclosure are merely exemplary aspects of the following detailed description of the present disclosure and are not intended to limit the scope of the present disclosure. [Effects of the Invention]

[0018] According to the present disclosure, it is possible to provide a video encoding / decoding method and apparatus with improved encoding / decoding efficiency.

[0019] Furthermore, the present disclosure can provide a video encoding / decoding method and apparatus based on motion information refinement.

[0020] Furthermore, the present disclosure can provide a video encoding method and apparatus based on an optimized intra-prediction mode coding structure.

[0021] Furthermore, the present disclosure can provide a video encoding method and apparatus having a predetermined luma intra-mode coding order according to mode selection probability.

[0022] Furthermore, the present disclosure can provide a video encoding method and apparatus having an optimized intra-prediction mode coding structure according to slice type.

[0023] Furthermore, according to the present disclosure, it is possible to provide a non-transitory computer-readable recording medium that stores a bitstream generated by the video encoding method or apparatus according to the present disclosure.

[0024] In addition, according to the present disclosure, it is possible to provide a non-transitory computer-readable recording medium that stores a bitstream that is received and decoded by a video decoding device according to the present disclosure and used to restore a video.

[0025] Furthermore, according to the present disclosure, it is possible to provide a method for transmitting a bitstream generated by a video encoding method or apparatus according to the present disclosure.

[0026] The effects obtained by the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those having ordinary skill in the art to which the present disclosure pertains from the following description. [Brief explanation of the drawings]

[0027] [Figure 1] 1 is a schematic diagram illustrating a video coding system to which embodiments of the present disclosure can be applied; [Figure 2] 1 is a schematic diagram illustrating a video encoding device to which an embodiment of the present disclosure can be applied. [Figure 3]FIG. 1 is a schematic diagram illustrating a video decoding device to which an embodiment of the present disclosure can be applied. [Figure 4] 10 is a flowchart illustrating an example of a method for signaling intra-prediction modes in an encoding device. [Figure 5] 10 is a flowchart illustrating an example of an intra-prediction mode determination method in a decoding device. [Figure 6] FIG. 10 is a diagram showing an example of a peripheral block used for MPM list guidance. [Figure 7] 10A and 10B are diagrams illustrating examples of peripheral restoration samples used in DIMD chroma mode. [Figure 8] FIG. 10 is a diagram illustrating an MDM mode. [Figure 9] FIG. 10 shows the positions of neighboring samples used for deriving CCLM parameters. [Figure 10] FIG. 1 shows examples of four Sobel-based gradient patterns for GLM. [Figure 11] FIG. 10 is a diagram illustrating a coding structure for luma intra prediction mode. [Figure 12] FIG. 10 is a diagram illustrating a coding structure for a chrominance intra-prediction mode. [Figure 13] FIG. 10 is a diagram illustrating a coding structure of a luma intra prediction mode according to an embodiment of the present disclosure. [Figure 14A] FIG. 10 is a diagram illustrating a coding structure of a chrominance intra-prediction mode according to an embodiment of the present disclosure. [Figure 14B] FIG. 10 is a diagram illustrating a coding structure of a chrominance intra-prediction mode according to an embodiment of the present disclosure. [Figure 15A] FIG. 10 is a diagram illustrating a coding structure of a chrominance intra-prediction mode according to another embodiment of the present disclosure. [Figure 15B] FIG. 10 is a diagram illustrating a coding structure of a chrominance intra-prediction mode according to another embodiment of the present disclosure. [Figure 16] 1 is a flowchart illustrating a video decoding method according to an embodiment of the present disclosure. [Figure 17]1 is a flowchart illustrating a video decoding method according to an embodiment of the present disclosure. [Figure 18] FIG. 1 is a diagram illustrating a content streaming system to which an embodiment of the present disclosure can be applied. DETAILED DESCRIPTION OF THE INVENTION

[0028] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily implement the present disclosure, but the present disclosure may be embodied in various other forms and is not limited to the embodiments described herein.

[0029] In describing the embodiments of the present disclosure, if it is determined that a specific description of a known configuration or function may obscure the gist of the present disclosure, the detailed description thereof will be omitted. In addition, in the drawings, parts that are not related to the description of the present disclosure will be omitted, and similar parts will be designated by similar reference numerals.

[0030] In this disclosure, when one component is "coupled," "coupled," or "connected" to another component, this may include not only a direct connection, but also an indirect connection where there is another component between them. Furthermore, when one component is described as "including" or "having" another component, this does not exclude the other component, but means that the other component may also be included, unless otherwise specified.

[0031] In this disclosure, terms such as "first" and "second" are used only to distinguish one component from another, and do not limit the order or importance of the components unless otherwise specified. Therefore, within the scope of this disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly, a second component in one embodiment may be referred to as a first component in another embodiment.

[0032] In this disclosure, components that are distinguished from one another are used to clearly describe the characteristics of each component and do not necessarily mean that the components are separate. That is, multiple components may be integrated into a single hardware or software unit, or a single component may be distributed into multiple hardware or software units. Therefore, even if not specifically stated, such integrated or distributed embodiments are also included within the scope of this disclosure.

[0033] In this disclosure, the components described in various embodiments are not necessarily essential components, and some may be optional components. Therefore, an embodiment consisting of a subset of the components described in one embodiment is also within the scope of this disclosure. Furthermore, an embodiment including other components in addition to the components described in various embodiments is also within the scope of this disclosure.

[0034] This disclosure relates to video encoding and decoding, and terms used in this disclosure may have ordinary meanings commonly used in the field of technology to which this disclosure pertains unless they are newly defined in this disclosure.

[0035] In this disclosure, a "picture" generally refers to a unit representing one video image in a specific time period, a slice / tile is a coding unit constituting a part of a picture, and one picture may be composed of one or more slices / tiles. In addition, a slice / tile may include one or more coding tree units (CTUs).

[0036] In this disclosure, a "pixel" or a "pel" may refer to the smallest unit constituting one picture (or image). A "sample" may also be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, and may represent only a pixel / pixel value of a luma component, or may represent only a pixel / pixel value of a chroma component.

[0037] In this disclosure, a "unit" may refer to a basic unit of video processing. A unit may include at least one of a specific region of a picture and information related to that region. A unit may also be referred to as a "sample array," "block," or "area," depending on the situation. In general, an MxN block may include a set (or array) of samples (or sample arrays) or transform coefficients consisting of M columns and N rows.

[0038] In this disclosure, a "current block" may refer to one of a "current coding block," a "current coding unit," a "block to be coded," a "block to be decoded," or a "block to be processed." When prediction is performed, a "current block" may refer to a "current predicted block" or a "block to be predicted." When transformation (inverse transformation) / quantization (inverse quantization) is performed, a "current block" may refer to a "current transformed block" or a "block to be transformed." When filtering is performed, a "current block" may refer to a "block to be filtered."

[0039] In this disclosure, unless explicitly stated as a chroma block, the term "current block" can refer to a block including both a luma component block and a chroma component block, or to the "luma block of the current block." The luma component block of the current block may be explicitly expressed as a "luma block" or a "current luma block," including the explicit statement that it is a luma component block. Also, the chroma component block of the current block may be explicitly expressed as a "chroma block" or a "current chroma block," including the explicit statement that it is a chroma component block.

[0040] In the present disclosure, " / " and "," may be interpreted as "and / or." For example, "A / B" and "A, B" may be interpreted as "A and / or B." Also, "A / B / C" and "A, B, C" may mean "at least one of A, B, and / or C."

[0041] In this disclosure, "or" may be interpreted as "and / or." For example, "A or B" can mean 1) "A" only, 2) "B" only, or 3) "A and B." Alternatively, in this disclosure, "or" can mean "additionally or alternatively."

[0042] Video Coding System Overview FIG. 1 is a schematic diagram illustrating a video coding system to which embodiments of the present disclosure can be applied.

[0043] A video coding system according to an embodiment may include an encoding device 10 and a decoding device 20. The encoding device 10 may transmit encoded video and / or image information or data to the decoding device 20 in a file or streaming format via a digital storage medium or a network.

[0044] An encoding device 10 according to an embodiment may include a video source generation unit 11, an encoding unit 12, and a transmission unit 13. A decoding device 20 according to an embodiment may include a reception unit 21, a decoding unit 22, and a rendering unit 23. The encoding unit 12 may be referred to as a video / video encoding unit, and the decoding unit 22 may be referred to as a video / video decoding unit. The transmission unit 13 may be included in the encoding unit 12. The reception unit 21 may be included in the decoding unit 22. The rendering unit 23 may include a display unit, which may be a separate device or an external component.

[0045] The video source generation unit 11 may acquire video / images through a process of capturing, synthesizing, or generating video / images. The video source generation unit 11 may include a video / image capture device and / or a video / image generation device. The video / image capture device may include, for example, one or more cameras, a video / image archive containing previously captured video / images, etc. The video / image generation device may include, for example, a computer, a tablet, a smartphone, etc., and may (electronically) generate video / images. For example, a virtual video / image may be generated by a computer, etc., in which case the video / image capture process may be replaced by a process of generating related data.

[0046] The encoder 12 may encode input video / image data. The encoder 12 may perform a series of procedures such as prediction, transformation, and quantization for compression and encoding efficiency. The encoder 12 may output encoded data (encoded video / image information) in the form of a bitstream.

[0047] The transmitter 13 may acquire encoded video / image information or data output in the form of a bitstream and transmit it to the receiver 21 of the decoding device 20 or another external object in the form of a file or streaming via a digital storage medium or a network. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. The transmitter 13 may include elements for generating a media file in a predetermined file format and elements for transmission via a broadcasting / communication network. The transmitter 13 may be provided as a transmission device separate from the encoder 12. In this case, the transmission device may include at least one processor for acquiring encoded video / image information or data output in the form of a bitstream and a transmitter for transmitting the same in the form of a file or streaming. The receiver 21 may extract / receive the bitstream from the storage medium or network and transmit it to the decoder 22.

[0048] The decoding unit 22 can decode the video / image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operations of the encoding unit 12.

[0049] The rendering unit 23 can render the decoded video / image, and the rendered video / image can be displayed on a display unit.

[0050] Overview of video encoding equipment FIG. 2 is a schematic diagram illustrating a video encoding device to which an embodiment of the present disclosure can be applied.

[0051] 2, the video encoding device 100 may include a video division unit 110, a subtraction unit 115, a transform unit 120, a quantization unit 130, an inverse quantization unit 140, an inverse transform unit 150, an addition unit 155, a filtering unit 160, a memory 170, an inter prediction unit 180, an intra prediction unit 185, and an entropy encoding unit 190. The inter prediction unit 180 and the intra prediction unit 185 may be collectively referred to as a "prediction unit." The transform unit 120, the quantization unit 130, the inverse quantization unit 140, and the inverse transform unit 150 may be included in a residual processing unit. The residual processing unit may further include a subtraction unit 115.

[0052] Depending on the embodiment, all or at least some of the components constituting the video encoding device 100 may be implemented as a single hardware component (e.g., an encoder or a processor). Also, the memory 170 may include a decoded picture buffer (DPB) and may be implemented as a digital storage medium.

[0053] The video division unit 110 may divide an input video (or picture or frame) input to the video encoding device 100 into one or more processing units. For example, the processing units may be called coding units (CUs). The coding units may be obtained by recursively dividing a coding tree unit (CTU) or a largest coding unit (LCU) using a QT / BT / TT (quad-tree / binary-tree / ternary-tree) structure. For example, one coding unit may be divided into multiple coding units at deeper depths based on a quad-tree structure, a binary tree structure, and / or a ternary tree structure. To divide the coding units, a quad-tree structure may be applied first, and then a binary tree structure and / or a ternary tree structure may be applied later. The coding procedure according to the present disclosure may be performed based on the final coding unit that is not further divided. The largest coding unit may be directly used as the final coding unit, or a lower-depth coding unit obtained by dividing the largest coding unit may be used as the final coding unit. Here, the coding procedure may include procedures such as prediction, transformation, and / or reconstruction, which will be described later. As another example, a processing unit of the coding procedure may be a prediction unit (PU) or a transform unit (TU). The prediction unit and the transform unit may each be divided or partitioned from the final coding unit. The prediction unit may be a unit of sample prediction, and the transform unit may be a unit for deriving transform coefficients and / or a unit for deriving a residual signal from the transform coefficients.

[0054] The prediction unit (inter prediction unit 180 or intra prediction unit 185) may perform prediction on a current block (current block) to be processed and generate a predicted block including prediction samples for the current block. The prediction unit may determine whether intra prediction or inter prediction is applied to the current block or CU. The prediction unit may generate various information related to the prediction of the current block and transmit it to the entropy encoding unit 190. The prediction information may be encoded by the entropy encoding unit 190 and output in the form of a bitstream.

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

[0056] The inter prediction unit 180 may derive a predicted block for a current block based on a reference block (reference sample array) identified by a motion vector in a reference picture. To reduce the amount of motion information transmitted in inter prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on correlations between motion information of neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include information on an inter prediction direction (e.g., L0 prediction, L1 prediction, or Bi prediction). In the case of inter prediction, the neighboring blocks may include spatial neighboring blocks present in the current picture and temporal neighboring blocks present in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring blocks may be the same or different. The temporal neighboring blocks may be referred to as collocated reference blocks, collocated control units (colCUs), etc. The reference picture including the temporal neighboring blocks may be referred to as a collocated picture (colPic). For example, the inter predictor 180 may construct a motion information candidate list based on neighboring blocks and generate information indicating which candidate is used to derive a motion vector and / or a reference picture index for the current block. Inter prediction may be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the inter predictor 180 may use motion information of neighboring blocks as motion information for the current block. In the case of skip mode, unlike in merge mode, a residual signal may not be transmitted.In the case of motion vector prediction (MVP) mode, the motion vector of a neighboring block is used as a motion vector predictor, and the motion vector of the current block can be signaled by encoding a motion vector difference and an indicator for the motion vector predictor. The motion vector difference can mean the difference between the motion vector of the current block and the motion vector predictor.

[0057] The predictor may generate a prediction signal based on various prediction methods and / or prediction techniques, which will be described later. For example, the predictor may apply intra prediction or inter prediction to predict the current block, or may simultaneously apply intra prediction and inter prediction. A prediction method that simultaneously applies intra prediction and inter prediction to predict the current block may be referred to as combined inter and intra prediction (CIIP). The predictor may also perform intra block copy (IBC) to predict the current block. Intra block copy may be used, for example, for coding content images / videos such as games, such as screen content coding (SCC). IBC is a method of predicting a current block using an already reconstructed reference block in a current picture that is located a predetermined distance away from the current block. When IBC is applied, the position of the reference block in the current picture may be coded as a vector (block vector) corresponding to the predetermined distance. IBC basically performs prediction within the current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture. That is, IBC can use at least one of the inter prediction techniques described in this disclosure.

[0058] The prediction signal generated by the prediction unit may be used to generate a restored signal or a residual signal. The subtraction unit 115 may subtract the prediction signal (predicted block, predicted sample array) output from the prediction unit from the input video signal (original block, original sample array) to generate a residual signal (residual signal, residual block, residual sample array). The generated residual signal may be transmitted to the conversion unit 120.

[0059] The transform unit 120 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique may include at least one of a Discrete Cosine Transform (DCT), a Discrete Sine Transform (DST), a Karhunen-Loeve Transform (KLT), a Graph-Based Transform (GBT), or a Conditionally Non-linear Transform (CNT). Here, the GBT refers to a transform obtained from a graph when relationship information between pixels is expressed as a graph. The CNT refers to a transform obtained based on a predicted signal generated using all previously reconstructed pixels. The transform process may be applied to pixel blocks having the same square size or to blocks of variable size other than a square.

[0060] The quantization unit 130 may quantize the transform coefficients and transmit the quantized transform coefficients to the entropy encoding unit 190. The entropy encoding unit 190 may encode the quantized signal (information about the quantized transform coefficients) and output it as a bitstream. The information about the quantized transform coefficients may be referred to as residual information. The quantization unit 130 may rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on a coefficient scan order, and may generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.

[0061] The entropy encoding unit 190 may perform various encoding methods, such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), etc. The entropy encoding unit 190 may encode information required for video / image restoration (e.g., values ​​of syntax elements) together with or separately from the quantized transform coefficients. The encoded information (e.g., encoded video / video information) may be transmitted or stored in the form of a bitstream in network abstraction layer (NAL) units. The video / video information may further include information on various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). The video / video information may also include general constraint information. The signaling information, transmitted information, and / or syntax elements referred to in this disclosure may be encoded according to the encoding procedures described above and included in the bitstream.

[0062] The bitstream may be transmitted over a network or stored in a digital storage medium. Here, the network may include a broadcasting network and / or a communication network, and the digital storage medium may include various storage media such as a USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmitter (not shown) for transmitting and / or a storage unit (not shown) for storing the signal output from the entropy encoding unit 190 may be provided as an internal / external element of the video encoding device 100, or the transmitter may be provided as a component of the entropy encoding unit 190.

[0063] The quantized transform coefficients output from the quantization unit 130 may be used to generate a residual signal. For example, the quantized transform coefficients may be subjected to inverse quantization and inverse transformation in the inverse quantization unit 140 and the inverse transform unit 150, respectively, to reconstruct a residual signal (residual block or residual sample).

[0064] The adder 155 may generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the reconstructed residual signal to a prediction signal output from the inter prediction unit 180 or the intra prediction unit 185. When there is no residual for the current block to be processed, such as when a skip mode is applied, the predicted block may be used as the reconstructed block. The adder 155 may be referred to as a reconstruction unit or a reconstructed block generation unit. The generated reconstructed signal may be used for intra prediction of the next current block to be processed in the current picture, or may be used for inter prediction of the next picture after filtering, as described below.

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

[0066] The modified reconstructed picture transmitted to the memory 170 may be used as a reference picture in the inter prediction unit 180. This allows the video encoding device 100 to avoid prediction mismatch between the video encoding device 100 and the video decoding device when inter prediction is applied, and also improves encoding efficiency.

[0067] The DPB in the memory 170 may store a modified reconstructed picture to be used as a reference picture in the inter prediction unit 180. The memory 170 may store motion information of a block from which motion information in the current picture is derived (or encoded) and / or motion information of a block in an already reconstructed picture. The stored motion information may be transmitted to the inter prediction unit 180 to be used as motion information of a spatially neighboring block or a temporally neighboring block. The memory 170 may store reconstructed samples of reconstructed blocks in the current picture and transmit them to the intra prediction unit 185.

[0068] Overview of the video decoder FIG. 3 is a schematic diagram illustrating a video decoding device to which an embodiment of the present disclosure can be applied.

[0069] 3, the video decoding apparatus 200 may include an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an adder 235, a filtering unit 240, a memory 250, an inter prediction unit 260, and an intra prediction unit 265. The inter prediction unit 260 and the intra prediction unit 265 may be collectively referred to as a "prediction unit." The inverse quantization unit 220 and the inverse transform unit 230 may be included in a residual processing unit.

[0070] Depending on the embodiment, all or at least some of the components constituting the video decoding device 200 may be implemented as a single hardware component (e.g., a decoder or a processor). Also, the memory 170 may include a DPB and may be implemented as a digital storage medium.

[0071] The video decoding apparatus 200, which receives a bitstream including video / image information, may reconstruct an image by performing a process corresponding to the process performed by the video encoding apparatus 100 of FIG. 2. For example, the video decoding apparatus 200 may perform decoding using a processing unit applied in the video encoding apparatus. Accordingly, the decoding processing unit may be, for example, a coding unit. The coding unit may be a coding tree unit or may be obtained by dividing a maximum coding unit. The reconstructed video signal decoded and output by the video decoding apparatus 200 may be reproduced by a playback device (not shown).

[0072] The video decoding apparatus 200 may receive a signal output from the video encoding apparatus of FIG. 2 in the form of a bitstream. The received signal may be decoded by the entropy decoding unit 210. For example, the entropy decoding unit 210 may parse the bitstream to derive information (e.g., video / video information) necessary for video restoration (or picture restoration). The video / video information may further include information on various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). The video / video information may also include general constraint information. The video decoding apparatus may further use the information on the parameter sets and / or the general constraint information to decode the video. Signaling information, received information, and / or syntax elements referred to in this disclosure may be obtained from the bitstream by being decoded by the decoding procedure. For example, the entropy decoding unit 210 may decode information in a bitstream based on a coding method such as Exponential-Golomb coding, CAVLC, or CABAC, and output values ​​of syntax elements required for image restoration and quantized values ​​of transform coefficients related to residuals. More specifically, the CABAC entropy decoding method receives bins corresponding to each syntax element in the bitstream, determines a context model using information on the syntax element to be decoded, decoding information on neighboring blocks and the block to be decoded, or information on symbols / bins decoded in a previous step, predicts the occurrence probability of bins according to the determined context model, and performs arithmetic decoding of the bins to generate symbols corresponding to the values ​​of each syntax element.In this case, after determining a context model, the CABAC entropy decoding method may update the context model using information about the decoded symbol / bin for the context model of the next symbol / bin. Prediction information from the information decoded by the entropy decoding unit 210 may be provided to a prediction unit (the inter prediction unit 260 and the intra prediction unit 265), and residual values ​​entropy decoded by the entropy decoding unit 210, i.e., quantized transform coefficients and related parameter information, may be input to the inverse quantization unit 220. In addition, filtering information from the information decoded by the entropy decoding unit 210 may be provided to the filtering unit 240. Meanwhile, a receiving unit (not shown) for receiving a signal output from the video encoding device may be further provided as an internal / external element of the video decoding device 200, or the receiving unit may be provided as a component of the entropy decoding unit 210.

[0073] Meanwhile, a video decoding apparatus according to the present disclosure may be referred to as a video / image / picture decoding apparatus. The video decoding apparatus may include an information decoder (video / image / picture information decoder) and / or a sample decoder (video / image / picture sample decoder). The information decoder may include an entropy decoding unit 210, and the sample decoder may include at least one of an inverse quantization unit 220, an inverse transform unit 230, an adder 235, a filtering unit 240, a memory 250, an inter prediction unit 260, and an intra prediction unit 265.

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

[0075] The inverse transform unit 230 can inversely transform the transform coefficients to obtain a residual signal (residual block, residual sample array).

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

[0077] As mentioned in the description of the prediction unit of the video encoding device 100, the prediction unit can generate a prediction signal based on various prediction methods (techniques) described below.

[0078] The intra predictor 265 may predict the current block by referring to samples in the current picture. The description of the intra predictor 185 may also be applied to the intra predictor 265.

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

[0080] The adder 235 may generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed 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 260 and / or the intra prediction unit 265). When there is no residual for the current block to be processed, such as when a skip mode is applied, the predicted block may be used as the reconstructed block. The description of the adder 155 may also apply to the adder 235. The adder 235 may be referred to as a reconstruction unit or a reconstructed block generation unit. The generated reconstructed signal may be used for intra prediction of the next current block to be processed in the current picture, or may be used for inter prediction of the next picture after undergoing filtering, as described below.

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

[0082] The (modified) reconstructed picture stored in the DPB of the memory 250 may be used as a reference picture in the inter prediction unit 260. The memory 250 may store motion information of a block from which motion information in the current picture is derived (or decoded) and / or motion information of a block in an already reconstructed picture. The stored motion information may be transmitted to the inter prediction unit 260 to be used as motion information of a spatially neighboring block or a temporally neighboring block. The memory 250 may store reconstructed samples of reconstructed blocks in the current picture and transmit them to the intra prediction unit 265.

[0083] In this specification, the embodiments described for the filtering unit 160, inter prediction unit 180, and intra prediction unit 185 of the video encoding device 100 may also be applied identically or correspondingly to the filtering unit 240, inter prediction unit 260, and intra prediction unit 265 of the video decoding device 200, respectively.

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

[0085] For example, whether the intra prediction mode applied to the current block is among the MPM candidates (and planar mode) or among the remaining modes may be indicated based on an MPM flag (e.g., intra_luma_mpm_flag). A value of 1 for the MPM flag may indicate that the intra prediction mode for the current block is among the MPM candidates (and planar mode), and a value of 0 for the MPM flag may indicate that the intra prediction mode for the current block is not among the MPM candidates (and planar mode). A value of 0 for the not planar flag (e.g., intra_luma_not_planar_flag) may indicate that the intra prediction mode for the current block is planar mode, and a value of 1 for the not planar flag may indicate that the intra prediction mode for the current block is not planar mode. The mpm index may be signaled in the form of an mpm_idx or intra_luma_mpm_idx syntax element, and the remaining intra prediction mode information may be signaled in the form of a rem_intra_luma_pred_mode or intra_luma_mpm_remainder syntax element. For example, the remaining intra prediction mode information may indicate one of the remaining intra prediction modes not included in the mpm candidates (and planar mode) among all intra prediction modes by indexing them in the order of prediction mode numbers. The intra prediction mode may be an intra prediction mode for a luma component (sample). Hereinafter, the intra prediction mode information may include at least one of 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 an MPM candidate list, candModeList, etc.When MIP is applied to the current block, a separate mpm flag for MIP (e.g., intra_mip_mpm_flag), mpm index (e.g., intra_mip_mpm_idx), and remaining intra-prediction mode information (e.g., intra_mip_mpm_remainder) may be signaled, and the not planar flag is not signaled.

[0086] The intra-prediction mode signaling procedure in the encoding device and the intra-prediction mode decision procedure in the decoding device may be performed, for example, as follows.

[0087] FIG. 4 is a flowchart illustrating an example of a method for signaling intra-prediction modes in an encoding device.

[0088] Referring to FIG. 4, the encoding apparatus constructs an MPM list for a current block (S400). The MPM list may include candidate intra-prediction modes (MPM candidates) that are likely to be applied to the current block. The MPM list may include intra-prediction modes of neighboring blocks and may further include specific intra-prediction modes according to a predetermined method. Specific methods for constructing the MPM list will be described later.

[0089] The encoding apparatus determines an intra prediction mode for a current block (S410). The encoding apparatus may perform prediction based on various intra prediction modes and determine an optimal intra prediction mode based on rate-distortion optimization (RDO) based on the prediction. In this case, the encoding apparatus may determine the optimal intra prediction mode using only the MPM candidates and planar modes configured in the MPM list, or may determine the optimal intra prediction mode using the remaining intra prediction modes in addition to the MPM candidates and planar modes configured in the MPM list. For example, if the intra prediction type of the current block is not a normal intra prediction type but a specific type (e.g., LIP, MRL, or ISP), the encoding apparatus may determine the optimal intra prediction mode by considering only the MPM candidates and planar modes as intra prediction mode candidates for the current block. That is, in this case, the intra prediction mode for the current block may be determined from among the MPM candidates and planar modes, and in this case, the mpm flag does not need to be encoded / signaled. In this case, the decoding device can infer that the mpm flag is 1 even if the mpm flag is not separately signaled.

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

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

[0092] The decoding apparatus can determine the intra-prediction mode according to the intra-prediction mode information determined and signaled by the encoding apparatus.

[0093] FIG. 5 is a flowchart illustrating an example of a method for determining an intra-prediction mode in a decoding device.

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

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

[0096] Although S510 is described as being performed after S500, this is merely an example, and S510 may be performed before S500 or simultaneously with S500.

[0097] The decoding device determines the intra prediction mode of the current block based on the MPM list and the intra prediction mode information (S520). For example, if the mpm flag is set to 1, the decoding device may derive a planar mode as the intra prediction mode of the current block, or may derive a candidate indicated by the mpm index from among MPM candidates in the MPM list (not based on the planar flag) as the intra prediction mode of the current block. For another example, if the mpm flag is set to 0, the decoding device may derive an intra prediction mode indicated by the remaining intra prediction mode information from among the remaining intra prediction modes not included in the MPM list and planar mode as the intra prediction mode of the current block. Meanwhile, for yet another example, if the intra prediction type of the current block is a specific type (e.g., LIP, MRL, or ISP), the decoding device may derive the planar mode or a candidate indicated by the mpm index in the MPM list as the intra prediction mode of the current block without checking the mpm flag.

[0098] For example, the not planar flag may be signaled if the MRL is not applied to the current block (i.e., if intra_luma_ref_idx==0), and the not planar flag may be omitted if the MRL is applied to the current block (i.e., if intra_luma_ref_idx !=0). If the not planar flag is omitted, it may be inferred by the decoding device to have a value of 1.

[0099] Meanwhile, the intra prediction modes may include two directional intra prediction modes and 65 directional prediction modes. The non-directional intra prediction modes may include a planar intra prediction mode and a DC intra prediction mode, and the directional intra prediction modes may include intra prediction modes 2 to 66. The extended directional intra prediction modes may be applied to blocks of all sizes and may be applied to both the luma component and the chroma component.

[0100] Meanwhile, the intra prediction modes may further include a cross-component linear model (CCLM) mode for chroma samples in addition to the above-mentioned intra prediction modes. The CCLM modes may be classified into LT_CCLM, L_CCLM, and T_CCLM depending on whether the left sample, the top sample, or both are considered to derive the LM parameters, and may be applied only to the chroma components.

[0101] The intra prediction modes may be indexed, for example, as shown in Table 1 below. [Table 1]

[0102] Meanwhile, the intra prediction type (or additional intra prediction mode, etc.) may include at least one of the above-mentioned LIP, PDPC, MRL, ISP, and MIP. The intra prediction type may be indicated based on intra prediction type information, which may be implemented in various forms. For example, the intra prediction type information may include intra prediction type index information indicating one of the intra prediction types. For another example, the intra prediction type information may include at least one of reference sample line information (e.g., intra_luma_ref_idx) indicating whether the MRL is applied to the current block and, if so, which reference sample line is used; ISP flag information (e.g., intra_subpartitions_mode_flag) indicating whether the ISP is applied to the current block; ISP type information (e.g., intra_subpartitions_split_flag) indicating the split type of subpartitions when the ISP is applied; flag information indicating whether PDCP is applied; or flag information indicating whether LIP is applied. The intra prediction type information may also include an MIP flag (which may also be referred to as intra_mip_flag) indicating whether MIP is applied to the current block.

[0103] On the other hand, as described above, when MIP is applied to the current block (e.g., when the value of intra_mip_flag is 1), an MPM list for the MIP may be constructed separately, and the MPM flag that may be included in the intra prediction mode information for the MIP may be called intra_mip_mpm_flag, the MPM index may be called intra_mip_mpm_idx, and the remaining intra prediction mode information may be called intra_mip_mpm_remainder.

[0104] Furthermore, various prediction modes may be used for MIP, and a matrix and offset for MIP may be derived depending on the intra prediction mode for MIP. As described above, the matrix may be referred to as a (MIP) weight matrix, and the offset may be referred to as a (MIP) offset vector or a (MIP) bias vector. The number of intra prediction modes for MIP may be set differently based on the size of the current block. For example, i) if the height and width of the current block (e.g., CB or TB) are each 4, 35 intra prediction modes (i.e., intra prediction modes 0 to 34) may be available; ii) if the height and width of the current block are both 8 or less, 19 intra prediction modes (i.e., intra prediction modes 0 to 18) may be available; and iii) in other cases, 11 intra prediction modes (i.e., intra prediction modes 0 to 10) may be available. For example, if the height and width of the current block are each 4, the block size type is 0, if the height and width of the current block are both 8 or less, the block size type is 1, and if not, the block size type is 2. The number of intra prediction modes for MIP may be organized as shown in the following table. However, this is an example, and the block size type and the number of available intra prediction modes may be changed. In this document, the intra prediction mode for MIP may be referred to as MIP intra prediction mode, MIP prediction mode, or MIP mode.

[0105] [Table 2]

[0106] Meanwhile, a secondary MPM list was introduced in the enhanced compression model (ECM). The existing primary MPM (PMPM) list consists of six entries, while the secondary MPM (SMPM) list contains 16 entries. First, a general MPM list with 22 entries is constructed, and then the first six entries in the general MPM list are included in the PMPM list, and the remaining entries are included in the SMPM list. In the general MPM list, the first entry is a planar mode, and the remaining entries are the intra modes of the left (L), upper (A), lower left (BL), upper right (AR), and upper left (AL) surrounding blocks, directional modes offset from the first two available directional modes of the surrounding blocks, and a default mode, as shown in FIG. 6.

[0107] When the CU block is vertical, the order of the surrounding blocks may be top (A), left (L), bottom left (BL), top right (AR), and top left (AL), or the order is left (L), top (A), bottom left (BL), top right (AR), and top left (AL).

[0108] The PMPM flag is parsed and if its value is 1, the PMPM index is parsed to determine which entry in the PMPM list is selected, otherwise the SPMPM flag is parsed to determine whether to parse the SPMPM index or the remaining mode.

[0109] Intra-prediction mode / type-based prediction sample derivation The prediction unit of the encoding device / decoding device can derive reference samples according to the intra prediction mode of the current block from the surrounding reference samples of the current block, and can generate predicted samples of the current block based on the reference samples.

[0110] For example, (i) a predicted sample can be derived based on an average or interpolation of neighboring reference samples of the current block, or (ii) a predicted sample can be derived based on a reference sample located in a specific (prediction) direction relative to the predicted sample among the neighboring reference samples of the current block. Case (i) may be referred to as a non-directional mode or a non-angular mode, and case (ii) as a directional mode or an angular mode. Furthermore, the predicted sample may be generated by interpolating the first and second neighboring samples located in the opposite direction to the prediction direction of the intra-prediction mode of the current block based on the predicted sample of the current block among the neighboring reference samples. This case may be referred to as linear interpolation intra-prediction (LIP). In addition, a temporary prediction sample of the current block may be derived based on filtered neighboring reference samples, and a prediction sample of the current block may be derived by weighting the temporary prediction sample and at least one reference sample derived according to the intra prediction mode among the existing neighboring reference samples, i.e., unfiltered neighboring reference samples. This case may be referred to as position dependent intra prediction (PDPC). Furthermore, intra prediction coding may be performed by selecting a reference sample line with the highest prediction accuracy from multiple reference sample lines surrounding the current block, deriving a prediction sample using a reference sample located in the prediction direction of the selected line, and signaling the used reference sample line to a decoding device. This case may be referred to as multi-reference line intra prediction (MRL) or MRL-based intra prediction. Furthermore, the current block may be divided into vertical or horizontal sub-partitions, and intra prediction may be performed based on the same intra prediction mode, with neighboring reference samples derived and used for each sub-partition.That is, in this case, the intra prediction mode for the current block is applied to the sub-partitions in the same manner, but by deriving and using neighboring reference samples in sub-partition units, it is possible to improve intra prediction performance in some cases. Such a prediction method may be called IPS (intra sub-partitions) or IPS-based intra prediction. Specific details will be described later. Furthermore, when a prediction direction based on a prediction sample indicates neighboring reference samples, i.e., when the prediction direction indicates a fractional sample position, the value of the prediction sample may be derived by interpolating a plurality of reference samples located around the prediction direction (around the fractional sample position).

[0111] The above-described intra prediction methods may be referred to as intra prediction types, distinct from intra prediction modes. The intra prediction types may be referred to by various terms, such as intra prediction techniques or additional intra prediction modes. For example, the intra prediction types (or additional intra prediction modes, etc.) may include at least one of the above-described LIP, PDPC, MRL, and ISP. Information about the intra prediction types may be encoded by an encoding device, included in a bitstream, and signaled to a decoding device. The information about the intra prediction types may be embodied in various forms, such as flag information indicating whether each intra prediction type is applied or index information indicating one of a plurality of intra prediction types.

[0112] The above-described MPM list for deriving an intra prediction mode may be configured differently depending on the intra prediction type, or the MPM list may be configured in common regardless of the intra prediction type.

[0113] (1) Linear interpolation intra prediction (LIP) In the linear interpolation prediction, right and bottom neighboring samples of a current block are generated, and the predicted sample may be generated by interpolating a first neighboring sample located in a prediction direction of an intra prediction mode of the current block based on a prediction sample of the current block among the neighboring samples of the current block and a second neighboring sample corresponding to the first neighboring sample among the neighboring samples. That is, the predicted sample may be generated by interpolating the second neighboring sample located in an opposite direction to the prediction direction of an intra prediction mode of the current block based on a prediction sample of the current block among the neighboring samples and the first neighboring sample.

[0114] To perform linear interpolation prediction, as described above, the rightmost sample buffer and the bottommost sample buffer must be generated. To do this, a bottom right sample (BR) is first generated using surrounding reference samples. In one example, the bottom right sample is generated using the top right sample and the bottom left sample. In another example, the bottom right sample is generated using the most top right sample and the most bottom left sample that are twice the length of the block to be currently coded. In addition to the two methods mentioned above, various other methods can be used to actually generate the bottom right sample.

[0115] After generating the bottom right sample, the bottom buffer and right buffer are generated using the bottom left and top right samples. The bottom sample is generated by linearly interpolating the bottom left and bottom right samples, and the right sample is generated by linearly interpolating the top right and bottom right samples. In this case, the method of generating the bottom sample using the bottom left and bottom right samples and the right sample using the top right and bottom right samples may be performed differently by applying various weighting values.

[0116] After generating the bottom and rightmost samples, linear interpolation prediction is performed using the generated bottom and rightmost samples. A method for generating a current predicted sample C using the linear interpolation intra prediction method is as follows. In the following method, a prediction mode for a vertical sequence having a positive direction will be described.

[0117] 1) Copy the left reference sample to the bottom sample buffer and generate the bottom buffer using the generated bottom sample.

[0118] 2) Generate predicted sample value P by interpolating the A reference sample and B reference sample of the upper reference buffer using the restored value (using the existing intra-coding predicted sample generation method).

[0119] 3) Generate predicted sample value P' by interpolating the A' and B' reference samples of the newly generated bottom reference buffer (using the existing intra-coding predicted sample generation method).

[0120] 4) Linearly interpolate the generated P and P' to generate the final predicted value C.

[0121] The above methods 2) to 4) are applied to all samples in the block to be coded to generate predicted values. The linear interpolation intra prediction method may be applied to all directional modes except for the planar mode and DC mode, which do not have directionality.

[0122] (2) Multi-reference line (MRL) intra prediction Conventional intra prediction uses only the neighboring samples of the first line above and the first line to the left of a current block as reference samples for intra prediction. However, the MRL (Multiple-reference line) method can perform intra prediction using neighboring samples located on sample lines one to three samples away from the top and / or left of the current block as reference samples. A multiple reference line index (e.g., mrl_idx) indicates which line of the current block is used for intra prediction and may be signaled in a coding unit syntax.

[0123] The MRL may be deactivated for the first line block in the CTU to prevent extended reference lines outside the current CTU line from being used, and the PDPC may be disabled if the additional reference lines are used.

[0124] On the other hand, in VVC, the MRL list may be expanded to include more reference lines for intra prediction. In this case, the expanded reference line list may be configured with line indices such as {1, 3, 5, 7, 12}. For template-based intra-mode guidance (TIMD), only the first two reference line candidates, e.g., {1, 3}, may be used instead of the entire MRL candidate list.

[0125] (3) Intra Sub-Partition (ISP) Prediction Conventional intra prediction treats the block currently being coded as a single coding unit and codes it without division. However, the Intra Sub-Partitions (ISP) prediction method divides the block currently being coded horizontally or vertically and performs intra prediction coding. In this case, coding / decoding is performed on the divided block unit to generate a reconstructed block, which is used as a reference block for the next divided block. The current intra sub-partition (ISP) is divided according to the block size as shown in Table 3.

[0126] [Table 3]

[0127] The ISP tool divides a luma intra-predicted block vertically or horizontally into two or four subpartitions depending on the block size. If the block size is larger than 4x8 (or 8x4), the block is divided into four subpartitions. It is known that Mx128 (M≦64) and 128xN (N≦64) ISP blocks can cause potential problems in 64x64 VDPUs. For example, an Mx128 CU in the single-tree case has an Mx128 luma TB and two corresponding M / 2x64 chroma TBs. When a CU uses ISP, the luma TB is divided into four Mx32 TBs (only horizontal division is possible), each of which can be smaller than a 64x64 block. However, in the current design, ISP chroma blocks are not divided. Therefore, the chroma components have a larger size than a 32x32 block. A similar situation can also occur in a 128xN CU that uses ISP. Therefore, these two cases become a problem for the 64x64 decoder pipeline. For this reason, the CU size that can use the ISP may be limited to a maximum of 64x64.

[0128] In order to reduce coding complexity, the intra subpartition method generates an MPM list according to each partitioning method (horizontal partitioning and vertical partitioning), and then compares the appropriate prediction modes in the generated MPM lists in terms of rate distortion optimization (RDO) to generate the optimal mode. Furthermore, when multiple reference line (MRL) intra prediction is used, the intra subpartition method described above cannot be used. That is, the intra subpartition method is applied only when the 0th reference line is used (i.e., intra_luma_ref_idx value is 0). Furthermore, when the intra subpartition method described above is used, the PDPC described above cannot be used.

[0129] The intra subpartition method first transmits whether or not to apply intra subpartition on a block-by-block basis, and if the current block uses intra subpartition (intra_subpartitions_mode_flag), it further encodes / decodes information (intra_subpartitions_split_flag) regarding whether the division is horizontal or vertical.

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

[0131] (4) Matrix-based Intra Prediction (MIP)

[0132] Matrix-based intra prediction (MIP) may be referred to as affine linear weighted intra prediction (ALWIP) or matrix weighted intra prediction (MIP or MWIP). To predict samples of a rectangular block with width W and height H, one line including H reconstructed neighboring boundary samples adjacent to the left side of the current block and one line including W reconstructed neighboring boundary samples adjacent to the top of the current block may be used as input. Unavailable reconstructed neighboring boundary samples may be replaced with available samples using a method performed in conventional intra prediction. The process of generating a prediction signal by applying MIP may include the following three steps.

[0133] Step 1. Averaging process: By averaging using the surrounding boundary samples, 4 sample values ​​(if W=H=4) or 8 sample values ​​(otherwise) can be derived.

[0134] Step 2. Matrix vector multiplication process: By performing a matrix vector multiplication using the averaged sample values ​​as input and adding an offset, a reduced prediction signal can be generated for a subsampled set of samples in the original block.

[0135] 3. (Linear) Interpolation Process: The predicted signals for the sub-sample sets can be linearly interpolated to generate the predicted signals at the remaining positions. The linear interpolation can be a single-step linear interpolation in each direction.

[0136] The matrices and offsets required to generate the prediction signal (predicted block or predicted sample) may be obtained from three matrix sets S0, S1, and S2. Set S0 may consist of 18 matrices and 18 offset vectors. In this case, each matrix may consist of 16 rows and 4 columns, and the size of each offset vector may be 16. The matrices and offset vectors of set S0 may be used for a 4x4 size block.

[0137] Set S1 may consist of 10 matrices and 10 offset vectors, where each matrix may have 16 rows and 8 columns, and each offset vector may have a size of 16. The matrices and offset vectors in set S1 may be used for blocks of size 4x8, 8x4, and 8x8.

[0138] Set S2 may consist of six matrices and six offset vectors, where each matrix may have 64 rows and 8 columns, and each offset vector may have a size of 64. The matrices and offset vectors of set S2 may be used for all other types of blocks.

[0139] The total number of multiplications required to compute a matrix-vector product is always less than or equal to 4xWxH, i.e., a maximum of four multiplications per sample are required for MIP mode.

[0140] (5) Decoder side intra mode derivation (DIMD) In DIMD, intra prediction may be derived as a weighted average of a planar direction and two guided directions. To this end, two angle modes are selected from a histogram of gradients (HoG) calculated from the surrounding pixels of the current block. Once the two modes are selected, their predictors and planar predictors are calculated normally, and then the weighted average may be used as the final predictor for the current block. In this case, the corresponding amplitudes in the HoG are used for each of the two modes to determine the weights.

[0141] Since the induced intra modes are included in the primary list of the intra MPM, the DIMD process may be performed before constructing the MPM list. The temporary induced intra modes of a DIMD block may be saved with the block and used to construct the MPM lists of surrounding blocks.

[0142] The DIMD chroma mode may use a DIMD deriving method to derive a chrominance intra-prediction mode for a current block based on the already-reconstructed surrounding Y, Cb, and Cr samples in the second surrounding row and column shown in Figure 12. Specifically, to build an HoG, horizontal and vertical gradients may be calculated for each collocated already-reconstructed luma sample of the current chrominance block in addition to the already-reconstructed Cb and Cr samples. Then, chrominance intra-prediction for the current chrominance block may be performed using the intra-prediction mode with the largest histogram amplitude value.

[0143] If the intra prediction mode derived from the DIMD chroma mode is the same as the intra prediction mode derived from the DM mode, the intra prediction mode with the second largest histogram amplitude value may be used as the DIMD chroma mode. A predetermined CU level flag may be signaled to indicate whether the above-mentioned DIMD chroma mode is applied.

[0144] (6) Fusion for template-based intra mode derivation (TIMD) For each intra-prediction mode in the MPM, the SATD between the template's predicted sample and the reconstructed sample may be calculated. The first two intra-prediction modes with the smallest SATD may then be selected as the TIMD mode. These two TIMD modes may be fused using a weighting factor, and this weighted intra-prediction may be used to code the current CU. The TIMD mode may be derived using the position-dependent intra-prediction combination (PDPC) described above.

[0145] By comparing the costs of the two selected modes with a predetermined threshold, a cost factor 2 may be applied as shown in the following Equation 1.

[0146]

number

[0147] If the condition in Equation 1 is true, the fusion described above may be applied. Conversely, if the condition in Equation 1 is false, only Mode 1 may be used.

[0148] Meanwhile, the weight of the mode may be calculated from each SATD cost as shown in Equation 2 below.

[0149]

number

[0150] Deriving predicted samples for chroma components When intra prediction is performed on a current block, prediction may be performed on the luma component block (luma block) and prediction may be performed on the chroma component block (chroma block) of the current block, and in this case, the intra prediction mode for the chroma component (chroma block) may be set separately from the intra prediction mode for the luma component (luma block).

[0151] For example, an intra-prediction mode for a chroma component may be indicated based on intra-chroma prediction mode information, which may be signaled in the form of an intra_chroma_pred_mode syntax element. As an example, the intra-chroma prediction mode information may indicate one of candidate modes including at least one of a planar mode, a DC mode, a vertical mode, a horizontal mode, a derived mode (DM), an L_CCLM mode, a T_CCLM mode, and a LT_CCLM mode. DM may be referred to as a direct mode. CCLM may be referred to as an LM mode.

[0152] Meanwhile, DM and CCLM are dependent intra prediction modes that predict a chroma block using information of a luma block. DM may represent a mode in which the same intra prediction mode as the intra prediction mode for the luma component is applied as the intra prediction mode for the chroma component. CCLM may represent an intra prediction mode in which, in a process of generating a prediction block for a chroma block, reconstructed samples of a luma block are subsampled, and then samples derived by applying CCLM parameters α and β to the subsampled samples are used as prediction samples for the chroma block.

[0153] (1) Multiple Direct Modes (MDM) for chroma intracoding Multiple Direct Modes (MDM) may be applied to the current chroma block.

[0154] MDM extends the existing single-mode DM mode to multiple modes. That is, when configuring the intra-prediction mode for chrominance video, multiple DM modes are selected as follows:

[0155] - Intra prediction mode for CR, TL, TR, BL, BR (see Figure 8) positions of the co-located luminance block

[0156] - Intra prediction mode of L, A, BL, AR, and AL blocks that are neighboring blocks of the current color block

[0157] - PLANAR, DC mode

[0158] - -1 or +1 angle mode to the previously selected angle mode

[0159] - Vertical, horizontal, 2, 34, 66, 10, 26 modes (in 65-way mode)

[0160] - If one of the five prediction modes is not selected, the previously selected mode is copied and selected.

[0161] (2) Cross-component linear model (CCLM)

[0162] A CCLM mode may be applied to a current chroma block. The CCLM mode is an intra prediction mode using correlation between a luma block and a chroma block corresponding to the luma block. A linear model may be derived based on neighboring samples of the luma block and neighboring samples of the chroma block, and predicted samples of the chroma block may be derived based on the linear model and reconstructed samples of the luma block. Specifically, when the CCLM mode is applied to the current chroma block, parameters for the linear model may be derived based on neighboring samples used for intra prediction of the current chroma block and neighboring samples used for intra prediction of the current luma block.

[0163] To reduce the redundancy of cross-components, the present disclosure may use a CCLM prediction mode, where a chroma sample may be predicted based on the reconstructed luma sample of the same CU using a linear model. For example, the linear model may be expressed as Equation 3:

[0164]

number

[0165] where pred c (i,j) represents the predicted sample at the (i,j) coordinate of the current chroma block in the current CU, and rec L '(i,j) may represent the reconstructed sample at the (i,j) coordinate of the current luma block in the CU. L '(i,j) may represent the down-sampled reconstructed sample of the current luma block.

[0166] 9 shows the positions of neighboring samples used to derive CCLM parameters, including the positions of the left neighboring sample, the upper neighboring sample, and examples of samples neighboring the current block in relation to the CCLM mode.

[0167] The CCLM parameters (e.g., α and / or β) may be derived using up to four neighboring chroma samples and their corresponding downsampled luma samples. Alternatively, the CCLM parameters may be derived using N neighboring chroma samples and their corresponding downsampled luma samples. If the size of the current chroma block is W×H, W′ and H′ may be set as follows: W′ may represent the range in which the upper neighboring chroma samples used to derive the CCLM parameters are located. H′ may represent the range in which the left neighboring chroma samples used to derive the CCLM parameters are located.

[0168] - When LM mode is applied, W'=W, H'=H

[0169] - When LM_A mode is applied, W'=W+H

[0170] - When LM_L mode is applied, H'=H+W

[0171] The position of the upper neighbor sample can be denoted as S[0,-1]...S[W'-1,-1], and the position of the left neighbor sample can be denoted as S[-1,0]...S[-1,H'-1]. In this case, the four samples may be selected as follows:

[0172] - When LM mode is applied and both upper and left neighbor samples are available: S[W' / 4,-1], S[3W' / 4,-1], S[-1,H' / 4], S[-1,3H' / 4]

[0173] - When LM_A mode is applied or only upper neighbor samples are available: S[W' / 8,-1], S[3W' / 8,-1], S[5W' / 8,-1], S[7W' / 8,-1]

[0174] - When LM_L mode is applied or only the left adjacent sample is available: S[-1,H' / 8], S[-1,3H' / 8], S[-1,5H' / 8], S[-1,7H' / 8]

[0175] The four adjacent luma samples at the positions selected in the above manner may be obtained by downsampling. The two smallest values ​​(x 0 A and x 1 A ) and two larger values ​​(X 0 B and X 1 B ) four comparisons may be made to find the chroma sample values ​​corresponding to the four adjacent samples. 0 A , y 1 A , y 0 B and y 1 B In this case, X a , X b , Y a and Y b may be derived by the following Equation 4:

[0176]

number

[0177] The CCLM parameters α and β may be obtained as follows:

[0178]

number

[0179] The upper and left templates of FIG. 9 may be used together to calculate linear model coefficients. The templates may also be alternatively used in the other two LM modes (LM_A mode and LM_L mode). Specifically, in the LM_A mode, only the upper template may be used to calculate linear model coefficients. In this case, the upper template may be extended to samples at the W+H position to obtain more samples. On the other hand, in the LM_L mode, only the left template may be used to calculate linear model coefficients. In this case, the left template may be extended to samples at the H+W position to obtain more samples. In the case of a non-square block, the upper template may be extended to the W+W position, and the left template may be extended to the H+H position.

[0180] Meanwhile, a total of eight intra prediction modes may be allowed for chroma intra mode coding, including five existing intra prediction modes and three CCLM modes (CCLM, LM_A, and LM_L). The chroma mode signaling and derivation process will be described below with reference to Tables 4 and 5.

[0181] Chroma mode coding may be directly dependent on the intra prediction mode of the corresponding luma block. In an I slice, separate block division structures for luma and chroma components are activated, so one chroma block may correspond to multiple luma blocks. Therefore, in the case of chroma DM mode, the intra prediction mode of the corresponding luma block covering the center position of the current chroma block may be directly applied.

[0182] [Table 4]

[0183] [Table 5]

[0184] Table 4 shows a matching table for deriving an intra-chroma prediction mode when CCLM is not applicable, and Table 5 shows a mapping table for deriving an intra-chroma prediction mode when CCLM is applicable. As can be seen from these tables, the intra-chroma prediction mode may be determined based on the intra-luma prediction mode for the luma block covering the center-bottom-right sample of the current block or chroma block (e.g., when DUAL_TREE is applied) and the value of the signaled intra-chroma prediction mode (intra_chroma_pred_mode) information. The indexes of IntraPredModeC[xCb][yCb] derived from these tables may correspond to the indexes of the intra-prediction modes disclosed in Table 1 above.

[0185] (3) MMLM (Multi-model LM) The CCLM mode may be extended to the MMLM mode. For example, three MMLM modes may be added. Neighboring samples reconstructed in each MMLM mode may be classified into two groups using a threshold. The threshold may be, for example, the average value of the reconstructed luma samples. A linear model for each group may be derived using the Linear-Mean-Square (LMS) method. The LMS method may also be used to derive a linear model in the CCLM mode.

[0186] When using MMLM, there may be two or more linear models between luma samples and chroma samples within a CU. In this method, neighboring luma samples and neighboring chroma samples of a current block may be classified into several groups. Each group may be used as a training set for deriving a linear model. That is, CCLM parameters (e.g., α and / or β) may be derived for each group. Samples within the current luma block may be classified in the same manner as the neighboring luma samples.

[0187] In this method, neighboring samples may be classified into M groups, where M may be 2 or 3. When M is 2 or 3, the MMLM method may be designed as two additional chroma prediction modes, MMLM2 and MMLM3, in addition to the original LM mode. The video encoder can select the optimal mode in the RDO process and signal the mode.

[0188] The threshold may be calculated as the average value of the reconstructed neighboring luma samples. For example, Rec' below the threshold. L The neighboring luma sample with [x,y] is classified into group 1, and the Rec' L The neighboring luma samples having [x, y] may be classified into group 2. The two models for group 1 and group 2 may be derived using Equation 6 below.

[0189]

number

[0190] (4) Fusion of chroma intra prediction modes The DM mode and the four default modes may be fused with the MMLM_LT mode as shown in Equation 7 below.

[0191]

number

[0192] Here, pred0 is a predictor obtained by applying a non-LM mode, pred1 is a predictor obtained by applying an MMLM_LT mode, and pred is the final predictor of the current chroma block. The two weights w0 and w1 may be determined according to the intra prediction mode of the neighboring chroma blocks, and shift may be set to 2. Specifically, if both the upper and left neighboring blocks are coded in the LM mode, {w0, w1} = {1, 3}. Or, if both the upper and left neighboring blocks are coded in the non-LM mode, {w0, w1} = {3, 1}. Otherwise, {w0, w1} = {2, 2}. In syntax design, if a non-LM mode is selected, a flag may be signaled to indicate whether the fusion is applied. This method is only applied to I slices.

[0193] (5) Convolutional cross-component model (CCCM) Similar to the current CCLM mode, a convolutional cross-component model (CCCM) is introduced to predict chroma samples from already reconstructed luma samples. Similar to CCLM, the already reconstructed luma samples may be downsampled to match the lower resolution chroma grid when chroma subsampling is used.

[0194] Also similar to CCLM, there is the option to use a single-model or multi-model variant of CCCM. The multi-model variant uses two models: one derived for samples higher than the average luma reference value, and two for the remaining samples. Multi-model CCCM mode may be selected for PUs with at least 128 available reference samples.

[0195] (6) Gradient linear model (GLM) Compared to CCLM, instead of downsampled luma values, GLM utilizes luma sample gradients to induce a linear model. Specifically, when GLM is applied, the input to the CCLM process, i.e., the downsampled luma samples L, is replaced with the luma sample gradients G as shown in Equation 8. Other parts of CCLM (e.g., parameter induction, predicted sample linear transformation) are still maintained.

[0196]

number

[0197] When CCLM mode is activated for the current CU, two flags are signaled separately for the Cb and Cr components to indicate whether GLM is activated for each component. When GLM is activated for a component, one syntax element is additionally signaled to select one of 16 gradient filters for gradient calculation. GLM may be combined with an existing CCLM by signaling one extra flag in the bitstream. When such a combination is applied, the filter coefficients used to derive the input luma samples of the linear model may be calculated by combining the selected gradient filter of the GLM and the downsampling filter of the CCLM.

[0198] Figure 15 shows examples of four Sobel-based gradient patterns for the GLM. As shown in Figure 15, in the GLM, only four of the 16 gradient filters may be activated. Meanwhile, the combination of the existing CCLM downsampling filter and the gradient filter may be deactivated.

[0199] The coding structure of the above-mentioned intra prediction mode is as shown in FIGS.

[0200] First, referring to FIG. 11, luma intra prediction modes (or information about luma intra prediction modes) are hierarchically coded / signaled in the order of "DIMD → MIP → TIMD → MRL → ISP → MPM → Secondary MPM / non-MPM." In FIG. 11, the MIP index indicates an MIP mode and requires transmission of 3 to 5 bits of additional information. The MRL index indicates an MRL reference line and requires transmission of 1 to 4 bits of additional information. The ISP index indicates an ISP direction and requires transmission of 1 bit of additional information. The MPM index indicates one of the candidates in the MPM list and requires transmission of 1 to 5 bits of additional information. The secondary MPM index indicates one of the candidates in the secondary MPM list and requires transmission of 4 bits of additional information. The non-MPM index indicates one of the intra modes not included in the MPM list and requires transmission of 5 to 6 bits of additional information.

[0201] Next, referring to FIG. 12, chrominance intra prediction modes (or information regarding chrominance intra prediction modes) are hierarchically coded / signaled based on whether a cross-component scheme is applied. In FIG. 12, MMLM, MMLM_L, and MMLM_T refer to the multi-model LM described above, where MMLM uses the same reference sample region as LM, and MMLM_L and MMLM_T use the same reference sample region as LM_L and LM_T, respectively. MDLM_L and MDLM_T refer to the LM_L and LM_A described above. GLM, GLM_L, and GLM_T refer to the gradient linear model described above, where GLM uses the same reference sample region as LM, and GLM_L and GLM_T use the same reference sample region as LM_L and LM_T, respectively. CCCM and MM-CCCM are related to the convolutional cross-component model, and MM-CCCM, like MMLM, uses two sets of CCCM parameters. Fusion is the mixing of different chroma intra prediction modes, and involves mixing a predictor generated from a normal chroma intra mode, DM, or DIMD, with an MMLM or CCCM predictor.

[0202] GLM_IDX indicates the filter to which GLM is applied and requires 3 to 5 bits of additional information transmission. Parameter_delta_signaling is coded / signaled in the MMLM and LM modes and is used to adjust the slope of the linear model. Intra mode index indicates normal intra mode and requires 2 bits of additional information transmission.

[0203] The existing intra-prediction mode coding structure has a very complicated hierarchical structure as shown in Figures 11 and 12, and requires a large number of bits to indicate intra-prediction mode information, which may increase signaling overhead. For example, according to the coding structure of Figure 11, when coding an MRL mode to which TIMD is applied, in addition to four bits of "0011", MRL index information 1 to 4 bits is further required. Also, according to the coding structure of Figure 12, when coding a CCCM mode, three bits of "101" are required. Therefore, in order to prevent an increase in signaling overhead or a decrease in coding efficiency, it is necessary to optimize the existing coding structure.

[0204] In addition, since multiple new intra-coding tools have been introduced and the amount of mode coding information to be transmitted to control these tools has increased significantly, it is necessary to optimize the existing coding structure.

[0205] Therefore, the present disclosure proposes an optimized intra-prediction mode coding structure that takes into account mode selection probability or mode attributes for each slice type, etc. Various embodiments described in the present disclosure may be applied individually or in combination of two or more. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

[0206] Example 1 According to the existing coding structure described above with reference to Figure 11, the luma intra prediction mode is hierarchically coded / signaled in the order of "DIMD → MIP → TIMD → MPM → Secondary MPM / non-MPM" (MRL and ISP are omitted). However, as can be seen from the experimental results in Table 6, the selection probability of the luma intra prediction mode tends to differ from the coding order.

[0207] [Table 6]

[0208] Specifically, referring to Table 6, the selection probability of the luma intra prediction mode is in descending order of "MPM → TIMD → MIP → DIMD → Secondary MPM → non-MPM." If the luma intra prediction mode with a relatively high selection probability is coded first, the number of bits can be reduced, and signaling overhead can be reduced.

[0209] Therefore, in a first embodiment of the present disclosure, a new coding order that reflects the selection probability order of the luma intra prediction mode is proposed. Specific details are as follows.

[0210] In one embodiment, the luma intra prediction modes may be coded / signaled in the order of "TIMD → MIP → DIMD → MPM → Secondary MPM / non-MPM."

[0211] In another embodiment, the luma intra-mode information may be coded / signaled in the order of "DIMD → TIMD → MIP → MPM → Secondary MPM / non-MPM".

[0212] In yet another embodiment, the luma intra-mode information may be coded / signaled in the order of "MPM → TIMD → MIP → DIMD → Secondary MPM / non-MPM."

[0213] In the first embodiment of the present disclosure, the selection of the TIMD, MIP, DIMD, MRL, ISP, MPM, and Secondary MPM modes may be performed based on an individual flag indicating whether each mode is used. The individual flag may be, for example, a TIMD flag, a MIP flag, a DIMD flag, an MRL flag, an ISP flag, an MPM flag, or a Secondary MPM flag, and a value of 1 of the individual flag may indicate that the mode associated with the flag is selected. In addition, the order of branching each luma intracoding mode may be the same as the parsing order of the flag indicating the mode.

[0214] An example of a luma intra prediction mode coding structure according to the first embodiment of the present disclosure is shown in FIG.

[0215] Referring to FIG. 13, the luma intra prediction modes may be coded / signaled in the order of "TIMD → MIP → DIMD → MPM → Secondary MPM / non-MPM."

[0216] Specifically, it is first determined whether TIMD is applied (for example, a TIMD flag). In other words, TIMD exists at the top layer of the luma intra prediction mode coding structure.

[0217] If the result of the determination is that TIMD is applied (e.g., TIMD flag = 1), it is determined whether MRL is applied (e.g., MRL flag), and if MRL is not applied (e.g., MRL flag = 0), it is further determined whether ISP is applied (e.g., ISP flag).

[0218] On the other hand, if TIMD is not applied (for example, TIMD flag = 0), it is determined whether MIP is applied (for example, MIP flag), and if MIP is not applied (for example, MIP flag = 0), it is further determined whether DIMD is applied (for example, DIMD flag). Furthermore, if DIMD is not applied (for example, DIMD flag = 0) as a result of the determination, it is determined whether MRL is applied (for example, MRL flag), and if MRL is not applied (for example, MRL flag = 0), it is further determined whether ISP is applied (for example, ISP flag). Furthermore, if ISP is not applied (for example, ISP flag = 0) as a result of the determination, it is determined whether MPM is applied (for example, MPM flag), and if MPM is not applied (for example, MPM flag = 0), it is further determined whether Secondary MPM is applied (for example, Secondary MPM flag).

[0219] Depending on the embodiment, the order of TIMD, MIP, DIMD, and MPM may be rearranged to have the same structure as that of Fig. 13. In this case, the parsing order of flags indicating the modes may also be rearranged according to the branching order of each mode.

[0220] As described above, according to the first embodiment of the present disclosure, the luma intra prediction modes may be coded / signaled hierarchically in a predetermined order based on the selection probability of each mode, which can further optimize the coding structure, thereby reducing the number of bits and signaling overhead.

[0221] Example 2 Generally, in a P / B-type (inter) slice, inter-coded blocks are prioritized (or predominate) compared to an I-type (intra) slice, and the number of intra-coded blocks is smaller than the number of inter-coded blocks in a P / B-type (inter) slice. However, the coding structure of the existing luma intra prediction mode described above with reference to Figure 11 does not take such slice type attributes into consideration at all.

[0222] Therefore, in a second embodiment of the present disclosure, a new coding structure is proposed that adaptively encodes / signals the luma intra prediction mode according to the slice type.

[0223] (1) Number of MIP modes The number of MIP modes may vary depending on the slice type of the current slice.

[0224] In one embodiment, for an I-type slice, the number of MIP modes may be 32 / 16 / 12 depending on the block size type, specific examples of which are as described above with reference to Table 2. In contrast, for a P / B-type slice, the number of MIP modes may be 16 / 8 / 8 depending on the block size type.

[0225] In another embodiment, for an I-type slice, the number of MIP modes may be 32 / 16 / 12 depending on the block size type, whereas for a P / B-type slice, the number of MIP modes may be 8 / 4 / 2 depending on the block size type.

[0226] In yet another embodiment, for an I-type slice, the number of MIP modes may be 32 / 16 / 12 depending on the block size type, whereas for a P / B-type slice, the number of MIP modes may be 0 / 0 / 0 depending on the block size type.

[0227] Meanwhile, the second embodiment of the present disclosure is not limited to the above example, and for example, the number of MIP modes may be defined differently for P-type slices and B-type slices. Also, the number of MIP modes for each slice type may be predefined at the decoder end, or may be signaled by HLS (high level syntax).

[0228] (2) Number of MRL reference sample lines The number of MRL reference sample lines (or the number of MRL indices) may vary depending on the slice type of the current slice.

[0229] In one embodiment, for an I-type slice, the number of MRL indices may be 5. Conversely, for a P / B-type slice, the number of MRL indices may be 3.

[0230] In another embodiment, for an I-type slice, the number of MRL indices may be 5. Conversely, for a P / B-type slice, the number of MRL indices may be 1.

[0231] In yet another embodiment, for an I-type slice, the number of MRL indices may be 5. Conversely, for a P / B-type slice, the number of MRL indices may be 0.

[0232] Meanwhile, the second embodiment of the present disclosure is not limited to the above example, and for example, the number of MRL indexes may be defined differently for P-type slices and B-type slices. Also, the MRL index may be selected from the existing five reference sample indexes {1, 3, 5, 7, 12}, or may be selected from new indexes (or reference sample lines) other than the five indexes.

[0233] (3) Selective mode coding The luma intra prediction mode may be selectively coded / signaled depending on the slice type of the current slice.

[0234] In one embodiment, for I-type slices, DIMD, TIMD, MRL, MIP, and ISP may be used and the mode information may be coded / signaled, whereas for P / B-type slices, only DIMD, TIMD, MRL, and MIP may be used and the mode information may be coded / signaled.

[0235] In another embodiment, for I-type slices, DIMD, TIMD, MRL, MIP, and ISP may be used and the mode information may be coded / signaled, whereas for P / B-type slices, only MRL, MIP, and ISP may be used and the mode information may be coded / signaled.

[0236] In yet another embodiment, for I-type slices, DIMD, TIMD, MRL, MIP, and ISP may be used and the mode information may be coded / signaled, whereas for P / B-type slices, only DIMD, TIMD, MRL, and MIP may be used and the mode information may be coded / signaled.

[0237] Meanwhile, the second embodiment of the present disclosure is not limited to the above example. For example, available luma intra prediction modes may be defined differently for P-type slices and B-type slices.

[0238] It goes without saying that the above-mentioned embodiments (1) to (3) may be applied individually or in combination of two or more.

[0239] An example of a luma intra-prediction mode coding structure according to the second embodiment of the present disclosure is shown in FIGS. 14A and 14B.

[0240] 14A and 14B, the luma intra prediction mode may have a different coding structure depending on the slice type. For example, in a P / B-type slice where inter-coded blocks are prioritized (or predominate), the luma intra prediction mode may have a simpler coding structure than an I-type slice.

[0241] Meanwhile, a flag indicating whether an intra-luma coding tool is applied may be transmitted for each slice type in a high-level syntax (HLS), such as VPS, SPS, PPS, Picture header, Slice header, etc. That is, information for determining whether a specific luma intra mode is applied may be transmitted in various higher-level syntaxes, such as SPS, APS, PPS, VPS, DPS, Picture Header, Slice Header, etc., depending on the slice type, or may be transmitted in lower-level syntaxes, such as CTU and CU.

[0242] As described above, according to the second embodiment of the present disclosure, the luma intra prediction mode may be coded / signaled based on the slice type, which can further optimize the coding structure, thereby reducing the number of bits and signaling overhead.

[0243] Example 3 The coding structure of the existing chrominance intra prediction mode described above with reference to Figure 12 does not take into account attributes of each slice type. As multiple new intra coding tools are being introduced, it is necessary to optimize the coding structure to reduce the bit amount and improve coding efficiency.

[0244] Therefore, in a third embodiment of the present disclosure, a new coding structure is proposed that adaptively encodes / signals a chrominance intra-prediction mode according to a slice type.

[0245] (1) Number of GLM filters The number of GLM filters may vary depending on the slice type of the current slice.

[0246] In one embodiment, for an I-type slice, the number of GLM filters may be four, whereas for a P / B-type slice, the number of GLM filters may be two.

[0247] In another embodiment, for an I-type slice, the number of GLM filters may be four, whereas for a P / B-type slice, the number of GLM filters may be one.

[0248] In yet another embodiment, for an I-type slice, the number of GLM filters may be 4. Conversely, for a P / B-type slice, the number of GLM filters may be 0.

[0249] Meanwhile, the third embodiment of the present disclosure is not limited to the above example, and for example, the number of GLM filters may be defined differently for P-type slices and B-type slices.

[0250] (2) Color plane and parameter range for parameter_delta_signaling In MMLM and LM modes, whether parameter_delta_signaling, which is used to adjust the slope of the linear model, is used for each chroma component may vary depending on the slice type of the current slice.

[0251] In one embodiment, for an I-type slice, parameter_delta_signaling may be coded / signaled independently for Cb / Cr, whereas for a P / B-type slice, parameter_delta_signaling may be coded / signaled jointly (i.e., once) for Cb / Cr.

[0252] In another embodiment, for an I-type slice, parameter_delta_signaling may have a parameter range of {-4, -3, -2, -1, 1, 2, 3, 4}, whereas for a P / B-type slice, parameter_delta_signaling may have a parameter range of {-3, -1, 1, 3}.

[0253] Meanwhile, the third embodiment of the present disclosure is not limited to the above example, and for example, the color plane and parameter range for applying parameter_delta_signaling may be defined differently for P-type slices and B-type slices.

[0254] (3) Selective mode coding The chrominance intra-prediction mode may be selectively coded / signaled depending on the slice type of the current slice.

[0255] In one embodiment, for I-type slices, LM, MDLM_L, MDLM_T, MMLM, MMLM_L, MMLM_T, GLM, GLM_L, GLM_T, CCCM, MM-CCCM, and parameter_delta_signaling may be used to encode / signal the mode information, whereas for P / B-type slices, only LM, MMLM, GLM, CCCM, and MM-CCCM may be used to encode / signal the mode information.

[0256] In another embodiment, for an I-type slice, the mode information may be coded / signaled using LM, MDLM_L, MDLM_T, MMLM, MMLM_L, MMLM_T, GLM, GLM_L, GLM_T, CCCM, MM-CCCM, and parameter_delta_signaling, whereas for a P / B-type slice, only LM, MDLM_L, MDLM_T, MMLM, GLM, GLM_L, GLM_T, CCCM, MM-CCCM, and parameter_delta_signaling may be used to code / signal the mode information.

[0257] In yet another embodiment, for I-type slices, the mode information may be coded / signaled using LM, MDLM_L, MDLM_T, MMLM, MMLM_L, MMLM_T, GLM, GLM_L, GLM_T, CCCM, MM-CCCM, and parameter_delta_signaling, whereas for P / B-type slices, only LM, MDLM_L, MDLM_T, MMLM_L, MMLM_T, GLM, GLM_L, GLM_T, CCCM, and MM-CCCM may be used to code / signal the mode information.

[0258] In yet another embodiment, for I-type slices, the mode information may be coded / signaled using LM, MDLM_L, MDLM_T, MMLM, MMLM_L, MMLM_T, GLM, GLM_L, GLM_T, CCCM, MM-CCCM, and parameter_delta_signaling, whereas for P / B-type slices, only LM, MDLM_L, MDLM_T, MMLM_L, MMLM_T, CCCM, and MM-CCCM may be used to code / signal the mode information.

[0259] In yet another embodiment, for I-type slices, the mode information may be coded / signaled using LM, MDLM_L, MDLM_T, MMLM, MMLM_L, MMLM_T, GLM, GLM_L, GLM_T, CCCM, MM-CCCM, and parameter_delta_signaling, whereas for P / B-type slices, only LM, MDLM_L, MDLM_T, MMLM_L, MMLM_T, GLM, CCCM, and MM-CCCM may be used to code / signal the mode information.

[0260] In yet another embodiment, for I-type slices, the mode information may be coded / signaled using LM, MDLM_L, MDLM_T, MMLM, MMLM_L, MMLM_T, GLM, GLM_L, GLM_T, CCCM, MM-CCCM, and parameter_delta_signaling, whereas for P / B-type slices, only LM, MMLM, GLM, CCCM, MM-CCCM, and parameter_delta_signaling may be coded / signaled.

[0261] In yet another embodiment, for an I-type slice, parameter_delta_signaling may be used for both MMLM and LM to encode / signal the mode information, whereas for a P / B-type slice, parameter_delta_signaling may be used only for LM to encode / signal the mode information.

[0262] Meanwhile, the third embodiment of the present disclosure is not limited to the above example. For example, available chrominance intra prediction modes may be defined differently for P-type slices and B-type slices.

[0263] It goes without saying that the above-mentioned embodiments (1) to (3) may be applied individually or in combination of two or more.

[0264] An example of a chrominance intra-prediction mode coding structure according to the third embodiment of the present disclosure is shown in FIGS. 15A and 15B.

[0265] 15A and 15B, chrominance intra prediction modes may have different coding structures depending on the slice type. For example, in a P / B-type slice where inter-coded blocks are prioritized (or predominate), chrominance intra prediction modes may have a simplified coding structure compared to an I-type slice.

[0266] At least one of LM, MDLM_L, MDLM_T, MMLM, MMLM_L, MMLM_T, GLM, GLM_L, GLM_T, CCCM, MM-CCCM, and parameter_delta_signaling mode may not be used for P-type slices and / or B-type slices, and in this case, information indicating the mode may not be transmitted. To explicitly indicate this, the following content may be included in the semantics of the information indicating whether each mode is selected.

[0267] Taking GLM, The GLM flag selectively indicates whether to use GLM, and when its value is 1, it means that the GLM mode is applied, and when its value is 0, it means that the GLM mode is not applied. Also, for P / B-type slices, the GLM flag decoding process is not performed, and its value is inferred as 0.

[0268] Meanwhile, a flag indicating whether an intra-chroma coding tool is applied may be transmitted for each slice type in a high-level syntax (HLS), such as VPS, SPS, PPS, Picture Header, Slice Header, etc. That is, information for determining whether a specific chroma intra mode is applied may be transmitted in various higher-level syntaxes, such as SPS, APS, PPS, VPS, DPS, Picture Header, Slice Header, etc., depending on the slice type, or in a lower-level syntax, such as CTU or CU. Alternatively, after transmitting information regarding whether a specific chroma intra mode is permitted in a higher-level syntax, separate information indicating whether the chroma intra mode is applied may be further transmitted in the next syntax or in a lower-level syntax.

[0269] As described above, according to the third embodiment of the present disclosure, the chrominance intra prediction mode may be coded / signaled based on the slice type, which can further optimize the coding structure, thereby reducing the number of bits and signaling overhead.

[0270] Hereinafter, a video encoding / decoding method according to an embodiment of the present disclosure will be described in detail with reference to FIGS.

[0271] 16 is a flowchart illustrating a video decoding method according to an embodiment of the present disclosure. The video decoding method of FIG. 16 may be performed by the video decoding device of FIG.

[0272] 16, the video decoding apparatus may acquire intra prediction mode information of a current block (S1610) and determine an intra prediction mode of the current block based on the acquired intra prediction mode information (S1620). The video decoding apparatus may then perform intra prediction on the current block based on the determined intra prediction mode (S1630). In this case, the intra prediction mode information may be determined to be different from each other based on the slice type of the current block.

[0273] In one embodiment, based on the fact that the intra prediction mode of the current block is a matrix-based intra prediction (MIP) mode, the number of candidate modes for the MIP mode may be determined based on the slice type of the current block.

[0274] In one embodiment, based on the fact that the intra prediction mode of the current block is a multi-reference line (MRL) mode, the number of reference sample lines for the MRL mode may be determined based on the slice type of the current block.

[0275] In one embodiment, the intra prediction mode information includes at least one mode information of available luma intra prediction modes, and the available luma intra prediction modes may be determined differently depending on the slice type. Specifically, if the slice type of the current block is an I slice type, the available luma intra prediction modes may include decoder-side intra mode derivation (DIMD), template-based intra mode derivation (TIMD), multi-reference line (MRL), matrix-based intra prediction (MIP), and intra sub-partitions (ISP) modes. Alternatively, if the slice type of the current block is a P or B slice type, the available luma intra prediction modes may include only some of decoder-side intra mode derivation (DIMD), template-based intra mode derivation (TIMD), multi-reference line (MRL), matrix-based intra prediction (MIP), and intra sub-partitions (ISP) modes.

[0276] In one embodiment, the intra prediction mode information may be obtained in the following order: decoder side intra mode derivation (DIMD), matrix-based intra prediction (MIP), template-based intra mode derivation (TIMD), most probable mode (MPM), secondary MPM, and non-MPM mode.

[0277] In one embodiment, based on the fact that the intra prediction mode of the current block is a gradient linear model (GLM) mode, the number of filters for the GLM mode may be determined based on the slice type of the current block.

[0278] In one embodiment, based on the fact that the intra prediction mode of the current block is LM (linear model) or MMLM (multi-model linear model) mode, the intra prediction mode information includes a slope adjustment parameter of a linear model, and at least one of a color plane range or a parameter range to which the slope adjustment parameter is applied may be determined based on the slice type of the current block.

[0279] In one embodiment, the intra prediction mode information includes at least one mode information of available chrominance intra prediction modes, and the available chrominance intra prediction modes may be determined differently depending on the slice type. Specifically, when the slice type of the current block is an I slice type, the available chrominance intra prediction modes may include a linear model (LM), a multi-directional linear model (MDLM), a multi-model linear model (MMLM), a gradient linear model (GLM), a convolutional cross-component model (CCCM), and a multi-model convolutional cross-component model (MM-CCCM). Alternatively, depending on whether the slice type of the current block is a P or B slice type, the available chrominance intra prediction modes may include only some of LM (linear model), MDLM (multi-directional linear model), MMLM (multi-model linear model), GLM (gradient linear model), CCCM (convolutional cross-component model), or MM-CCCM (multi-model convolutional cross-component model).

[0280] 17 is a flowchart illustrating a video encoding method according to an embodiment of the present disclosure. The video encoding method of FIG. 17 may be performed by the video encoding device of FIG.

[0281] 17, a video encoding apparatus may determine an intra prediction mode of a current block (S1710) and perform intra prediction on the current block based on the determined intra prediction mode (S1720). The video encoding apparatus may then encode information about the intra prediction mode into a bitstream (S1730). In this case, the information about the intra prediction mode may be determined differently depending on the slice type of the current block. Specific content of the information about the intra prediction mode has been described above.

[0282] Although the exemplary method of the present disclosure is expressed as a series of operations for clarity of explanation, this is not intended to limit the order in which the steps are performed, and the steps may be performed simultaneously or in a different order if necessary. To embody the method of the present disclosure, the exemplary steps may further include other steps, or some steps may be omitted and the remaining steps may be included, or some steps may be omitted and the remaining steps may be included.

[0283] In the present disclosure, a video encoding device or a video decoding device that performs a predetermined operation (step) may perform an operation (step) that checks the execution conditions or circumstances of the operation (step). For example, if it is described that the predetermined operation is performed when a predetermined condition is satisfied, the video encoding device or the video decoding device may perform an operation that checks whether the predetermined condition is satisfied and then perform the predetermined operation.

[0284] The various embodiments of the present disclosure do not enumerate all possible combinations but are intended to describe representative aspects of the present disclosure, and the matters described in the various embodiments may be applied independently or in combination of two or more.

[0285] Furthermore, various embodiments of the present disclosure may be implemented using hardware, firmware, software, or a combination thereof. In the case of a hardware implementation, the implementation may be using one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general processors, controllers, microcontrollers, microprocessors, etc.

[0286] In addition, a video decoding device and a video encoding device to which an embodiment of the present disclosure is applied may be included in a multimedia broadcast transmitting / receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video conversation device, a real-time communication device such as video communication, a mobile streaming device, a storage medium, a camcorder, a video on demand (VoD) service providing device, an over-the-top (OTT) video device, an internet streaming service providing device, a three-dimensional (3D) video device, an image telephone video device, a medical video device, etc., and may be used to process a video signal or a data signal. For example, an over-the-top (OTT) video device may include a game console, a Blu-ray player, an internet-connected TV, a home theater system, a smartphone, a tablet PC, a digital video recorder (DVR), etc.

[0287] FIG. 18 is a diagram illustrating a content streaming system to which an embodiment of the present disclosure can be applied.

[0288] As shown in FIG. 18, a content streaming system to which an embodiment of the present disclosure is applied may broadly include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.

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

[0290] The bitstream may be generated by a video encoding method and / or video encoding device to which an embodiment of the present disclosure is applied, and the streaming server may temporarily store the bitstream during the process of transmitting or receiving the bitstream.

[0291] The streaming server transmits multimedia data to a user device based on a user request via a web server, and the web server may act as an intermediary informing the user of available services. When a user requests a desired service from the web server, the web server transmits the request to the streaming server, which then transmits the multimedia data to the user. In this case, the content streaming system may include a separate control server, and in this case, the control server may control commands and responses between devices in the content streaming system.

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

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

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

[0295] The scope of the present disclosure includes software or machine-executable instructions (e.g., operating systems, applications, firmware, programs, etc.) that cause operations according to the methods of various embodiments to be performed on a device or computer, and non-transitory computer-readable media on which such software or instructions, etc., may be stored and executed on a device or computer. [Industrial Applicability]

[0296] The embodiments of the present disclosure can be used to encode / decode video.

[0297] [Claims at the time of international application] [Claim 1] A video decoding method performed by a video decoding device, comprising: obtaining intra prediction mode information of a current block; determining an intra prediction mode of the current block based on the intra prediction mode information; performing intra prediction on the current block based on the intra prediction mode; The intra prediction mode information is determined to be different from each other based on a slice type of the current block. [Claim 2] 2. The video decoding method of claim 1, wherein, based on the fact that an intra prediction mode of the current block is an MIP (Matrix-based Intra Prediction) mode, the number of candidate modes for the MIP mode is determined based on a slice type of the current block. [Claim 3] 2. The video decoding method of claim 1, wherein, based on the fact that the intra prediction mode of the current block is an MRL (Multi-Reference Line) mode, the number of reference sample lines for the MRL mode is determined based on a slice type of the current block. [Claim 4] The intra-prediction mode information includes at least one mode information of available luma intra-prediction modes, The video decoding method of claim 1 , wherein the available luma intra prediction modes are determined differently for each slice type. [Claim 5] 5. The video decoding method of claim 4, wherein, based on the slice type of the current block being an I slice type, the available luma intra prediction modes include decoder-side intra mode derivation (DIMD), template-based intra mode derivation (TIMD), multi-reference line (MRL), matrix-based intra prediction (MIP), and intra sub-partitions (ISP) modes. [Claim 6] 5. The video decoding method of claim 4, wherein, based on whether a slice type of the current block is a P slice or a B slice, the available luma intra prediction modes include only some of decoder-side intra mode derivation (DIMD), template-based intra mode derivation (TIMD), multi-reference line (MRL), matrix-based intra prediction (MIP), or intra sub-partitions (ISP) modes. [Claim 7] 2. The video decoding method of claim 1, wherein the intra-prediction mode information is obtained in the order of decoder-side intra mode derivation (DIMD), matrix-based intra prediction (MIP), template-based intra mode derivation (TIMD), most probable mode (MPM), secondary MPM, and non-MPM mode. [Claim 8] 2. The video decoding method of claim 1, wherein, based on the fact that an intra prediction mode of the current block is a gradient linear model (GLM) mode, the number of filters for the GLM mode is determined based on a slice type of the current block. [Claim 9] Based on the fact that the intra prediction mode of the current block is a linear model (LM) or a multi-model linear model (MMLM) mode, the intra prediction mode information includes a slope adjustment parameter of a linear model; 2. The video decoding method of claim 1, wherein at least one of a color plane range or a parameter range to which the slope adjustment parameter is applied is determined based on a slice type of the current block. [Claim 10] The intra-prediction mode information includes at least one mode information of available chrominance intra-prediction modes, The video decoding method of claim 1 , wherein the available chrominance intra-prediction modes are determined differently for each slice type. [Claim 11] 11. The video decoding method of claim 10, wherein, based on a slice type of the current block being an I slice type, the available chrominance intra prediction modes include a linear model (LM), a multi-directional linear model (MDLM), a multi-model linear model (MMLM), a gradient linear model (GLM), a convolutional cross-component model (CCCM), and a multi-model convolutional cross-component model (MM-CCCM). [Claim 12] 11. The video decoding method of claim 10, wherein the available chrominance intra prediction modes include only some of a linear model (LM), a multi-directional linear model (MDLM), a multi-model linear model (MMLM), a gradient linear model (GLM), a convolutional cross-component model (CCCM), or a multi-model convolutional cross-component model (MM-CCCM) based on whether the slice type of the current block is a P slice type or a B slice type. [Claim 13] A video encoding method performed by a video encoding device, comprising: determining an intra prediction mode for a current block; performing intra prediction on the current block based on the intra prediction mode; encoding information about the intra-prediction mode; The information about the intra prediction mode is determined differently depending on a slice type of the current block. [Claim 14] A non-transitory computer-readable recording medium storing a bitstream generated by the video encoding method of claim 13. [Claim 15] A method for transmitting a bitstream generated by a video encoding method, comprising: determining an intra prediction mode for a current block; performing intra prediction on the current block based on the intra prediction mode; encoding information about the intra-prediction mode; The information about the intra prediction mode is determined to be different from each other based on a slice type of the current block.

Claims

1. A video decoding method performed by a video decoding device, comprising: obtaining intra prediction mode information of a current block; determining an intra prediction mode of the current block based on the intra prediction mode information; performing intra prediction on the current block based on the intra prediction mode; The intra prediction mode information is determined to be different from each other based on a slice type of the current block.

2. 2. The video decoding method of claim 1, wherein, based on the fact that an intra prediction mode of the current block is a matrix-based intra prediction (MIP) mode, the number of candidate modes for the MIP mode is determined based on a slice type of the current block.

3. 2. The video decoding method of claim 1, wherein, based on the fact that the intra prediction mode of the current block is a multi-reference line (MRL) mode, the number of reference sample lines for the MRL mode is determined based on a slice type of the current block.

4. The intra-prediction mode information includes at least one mode information of available luma intra-prediction modes, The video decoding method of claim 1 , wherein the available luma intra prediction modes are determined differently for each slice type.

5. 5. The video decoding method of claim 4, wherein, based on the slice type of the current block being an I slice type, the available luma intra prediction modes include decoder side intra mode derivation (DIMD), template-based intra mode derivation (TIMD), multi-reference line (MRL), matrix-based intra prediction (MIP), and intra sub-partitions (ISP) modes.

6. 5. The video decoding method of claim 4, wherein the available luma intra prediction modes include only some of decoder side intra mode derivation (DIMD), template-based intra mode derivation (TIMD), multi-reference line (MRL), matrix-based intra prediction (MIP), or intra sub-partitions (ISP) modes, based on whether the slice type of the current block is a P slice or a B slice.

7. 2. The video decoding method of claim 1, wherein the intra-prediction mode information is obtained in the following order: decoder-side intra mode derivation (DIMD), matrix-based intra prediction (MIP), template-based intra mode derivation (TIMD), most probable mode (MPM), secondary MPM, and non-MPM mode.

8. The video decoding method of claim 1 , wherein, when an intra prediction mode of the current block is a gradient linear model (GLM) mode, the number of filters for the GLM mode is determined based on a slice type of the current block.

9. Based on the fact that the intra prediction mode of the current block is a linear model (LM) or a multi-model linear model (MMLM) mode, the intra prediction mode information includes a slope adjustment parameter of a linear model; The video decoding method of claim 1 , wherein at least one of a color plane range or a parameter range to which the slope adjustment parameter is applied is determined based on a slice type of the current block.

10. The intra-prediction mode information includes at least one mode information of available chrominance intra-prediction modes, The video decoding method of claim 1 , wherein the available chrominance intra-prediction modes are determined differently for each slice type.

11. 11. The video decoding method of claim 10, wherein the available chrominance intra prediction modes include a linear model (LM), a multi-directional linear model (MDLM), a multi-model linear model (MMLM), a gradient linear model (GLM), a convolutional cross-component model (CCCM), and a multi-model convolutional cross-component model (MM-CCCM), based on the slice type of the current block being an I slice type.

12. 11. The video decoding method of claim 10, wherein the available chrominance intra-prediction modes include only some of a linear model (LM), a multi-directional linear model (MDLM), a multi-model linear model (MMLM), a gradient linear model (GLM), a convolutional cross-component model (CCCM), or a multi-model convolutional cross-component model (MM-CCCM) based on whether the slice type of the current block is a P slice or a B slice.

13. A video encoding method performed by a video encoding device, comprising: determining an intra prediction mode of a current block; performing intra prediction on the current block based on the intra prediction mode; encoding information about the intra-prediction mode; The information about the intra prediction mode is determined differently depending on a slice type of the current block.

14. A non-transitory computer-readable recording medium storing a bitstream generated by the video encoding method of claim 13.

15. A method for transmitting a bitstream generated by a video encoding method, comprising: determining an intra prediction mode of a current block; performing intra prediction on the current block based on the intra prediction mode; encoding information about the intra-prediction mode; The information about the intra prediction mode is determined to be different from each other based on a slice type of the current block.