Video coding method and apparatus based on intra-prediction using an MPM list.
The video coding method and apparatus enhance video coding efficiency by using an MPM list for intra-prediction, addressing the need for efficient compression of high-resolution and immersive media.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- LG ELECTRONICS INC
- Filing Date
- 2026-03-19
- Publication Date
- 2026-06-16
AI Technical Summary
The increasing demand for high-resolution and high-quality video, including immersive media, necessitates a highly efficient video compression technology to reduce transfer and storage costs.
A video coding method and apparatus utilizing an MPM list for intra-prediction, including MPM flag and planar flag information to determine intra-prediction modes, and constructing an MPM list for current blocks.
Improves the efficiency of video coding and intra-prediction by utilizing an MPM list, enhancing the construction and coding of MPM indexes.
Smart Images

Figure 2026098097000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to video coding technology, and more particularly, to a video coding method and apparatus based on intra prediction using a Most Probable Modes (MPM) list in a video coding system.
Background Art
[0002] Recently, the demand for high-resolution and high-quality video / video such as 4K or UHD (Ultra High Definition) video / video of 8K or higher has been increasing in various fields. As video / video data becomes higher in resolution and quality, the amount of information or bits transferred relatively increases compared to conventional video / video data. Therefore, when transferring video data using a medium such as a conventional wired or wireless broadband line or storing video / video data using a conventional storage medium, the transfer cost and storage cost increase.
[0003] In addition, recently, the interest and demand for immersive media such as VR (Virtual Reality), AR (Artificial Reality) content or holograms have been increasing, and the broadcast of video / video having video characteristics different from real-world video such as game video has been increasing.
[0004] Therefore, in order to effectively compress, transfer, store, and reproduce information of high-resolution and high-quality video / video having various characteristics as described above, a highly efficient video / video compression technology is required.
Summary of the Invention
Problems to be Solved by the Invention
[0005] A technical problem of the present disclosure is to provide a method and apparatus for increasing the efficiency of video coding.
[0006] Another technical challenge of this disclosure is to provide a method and apparatus for improving the efficiency of intra-prediction.
[0007] Another technical challenge of this disclosure is to provide a method and apparatus for performing intra-predictive video coding that utilizes an MPM list for a given block.
[0008] Another technical issue of this disclosure is to provide a method and apparatus for performing intra-prediction based on an MPM list, based on planar flag information indicating whether to determine the intra-prediction mode for a block to be planar mode.
[0009] Another technical challenge of this disclosure is to provide a method and apparatus for constructing an MPM list for a given block.
[0010] Another technical challenge of this disclosure is to provide a method and apparatus for coding an MPM index. [Means for solving the problem]
[0011] According to one embodiment of the present disclosure, a video decoding method performed by a decoding device is provided. The video decoding method includes the steps of: receiving intra-prediction information which includes at least one of MPM flag information indicating whether to derive an intra-prediction mode for the current block based on MPM (Most Probable Modes) candidates for the current block, or planar flag information indicating whether to determine the intra-prediction mode for the current block to be a planar mode; deriving the intra-prediction mode for the current block based on the MPM flag information and the planar flag information; deriving a predicted block for the current block based on the intra-prediction mode for the current block; and generating a restored picture based on the predicted block, wherein the planar flag information is included in the intra-prediction information if the MPM flag information indicates that an intra-prediction mode for the current block is derived based on the MPM candidates.
[0012] In one embodiment, the step of deriving the intra-prediction mode for the current block may include the step of deriving the intra-prediction mode for the current block as the planar mode, based on the fact that the planar flag information indicates that the intra-prediction mode for the current block is derived as the planar mode.
[0013] In one embodiment, the intra-prediction information may further include MPM index information related to one of the MPM candidates obtained by excluding the planar mode from the MPM candidates for the current block. The MPM index information may be included in the intra-prediction information based on the planar flag information indicating that the intra-prediction mode for the current block is not derived as the planar mode. The intra-prediction mode for the current block can be derived based on the MPM index information.
[0014] In one embodiment, the total number of MPM candidates for the current block, excluding the planar mode, may be 5.
[0015] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. Based on the case where the intra-prediction mode of the peripheral block to the left of the current block and the intra-prediction mode of the peripheral block above the current block are the same, and the intra-prediction mode of the peripheral block to the left is greater than the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-prediction mode of the peripheral block to the left of the current block, the intra-prediction mode for MPM candidate 1 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block + 61) % 64), and the intra-prediction mode for MPM candidate 2 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block - 1) % 64).
[0016] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. Based on the case where the intra-prediction mode of the surrounding block to the left of the current block and the intra-prediction mode of the surrounding block above the current block are not the same, and the intra-prediction mode of the surrounding block to the left is less than or equal to the intra-DC mode, and the intra-prediction mode of the surrounding block above is less than or equal to the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-DC mode, the intra-prediction mode for MPM candidate 1 may be the intra-prediction mode 50, the intra-prediction mode for MPM candidate 2 may be the intra-prediction mode 18, the intra-prediction mode for MPM candidate 3 may be the intra-prediction mode 46, and the intra-prediction mode for MPM candidate 4 may be the intra-prediction mode 54.
[0017] In one embodiment, the MPM index information may be based on the truncated rice (TR)2 evolutionary process (binarization process).
[0018] In one embodiment, cMax, which represents the maximum value of the MPM index information, may be 4.
[0019] Another embodiment of the present disclosure provides a decoding device for video decoding. The decoding device includes an entropy decoding unit that receives intra-prediction information which includes at least one of MPM flag information indicating whether to derive an intra-prediction mode for the current block based on MPM (Most Probable Modes) candidates for the current block, or a planar flag information indicating whether to determine the intra-prediction mode for the current block to be a planar mode; a prediction unit that derives the intra-prediction mode for the current block based on the MPM flag information and the planar flag information, and derives a predicted block for the current block based on the intra-prediction mode for the current block; and an addition unit that generates a restored picture based on the predicted block, wherein the planar flag information is included in the intra-prediction information when the MPM flag information indicates that an intra-prediction mode for the current block is derived based on the MPM candidates.
[0020] In one embodiment, the prediction unit may derive the intra-prediction mode for the current block as the planar mode based on the case where the planar flag information indicates that the intra-prediction mode for the current block is derived as the planar mode.
[0021] In one embodiment, the intra-prediction information may further include MPM index information related to one of the MPM candidates obtained by excluding the planar mode from the MPM candidates for the current block. The MPM index information may be included in the intra-prediction information based on the case where the planar flag information indicates that the intra-prediction mode for the current block is not derived as the planar mode, and the intra-prediction mode for the current block may be derived based on the MPM index information.
[0022] In one embodiment, the total number of MPM candidates for the current block, excluding the planar mode, may be 5.
[0023] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. Based on the case where the intra-prediction mode of the peripheral block to the left of the current block and the intra-prediction mode of the peripheral block above the current block are the same, and the intra-prediction mode of the peripheral block to the left is greater than the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-prediction mode of the peripheral block to the left of the current block, the intra-prediction mode for MPM candidate 1 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block + 61) % 64), and the intra-prediction mode for MPM candidate 2 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block - 1) % 64).
[0024] In one embodiment, the MPM index information may represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate included in the MPM candidates excluding the planar mode from the MPM candidates for the current block. Based on the case where the intra prediction mode of the peripheral block on the left side of the current block and the intra prediction mode of the peripheral block on the upper side of the current block are not the same, the intra prediction mode of the left peripheral block is less than or equal to the intra DC mode, and the intra prediction mode of the upper peripheral block is less than or equal to the intra DC mode, the intra prediction mode for the 0th MPM candidate is the intra DC mode, the intra prediction mode for the 1st MPM candidate is the 50th intra prediction mode, the intra prediction mode for the 2nd MPM candidate is the 18th intra prediction mode, the intra prediction mode for the 3rd MPM candidate is the 46th intra prediction mode, and the intra prediction mode for the 4th MPM candidate may be the 54th intra prediction mode.
[0025] In one embodiment, the MPM index information may be based on a Truncated Rice (TR) binarization process.
[0026] In one embodiment, cMax representing the maximum value of the MPM index information may be 4.
[0027] According to another embodiment of the present disclosure, a video encoding method performed by an encoding device is provided. The video encoding method includes: deriving an intra prediction mode for a current block; generating MPM (Most Probable Modes) flag information indicating whether the intra prediction mode for the current block is derived based on MPM candidates for the current block; generating planar flag information based on a case where the MPM flag information is related to planar flag information indicating whether to determine the intra prediction mode for the current block as a planar mode; and encoding video information including at least one of the MPM flag information or the planar flag information.
[0028] In one embodiment, based on a case where the intra prediction mode for the current block is derived as the planar mode, the planar flag information may represent that the intra prediction mode for the current block is derived as the planar mode.
[0029] In one embodiment, the intra prediction information may further include MPM index information related to one of the MPM candidates excluding the planar mode from the MPM candidates for the current block. The video encoding method may further include generating the MPM index information based on a case where the intra prediction mode for the current block is not derived as the planar mode.
[0030] In one embodiment, the total number of the MPM candidates excluding the planar mode from the MPM candidates for the current block may be five.
[0031] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. Based on the case where the intra-prediction mode of the peripheral block to the left of the current block and the intra-prediction mode of the peripheral block above the current block are the same, and the intra-prediction mode of the peripheral block to the left is greater than the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-prediction mode of the peripheral block to the left of the current block, the intra-prediction mode for MPM candidate 1 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block + 61) % 64), and the intra-prediction mode for MPM candidate 2 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block - 1) % 64).
[0032] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. Based on the case where the intra-prediction mode of the surrounding block to the left of the current block and the intra-prediction mode of the surrounding block above the current block are not the same, and the intra-prediction mode of the surrounding block to the left is less than or equal to the intra-DC mode, and the intra-prediction mode of the surrounding block above is less than or equal to the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-DC mode, the intra-prediction mode for MPM candidate 1 may be the intra-prediction mode 50, the intra-prediction mode for MPM candidate 2 may be the intra-prediction mode 18, the intra-prediction mode for MPM candidate 3 may be the intra-prediction mode 46, and the intra-prediction mode for MPM candidate 4 may be the intra-prediction mode 54.
[0033] In one embodiment, the MPM index information may be based on the evolutionary process of truncated rice (TR)2.
[0034] In one embodiment, cMax, which represents the maximum value of the MPM index information, may be 4.
[0035] Another embodiment of the present disclosure provides an encoding device for performing video encoding. The encoding device includes a prediction unit that derives an intra-prediction mode for a current block, and an entropy encoding unit that generates MPM flag information indicating whether the intra-prediction mode for the current block is derived based on MPM (Most Probable Modes) candidates for the current block, generates planar flag information based on cases where the MPM flag information relates to planar flag information indicating whether the intra-prediction mode for the current block is determined to be a planar mode, and encodes video information including at least one of the MPM flag information or the planar flag information.
[0036] In one embodiment, based on the case where the intra-prediction mode for the current block is derived as the planar mode, the planar flag information may indicate that the intra-prediction mode for the current block is derived as the planar mode.
[0037] In one embodiment, the intra-prediction information may further include MPM index information related to one of the MPM candidates obtained by excluding the planar mode from the MPM candidates for the current block. The encoding device may generate the MPM index information based on the case where the intra-prediction mode for the current block is not derived as the planar mode.
[0038] In one embodiment, the total number of MPM candidates for the current block, excluding the planar mode, may be five.
[0039] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. Based on the case where the intra-prediction mode of the peripheral block to the left of the current block and the intra-prediction mode of the peripheral block above the current block are the same, and the intra-prediction mode of the peripheral block to the left is greater than the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-prediction mode of the peripheral block to the left of the current block, the intra-prediction mode for MPM candidate 1 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block + 61) % 64), and the intra-prediction mode for MPM candidate 2 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block - 1) % 64).
[0040] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. Based on the case where the intra-prediction mode of the surrounding block to the left of the current block and the intra-prediction mode of the surrounding block above the current block are not the same, and the intra-prediction mode of the surrounding block to the left is less than or equal to the intra-DC mode, and the intra-prediction mode of the surrounding block above is less than or equal to the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-DC mode, the intra-prediction mode for MPM candidate 1 may be the intra-prediction mode 50, the intra-prediction mode for MPM candidate 2 may be the intra-prediction mode 18, the intra-prediction mode for MPM candidate 3 may be the intra-prediction mode 46, and the intra-prediction mode for MPM candidate 4 may be the intra-prediction mode 54.
[0041] In one embodiment, the MPM index information is based on the truncated rice (TR)2 evolutionary process, and the maximum value of the MPM index information, cMax, may be 4.
[0042] According to yet another embodiment of the present disclosure, a decoder-readable storage medium is provided for storing information regarding instructions that cause a video decoding device to perform a decoding method according to one embodiment.
[0043] Another embodiment of the present disclosure provides a computer-readable storage medium containing encoded information that causes a decoding device to perform a video decoding method. The computer-readable storage medium includes the steps of: receiving intra-prediction information including at least one of MPM flag information indicating whether to derive an intra-prediction mode for the current block based on MPM (Most Probable Modes) candidates for the current block, or PLANAR flag information indicating whether to determine the intra-prediction mode for the current block to be a planar mode; deriving the intra-prediction mode for the current block based on the MPM flag information and the planar flag information; deriving a predicted block for the current block based on the intra-prediction mode for the current block; and generating a restored picture based on the predicted block, wherein the planar flag information is included in the intra-prediction information if the MPM flag information indicates that an intra-prediction mode for the current block is derived based on the MPM candidates.
[0044] In one embodiment, the intra-prediction information may further include MPM index information related to one of the MPM candidates obtained by excluding the planar mode from the MPM candidates for the current block. Based on the planar flag information indicating that the intra-prediction mode for the current block is not derived as the planar mode, the MPM index information may be included in the intra-prediction information, and the intra-prediction mode for the current block may be derived based on the MPM index information.
[0045] In one embodiment, the total number of MPM candidates for the current block, excluding the planar mode, may be 5.
[0046] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. Based on the case where the intra-prediction mode of the peripheral block to the left of the current block and the intra-prediction mode of the peripheral block above the current block are the same, and the intra-prediction mode of the peripheral block to the left is greater than the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-prediction mode of the peripheral block to the left of the current block, the intra-prediction mode for MPM candidate 1 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block + 61) % 64), and the intra-prediction mode for MPM candidate 2 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block - 1) % 64).
[0047] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. Based on the case where the intra-prediction mode of the surrounding block to the left of the current block and the intra-prediction mode of the surrounding block above the current block are not the same, and the intra-prediction mode of the surrounding block to the left is less than or equal to the intra-DC mode, and the intra-prediction mode of the surrounding block above is less than or equal to the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-DC mode, the intra-prediction mode for MPM candidate 1 may be the intra-prediction mode 50, the intra-prediction mode for MPM candidate 2 may be the intra-prediction mode 18, the intra-prediction mode for MPM candidate 3 may be the intra-prediction mode 46, and the intra-prediction mode for MPM candidate 4 may be the intra-prediction mode 54.
[0048] In one embodiment, the MPM index information may be based on the truncated rice (TR)2 evolutionary process (binarization process).
[0049] In one embodiment, cMax, which represents the maximum value of the MPM index information, may be 4. [Effects of the Invention]
[0050] This disclosure can improve the overall efficiency of video compression.
[0051] This disclosure can improve the efficiency of intra-prediction.
[0052] This disclosure enables efficient intra-prediction based on the MPM list.
[0053] This disclosure allows for increased efficiency in video coding based on intra-predictions that utilize an MPM list for current blocks.
[0054] The present disclosure allows for improved efficiency of intra-prediction based on an MPM list, based on planar flag information indicating whether to determine the intra-prediction mode for the current block to be planar mode.
[0055] This disclosure allows for the efficient construction of an MPM list for the current block.
[0056] This disclosure allows for efficient coding of MPM indexes. [Brief explanation of the drawing]
[0057] [Figure 1] An example of a video / image coding system to which this disclosure applies is schematically shown below. [Figure 2]This diagram schematically illustrates the configuration of a video / image encoding device to which this disclosure applies. [Figure 3] This diagram schematically illustrates the configuration of a video / image decoding device to which this disclosure applies. [Figure 4a] This figure shows an example of a video encoding method performed by an encoding device according to one embodiment. [Figure 4b] This figure shows an example of a video decoding method performed by a decoding device according to one embodiment. [Figure 5] This flowchart shows an intra-prediction method according to one embodiment. [Figure 6] This figure shows an example of a directional intra-prediction mode. [Figure 7] This diagram illustrates the configuration of an MPM list according to one embodiment. [Figure 8] This diagram illustrates the configuration of the MPM list according to another embodiment. [Figure 9] This flowchart shows a method for predicting MPM according to one embodiment. [Figure 10] This flowchart shows a method for predicting MPM according to another embodiment. [Figure 11] This is a flowchart showing the operation of an encoding device according to one embodiment. [Figure 12] This is a block diagram showing the configuration of an encoding device according to one embodiment. [Figure 13] This is a flowchart showing the operation of a decoding device according to one embodiment. [Figure 14] This is a block diagram showing the configuration of a decoding device according to one embodiment. [Figure 15] This document provides examples of content streaming systems to which the disclosures described herein apply. [Modes for carrying out the invention]
[0058] According to one embodiment of the present disclosure, a video decoding method performed by a decoding device is provided. The method includes the steps of: receiving a bitstream containing reside information; deriving quantized conversion coefficients for the current block based on the reside information contained in the bitstream; deriving conversion coefficients for the current block from the quantized conversion coefficients based on an inverse quantization process; applying an inverse transform to the derived conversion coefficients to derive a reside sample for the current block; and generating a restored picture based on the reside sample for the current block, wherein each of the conversion coefficients for the current block is associated with a high-frequency conversion coefficient region consisting of conversion coefficients of 0 or a low-frequency conversion coefficient region including at least one effective conversion coefficient, and conversion coefficient scanning is performed on the conversion coefficients for the current block that are associated with the low-frequency conversion coefficient region.
[0059] This disclosure is subject to various modifications and can have a variety of embodiments; therefore, specific embodiments are illustrated and described in detail in the drawings. However, this is not intended to limit this disclosure to any particular embodiment. Terms used herein are used solely to describe specific embodiments and are not intended to limit the technical ideas of this disclosure. Singular expressions include plural expressions unless the context clearly indicates otherwise. Terms such as “includes” or “has” herein are intended to specify the existence of features, figures, steps, actions, components, parts, or combinations thereof described in the specification, and should not be understood to preemptively exclude the existence or possibility of adding one or more other features, figures, steps, actions, components, parts, or combinations thereof.
[0060] On the other hand, each configuration shown in the drawings described herein is shown independently for the convenience of describing its distinct characteristic functions, and does not imply that each configuration is embodied by different hardware or different software. For example, two or more of the configurations may be combined to form a single configuration, and one configuration may be divided into multiple configurations. Embodiments in which each configuration is integrated and / or separated are also included in the scope of the rights of this document, as long as they do not deviate from the essence of this document.
[0061] Preferred embodiments of this disclosure will be described in further detail below with reference to the attached drawings. Hereafter, the same reference numerals will be used for the same components in the drawings, and redundant descriptions of the same components will be omitted.
[0062] Figure 1 schematically shows an example of a video / image coding system to which this disclosure can be applied.
[0063] Referring to Figure 1, a video / image coding system may include a first device (source device) and a second device (receiving device). The source device can transmit encoded video / image information or data to the receiving device in file or streaming form via a digital storage medium or network.
[0064] The source device may include a video source, an encoding device, and a transmission unit. The receiving device may include a receiving unit, a decoding device, and a renderer. The encoding device may be called a video / image encoding device, and the decoding device may be called a video / image decoding device. The transmitter may be included in the encoding device. The receiver may be included in the decoding device. The renderer may include a display unit, which may consist of another device or external component.
[0065] A video source can acquire video / images through processes such as video / image capture, synthesis, or generation. A video source may include video / image capture devices and / or video / image generation devices. Video / image capture devices may include, for example, one or more cameras, or video / image archives containing previously captured video / images. Video / image generation devices may include, for example, computers, tablets, and smartphones, and can generate video / images (electronically). For example, virtual video / images can be generated via a computer, in which case the video / image capture process can be replaced by the process of generating the associated data.
[0066] An encoding device can encode input video / image data. It can perform a series of steps, including prediction, transformation, and quantization, for compression and coding efficiency. The encoded data (encoded video / image information) can be output in bitstream format.
[0067] The transfer unit can transmit encoded video / image information or data output in bitstream format to the receiving unit of a receiving device via a digital storage medium or network in file or streaming format. The digital storage medium can include a variety of storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. The transfer unit may include elements for generating media files via a predetermined file format and may include elements for transmission via a broadcast / communication network. The receiving unit can receive / extract the bitstream and transmit it to a decoding device.
[0068] A decoding device can decode video / images by performing a series of steps, such as inverse quantization, inverse transformation, and prediction, corresponding to the operation of the encoding device.
[0069] The renderer can render the decoded video / image. The rendered video / image can be displayed via the display unit.
[0070] Figure 2 is a schematic diagram illustrating the configuration of a video / image encoding device to which this disclosure can be applied. Hereinafter, the term "video encoding device" may include an image encoding device.
[0071] Referring to Figure 2, the encoding device 200 may be configured to include an image partitioner 210, a predictor 220, a residual processor 230, an entropy encoder 240, an adder 250, a filter 260, and a memory 270. The predictor 220 may include an inter-predictor 221 and an intra-predictor 222. The residual processor 230 may include a transformer 232, a quantizer 233, a dequantizer 234, and an inverse transformer 235. The residual processor 230 may further include a subtractor 231. The adder 250 may be called a reconstructor or a reconstructed block generator. The aforementioned video splitting unit 210, prediction unit 220, residual processing unit 230, entropy encoding unit 240, addition unit 250, and filtering unit 260 can be configured by one or more hardware components (e.g., an encoder chipset or processor) depending on the embodiment. Furthermore, the memory 270 may include a DPB (decoded picture buffer) and may be configured by a digital storage medium. The hardware components may further include the memory 270 as an internal / external component.
[0072] The video splitting unit 210 can split the input video (or picture, frame) input to the encoding device 200 into one or more processing units. For example, the processing unit may be called a coding unit (CU). For example, the processing unit may be called a coding unit (CU). In this case, the coding unit can be recursively split from a coding tree unit (CTU) or the largest coding unit (LCU) according to a QTBTTT (Quad-tree binary-tree ternary-tree) structure. For example, one coding unit can be split into multiple coding units of deeper depth based on a quad-tree structure, a binary-tree structure, and / or a ternary-tree structure. In this case, for example, the quad-tree structure may be applied first, followed by the binary-tree structure. Or, the binary-tree structure may be applied first. Based on the final coding unit that can no longer be split, the coding procedure according to this disclosure can be performed. In this case, based on coding efficiency according to the video characteristics, the largest coding unit can be used directly as the final coding unit, or, if necessary, the coding unit can be recursively divided into lower-depth coding units so that the optimally sized coding unit is used as the final coding unit. Here, the coding procedure may include procedures such as prediction, transformation, and restoration, which will be described later. As another example, the processing unit may further include a prediction unit (PU) or a transformation unit (TU). In this case, the prediction unit and the transformation unit can each be separated or partitioned from the final coding unit described above.The prediction unit may be a unit of sample prediction, and the conversion unit may be a unit for deriving a conversion coefficient and / or a unit for deriving a residual signal from the conversion coefficient.
[0073] The term "unit" can sometimes be used interchangeably with terms such as "block" or "area." Generally, an MxN block can represent a set of samples or transform coefficients consisting of M columns and N rows. A sample can generally represent a pixel or a pixel value, or it can represent only the pixel / pixel value of the lumen component, or only the pixel / pixel value of the chroma component. A sample can be used as the term corresponding to a single picture (or image) as a pixel or pel.
[0074] The encoding device 200 can generate a residual signal (residual block, residual sample array) by subtracting the prediction signal (predicted block, predicted sample array) output from the inter-prediction unit 221 or intra-prediction unit 222 from the input video signal (original block, original sample array), and the generated residual signal is transferred to the conversion unit 232. In this case, as shown in the figure, the unit that subtracts the prediction signal (predicted block, predicted sample array) from the input video signal (original block, original sample array) within the encoder 200 can be called the subtraction unit 231. The prediction unit can make predictions for the block to be processed (hereinafter referred to as the current block) and generate a predicted block that includes predicted samples for the current block. The prediction unit can determine whether intra-prediction or inter-prediction is applied on a current block or CU basis. In the description of each prediction mode, the prediction unit can generate various information related to prediction, such as prediction mode information, as described later, and transmit it to the entropy encoding unit 240. The prediction information can be encoded by the entropy encoding unit 240 and output in bitstream format.
[0075] The intra-prediction unit 222 can predict the current block by referring to a sample in the current picture. The referenced sample can be located in the vicinity (neighbor) of the current block or at a distance, depending on the prediction mode. In intra-prediction, the prediction mode can include multiple non-directional modes and multiple directional modes. Non-directional modes can include, for example, DC mode and planar mode. Directional modes can include, for example, 33 directional prediction modes or 65 directional prediction modes, depending on the degree of fineness of the prediction direction. However, more or fewer directional prediction modes may be used depending on the settings, as an example. The intra-prediction unit 222 can also determine the prediction mode to apply to the current block by utilizing the prediction modes applied to the surrounding blocks.
[0076] The interprediction unit 221 can derive a predicted block relative to the current block based on a reference block (reference sample array) identified by a motion vector on the reference picture. In this case, in order to reduce the amount of motion information transferred in interprediction mode, motion information can be predicted in units of blocks, subblocks, or samples based on the correlation of motion information between the surrounding block and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include interprediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of interprediction, the surrounding block may include a spatial neighboring block existing in the current picture and a temporal neighboring block existing in the reference picture. The reference picture containing the reference block and the reference picture containing the temporal neighboring block may be the same or different. The temporal neighboring block may be called a collocated reference block, colCU, etc., and the reference picture containing the temporal neighboring block may be called a collocated picture (colPic). For example, the interpretation unit 221 can construct a motion information candidate list based on surrounding blocks and generate information indicating which candidates should be used to derive the motion vector and / or reference picture index of the current block. Interpretation can be performed based on various prediction modes; for example, in skip mode and merge mode, the interpretation unit 221 can use the motion information of surrounding blocks as the motion information of the current block. In skip mode, unlike merge mode, the resider signal does not need to be transferred.In motion vector prediction (MVP) mode, the motion vectors of surrounding blocks are used as motion vector predictors, and the motion vector difference is signaled to indicate the motion vector of the current block.
[0077] The prediction unit 220 can generate prediction signals based on various prediction methods described later. For example, the prediction unit can apply intra-prediction or inter-prediction for predictions on a single block, and can also apply intra-prediction and inter-prediction simultaneously. This can be called combined inter and intra prediction (CIIP). The prediction unit can also be based on intra-block copy (IBC) prediction mode or palette mode for predictions on blocks. The IBC prediction mode or palette mode can be used for content video / moving video coding such as in games, for example, in SCC (screen content coding). IBC basically performs predictions within the current picture, but can be performed similarly to inter-prediction in that it derives reference blocks within the current picture. That is, IBC can utilize at least one of the inter-prediction techniques described in this document. Palette mode can be considered an example of intra-coding or intra-prediction. When palette mode is applied, sample values within the picture can be signaled based on information about the palette table and palette index.
[0078] The prediction signal generated via the prediction unit (including the inter-prediction unit 221 and / or the intra-prediction unit 222) can be used to generate a reconstructed signal or a residual signal. The transformation unit 232 can apply a transformation technique to the residual signal to generate transformation coefficients. For example, the transformation technique may include at least one of the following: DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), KLT (Karhunen-Loeve Transform), GBT (Graph-Based Transform), or CNT (Conditionally Non-linear Transform). Here, GBT refers to a transformation obtained from a graph, assuming that the relationship information between pixels is represented by this graph. CNT refers to a transformation obtained by generating a prediction signal using all previously reconstructed pixels and based on that. The transformation process can also be applied to pixel blocks of the same size that are square, or to blocks of variable size that are not square.
[0079] The quantization unit 233 quantizes the conversion coefficients and transfers them to the entropy encoding unit 240, which can encode the quantized signal (information about the quantized conversion coefficients) and output it to a bitstream. The information about the quantized conversion coefficients can be called residual information. The quantization unit 233 can rearrange the block-form quantized conversion coefficients into a one-dimensional vector form based on the coefficient scan order, and can also generate information about the quantized conversion coefficients based on the one-dimensional vector form of the quantized conversion coefficients. The entropy encoding unit 240 can perform various encoding methods, such as exponential Golomb, CAVLC (context-adaptive variable length coding), and CABAC (context-adaptive binary arithmetic coding). In addition to the quantized conversion coefficients, the entropy encoding unit 240 can also encode information necessary for video / image restoration (e.g., the values of syntax elements) together with or separately from the quantized conversion coefficients. Encoded information (e.g., encoded video / image information) can be transferred or stored in bitstream form in units of NAL (network abstraction layer) units. The video / image information may further include information about various parameter sets, such as adaptation parameter sets (APS), picture parameter sets (PPS), sequence parameter sets (SPS), or video parameter sets (VPS). The video / image information may also further include general constraint information. Information and / or syntax elements transmitted / signaled from the encoding device to the decoding device in this document may be included in the video / image information. The video / image information can be encoded via the encoding procedure described above and included in the bitstream.The bitstream can be transmitted over a network or stored in a digital storage medium. Here, the network may include broadcast networks and / or communication networks, and the digital storage medium may include a variety of storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmission unit (not shown) for transmitting the signal output from the entropy encoding unit 240 and / or a storage unit (not shown) for storing it may be configured as an internal / external element of the encoding device 200, or the transmission unit may be included in the entropy encoding unit 240.
[0080] The quantized conversion coefficients output from the quantization unit 233 can be used to generate a prediction signal. For example, the residual signal (residual block or residual sample) can be reconstructed by applying inverse quantization and inverse transformation to the quantized conversion coefficients via the inverse quantization unit 234 and the inverse transformation unit 235. The adder 155 can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the reconstructed residual signal to the prediction signal output from the inter-prediction unit 221 or the intra-prediction unit 222. If there is no residual for the block to be processed, such as when skip mode is applied, the predicted block can be used as the reconstructed block. The adder 250 can be called the reconstruction unit or reconstructed block generation unit. The generated reconstructed signal can be used for intra-prediction of the next block to be processed in the current picture, or, as described later, for inter-prediction of the next picture after filtering.
[0081] On the other hand, LMCS (luma mapping with chroma scaling) can also be applied during the picture encoding and / or restoration process.
[0082] The filtering unit 260 can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit 260 can apply various filtering methods to the restored picture to generate a modified restored picture, and the modified restored picture can be stored in the memory 270, specifically in the DPB of the memory 270. The various filtering methods can include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, and bilateral filter. In describing each filtering method, the filtering unit 260 can generate various filtering-related information, as described later, and transmit it to the entropy encoding unit 240. The filtering-related information can be encoded in the entropy encoding unit 240 and output in bitstream format.
[0083] The corrected restored picture transferred to memory 270 can be used as a reference picture in the interpretation unit 221. When interpretation is applied via this, the encoding device can avoid prediction mismatches between the encoding device 100 and the decoding device, and can also improve encoding efficiency.
[0084] Memory 270DPB can store the corrected restored picture for use as a reference picture in the inter-prediction unit 221. Memory 270 can store motion information of blocks from which motion information in the current picture has been derived (or encoded) and / or motion information of blocks in the picture that have already been restored. The stored motion information can be transmitted to the inter-prediction unit 221 for use as motion information of spatially surrounding blocks or motion information of temporally surrounding blocks. Memory 270 can store restored samples of restored blocks in the current picture and transmit them to the intra-prediction unit 222.
[0085] Figure 3 is a schematic diagram illustrating the configuration of a video / image decoding device to which this disclosure can be applied.
[0086] Referring to Figure 3, the decoding device 300 can be configured to include an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter 350, and a memory 360. The predictor 330 may include an inter-predictor 331 and an intra-predictor 332. The residual processor 320 may include a dequantizer 321 and an inverse transformer 322. The entropy decoder 310, residual processor 320, predictor 330, adder 340, and filtering device 350 described above can be configured by a single hardware component (e.g., a decoder chipset or processor) depending on the embodiment. The memory 360 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The aforementioned hardware component may further include memory 360 as an internal / external component.
[0087] When a bitstream containing video / image information is input, the decoding device 300 can reconstruct the image in a manner corresponding to the process by which the video / image information was processed in the encoding device shown in Figure 2. For example, the decoding device 300 can derive units / blocks based on block division-related information obtained from the bitstream. The decoding device 300 can perform decoding using the processing units applied in the encoding device. Therefore, the decoding processing unit may be, for example, a coding unit, which can be divided from a coding tree unit or a maximum coding unit according to a quad-tree structure, a binary tree structure, and / or a ternary tree structure. One or more conversion units can be derived from the coding unit. The reconstructed video signal decoded and output via the decoding device 300 can then be played back via a playback device.
[0088] The decoding device 300 can receive the signal output from the encoding device shown in Figure 2 in bitstream form, and the received signal can be decoded via the entropy decoding unit 310. For example, the entropy decoding unit 310 can pass through the bitstream to derive information necessary for video restoration (or picture restoration) (e.g., video / image information). The video / image information may further include information about various parameter sets, such as the adaptation parameter set (APS), picture parameter set (PPS), sequence parameter set (SPS), or video parameter set (VPS). The video / image information may also further include general constraint information. The decoding device can decode the picture based on the parameter set information and / or the general constraint information. The signaling / received information and / or syntax elements described later in this document can be decoded via the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit 310 can decode information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output the values of the syntax elements necessary for video reconstruction and the quantized values of the conversion coefficients related to the residuals. More specifically, the CABAC entropy decoding method receives bins corresponding to each syntax element in the bitstream, determines a context model using the information of the syntax element to be decoded and the decoded information of the surrounding and decoded blocks or the symbol / bin information decoded in a previous step, predicts the probability of bin occurrence according to the determined context model, performs arithmetic decoding of the bins, and generates symbols corresponding to the values of each syntax element. At this time, the CABAC entropy decoding method can update the context model after determining the context model by using the decoded symbol / bin information for the context model of the next symbol / bin.Of the information decoded in the entropy decoding unit 310, information related to prediction is provided to the prediction unit (inter-prediction unit 332 and intra-prediction unit 331), and the residual values that have been entropy decoded in the entropy decoding unit 310, i.e., quantized conversion coefficients and related parameter information, can be input to the residual processing unit 320. The residual processing unit 320 can derive residual signals (residual blocks, residual samples, residual sample arrays). In addition, of the information decoded in the entropy decoding unit 310, information related to filtering can be provided to the filtering unit 350. On the other hand, a receiving unit (not shown) that receives signals output from the encoding device can be further configured as an internal / external element of the decoding device 300, or the receiving unit may also be a component of the entropy decoding unit 310. On the other hand, the decoding device described in this document may be called a video / image / picture decoding device, and the decoding device may also be divided into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include the entropy decoding unit 310, and the sample decoder may include at least one of the inverse quantization unit 321, inverse transformation unit 322, addition unit 340, filtering unit 350, memory 360, inter-prediction unit 332, and intra-prediction unit 331.
[0089] The inverse quantization unit 321 can inverse quantize the quantized transformation coefficients and output the transformation coefficients. The inverse quantization unit 321 can rearrange the quantized transformation coefficients in a two-dimensional block form. In this case, the rearrangement can be performed based on the coefficient scan order performed in the encoding device. The inverse quantization unit 321 can use quantization parameters (e.g., quantization step size information) to perform inverse quantization on the quantized transformation coefficients and obtain the transformation coefficients.
[0090] In the inverse transform section 322, the transformation coefficients are inversely transformed to obtain the residual signal (residual block, residual sample array).
[0091] The prediction unit can make predictions for the current block and generate a predicted block containing prediction samples for the current block. Based on the prediction information output from the entropy decoding unit 310, the prediction unit can determine whether intra-prediction or inter-prediction is applied to the current block and determine a specific intra / inter-prediction mode.
[0092] The prediction unit 320 can generate prediction signals based on various prediction methods described later. For example, the prediction unit can apply intra-prediction or inter-prediction for prediction of a single block, and can also apply intra-prediction and inter-prediction simultaneously. This can be called combined inter and intra prediction (CIIP). The prediction unit can also be based on an intra-block copy (IBC) prediction mode or a palette mode for prediction of a block. The IBC prediction mode or palette mode can be used for content video / moving image coding such as in games, for example, as in SCC (screen content coding). IBC basically performs prediction within the current picture, but can be performed similarly to inter-prediction in that it derives a reference block within the current picture. That is, IBC can utilize at least one of the inter-prediction techniques described in this document. Palette mode can be considered an example of intra-coding or intra-prediction. When palette mode is applied, information about the palette table and palette index can be included in the video / moving image information and signaled.
[0093] The intra-prediction unit 331 can predict the current block by referring to a sample in the current picture. The referenced sample can be located in the vicinity (neighbor) of the current block or at a distance, depending on the prediction mode. In intra-prediction, the prediction mode can include multiple non-directional modes and multiple directional modes. The intra-prediction unit 331 can also use the prediction modes applied to the surrounding blocks to determine the prediction mode to be applied to the current block.
[0094] The interprediction unit 332 can derive a predicted block relative to the current block based on a reference block (reference sample array) identified by a motion vector on the reference picture. In this case, in order to reduce the amount of motion information transferred in interprediction mode, motion information can be predicted in units of blocks, subblocks, or samples based on the correlation of motion information between surrounding blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include interprediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of interprediction, surrounding blocks may include spatial neighboring blocks present in the current picture and temporal neighboring blocks present in the reference picture. For example, the interprediction unit 332 can construct a motion information candidate list based on surrounding blocks and derive the motion vector and / or reference picture index of the current block based on the received candidate selection information. Interprediction can be performed based on various prediction modes, and the prediction information may include information indicating the mode of interprediction for the current block.
[0095] The adder 340 can generate a restored signal (restored picture, restored block, restored sample array) by adding the acquired resided signal to the predicted signal (predicted block, predicted sample array) output from the prediction unit (including the inter-prediction unit 332 and / or intra-prediction unit 331). If there is no resided for the block to be processed, such as when skip mode is applied, the predicted block can be used as the restored block.
[0096] The summing unit 340 may be called the restoration unit or restoration block generation unit. The generated restoration signal can be used for intra-prediction of the next block to be processed in the current picture, and can be output after filtering, as described later, or can be used for intra-prediction of the next picture.
[0097] On the other hand, LMCS (luma mapping with chroma scaling) can also be applied during the picture decoding process.
[0098] The filtering unit 350 can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit 350 can apply various filtering methods to the restored picture to generate a modified restored picture, and can transfer the modified restored picture to the memory 360, specifically to the DPB of the memory 360. The various filtering methods can include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, and bilateral filter.
[0099] The (modified) restored picture stored in the DPB of memory 360 can be used as a reference picture in the inter-prediction unit 332. Memory 360 can store motion information of blocks from which motion information in the current picture has been derived (or decoded) and / or motion information of blocks in the picture that have already been restored. The stored motion information can be transmitted to the inter-prediction unit 260 for use as motion information of spatially surrounding blocks or motion information of temporally surrounding blocks. Memory 360 can store restored samples of restored blocks in the current picture and transmit them to the intra-prediction unit 331.
[0100] In this specification, the embodiments described for the filtering unit 260, inter-prediction unit 221, and intra-prediction unit 222 of the encoding device 200 can be applied identically or in a corresponding manner to the filtering unit 350, inter-prediction unit 332, and intra-prediction unit 331 of the decoding device 300, respectively.
[0101] As mentioned above, prediction is performed to improve compression efficiency when performing video coding. Through this, a predicted block containing predicted samples for the current block, which is the block to be coded, can be generated. Here, the predicted block contains predicted samples in the spatial domain (or pixel domain). The predicted block is derived identically by the encoding device and the decoding device, and the encoding device can improve the efficiency of video coding by signaling the decoding device not the original sample values of the original block themselves, but information about the residual between the original block and the predicted block (residual information). Based on the residual information, the decoding device can derive a residual block containing residual samples, and by combining the residual block and the predicted block, it can generate a restored block containing restored samples, and thus generate a restored picture containing the restored block.
[0102] The residual information can be generated through transformation and quantization procedures. For example, an encoding device can derive a residual block between the original block and the predicted block, perform a transformation procedure on the residual samples (residual sample array) contained in the residual block to derive transformation coefficients, perform a quantization procedure on the transformation coefficients to derive quantized transformation coefficients, and signal the associated residual information (via a bitstream) to a decoding device. Here, the residual information may include information such as the value information, position information, transformation technique, transformation kernel, and quantization parameters of the quantized transformation coefficients. The decoding device can perform an inverse quantization / inverse transformation procedure based on the residual information to derive a residual sample (or residual block). The decoding device can generate a reconstructed picture based on the predicted block and the residual block. The encoding device can also derive a residual block by inverse quantization / inverse transformation of the quantized transformation coefficients for reference for subsequent picture interpretations, and generate a reconstructed picture based on this.
[0103] Figures 4a and 4b show an example of a video encoding method performed by an encoding device according to one embodiment, and an example of a video decoding method performed by a decoding device according to one embodiment.
[0104] Figure 4a shows an example of a video encoding method performed by a video encoding device. Referring to Figure 4a, the video encoding method may include block partitioning, intra / inter prediction, transform, quantization, and entropy encoding processes. For example, the current picture may be divided into multiple blocks, predicted blocks of the current block may be generated via intra / inter prediction, and residual blocks of the current block may be generated via subtraction of the input blocks of the current block and the predicted blocks. Subsequently, coefficient blocks, i.e., the transformed coefficients of the current block, may be generated via a transformation of the residual blocks. The transformed coefficients may be quantized and entropy encoded and stored in a bitstream.
[0105] Figure 4b shows an example of a video decoding method performed by a decoding device. Referring to Figure 4b, the video decoding method may include entropy decoding, inverse quantization, inverse transform, and intra / inter prediction processes. For example, the decoding device may perform the reverse process of the encoding method. Specifically, quantized transformation coefficients may be obtained via entropy decoding of the bitstream, and coefficient blocks of the current block, i.e., transformation coefficients, may be obtained via an inverse quantization process on the quantized transformation coefficients. The residual block of the current block may be derived via an inverse transform on the transformation coefficients, and the reconstructed block of the current block may be derived via the addition of the predicted block of the current block derived via intra / inter prediction and the residual block.
[0106] Figure 5 is a flowchart showing an intra-prediction method according to one embodiment.
[0107] As shown in Figure 5, the intra-prediction method according to one embodiment may include the following three steps: namely, the intra-prediction method according to one embodiment may include a reference sample configuration step, a sample prediction step, and a post-filtering step. In the sample prediction step, the intra-prediction method according to one embodiment can utilize known surrounding reference samples and intra-prediction modes to make predictions for unknown samples.
[0108] Figure 6 shows an example of a directional intra-prediction mode.
[0109] When intraprediction is applied to a current block, an encoding and / or decoding device according to one embodiment can derive an intraprediction mode for the current block and, based on the intraprediction mode, can derive predicted samples for the current block. That is, the encoding and / or decoding device can derive predicted samples for the current block by applying a directional intraprediction mode or a non-directional intraprediction mode based on reference samples around the current block.
[0110] In one example, the intra-prediction mode may include two non-directional (or non-angular) intra-prediction modes and 65 directional (or angular) intra-prediction modes. The non-directional intra-prediction modes may include a planar intra-prediction mode (number 0) and a DC intra-prediction mode (number 1), and the directional intra-prediction modes may include 65 intra-prediction modes (numbers 2 through 66). Intra-prediction based on the 65 directional intra-prediction modes may be applied to blocks of all sizes and to both luma and chroma components. However, this is merely an example, and the configuration of the intra-prediction modes may differ.
[0111] Alternatively, the intra-prediction mode may include two non-directional intra-prediction modes and 129 directional intra-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 through 130.
[0112] On the other hand, the intra-prediction mode may further include a CCLM (cross-component linear model) mode for chroma samples, in addition to the intra-prediction mode described above. The CCLM mode is divided into LT_CCLM, L_CCLM, and T_CCLM depending on whether the left sample, the upper sample, or both are considered for the derivation of the LM parameters, and can be applied only to chroma components.
[0113] The intra-prediction mode can be indexed, for example, as shown in Table 1 below.
[0114] [Table 1]
[0115] On the other hand, the intra prediction type (or additional intra prediction mode, etc.) may include at least one of the aforementioned LIP, PDPC, MRL, and ISP. The intra prediction type may be indicated based on intra prediction type information, and the intra prediction type information can be implemented in various forms. In one example, the intra prediction type information may include intra prediction type index information indicating one of the intra prediction types. In another example, the intra prediction type information may include 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 the subpartition when the ISP is applied; flag information indicating whether PDPC is applicable or flag information indicating whether LIP is applicable.
[0116] Referring to Figure 6, we can distinguish between intra-prediction modes with horizontal directionality and intra-prediction modes with vertical directionality, centering on intra-prediction mode 34, which has a diagonal prediction direction pointing diagonally upward to the left. In Figure 6, H and V represent horizontal and vertical directionality, respectively, and the numbers -32 to 32 indicate a displacement of 1 / 32 units on the sample grid position. Intra-prediction modes 2 through 33 have horizontal directionality, while intra-prediction modes 34 through 66 have vertical directionality. Intra-prediction modes 18 and 50 represent horizontal intra-prediction modes and vertical intra-prediction modes, respectively. Intra-prediction mode 2 is called the diagonal intra-prediction mode pointing diagonally downward to the left, intra-prediction mode 34 is called the diagonal intra-prediction mode pointing diagonally upward to the left, and intra-prediction mode 66 is called the diagonal intra-prediction mode pointing diagonally upward to the right.
[0117] Generally, when video is divided into blocks, the current block to be coded and its adjacent blocks will have similar video characteristics. Therefore, there is a high probability that the current block and its surrounding blocks are identical or have similar intra-prediction modes. Consequently, the encoder can utilize the intra-prediction modes of the surrounding blocks to encode the intra-prediction mode of the current block.
[0118] In a more specific example, the decoding device may derive an MPM (most probable mode) list based on the intra-prediction modes and further candidate modes of the surrounding blocks of the current block (e.g., the surrounding block to the left and / or the surrounding block above), and may select one of the MPM candidates in the derived MPM list based on the received MPM index, or may select one of the remaining intra-prediction modes not included in the MPM candidates based on information of the remaining intra-prediction mode. The MPM list may be referred to as the intra-prediction mode candidate list or as candModeList.
[0119] The encoding device (or encoder) may determine or guide the predicted mode of an adjacent block if that block is intra-coded. For example, the predicted mode of the current block can be determined based on the predicted modes of the adjacent block to the left and the adjacent block above it, and in this case, the predicted mode of the adjacent block can be determined as the MPM (Most Probable Mode). Determining the MPM can also be expressed as listing the MPM candidates (or MPM list).
[0120] The encoding device can verify whether the prediction mode of the adjacent block to the left is the same as the prediction mode of the adjacent block above. The initial MPM list can be formed by performing a pruning process on the intra-prediction modes of the two adjacent blocks.
[0121] If, by any chance, the prediction mode of the adjacent block to the left and the prediction mode of the adjacent block above are not the same, the first MPM may be set to the prediction mode of the adjacent block to the left, the second MPM may be set to the prediction mode of the adjacent block above, and the third MPM may be set to either intraplanar mode, intraDC mode, or intravertical mode (intraprediction mode 50). Specifically, if the intraprediction modes of the two adjacent blocks are different, the two intraprediction modes may be set in the MPM, and after a pruning check by the MPM, one of the default intra modes may be added to the MPM list. Here, the default intra modes may include intraplanar mode, intraDC mode, and / or intravertical mode (intraprediction mode 50).
[0122] In one example, the MPM list may include three MPM candidates, five candidates, or six MPM candidates. For example, the MPM list may include candidates derived based on the intra-prediction mode of the surrounding block, the derived intra-prediction mode, and / or the default intra-prediction mode. The encoding / decoding device may search the surrounding blocks of the current block in a specific order and derive the intra-prediction modes of the surrounding blocks as MPM candidates in the derived order. For example, the surrounding blocks may include the left surrounding block, the upper surrounding block, the lower left surrounding block, the upper right surrounding block, and the upper left surrounding block.
[0123] In one example, an MPM list may be constructed that includes three MPM candidates, the three MPM candidates may be derived based on the intra-prediction modes of peripheral blocks F and G. A method for predicting the MPM based on peripheral blocks for the current block, including peripheral blocks F and G, is shown, for example, in Figure 7 below.
[0124] Figure 7 is a diagram illustrating the configuration of an MPM list according to one embodiment.
[0125] Referring to Figure 7, the surrounding blocks of the current block may include surrounding block A, surrounding block B, surrounding block C, surrounding block D, surrounding block E, surrounding block F, and / or surrounding block G.
[0126] Here, peripheral block A may indicate a peripheral block located in the upper left position of the sample position in the upper left of the current block; peripheral block B may indicate a peripheral block located in the upper right position of the sample position in the upper right of the current block; peripheral block C may indicate a peripheral block located in the upper right position of the sample position in the upper right of the current block; peripheral block D may indicate a peripheral block located in the left position of the sample position in the lower left of the current block; peripheral block E may indicate a peripheral block located in the lower left position of the sample position in the lower left of the current block; peripheral block G may indicate a peripheral block located in the upper left position of the sample position in the upper left of the current block; and peripheral block F may indicate a peripheral block located in the left position of the sample position in the upper left of the current block.
[0127] Furthermore, for example, if the size of the current block is WxH, and the x-component and y-component of the top-left sample position of the current block are 0, then surrounding block A may be a block containing a sample at (-1, -1) coordinates, surrounding block B may be a block containing a sample at (W-1, -1) coordinates, surrounding block C may be a block containing a sample at (W, -1) coordinates, surrounding block D may be a block containing a sample at (-1, H-1) coordinates, surrounding block E may be a block containing a sample at (-1, H) coordinates, surrounding block F may be a block containing a sample at (-1, 0) coordinates, and surrounding block G may be a block containing a sample at (0, -1) coordinates.
[0128] In one embodiment, three MPM candidates can be derived based on the intra-prediction mode of the peripheral block F and the intra-prediction mode of the peripheral block G. For example, the intra-prediction mode of the peripheral block F and the intra-prediction mode of the peripheral block G can be derived. On the other hand, in the following three cases, the intra-prediction mode of the peripheral block F or the intra-prediction mode of the peripheral block G can be derived as a DC intra-prediction mode. That is, if the peripheral block F or peripheral block G is not available, if the peripheral block F or peripheral block G is not coded in an intra-prediction mode (if the peripheral block F or peripheral block G is not an intra-coded block), or if the peripheral block F or peripheral block G is outside the current coding tree unit, the intra-prediction mode of the peripheral block F or the intra-prediction mode of the peripheral block G can be derived as a DC intra-prediction mode.
[0129] Once the intra-prediction mode of the peripheral block F or the intra-prediction mode of the peripheral block G is determined, the three MPM candidates can be derived, for example, based on Table 2 below.
[0130] [Table 2]
[0131] Table 2 above can exemplify the pseudocode that constitutes the MPM list.
[0132] Referring to Table 2 above, it can be determined whether the intra-prediction mode of the surrounding block F and the intra-prediction mode of the surrounding block G are the same.
[0133] If the intra-prediction mode of the surrounding block F and the intra-prediction mode of the surrounding block G are the same, and the mode number of the intra-prediction mode of the surrounding block F is less than 2, the MPM list of the current block can be derived as MPM list 1. That is, if the intra-prediction mode of the surrounding block F and the intra-prediction mode of the surrounding block G are the same, and the intra-prediction mode of the surrounding block F is either intra-prediction mode 0 or intra-prediction mode 1, the MPM list of the current block can be derived as MPM list 1. Here, MPM list 1 may represent an MPM list composed of MPM candidates {F, F-1, F+1}. F may represent the intra-prediction mode of the surrounding block F, F-1 may represent the intra-prediction mode whose mode number is the mode number of the intra-prediction mode of the surrounding block F minus 1, and F+1 may represent the intra-prediction mode whose mode number is the mode number of the intra-prediction mode of the surrounding block F plus 1. For example, if the intra-prediction mode of the surrounding block F is the Nth intra-prediction mode, the MPM list 1 may consist of an MPM list that includes the Nth intra-prediction mode, the N-1th intra-prediction mode, and the N+1th intra-prediction mode as MPM candidates.
[0134] Furthermore, if the intra-prediction mode of the surrounding block F and the intra-prediction mode of the surrounding block G are the same, and the mode number of the intra-prediction mode of the surrounding block F is not less than 2, the MPM list of the current block can be derived as MPM list 2.
[0135] Furthermore, if the intra-prediction mode of the surrounding block F and the intra-prediction mode of the surrounding block G are not the same, and neither the intra-prediction mode of the surrounding block F nor the intra-prediction mode of the surrounding block G is a planar intra-prediction mode, the MPM list of the current block can be derived as MPM list 3.
[0136] Furthermore, if the intra-prediction mode of the surrounding block F and the intra-prediction mode of the surrounding block G are not the same, and the sum of the mode numbers of the intra-prediction mode of the surrounding block F and the intra-prediction mode of the surrounding block G is less than 2, then the MPM list of the current block can be derived as MPM list 4.
[0137] Furthermore, if the intra-prediction mode of peripheral block F and the intra-prediction mode of peripheral block G are not the same, and at least one of the intra-prediction modes of peripheral block F and peripheral block G is a planar intra-prediction mode, and the sum of the mode numbers of the planar intra-prediction modes of peripheral block F and peripheral block G is not less than 2, then the MPM list of the current block can be derived as MPM list 5.
[0138] On the other hand, as the number of intra-prediction modes increases, the number of MPM candidates also needs to increase. Therefore, the number of MPM candidates can vary depending on the number of intra-prediction modes. Generally, an increase in the number of intra-prediction modes can lead to an increase in the number of MPM candidates. However, an increase in the number of intra-prediction modes does not always lead to an increase in the number of MPM candidates. For example, if there are 35 intra-prediction modes, or if there are 67 intra-prediction modes, there may be a variety of MPM candidates, such as 3, 4, 5, or 6, depending on the design.
[0139] For example, an encoder / decoder might configure an MPM list containing six MPMs. Default intra modes, neighborhood intra modes, and derved intra modes may be considered when configuring the MPM list.
[0140] In one example, for the aforementioned peripheral intra-mode, two peripheral blocks, namely the left peripheral block (A) and the upper peripheral block (B), may be considered. To generate an MPM list containing 6 MPMs, an initialized default MPM list based on Table 3 below may be considered.
[0141] [Table 3]
[0142] In another example, the order in which the six MPM candidates are composed may be peripheral block D, peripheral block B, planar intra-prediction mode, DC intra-prediction mode, peripheral block E, peripheral block C, and peripheral block A. That is, the intra-prediction mode of peripheral block D, the intra-prediction mode of peripheral block B, the planar intra-prediction mode, the DC intra-prediction mode, the intra-prediction mode of peripheral block E, the intra-prediction mode of peripheral block C, and the intra-prediction mode of peripheral block A may be derived as MPM candidates in that order, and if it is the same as an intra-prediction mode that has already been derived, it may not be derived as an MPM candidate.
[0143] Furthermore, if the MPM list does not contain the maximum number of MPM candidates, i.e., if the number of derived MPM candidates is less than the maximum number of candidates, the derived MPM candidates and adjacent directional intra-prediction modes and predefined default intra-prediction modes may be considered as MPM candidates, and the pruning check process may be performed together. Here, the adjacent directional intra-prediction modes may represent intra-prediction modes whose mode numbers are adjacent to the MPM candidates. The aforementioned search of surrounding blocks and persistent pruning checks have the advantage of saving bit transmission rates, but they may increase the number of hardware operating cycles for constructing the MPM catalog for each block. In the worst-case scenario, a 3840x2160 4K image may be divided into 4x4 size blocks for intra-prediction, and the increased hardware operating cycles for each 4x4 size block may be a significant consideration in terms of processing load. On the other hand, if a peripheral block coded in the interprediction of the current block knows the intraprediction mode of the peripheral block, the intraprediction mode of the peripheral block may be used for constructing the MPM list.
[0144] As described above, the current block and surrounding blocks to be coded generally have similar image characteristics, and therefore, there is a high probability that the current block and the surrounding blocks have the same or similar intra-prediction modes. Thus, an MPM list for the current block can be determined in order to derive an intra-prediction mode to be applied to the current block. However, if 67 intra-prediction modes are used for intra-prediction, an MPM list containing three MPM candidates may not be sufficient to represent the diversity of the many intra-prediction modes. In addition, a proposal to construct six MPM lists, including the search and pruning check process for surrounding blocks, may be disadvantageous in terms of complexity and processing load. In this disclosure, various proposals for deriving an intra-prediction mode for the current block based on MPM predictions are described below.
[0145] Figure 8 is a diagram illustrating the configuration of an MPM list according to another embodiment.
[0146] Referring to Figure 8, in one embodiment, the left peripheral block A (which may be denoted as LEFT) and the upper peripheral block B (which may be denoted as ABOVE) can be used for generating the MPM list as shown in Table 4 below. The algorithm is as follows. Non-MPM coding can be based on truncated binary code.
[0147] [Table 4]
[0148] Figure 9 is a flowchart showing a method for predicting MPM according to one embodiment.
[0149] This disclosure uses specific terms or phrases to define certain information or concepts. For example, a particular intra-prediction mode that can be determined for the current block without MPM index information during the L-M-Intra-Coding process is referred to as a “significant mode,” an index that points to one of the MPM candidates included in the MPM list is referred to as an “MPM index,” a flag indicating whether the L-M-Intra-Coding is applicable is referred to as an “integrated MPM flag,” and when MPM prediction is not applied, the remaining intra-prediction modes excluding the MPM candidates are referred to as “non-MPM modes.” However, “significant mode” can be replaced with various terms such as significant_mode, default mode, candidate mode, etc., “MPM index” can be replaced with probable_mode_index, MPM_idx, intra_luma_mpm_idx, etc., “unified MPM flag” can be replaced with unified_probable_mode_flag, MPM flag, intra_luma_mpm_flag, etc., and “non-MPM mode” can be replaced with various terms such as non MPM mode, non_probable_mode, remaining intra-prediction mode, remaining MPM prediction mode. Therefore, when interpreting specific terms or phrases used in this specification to define specific information or concepts in the specification as a whole, the interpretation should not be limited to their names, but should be interpreted with attention to the various behaviors, functions and effects that the terms are intended to convey.
[0150] In one example, the significant mode may be an intraplanar mode.
[0151] In one embodiment, unified luma intra coding and signaling may be performed. In luma intra coding, first, at least one significant luma intra mode may be signaled, then an MPM list may be constructed based on the remaining intra modes, and the best mode may be selected from among the MPM candidates included in the MPM list.
[0152] First, it can be determined whether MRL or ISP is being used. If MRL or ISP is being used, the value of unified_probable_mode_flag can be determined to be 1. If MRL or ISP is not being used, unified_probable_mode_flag can be parsed.
[0153] If the value of unified_probable_mode_flag is 0, non_probable_mode_index may be parsed. If the value of unified_probable_mode_flag is 1, significant_mode_flag may be parsed. If the value of significant_mode_flag is 1, the intra-prediction mode for the current block may be determined to be the significant mode (e.g., intraplanar mode), and if the value of significant_mode_flag is 0, probable_mode_index may be parsed.
[0154] Figure 10 is a flowchart showing a method for predicting MPM according to another embodiment.
[0155] In Figure 10, intra-prediction performed based on a single integrated method (or algorithm), regardless of whether intra-prediction is based on MRL (Multi-Reference Line) or ISP (Intra Subpartition), is referred to as "unified luma intra-mode coding." However, "unified luma intra-mode coding" can be replaced with various other terms such as unified luma intra-mode, unified intra-prediction, unified MPM, unified MPM prediction, unified_probable_mode, unified intra-coding, and unified luma intra-coding.
[0156] The specific method for deriving the integrated luminaire mode according to one embodiment is as follows.
[0157] First, unified_probable_mode_flag can be parsed. If the value of unified_probable_mode_flag is 0, non_probable_mode_index can be parsed; if it is 1, significant_mode_flag can be parsed. If the value of significant_mode_flag is 1, the intra-prediction mode for the current block may be determined to be the significant mode (e.g., intraplanar mode); if the value of significant_mode_flag is 0, probable_mode_index can be parsed.
[0158] Alternatively, a specific method for deriving the integrated luminaire mode according to one embodiment is shown in Table 5 below.
[0159] [Table 5]
[0160] A method for constructing an MPM list according to one embodiment is proposed. A list of MPM modes of length k can be constructed. In one example, k is 5, and this can be used to construct five distinct MPM lists with five conditions. Block B in Figure 7 may be denoted as A, and block D may be denoted as L. For example, the method for constructing an MPM list according to this embodiment is shown in Table 6 below.
[0161] [Table 6-1]
[0162] [Table 6-2]
[0163] [Table 6-3]
[0164] On the other hand, the embodiment is not limited to performing integrated MPM intracoding only when an integrated MPM flag is signaled and the value of the signaled MPM flag is 1. For example, even without signaling the integrated MPM flag, the decoding device according to one embodiment can perform integrated MPM intracoding.
[0165] In one embodiment, integrated intra-prediction signaling and intra-mode signaling may be combined with the configuration of an MPM list, and a non-MPM list may be configured. This embodiment can be based on the coding unit syntax shown in Table 7 below.
[0166] [Table 7]
[0167] The syntax of the coding units in Table 7 can be based, for example, on the symmantics in Table 8 below.
[0168] [Table 8]
[0169] In one example, the decoding process for a coding unit coded in intra-predictive mode can be based on the algorithm (or spec) shown in Table 9 below.
[0170] [Table 9-1]
[0171] [Table 9-2]
[0172] In one example, the derivation process of the Lumaintra prediction mode can be based on the algorithm (or spec) shown in Table 10 below.
[0173] [Table 10-1]
[0174] [Table 10-2]
[0175] [Table 10-3]
[0176] [Table 10-4]
[0177] In one example, the intrablock decoding process can be based on the algorithm (or spec) shown in Table 11 below.
[0178] [Table 11]
[0179] In one example, the prediction of intra-samples can be based on the algorithm (or spec) shown in Table 12 below.
[0180] [Table 12]
[0181] In one example, the intraplanar mode, intraDC mode, etc., can be based on the algorithms (or specifications) in Table 13 below.
[0182] [Table 13-1]
[0183] [Table 13-2]
[0184] In one example, the transformation process for scaled transformation coefficients can be based on the algorithm (or spec) shown in Table 14 below.
[0185] [Table 14-1]
[0186] [Table 14-2]
[0187] [Table 14-3]
[0188] In one example, an example of assigning ctxInc to a syntax element containing a context-coded bin can be based on Table 15 below.
[0189] [Table 15]
[0190] Referring to Table 7 above, it can be confirmed that intra_planar_flag is decoded based on the decoding result that the value of intra_luma_mpm_flag is 1. intra_luma_mpm_flag may represent an example of the MPM flag, and intra_planar_flag may represent an example of the planar flag.
[0191] Referring to (8-10), (8-12), and (8-13) in Table 10, it can be confirmed that among the MPM candidates included in the MPM list, candModeList[0] is determined to be candIntraPredModeA, which represents the intra-prediction mode for the surrounding blocks to the left of the current block, candModeList[1] is determined to be 2+((candIntraPredModeA+61)%64), and candModeList[2] is determined to be 2+((candIntraPredModeA -1)%64).
[0192] Referring to Table 14 above, it can be confirmed that cMax, which represents the maximum value of intra_luma_mpm_idx, is determined to be 4.
[0193] In one embodiment, a method for performing integrated MPM prediction and coding and / or signaling information for related intra-prediction modes is proposed. In another embodiment, a method for deriving a conversion kernel is proposed. In one embodiment, the syntax of the coding units listed in Tables 16 to 24 below can be configured / encoded and signaled to a decoding device, which can derive an intra-prediction mode for the current block (CU) based on the syntax of the coding units and the MPM list.
[0194] For example, in this embodiment, the MPM list may include planar mode as a candidate mode. If the value of the MPM flag is 1, the planar flag (intra_planar_flag) is signaled first to indicate whether the planar mode is to be used as the intra-prediction mode for the current block. If the value of the planar flag is 0, the MPM index (intra_luma_mpm_idx) is signaled, which can be used to indicate one of the remaining MPM candidates excluding the planar mode. In this example, the MPM list containing the remaining candidates excluding the planar mode is called the modified MPM list.
[0195] If, by any chance, the total number of MPM candidates including the planar mode is six, the total number of candidates in the modified MPM list excluding the planar mode may be five, in which case the value of the MPM index may range from 0 to 4. In other words, the maximum value of the MPM index may be set to 4. In this case, the maximum value of the MPM index may be represented by the cMAX of the MPM index. The bin of the planar flag may be canonically coded based on the context model, as described later in Tables 16 to 24, and the ctxInc for indicating the context model may be i) only one specific value (e.g., 0) used, ii) or variably derived based on the availability of the left peripheral block and / or the upper peripheral block and the value of the planar flag (if available), or iii) or its value may be variably determined depending on whether MRL or ISP is applied, as described later in Tables 16 to 24 below. Furthermore, in this embodiment, a translation kernel (vertical translation kernel / horizontal translation kernel) for the current block can be derived based on the size of the current block and / or the intra prediction type / mode. For example, as described later in Tables 16 to 24 below, if the ISP is not applied to or available for the current block, the size of the current block can be further referenced to derive a translation kernel (vertical translation kernel / horizontal translation kernel) of 1 or 0.
[0196] In this embodiment, when MRL intra forecasting is applied (i.e., when the MRL index is greater than 0), planar mode and DC mode may be applied to the current block, and when ISP intra forecasting is applied, planar mode and DC mode may also be applied to the current block. Therefore, an MPM list can be constructed based on integrated MPM forecasting, regardless of whether MRL, ISP, etc., are applicable. Tables 16 to 24 are as follows, and the details of Tables 16 to 24 should be easily understood by ordinary technicians in the art.
[0197] Table 16 below shows an example of the coding unit syntax.
[0198] [Table 16]
[0199] The syntax of the coding units in Table 16 can be based, for example, on the syntax in Table 17 below.
[0200] [Table 17]
[0201] In one example, the decoding process for a coding unit coated in intra-predictive mode can be based on the algorithm (or spec) shown in Table 18 below.
[0202] [Table 18-1]
[0203] [Table 18-2]
[0204] In one example, the derivation process of the Lumaintra prediction mode can be based on the algorithm (or spec) shown in Table 19 below.
[0205] [Table 19-1]
[0206] [Table 19-2]
[0207] [Table 19-3]
[0208] [Table 19-4]
[0209] In one example, the intra-block decoding process can be based on the algorithm (or spec) shown in Table 20 below.
[0210] [Table 20]
[0211] In one example, the prediction of intra-samples can be based on the algorithm (or spec) shown in Table 21 below.
[0212] [Table 21]
[0213] In one example, the intraplanar mode, intraDC mode, etc., can be based on the algorithms (or specifications) shown in Table 22 below.
[0214] [Table 22-1]
[0215] [Table 22-2]
[0216] In one example, the transformation process of the scaled transformation coefficients can be based on the algorithm (or spec) shown in Table 23 below.
[0217] [Table 23-1]
[0218] [Table 23-2]
[0219] [Table 23-3]
[0220] In one example, an example of assigning ctxInc to a syntax element containing a context-coded bin can be based on Table 24 below.
[0221] [Table 24]
[0222] In one embodiment, a method for performing integrated MPM prediction and coding and / or signaling information for related intra-prediction modes is proposed. In another embodiment, a method for deriving a conversion kernel is proposed. In one embodiment, the syntax of the coding units listed in Tables 16 to 24 can be configured / encoded and signaled to a decoding device, which can derive an intra-prediction mode for the current block (CU) based on the syntax of the coding unit and the MPM list.
[0223] For example, in this embodiment, the MPM list may include planar mode as a candidate mode. If the value of the MPM flag is 1, the planar flag (intra_planar_flag) is signaled first to indicate whether the planar mode is to be used as the intra-prediction mode for the current block. If the value of the planar flag is 0, the MPM index (intra_luma_mpm_idx) is signaled, which can be used to indicate one of the remaining MPM candidates excluding the planar mode. In this example, the MPM list containing the remaining candidates excluding the planar mode is called the modified MPM list.
[0224] If, by any chance, the total number of MPM candidates including the planar mode is six, the total number of candidates in the modified MPM list excluding the planar mode may be five, in which case the value of the MPM index may range from 0 to 4. In other words, the maximum value of the MPM index may be set to 4. In this case, the maximum value of the MPM index may be represented by the cMAX of the MPM index. The bin of the planar flag may be canonically coded based on the context model, as described later in Tables 25 to 33, and the ctxInc for indicating the context model may be i) only one specific value (e.g., 0) used, ii) or variably derived based on the availability of the left peripheral block and / or the upper peripheral block and the value of the planar flag (if available), or iii) or its value may be variably determined depending on whether MRL or ISP is applied, as described later in Tables 25 to 33 below. Furthermore, according to this embodiment, a translation kernel (horizontal translation kernel) for the current block can be derived based on the size of the current block and / or the intra prediction type / mode. For example, as described later in Tables 25 to 33 below, if the ISP is not applied to or available for the current block, the size of the current block can be further referenced to derive a translation kernel (vertical translation kernel) of 1 or 0.
[0225] According to this embodiment, an MPM list can be constructed based on the integrated MPM prediction without depending on the applicability of MRL, ISP, etc. Tables 25 to 33 are as follows, and what the detailed contents of Tables 25 to 33 show should be easily understood by those of ordinary skill in the art.
[0226] Table 25 below shows an example of the syntax of a coding unit.
[0227] [Table 25]
[0228] The syntax of the coding unit in Table 25 above can be based on, for example, the semantics in Table 26 below.
[0229] [Table 26]
[0230] In one example, the decoding process of a coding unit coded in the intra prediction mode can be based on the algorithm (or, spec) in Table 27 below.
[0231] [Table 27-1]
[0232] [Table 27-2]
[0233] In one example, the derivation process of the luma intra prediction mode can be based on the algorithm (or, spec) in Table 28 below.
[0234] [Table 28-1]
[0235] [Table 28-2]
[0236] [Table 28-3]
[0237] [Table 28-4]
[0238] In one example, the intra-block decoding process can be based on the algorithm (or, spec) in Table 29 below.
[0239] [Table 29]
[0240] In one example, the intra-sample prediction can be based on the algorithm (or, spec) in Table 30 below.
[0241] [Table 30]
[0242] In one example, the intra-planar mode, the intra-DC mode, etc. can be based on the algorithm (or, spec) in Table 31 below.
[0243] [Table 31-1]
[0244] [Table 31-2]
[0245] In one example, the transformation process of the scaled transformation coefficients can be based on the algorithm (or spec) shown in Table 32 below.
[0246] [Table 32-1]
[0247] [Table 32-2]
[0248] In one example, an example of assigning ctxInc to a syntax element containing a context-coded bin can be based on Table 33 below.
[0249] [Table 33]
[0250] Referring to Table 25 above, it can be seen that the intra_planar_flag is checked based on the check result that the value of intra_luma_ref_idx is 0. The intra_luma_ref_idx may represent an example of an MRL (Multi-Reference Line) index, and the intra_planar_flag may represent an example of a planar flag.
[0251] Referring to Table 27 above, it can be confirmed that the context index (ctxInc or ctxIdx) value for the bin associated with intra_planar_flag is either 0 or 1. In other words, it can be confirmed that the context index value for the bin associated with intra_planar_flag can be one of two distinct integers.
[0252] Referring to Table 33 above, it can be seen that the context index for bins associated with intra_planar_flag is based on the value of intra_subpartitions_mode_flag. The intra_subpartitions_mode_flag may represent an example of an ISP flag indicating whether ISP (Intra Sub Partition) mode is currently applied to a block.
[0253] Figure 11 is a flowchart showing the operation of an encoding device according to one embodiment, and Figure 12 is a block diagram showing the configuration of an encoding device according to one embodiment.
[0254] The encoding device shown in Figures 11 and 12 can perform operations corresponding to those of the decoding device shown in Figures 13 and 14. Therefore, the operations of the decoding device described later in Figures 13 and 14 can also be applied to the encoding device shown in Figures 11 and 12.
[0255] Each step disclosed in Figure 11 can be performed by the encoding device 200 disclosed in Figure 2. Furthermore, the operations in S1100 to S1110 are based in part on the content described in Figures 4 to 10. Accordingly, specific details that overlap with the content described in Figures 2 and 4 to 10 will be omitted or simplified in their explanation.
[0256] As shown in Figure 11, the encoding device according to one embodiment may include a prediction unit 220 and an entropy encoding unit 240. However, in some cases, none of the components shown in Figure 11 are essential components of the encoding device, and the encoding device may be realized with more or fewer components than those shown in Figure 11.
[0257] In one embodiment of the encoding device, the prediction unit 220 and the entropy encoding unit 240 may be implemented on separate chips, or at least two or more components may be implemented via a single chip.
[0258] An encoding device according to one embodiment can generate at least one of the following based on the intra-prediction mode for the current block: MPM flag information indicating whether to encode the intra-prediction mode based on the MPM candidate for the current block, or PLANAR flag information indicating whether to determine the intra-prediction mode for the current block to be a planar mode (S1100).
[0259] For example, the encoding device may derive an intra-prediction mode for the current block, generate MPM flag information indicating whether to encode the intra-prediction mode based on MPM candidates for the current block, and generate planar flag information based on the fact that the MPM flag information relates to planar flag information indicating whether to determine the intra-prediction mode for the current block to be a planar mode.
[0260] An encoding device according to one embodiment can encode video information that includes at least one of the MPM flag information or the planar flag information (S1110). More specifically, the entropy encoding unit 240 of the encoding device can encode video information that includes at least one of the MPM flag information or the planar flag information.
[0261] In one embodiment, based on the case where the intra-prediction mode for the current block is derived as the planar mode, the planar flag information may indicate that the intra-prediction mode for the current block is derived as the planar mode.
[0262] In one embodiment, the intra-prediction information may further include MPM index information relating to one of the MPM candidates obtained by excluding the planar mode from the MPM candidates for the current block. The video encoding method may further include the step of generating the MPM index information based on the case where the intra-prediction mode for the current block is not derived as the planar mode.
[0263] In one embodiment, the total number of MPM candidates for the current block, excluding the planar mode, may be 5.
[0264] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. Based on the case where the intra-prediction mode of the peripheral block to the left of the current block and the intra-prediction mode of the peripheral block above the current block are the same, and the intra-prediction mode of the peripheral block to the left is greater than the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-prediction mode of the peripheral block to the left of the current block, the intra-prediction mode for MPM candidate 1 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block + 61) % 64), and the intra-prediction mode for MPM candidate 2 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block - 1) % 64).
[0265] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. Based on the case where the intra-prediction mode of the surrounding block to the left of the current block and the intra-prediction mode of the surrounding block above the current block are not the same, and the intra-prediction mode of the surrounding block to the left is less than or equal to the intra-DC mode, and the intra-prediction mode of the surrounding block above is less than or equal to the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-DC mode, the intra-prediction mode for MPM candidate 1 may be the intra-prediction mode 50, the intra-prediction mode for MPM candidate 2 may be the intra-prediction mode 18, the intra-prediction mode for MPM candidate 3 may be the intra-prediction mode 46, and the intra-prediction mode for MPM candidate 4 may be the intra-prediction mode 54.
[0266] In one embodiment, the MPM index information may be based on the evolutionary process of truncated rice (TR)2.
[0267] In one embodiment, cMax, which represents the maximum value of the MPM index information, may be 4.
[0268] According to the encoding device and the method of operation of the encoding device shown in Figures 11 and 12, the encoding device can generate at least one of the following based on the intra-prediction mode for the current block: MPM flag information indicating whether to encode the intra-prediction mode based on the MPM candidate for the current block, or planar flag information indicating whether to determine the intra-prediction mode for the current block to be a planar mode (S1100), and can encode video information including at least one of the MPM flag information or the planar flag information (S1110).
[0269] In other words, according to this disclosure, the efficiency of video coding can be improved based on intra-prediction using an MPM list for the current block. Alternatively, according to this disclosure, the efficiency of intra-prediction based on an MPM list can be improved based on planar flag information indicating whether to determine the intra-prediction mode for the current block to planar mode. Alternatively, according to this disclosure, the MPM list for the current block can be efficiently constructed. Alternatively, according to this disclosure, the MPM index can be efficiently coded.
[0270] Figure 13 is a flowchart showing the operation of a decoding device according to one embodiment, and Figure 14 is a block diagram showing the configuration of a decoding device according to one embodiment.
[0271] Each step disclosed in Figure 13 can be performed by the decoding device 300 disclosed in Figure 3. Therefore, specific details that overlap with what has been described above will be omitted or simplified.
[0272] As shown in Figure 14, a decoding device according to one embodiment may include an entropy decoding unit 310, a prediction unit 330, and an addition unit 340. However, in some cases, none of the components shown in Figure 14 may be essential components of the decoding device, and the decoding device may be realized with more or fewer components than those shown in Figure 14.
[0273] In one embodiment of the decoding apparatus, the entropy decoding unit 310, the prediction unit 330, and the addition unit 340 may each be implemented on separate chips, or at least two or more components may be implemented via a single chip.
[0274] A decoding device according to one embodiment can receive intra-prediction information which includes at least one of the following: MPM flag information indicating whether to derive an intra-prediction mode for the current block based on MPM (Most Probable Modes) candidates for the current block, or PLANAR flag information indicating whether to determine the intra-prediction mode for the current block to be a planar mode (S1300).
[0275] In one example, the intra-predictive information may be included in the coding unit syntax.
[0276] In one example, the MPM flag information may be represented by intra_luma_mpm_flag, and the planar flag information may be represented by intra_luma_not_planar_flag. If the value of intra_luma_not_planar_flag is 1, it may be determined that the intra prediction mode for the current block is not planar mode, and if the value of intra_luma_not_planar_flag is 0, it may be determined that the intra prediction mode for the current block is planar mode.
[0277] In another example, the planar flag information may be denoted as intra_luma_planar_flag or intra_planar_flag. If the value of intra_luma_planar_flag is 1, it may be determined that the intra prediction mode for the current block is planar mode, and if the value of intra_luma_planar_flag is 0, it may be determined that the intra prediction mode for the current block is not planar mode.
[0278] In one example, the decoding device may determine, based on the determination that the value of the MPM flag information is 1, that the value of the MPM flag information is related to decoding the planar flag information. That is, the decoding device can decode the planar flag information based on the determination that the value of the MPM flag information is 1.
[0279] The decoding device according to one embodiment can derive the intra prediction mode for the current block based on the MPM flag information and the planar flag information (S1310).
[0280] A decoding device according to one embodiment can derive a predicted block for the current block based on the intra prediction mode for the current block (S1320).
[0281] The decoding device according to one embodiment can generate a restored picture based on the predicted block (S1330).
[0282] In one embodiment, the planar flag information may be included in the intra-prediction information if the MPM flag information indicates that an intra-prediction mode for the current block is derived based on the MPM candidate.
[0283] In one embodiment, the step of deriving the intra-prediction mode for the current block may include the step of deriving the intra-prediction mode for the current block as the planar mode, based on the fact that the planar flag information indicates that the intra-prediction mode for the current block is derived as the planar mode.
[0284] In one embodiment, the intra prediction information may further include MPM index information related to one of the MPM candidates obtained by excluding the planar mode from the MPM candidates for the current block. The MPM index information may be included in the intra prediction information based on the planar flag information indicating that the intra prediction mode for the current block is not derived to the planar mode. A video decoding method characterized in that the intra prediction mode for the current block is derived based on the MPM index information. In one example, the decoding device can check the MPM index information based on a check result where the value of intra_luma_not_planar_flag is 1.
[0285] In one embodiment, the number of MPM candidates for the current block, excluding the planar mode, may be five. In one example, the MPM candidates may include a first to a fifth MPM candidate. The first MPM candidate may be associated with MPM index 0, the second MPM candidate with MPM index 1, the third MPM candidate with MPM index 2, the fourth MPM candidate with MPM index 3, and the fifth MPM candidate with MPM index 4.
[0286] In one embodiment, the MPM index information may represent MPM candidate 0, MPM candidate 1, MPM candidate 2, MPM candidate 3, or MPM candidate 4, which are included in the MPM candidates obtained by removing the planar mode from the MPM candidates for the current block. In one example, based on the case where the intra-prediction mode of the peripheral block to the left of the current block and the intra-prediction mode of the peripheral block above the current block are the same, and the intra-prediction mode of the peripheral block to the left is greater than the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-prediction mode of the peripheral block to the left of the current block, the intra-prediction mode for MPM candidate 1 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block + 61) % 64), and the intra-prediction mode for MPM candidate 2 may be 2 + ((intra-prediction mode of the peripheral block to the left of the current block - 1) % 64).
[0287] In one example, the MPM index information may be represented as intra_luma_mpm_idx, and the MPM candidates 0 through 4 corresponding to MPM index 0 through 4 may be represented as candModeList[0], candModeList[1], candModeList[2], candModeList[3], and candModeList[4], respectively.
[0288] In one example, if the intra-prediction mode for the surrounding blocks to the left of the current block is candIntraPredModeA, and the intra-prediction mode for the surrounding blocks above the current block is candIntraPredModeB, and candIntraPredModeA and candIntraPredModeB are the same, and candIntraPredModeA is greater than INTRA_DC, then among the MPM candidates that make up the MPM list, the 0th MPM candidate, the 1st MPM candidate, and the 2nd MPM candidate may be determined as follows.
[0289] [Mathematics 1] candModeList
[0000] =candIntraPredModeA candModeList
[0001] =2 + ( ( candIntraPredModeA + 61 ) % 64 ) candModeList[ 2]=2 + ( ( candIntraPredModeA - 1 ) % 64 )
[0290] In another example, based on the case where the intra-prediction mode of the surrounding block to the left of the current block and the intra-prediction mode of the surrounding block above the current block are not the same, and the intra-prediction mode of the surrounding block to the left is less than or equal to the intra-DC mode, and the intra-prediction mode of the surrounding block above is less than or equal to the intra-DC mode, the intra-prediction mode for MPM candidate 0 may be the intra-DC mode, the intra-prediction mode for MPM candidate 1 may be the intra-prediction mode 50, the intra-prediction mode for MPM candidate 2 may be the intra-prediction mode 18, the intra-prediction mode for MPM candidate 3 may be the intra-prediction mode 46, and the intra-prediction mode for MPM candidate 4 may be the intra-prediction mode 54.
[0291] In one embodiment, the MPM index information may be based on the truncated rice (TR)2 evolutionary process (binarization process).
[0292] In one embodiment, cMax, which represents the maximum value of the MPM index information, may be 4.
[0293] According to the decoding apparatus and method of operation of the decoding apparatus disclosed in Figures 13 and 14, the decoding apparatus can receive intra-prediction information including at least one of the following: MPM flag information indicating whether to derive an intra-prediction mode for the current block based on MPM (Most Probable Modes) candidates for the current block, or PLANAR flag information indicating whether to determine the intra-prediction mode for the current block to be a planar mode (S1300); derive the intra-prediction mode for the current block based on the MPM flag information and the planar flag information (S1310); derive a predicted block for the current block based on the intra-prediction mode for the current block (S1320); and generate a restored picture based on the predicted block (S1330). In this case, the planar flag information may be included in the intra-prediction information if the MPM flag information indicates that an intra-prediction mode for the current block is derived based on the MPM candidates.
[0294] In other words, according to this disclosure, the efficiency of intra-prediction based on the MPM list can be improved based on planar flag information indicating whether the intra-prediction mode for the current block is determined to be planar mode. Alternatively, according to this disclosure, the efficiency of video coding can be improved by determining whether or not the planar flag information can be signaled based on MRL index information. Alternatively, according to this disclosure, the MPM list for the current block can be efficiently constructed. Alternatively, according to this disclosure, the value of the context index for the bin associated with the planar flag information can be determined based on whether or not the ISP mode is applied to the current block.
[0295] In the embodiments described above, the method is explained based on a flowchart as a series of steps or blocks, but the disclosure is not limited to the order of the steps, and some steps may occur in a different order or simultaneously with other steps than those described above. Furthermore, those skilled in the art will understand that the steps shown in the flowchart are not exclusive, and that different steps may be included, or one or more steps in the flowchart may be deleted without affecting the scope of the disclosure.
[0296] The methods described herein can be implemented in software form, and the encoding and / or decoding devices described herein may be included in, for example, video processing devices such as TVs, computers, smartphones, set-top boxes, and display devices.
[0297] In this disclosure, when the embodiments are implemented in software, the methods described above can be implemented by modules (processes, functions, etc.) that perform the functions described above. These modules are stored in memory and can be executed by a processor. The memory may be internal or external to the processor and may be connected to the processor by various well-known means. The processor may include an ASIC (application-specific integrated circuit), other chipsets, logic circuits, and / or data processing devices. The memory may include ROM (read-only memory), RAM (random access memory), flash memory, memory cards, storage media, and / or other storage devices. That is, the embodiments described in this disclosure may be implemented on a processor, microprocessor, controller, or chip. For example, the functional units shown in each figure may be implemented on a computer, processor, microprocessor, controller, or chip. In this case, information on instructions or algorithms for implementation may be stored on a digital storage medium.
[0298] Furthermore, decoding and encoding devices to which this disclosure applies may include multimedia broadcasting transceivers, mobile communication terminals, home cinema video equipment, digital cinema video equipment, surveillance cameras, video interaction equipment, real-time communication equipment such as video communications, mobile streaming equipment, storage media, camcorders, customized video (VoD) service providers, OTT video (Over the top video) equipment, internet streaming service providers, 3D video equipment, VR (virtual reality) equipment, AR (argumente reality) equipment, image phone video equipment, transportation terminals (e.g., vehicle terminals (including autonomous vehicles), airplane terminals, ship terminals, etc.), and medical video equipment, and may be used to process video signals or data signals. For example, OTT video (Over the top video) equipment may include game consoles, Blu-ray players, internet access TVs, home theater systems, smartphones, tablet PCs, DVRs (Digital Video Recorders), etc.
[0299] Furthermore, the processing methods to which this disclosure applies can be produced in the form of programs run on a computer and stored on a computer-readable recording medium. Multimedia data having the data structures relating to this disclosure can also be stored on a computer-readable recording medium. The computer-readable recording medium includes all types of storage devices and distributed storage devices on which computer-readable data is stored. The computer-readable recording medium may include, for example, Blu-ray discs (BDs), general-purpose serial buses (USBs), ROMs, PROMs, EPROMs, EEPROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices. The computer-readable recording medium also includes media implemented in the form of carrier waves (e.g., transmission over the Internet). Furthermore, bitstreams generated by encoding methods can be stored on computer-readable recording mediums or transmitted over wired wireless networks.
[0300] Furthermore, embodiments of the present disclosure can be implemented as computer program products comprising program code, the program code being executed on a computer according to embodiments of the present disclosure. The program code being stored on a computer-readable carrier.
[0301] This document relates to video / image coding. For example, the methods / examples disclosed in this document may be applied to methods disclosed in the VVC (versatile video coding) standard, EVC (essential video coding) standard, AV1 (AOMedia Video 1) standard, AVS2 (2nd generation of audio video coding standard), or next-generation video / image coding standards (e.g., H.267 or H.268).
[0302] This document presents various examples of video / image coding, and unless otherwise noted, these examples may be combined with each other.
[0303] In this document, "video" can mean a collection of images over time. "Picture" generally refers to a unit representing a single image at a specific time point in time, and "slice" or "tile" is a unit that constitutes part of a picture in coding. A slice or tile may contain one or more CTUs (coding tree units). A picture may consist of one or more slices or tiles. A picture may consist of one or more tile groups. A tile group may contain one or more tiles. A brick may represent a rectangular region of CTU rows within a tile in a picture. A tile may be partitioned into multiple bricks, each of which consists of one or more CTU rows within the tile. A tile that is not partitioned into multiple bricks may also be referred to as a brick.A brick scan can represent a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in a CTU raster scan in a brick, bricks within a tile are ordered consecutively in a raster scan of the bricks of the tile, and tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture. A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture. The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set.The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture. A tile scan can represent a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture. A slice may contain an integer number of bricks of a picture that may be exclusively contained in a single NAL unit. A slice may consist of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile. In this document, tile groups and slices may be used interchangeably.For example, in this document, tile group / tile group header may be referred to as slice / slice header.
[0304] A pixel or pel can refer to the smallest unit that makes up a picture (or image). The term "sample" can also be used as a counterpart to pixel. A sample generally represents a pixel or a pixel value, and may represent only the luma component pixel / pixel value, or only the chroma component pixel / pixel value.
[0305] A unit can represent a basic unit of image processing. A unit may contain at least one of the following: a specific region of a picture and information relating to that region. A unit may contain one luma block and two chroma (e.g., cb, cr) blocks. The term unit may be used interchangeably with terms such as block or area. In general, an MxN block may contain a sample (or sample array) or a set (or array) of transform coefficients consisting of M columns and N rows.
[0306] In this document, the terms " / " and "," should be interpreted as "and / or." For example, "A / B" is interpreted as "A and / or B," and "A, B" is interpreted as "A and / or B." Furthermore, "A / B / C" means "at least one of A, B, and / or C." Also, "A, B, C" means "at least one of A, B, and / or C."
[0307] Furthermore, in this document, "or" is interpreted as "and / or." For example, "A or B" may mean 1) only "A," 2) only "B," or 3) both "A and B." Alternatively, "or" in this document may mean "additionally or alternatively."
[0308] Figure 15 shows an example of a content streaming system to which the disclosures in this document apply.
[0309] Referring to Figure 15, the content streaming system to which this disclosure applies may broadly include an encoding server, a streaming server, a web server, media storage, user equipment, and multimedia input devices.
[0310] The encoding server is responsible for compressing content input from multimedia input devices such as smartphones, cameras, and camcorders into digital data to generate a bitstream, and then transmitting this bitstream to the streaming server. As an alternative, if a multimedia input device such as a smartphone, camera, or camcorder directly generates the bitstream, the encoding server may be omitted.
[0311] The bitstream can be generated by an encoding method or bitstream generation method to which the present disclosure applies, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
[0312] The streaming server transmits multimedia data to the user's device based on a user request via the web server, and the web server acts as an intermediary to inform the user of available services. When a user requests a desired service from the web server, the web server transmits this to the streaming server, and the streaming server transmits multimedia data to the user. In this case, the content streaming system may include a separate control server, in which case the control server controls the commands and responses between the devices within the content streaming system.
[0313] The streaming server can receive content from media storage and / or encoding servers. For example, if it receives content from the encoding server, it can receive the content in real time. In this case, in order to provide a smooth streaming service, the streaming server can store the bitstream for a certain period of time.
[0314] Examples of user devices include mobile phones, smartphones, laptop computers, digital broadcasting terminals, PDAs (personal digital assistants), PMPs (portable multimedia players), navigation systems, slate PCs, tablet PCs, ultrabooks, wearable devices (such as smartwatches, smart glasses, and HMDs), digital TVs, desktop computers, and digital signage.
[0315] Each server within the aforementioned content streaming system can be operated as a distributed server, in which case the data received by each server can be processed in a distributed manner.
Claims
1. Memory and The system comprises at least one processor connected to the memory, The aforementioned at least one processor is Obtain video information including prediction-related information from the bitstream. Based on the aforementioned prediction-related information, it is determined that the intra prediction is applied to the current block. Based on the decision that the intra prediction is applied to the current block, the MPM (Most Probable Mode) flag information, the planar flag information, and the MPM index information are obtained. The MPM flag information relates to whether or not to derive an intra-prediction mode for the current block based on the MPM candidate for the current block. The planar flag information relates to whether the intra-prediction mode for the current block is determined to be a planar mode. The aforementioned MPM index information relates to one of the five MPM candidates other than the planar mode among the MPM candidates for the current block, The five MPM candidates are derived based on the intra-prediction modes of the surrounding blocks adjacent to the current block. The aforementioned peripheral block includes at least one of the left peripheral block or the upper peripheral block, Based on at least one of the values of the MPM flag information, the planar flag information, or the MPM index information, the intra prediction mode for the current block is derived. Based on the intra prediction mode for the current block, a prediction sample for the current block is derived. Based on the aforementioned predicted sample, it is configured to generate a restored sample from the current picture. The MPM flag information is parsed against the current block, After the MPM flag information has been parsed, the planar flag information is parsed if the value of the MPM flag information is equal to 1. The apparatus, after the planar flag information has been parsed, is parsed if the value of the planar flag information indicates that the intra-prediction mode for the current block is not the planar mode.
2. Memory and The system comprises at least one processor connected to the memory, The aforementioned at least one processor is It is now decided that the intra prediction will be applied to the current block. The intra-prediction mode for the current block is derived, Based on the decision that the intra prediction is applied to the current block, MPM (Most Probable Mode) flag information, planar flag information, and MPM index information are generated. The MPM flag information relates to whether to derive the intra prediction mode for the current block based on the MPM candidate for the current block, The planar flag information relates to whether the intra-prediction mode for the current block is determined to be a planar mode. The aforementioned MPM index information relates to one of the five MPM candidates other than the planar mode among the MPM candidates for the current block, The five MPM candidates are derived based on the intra-prediction modes of the surrounding blocks adjacent to the current block. The aforementioned peripheral block includes at least one of the left peripheral block or the upper peripheral block, The system is configured to encode video information including the MPM flag information, the planar flag information, and the MPM index information in order to output a bitstream. The MPM flag information is encoded for the current block, If the value of the MPM flag information is equal to 1, the planar flag information is encoded after the MPM flag information. The device wherein, if the value of the planar flag information indicates that the intra-prediction mode for the current block is not the planar mode, the MPM index information is encoded after the planar flag information.
3. At least one processor configured to acquire a bitstream for video, The aforementioned bitstream is Deciding whether intra-prediction is currently applied to the block, To derive the intra prediction mode for the current block, Based on the decision that the intra prediction is applied to the current block, MPM (Most Probable Mode) flag information, planar flag information, and MPM index information are generated. The bitstream is generated based on encoding video information including the MPM flag information, the planar flag information, and the MPM index information, The MPM flag information relates to whether to derive the intra prediction mode for the current block based on the MPM candidate for the current block, The planar flag information relates to whether the intra-prediction mode for the current block is determined to be a planar mode. The aforementioned MPM index information relates to one of the five MPM candidates other than the planar mode among the MPM candidates for the current block, The five MPM candidates are derived based on the intra-prediction modes of the surrounding blocks adjacent to the current block. The aforementioned peripheral block includes a processor and at least one of the left peripheral block or the upper peripheral block. A transfer unit configured to transmit data including the bitstream is provided, The MPM flag information is encoded for the current block, If the value of the MPM flag information is equal to 1, the planar flag information is encoded after the MPM flag information. The device wherein, if the value of the planar flag information indicates that the intra-prediction mode for the current block is not the planar mode, the MPM index information is encoded after the planar flag information.