Method for coding image on basis of intra prediction using MPM list and apparatus therefor
The video coding method and apparatus enhance video compression efficiency by utilizing an MPM list for intra prediction, addressing the challenges of high-resolution and immersive media through optimized MPM list configuration and coding.
Patent Information
- Application Number
- JP2025076106
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-03-23
- Filing Date
- 2025-05-01
- Publication Date
- 2025-07-30
- Estimated Expiration
- 2040-03-23
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 that utilizes an MPM list for intra prediction, including MPM flag and planar flag information to determine the intra prediction mode for a current block, and constructs an MPM list with specific candidates based on peripheral block modes.
Improves the efficiency of video coding and intra prediction by optimizing the MPM list configuration and coding, enhancing overall video compression efficiency.
Smart Images

Figure 2025111764000001_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 the 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 enhancing the efficiency of video coding.
[0006] Another technical problem of the present disclosure is to provide a method and apparatus for enhancing the efficiency of intra prediction.
[0007] Another technical problem of the present disclosure is to provide a method and apparatus for performing video coding based on intra prediction that utilizes an MPM list for a current block.
[0008] Another technical problem of the present 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 an intra prediction mode for a current block as a planar mode.
[0009] Another technical problem of the present disclosure is to provide a method and apparatus for constructing an MPM list for a current block.
[0010] Another technical problem of the present disclosure is to provide a method and apparatus for coding an MPM index.
Means for Solving the Problems
[0011] According to an embodiment of the present disclosure, a video decoding method performed by a decoding device is provided. The video decoding method includes receiving intra prediction information including at least one of MPM (Most Probable Modes) flag information indicating whether to derive an intra prediction mode for a current block based on MPM candidates for the current block, or PLANAR flag information indicating whether to determine the intra prediction mode for the current block as 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 MPM flag information is based on a case where an intra prediction mode for the current block is derived based on the MPM candidates, and the planar flag information is included in the intra prediction information.
[0012] In one embodiment, the step of deriving the intra prediction mode for the current block may include deriving the intra prediction mode for the current block as the planar mode based on a case where 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 excluding the planar mode from the MPM candidates for the current block. Based on a case where the planar flag information indicates 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. The intra prediction mode for the current block may be derived based on the MPM index information.
[0014] 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.
[0015] In one embodiment, the MPM index information may represent the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 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 the same, and the intra prediction mode of the left peripheral block is greater than the intra DC mode, the intra prediction mode for the 0th MPM candidate is the intra prediction mode of the peripheral block on the left side of the current block, the intra prediction mode for the 1st MPM candidate is 2 + ((the intra prediction mode of the peripheral block on the left side of the current block + 61) % 64), and the intra prediction mode for the 2nd MPM candidate may be 2 + ((the intra prediction mode of the peripheral block on the left side of the current block - 1) % 64).
[0016] In one embodiment, the MPM index information may represent the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 4th MPM candidate included in the MPM candidates excluding the planar mode from the MPM candidates for the current block. When 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, and 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.
[0017] In one embodiment, the MPM index information may be based on a Truncated Rice (TR) binarization process.
[0018] In one embodiment, cMax representing the maximum value of the MPM index information may be 4.
[0019] According to another embodiment of the present disclosure, a decoding apparatus for performing video decoding is provided. The decoding apparatus includes an entropy decoding unit that receives 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 as 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. The planar flag information is included in the intra prediction information based on a case where the MPM flag information indicates that the 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 a 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 excluding the planar mode from the MPM candidates for the current block. Based on a case where the planar flag information indicates 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.
[0022] 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.
[0023] In one embodiment, the MPM index information may represent the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 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 the same, and the intra prediction mode of the left peripheral block is greater than the intra DC mode, the intra prediction mode for the 0th MPM candidate is the intra prediction mode of the peripheral block on the left side of the current block, the intra prediction mode for the 1st MPM candidate is 2 + ((the intra prediction mode of the peripheral block on the left side of the current block + 61) % 64), and the intra prediction mode for the 2nd MPM candidate may be 2 + ((the intra prediction mode of the peripheral block on the left side 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. When 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, and 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 indicate 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 the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 4th MPM candidate included in the MPM candidates for the current block excluding the planar mode from the MPM candidates for the current block. When 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 the same, and based on the case where the intra prediction mode of the left peripheral block is greater than the intra DC mode, the intra prediction mode for the 0th MPM candidate is the intra prediction mode of the peripheral block on the left side of the current block, the intra prediction mode for the 1st MPM candidate is 2 + ((the intra prediction mode of the peripheral block on the left side of the current block + 61) % 64), and the intra prediction mode for the 2nd MPM candidate may be 2 + ((the intra prediction mode of the peripheral block on the left side of the current block - 1) % 64).
[0032] In one embodiment, the MPM index information may represent the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 4th MPM candidate included in the MPM candidates for the current block excluding the planar mode from the MPM candidates for the current block. When 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, and based on the case where 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.
[0033] In one embodiment, the MPM index information may be based on the Truncated Rice (TR) binary evolution process.
[0034] In one embodiment, cMax representing the maximum value of the MPM index information may be 4.
[0035] According to another embodiment of the present disclosure, an encoding apparatus for performing video encoding is provided. The encoding apparatus includes a prediction unit that derives an intra prediction mode for a current block, and 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. 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, the PLANAR flag information is generated, and an entropy encoding unit that encodes video information including at least one of the MPM flag information or the PLANAR flag information.
[0036] 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 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 excluding the planar mode from the MPM candidates for the current block. The encoding apparatus may generate the MPM index information based on a 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 the MPM candidates excluding the planner mode from the MPM candidates for the current block may be five.
[0039] In one embodiment, the MPM index information may represent the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 4th MPM candidate included in the MPM candidates excluding the planner 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 the same, and the intra prediction mode of the left peripheral block is greater than the intra DC mode, the intra prediction mode for the 0th MPM candidate is the intra prediction mode of the peripheral block on the left side of the current block, the intra prediction mode for the 1st MPM candidate is 2 + ((the intra prediction mode of the peripheral block on the left side of the current block + 61) % 64), and the intra prediction mode for the 2nd MPM candidate may be 2 + ((the intra prediction mode of the peripheral block on the left side of the current block - 1) % 64).
[0040] In one embodiment, the MPM index information may represent the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 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 smaller than or equal to the intra DC mode, and the intra prediction mode of the upper peripheral block is smaller 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.
[0041] In one embodiment, the MPM index information may be based on a Truncated Rice (TR) binary evolution process, and cMax representing the maximum value of the MPM index information may be 4.
[0042] According to another embodiment of the present disclosure, a decoder-readable storage medium is provided that stores information for instructions that cause a video decoding device to perform a decoding method according to some embodiments.
[0043] According to another embodiment of the present disclosure, there is provided a computer-readable storage medium including encoded information that causes a decoding device to perform a video decoding method. The computer-readable storage medium includes a step 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 as a planar mode, a step of deriving the intra prediction mode for the current block based on the MPM flag information and the planar flag information, a step of deriving a predicted block for the current block based on the intra prediction mode for the current block, and a step of generating a restored picture based on the predicted block, wherein the planar flag information is included in the intra prediction information based on a case where the MPM flag information indicates that the 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 excluding the planar mode from the MPM candidates for the current block. Based on a case where the planar flag information indicates that the intra prediction mode for the current block is not derived as the planar mode, the MPM index information is included in the intra prediction information, and based on the MPM index information, the intra prediction mode for the current block may be derived.
[0045] 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.
[0046] In one embodiment, the MPM index information may represent the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 4th MPM candidate included in the MPM candidates for the current block 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 the same and the intra prediction mode of the left peripheral block is greater than the intra DC mode, the intra prediction mode for the 0th MPM candidate is the intra prediction mode of the peripheral block on the left side of the current block, and the intra prediction mode for the 1st MPM candidate is 2 + ((the intra prediction mode of the peripheral block on the left side of the current block + 61) % 64), and the intra prediction mode for the 2nd MPM candidate may be 2 + ((the intra prediction mode of the peripheral block on the left side of the current block - 1) % 64).
[0047] In one embodiment, the MPM index information may represent the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 4th MPM candidate included in the MPM candidates for the current block 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.
[0048] In one embodiment, the MPM index information may be based on a binarization process of Truncated Rice (TR).
[0049] In one embodiment, cMax representing the maximum value of the MPM index information may be 4.
Advantages of the Invention
[0050] According to the present disclosure, the efficiency of general video / video compression can be improved.
[0051] According to the present disclosure, the efficiency of intra prediction can be improved.
[0052] According to the present disclosure, intra prediction can be efficiently performed based on the MPM list.
[0053] According to the present disclosure, the efficiency of video coding can be improved based on intra prediction using the MPM list for the current block.
[0054] According to the present disclosure, the efficiency of intra prediction based on the MPM list can be improved based on the planner flag information indicating whether to determine the intra prediction mode for the current block as the planner mode.
[0055] According to the present disclosure, the MPM list for the current block can be efficiently configured.
[0056] According to the present disclosure, the MPM index can be efficiently coded.
Brief Description of the Drawings
[0057]
Figure 1
Figure 2
Figure 3
Figure 4a
Figure 4b
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
DETAILED DESCRIPTION OF THE INVENTION
[0058] According to an embodiment of the present disclosure, a video decoding method performed by a decoding device is provided. The method includes receiving a bitstream including residue information, deriving quantized transform coefficients for a current block based on the residue information included in the bitstream, deriving transform coefficients for the current block from the quantized transform coefficients based on an inverse quantization process, applying an inverse transform to the derived transform coefficients to derive residue samples for the current block, and generating a reconstructed picture based on the residue samples for the current block. However, each of the transform coefficients for the current block is associated with a high-frequency transform coefficient region composed of transform coefficient 0 or a low-frequency transform coefficient region including at least one valid transform coefficient, and transform coefficient scanning is performed on the transform coefficients associated with the low-frequency transform coefficient region among the transform coefficients for the current block.
[0059] Since the present disclosure can be modified in various ways and can have various embodiments, specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present disclosure to specific embodiments. The terms commonly used in this specification are only used to explain specific embodiments and are not intended to limit the technical idea of the present disclosure. Singular expressions include plural expressions unless the context clearly indicates otherwise. Terms such as "including" or "having" in this specification are intended to specify the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and should not be construed as precluding the presence or addition possibility of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0060] On the one hand, each component in the drawings described in the present disclosure is shown independently for the convenience of explaining different characteristic functions, and it does not mean that each component is implemented by different hardware or different software. For example, among each component, two or more components can be combined to form one component, and one component can also be divided into a plurality of components. Embodiments in which each component is integrated and / or separated are also included in the scope of rights of this document as long as they do not deviate from the essence of this document.
[0061] Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present disclosure will be described in more detail. Hereinafter, for the same components in the drawings, the same reference numerals will be used and overlapping descriptions of the same components will be omitted.
[0062] FIG. 1 schematically shows an example of a video / image coding system to which the present disclosure can be applied.
[0063] Referring to FIG. 1, the video / image coding system can include a first device (source device) and a second device (receiver device). The source device can transmit encoded video / image information or data in a file or streaming form to the receiver device via a digital storage medium or a network.
[0064] The source device can include a video source, an encoding device, and a transfer unit. The receiver device can include a receiving unit, a decoding device, and a renderer. The encoding device can be called a video / image encoding device, and the decoding device can be called a video / image decoding device. A transmitter can be included in the encoding device. A receiver can be included in the decoding device. The renderer can also include a display unit, and the display unit can be composed of another device or an external component.
[0065] A video source can acquire video / video through processes such as video / video capture, synthesis, or generation. The video source can include a video / video capture device and / or a video / video generation device. The video / video capture device can include, for example, one or more cameras, a video / video archive including previously captured video / video, etc. The video / video generation device can include, for example, a computer, a tablet, and a smartphone, etc., and can (electronically) generate video / video. For example, virtual video / video can be generated through a computer, etc., and in this case, it can replace the video / video capture process during the process of generating related data.
[0066] The encoding device can encode the input video / video. The encoding device can perform a series of procedures such as prediction, transformation, quantization, etc. for compression and coding efficiency. The encoded data (encoded video / video information) can be output in the form of a bitstream.
[0067] The transfer unit can transmit the encoded video / video information or data output in the form of a bitstream to the receiving unit of the receiving device via a digital storage medium or a network in the form of a file or streaming. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transfer unit can include elements for generating a media file through a predetermined file format and can include elements for transfer via a broadcast / communication network. The receiving unit can receive / extract the bitstream and transmit it to the decoding device.
[0068] The decoding device can perform a series of procedures such as inverse quantization, inverse transformation, prediction, etc. corresponding to the operation of the encoding device to decode the video / video.
[0069] The renderer can render the decoded video / video image. The rendered video / video image can be displayed via the display unit.
[0070] FIG. 2 is a diagram schematically illustrating the configuration of a video / video image encoding apparatus to which the present disclosure can be applied. Hereinafter, the video encoding apparatus can include a video image encoding apparatus.
[0071] Referring to FIG. 2, the encoding apparatus 200 can include an image partitioner 210, a predictor 220, a residual processor 230, an entropy encoder 240, an adder 250, a filter 260, and a memory 270. The predictor 220 can include an inter-predictor 221 and an intra-predictor 222. The residual processor 230 can include a transformer 232, a quantizer 233, a dequantizer 234, and an inverse transformer 235. The residual processor 230 can further include a subtractor 231. The adder 250 can be called a reconstructor or a reconstructed block generator. The above-described image partitioner 210, predictor 220, residual processor 230, entropy encoder 240, adder 250, and filter 260 can be configured by one or more hardware components (e.g., an encoder chipset or a processor) according to an embodiment. Also, the memory 270 can include a DPB (decoded picture buffer) and can also be configured by a digital storage medium. The hardware component can further include the memory 270 as an internal / external component.
[0072] The video segmentation unit 210 can divide the input video (or picture, frame) input to the encoding device 200 into one or more processing units. As an example, the processing unit can be called a coding unit (CU). As an example, the processing unit can be called a coding unit (CU). In this case, the coding unit can be recursively divided from a coding tree unit (CTU) or a largest coding unit (LCU) according to the QTBTTT (Quad-tree binary-tree ternary-tree) structure. For example, one coding unit can be divided into multiple coding units with a deeper depth based on a quad-tree structure, a binary-tree structure, and / or a ternary-tree structure. In this case, for example, the quad-tree structure can be applied first, and then the binary-tree structure can be applied. Or the binary-tree structure can also be applied first. Based on the final coding unit that cannot be further divided, the coding procedure according to the present disclosure can be performed. In this case, based on the coding efficiency according to the video characteristics, etc., the largest coding unit can be directly used as the final coding unit, or if necessary, the coding unit can be recursively divided into coding units with a deeper depth, and the coding unit with the optimal size can be used as the final coding unit. Here, the coding procedure can include procedures such as prediction, transformation, and restoration described later. As another example, the processing unit can further include a prediction unit (PU: Prediction Unit) or a transform unit (TU: Transform Unit). In this case, the prediction unit and the transform unit can be divided or partitioned from the final coding unit described above, respectively.The prediction unit may be a unit of sample prediction, and the conversion unit may be a unit for deriving a conversion coefficient and / or a unit for deriving a residual signal from the conversion coefficient.
[0073] The unit can be used interchangeably with terms such as block or area in some cases. In general, 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, and can represent only the pixel / pixel value of the luma component, or only the pixel / pixel value of the chroma component. A sample can be used as a term corresponding to a pixel or a pel in one picture (or video).
[0074] The encoding device 200 can subtract the predicted signal (predicted block, predicted sample array) output from the inter prediction unit 221 or the intra prediction unit 222 from the input video signal (original block, original sample array) to generate a residual signal (residual block, residual 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 predicted signal (predicted block, predicted sample array) from the input video signal (original block, original sample array) within the encoder 200 can be called the subtraction unit 231. The prediction unit can perform prediction on the block to be processed (hereinafter referred to as the current block) and generate a predicted block including predicted samples for the current block. The prediction unit can determine whether intra prediction is applied in units of the current block or CU, or whether inter prediction is applied. In the description of each prediction mode, the prediction unit can generate various pieces of information related to prediction, such as prediction mode information, and transmit it to the entropy encoding unit 240 as described later. The information related to prediction can be encoded by the entropy encoding unit 240 and output in the form of a bitstream.
[0075] The intra prediction unit 222 can predict the current block by referring to samples within the current picture. The samples to be referred to can be located around (neighbor) the current block according to the prediction mode, or can be located at a distance. In intra prediction, the prediction mode can include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes can include, for example, the DC mode and the planar mode (Planar mode). The directional modes can include, for example, 33 directional prediction modes or 65 directional prediction modes depending on the degree of fineness of the prediction direction. However, this is set as an example, and a greater or lesser number of directional prediction modes can be used according to the setting. The intra prediction unit 222 can also determine the prediction mode to be applied to the current block by using the prediction mode applied to the surrounding blocks.
[0076] The inter prediction unit 221 can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on the reference picture. At this time, in order to reduce the amount of motion information transferred in the inter prediction mode, the motion information can be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the peripheral block and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, the peripheral block can include a spatial neighboring block existing in the current picture and a temporal neighboring block existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block can be called by names such as a collocated reference block and a collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called a collocated picture (colPic). For example, the inter prediction unit 221 can construct a motion information candidate list based on the peripheral block, and generate information indicating which candidate is used to derive the motion vector and / or the reference picture index of the current block. Inter prediction can be performed based on various prediction modes. For example, in the case of the skip mode and the merge mode, the inter prediction unit 221 can use the motion information of the peripheral block as the motion information of the current block. In the case of the skip mode, different from the merge mode, the residual signal may not be transferred.In the case of the motion vector prediction (MVP) mode, the motion vector of a neighboring block is used as a motion vector predictor, and by signaling the motion vector difference, the motion vector of the current block can be indicated.
[0077] The prediction unit 220 can generate a prediction signal based on various prediction methods described later. For example, the prediction unit can apply not only intra prediction or inter prediction for predicting a block, but also can apply intra prediction and inter prediction simultaneously. This can be called combined inter and intra prediction (CIIP). Also, the prediction unit can be based on the intra block copy (IBC) prediction mode for predicting a block, or can be based on the palette mode. The IBC prediction mode or the palette mode can be used for coding content video / motion video such as games, for example, like SCC (screen content coding). IBC basically performs prediction within the current picture, but can be performed similarly to inter prediction in terms of deriving a reference block within the current picture. That is, IBC can utilize at least one of the inter prediction techniques described in this document. The palette mode can be regarded as an example of intra coding or intra prediction. When the palette mode is applied, the sample values within the picture can be signaled based on information regarding the palette table and the 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 restored signal or can be used to generate a residual signal. The conversion unit 232 can apply a conversion technique to the residual signal to generate transform coefficients. For example, the conversion technique can include at least one of DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), KLT (Karhunen-Loeve Transform), GBT (Graph-Based Transform), or CNT (Conditionally Non-linear Transform). Here, GBT means the conversion obtained from this graph when the relationship information between pixels is represented by a graph. CNT means the conversion obtained based on generating a prediction signal using all previously reconstructed pixels. Also, the conversion process can be applied to pixel blocks having the same size of a square, and can also be applied to blocks of variable size that are not square.
[0079] The quantization unit 233 quantizes the transform coefficients and transfers them to the entropy encoding unit 240. The entropy encoding unit 240 can encode the quantized signal (information regarding the quantized transform coefficients) and output it as a bitstream. The information regarding the quantized transform coefficients can be called residue information. The quantization unit 233 can reorder the block-form quantized transform coefficients in a one-dimensional vector form based on the coefficient scan order, and can also generate the information regarding the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form. The entropy encoding unit 240 can perform various encoding methods such as, for example, exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive binary arithmetic coding), etc. The entropy encoding unit 240 can encode, together or separately, information necessary for video / image restoration (e.g., values of syntax elements, etc.) in addition to the quantized transform coefficients. The encoded information (e.g., encoded video / video information) can be transferred or stored in the form of a bitstream in units of NAL (network abstraction layer) units. The video / video information can further include information regarding various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Also, the video / video information can further include general constraint information. In this document, the information and / or syntax elements transmitted / signaled from the encoding device to the decoding device can be included in the video / video information. The video / video information can be encoded through the above-described encoding procedure and included in the bitstream.The bitstream can be transferred via a network or stored in a digital storage medium. Here, the network can include a broadcast network and / or a communication network, etc., and the digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transfer unit (not shown) for transferring and / or a storage unit (not shown) for storing the signal output from the entropy encoding unit 240 can be configured as internal / external elements of the encoding device 200, or the transfer unit can also be included in the entropy encoding unit 240.
[0080] The quantized transform coefficients output from the quantization unit 233 can be used to generate a prediction signal. For example, by applying inverse quantization and inverse transformation to the quantized transform coefficients via the inverse quantization unit 234 and the inverse transformation unit 235, a residual signal (residual block or residual sample) can be restored. The addition unit 155 can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the restored residual signal to the prediction signal output from the inter prediction unit 221 or the intra prediction unit 222. When there is no residual for the block to be processed, as in the case where the skip mode is applied, the predicted block can be used as the reconstructed block. The addition unit 250 can be called a restoration unit or a reconstructed block generation unit. The generated reconstructed signal can be used for intra prediction of the next block to be processed within the current picture and, as will be described later, can also be used for inter prediction of the next picture after passing through filtering.
[0081] On the other hand, LMCS (luma mapping with chroma scaling) can also be applied in the picture encoding and / or restoration process.
[0082] The filtering unit 260 can apply filtering to the restored signal to improve subjective / objective image quality. For example, the filtering unit 260 can apply various filtering methods to the restored picture to generate a modified restored picture, and store the modified restored picture in the memory 270, specifically in the DPB of the memory 270. The various filtering methods can include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The filtering unit 260 can generate various information related to filtering as described later in the description of each filtering method and transmit it to the entropy encoding unit 240. The information related to filtering can be encoded in the entropy encoding unit 240 and output in the form of a bit stream.
[0083] The modified restored picture transferred to the memory 270 can be used as a reference picture in the inter prediction unit 221. When inter prediction is applied through this, the encoding device can avoid prediction mismatches between the encoding device 100 and the decoding device, and can also improve the encoding efficiency.
[0084] The memory 270 DPB can store the modified restored picture for use as a reference picture in the inter prediction unit 221. The memory 270 can store the motion information of the block from which the motion information in the current picture was derived (or encoded) and / or the motion information of the block in the already restored picture. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatial neighboring blocks or temporal neighboring blocks. The memory 270 can store the restored samples of the restored blocks in the current picture and transmit them to the intra prediction unit 222.
[0085] FIG. 3 is a diagram schematically illustrating the configuration of a video / video decoding apparatus to which the present disclosure can be applied.
[0086] Referring to FIG. 3, the decoding apparatus 300 can be configured to include an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filtering unit 350, and a memory 360. The predictor 330 can include an inter-prediction unit 331 and an intra-prediction unit 332. The residual processor 320 can include a dequantizer 321 and an inverse transformer 322. The entropy decoder 310, the residual processor 320, the predictor 330, the adder 340, and the filtering unit 350 described above can be configured by one hardware component (e.g., a decoder chipset or a processor) according to an embodiment. Also, the memory 360 can include a DPB (decoded picture buffer) and can also be configured by a digital storage medium. The hardware component can further include the memory 360 as an internal / external component.
[0087] When a bitstream including video / video information is input, the decoding device 300 can restore the video corresponding to the process in which the video / video information was processed in the encoding device of FIG. 2. For example, the decoding device 300 can derive units / blocks based on the 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 can be, for example, a coding unit, and the coding unit can be divided from a coding tree unit or a maximum coding unit according to a quad tree structure, a binary tree structure, and / or a ternary tree structure. One or more transform units can be derived from the coding unit. Then, the restored video signal decoded and output via the decoding device 300 can be played back via a playback device.
[0088] The decoding device 300 can receive the signal output from the encoding device of FIG. 2 in the form of a bitstream, and the received signal can be decoded via the entropy decoding unit 310. For example, the entropy decoding unit 310 can pass the bitstream to derive information (e.g., video / video information) necessary for video restoration (or picture restoration). The video / video information can further include information regarding various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Also, the video / video information can further include general constraint information. The decoding device can decode a picture based on the information regarding the parameter set and / or the general constraint information. The signaling / received information and / or syntax elements described later in this document can be decoded via the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit 310 can decode the information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output the value of the syntax element necessary for video restoration and the quantized value of the transform coefficient regarding the residual. More specifically, the CABAC entropy decoding method receives the bin corresponding to each syntax element in the bitstream, determines a context model using the syntax element information to be decoded, the information of the surrounding and decoded blocks, or the information of the symbol / bin decoded in the previous step, predicts the occurrence probability of the bin according to the determined context model, performs arithmetic decoding of the bin, and can generate the symbol corresponding to the value of each syntax element. At this time, the CABAC entropy decoding method can update the context model using the information of the symbol / bin decoded for the context model of the next symbol / bin after determining the context model.Among the information decoded in the entropy decoding unit 310, the information related to prediction is provided to the prediction units (inter prediction unit 332 and intra prediction unit 331), and the residual value obtained by performing entropy decoding in the entropy decoding unit 310, that is, the quantized transform coefficient and related parameter information, can be input to the residual processing unit 320. The residual processing unit 320 can derive a residual signal (residual block, residual sample, residual sample array). Also, among the information decoded in the entropy decoding unit 310, the information related to filtering can be provided to the filtering unit 350. On the other hand, a receiving unit (not shown) that receives the signal output from the encoding device can be further configured as an internal / external element of the decoding device 300, or the receiving unit can also be a component of the entropy decoding unit 310. On the other hand, the decoding device according to this document can be called a video / video / picture decoding device, and the decoding device can also be classified into an information decoder (video / video / picture information decoder) and a sample decoder (video / video / picture sample decoder). The information decoder can include the entropy decoding unit 310, and the sample decoder can include at least one of the inverse quantization unit 321, inverse transform unit 322, addition unit 340, filtering unit 350, memory 360, inter prediction unit 332, and intra prediction unit 331.
[0089] In the inverse quantization unit 321, the quantized transform coefficient can be inverse quantized to output a transform coefficient. The inverse quantization unit 321 can reorder the quantized transform coefficients in a two-dimensional block form. In this case, the reordering can be performed based on the coefficient scan order performed in the encoding device. The inverse quantization unit 321 can use a quantization parameter (for example, quantization step size information) to perform inverse quantization on the quantized transform coefficient to obtain a transform coefficient.
[0090] In the inverse conversion unit 322, the conversion coefficient is inversely converted to obtain a residue signal (residue block, residue sample array).
[0091] The prediction unit can perform prediction on the current block and generate a predicted block including predicted samples for the current block. The prediction unit can determine whether intra prediction or inter prediction is applied to the current block based on the information regarding the prediction output from the entropy decoding unit 310, and can determine a specific intra / inter prediction mode.
[0092] The prediction unit 320 can generate a prediction signal based on various prediction methods described later. For example, the prediction unit can apply not only intra prediction or inter prediction for predicting one block, but also can apply intra prediction and inter prediction simultaneously, which can be called combined inter and intra prediction (CIIP). Also, the prediction unit can be based on the intra block copy (IBC) prediction mode for predicting a block, or can be based on the palette mode. The IBC prediction mode or the palette mode can be used for content video / moving video coding such as games, for example, like SCC (screen content coding). IBC basically performs prediction within the current picture, but can be performed in the same way as inter prediction in terms of deriving a reference block within the current picture. That is, IBC can utilize at least one of the inter prediction techniques described in this document. The palette mode can be regarded as an example of intra coding or intra prediction. When the palette mode is applied, information regarding the palette table and the palette index can be included in and signaled in the video / video information.
[0093] The intra prediction unit 331 can predict the current block by referring to samples within the current picture. The samples to be referred can be located at the periphery (neighbor) of the current block according to the prediction mode, or can be located away. In intra prediction, the prediction mode can include a plurality of non - directional modes and a plurality of directional modes. The intra prediction unit 331 can also determine the prediction mode to be applied to the current block by using the prediction mode applied to the peripheral blocks.
[0094] The inter prediction unit 332 can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on the reference picture. At this time, in order to reduce the amount of motion information transferred in the inter prediction mode, the motion information can be predicted in units of blocks, sub - blocks or samples based on the correlation of the motion information between the peripheral blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, the peripheral blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. For example, the inter prediction unit 332 can construct a motion information candidate list based on the peripheral blocks and derive the motion vector and / or reference picture index of the current block based on the received candidate selection information. Inter prediction can be performed based on various prediction modes, and the information regarding the prediction can include information indicating the mode of inter prediction for the current block.
[0095] The adder 340 can generate a restored signal (restored picture, restored block, restored sample array) by adding the obtained residue signal to the predicted signal (predicted block, predicted sample array) output from the prediction unit (including the inter prediction unit 332 and / or the intra prediction unit 331). When there is no residue for the block to be processed, as in the case where the skip mode is applied, the predicted block can be used as the restored block.
[0096] The adder 340 can be referred to as a restoration unit or a restored block generation unit. The generated restored signal can be used for intra prediction of the next block to be processed in the current picture, can be output after filtering as will be described later, or can be used for inter prediction of the next picture.
[0097] On the other hand, LMCS (luma mapping with chroma scaling) can also be applied in the picture decoding process.
[0098] The filtering unit 350 can apply filtering to the restored signal to improve the subjective / objective image quality. For example, the filtering unit 350 can apply various filtering methods to the restored picture to generate a modified restored picture, and 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, bilateral filter, etc.
[0099] The (corrected) restored picture stored in the DPB of the memory 360 can be used as a reference picture in the inter prediction unit 332. The memory 360 can store the motion information of the blocks from which the motion information in the current picture has been derived (or decoded) and / or the motion information of the blocks in the pictures that have already been restored. The stored motion information can be transmitted to the inter prediction unit 260 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 360 can store the restored samples of the restored blocks in the current picture and can transmit them to the intra prediction unit 331.
[0100] In this specification, the embodiments described in the filtering unit 260, the inter prediction unit 221, and the intra prediction unit 222 of the encoding device 200 can be applied to the filtering unit 350, the inter prediction unit 332, and the intra prediction unit 331 of the decoding device 300 in the same or corresponding manner.
[0101] As described above, when performing video coding, prediction is performed to improve the compression efficiency. Through this, a predicted block including prediction samples for the current block, which is the block to be coded, can be generated. Here, the predicted block includes prediction samples in the spatial domain (or pixel domain). The predicted block is derived identically in the encoding device and the decoding device, and the encoding device can improve the efficiency of video coding by signaling information (residual information) regarding the residual between the original block and the predicted block, rather than the original sample values of the original block, to the decoding device. The decoding device can derive a residual block including residual samples based on the residual information, and can generate a restored block including restored samples by combining the residual block and the predicted block, and can generate a restored picture including the restored block.
[0102] The residual information can be generated through conversion and quantization procedures. For example, an encoding device can derive a residual block between the original block and the predicted block, perform a conversion procedure on the residual samples (residual sample array) included in the residual block to derive conversion coefficients, perform a quantization procedure on the conversion coefficients to derive quantized conversion coefficients, and signal the related residual information (via a bitstream) to a decoding device. Here, the residual information may include information such as the value information, position information, conversion technique, conversion kernel, quantization parameter, etc. of the quantized conversion coefficients. The decoding device can perform an inverse quantization / inverse conversion procedure based on the residual information to derive residual samples (or a residual block). The decoding device can generate a restored picture based on the predicted block and the residual block. The encoding device can also inverse-quantize / inverse-convert the quantized conversion coefficients for reference in inter-prediction of subsequent pictures to derive a residual block and generate a restored picture based on this.
[0103] Figures 4a and 4b are diagrams showing an example of a video encoding method performed by an encoding device according to an embodiment and an example of a video decoding method performed by a decoding device according to an 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 a block partitioning, intra / inter prediction, transform, quantization, and entropy encoding process. For example, a current picture may be divided into a plurality of blocks, a predicted block of the current block may be generated through intra / inter prediction, and a residual block of the current block may be generated through subtraction between the input block of the current block and the predicted block. Thereafter, a coefficient block, that is, a transform coefficient of the current block, may be generated through a transform on the residual block. The transform coefficient 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 an entropy decoding, inverse quantization, inverse transform, and intra / inter prediction process. For example, in a decoding device, an inverse process of the encoding method may be performed. Specifically, a quantized transform coefficient may be obtained through an entropy decoding on a bitstream, and a coefficient block of a current block, that is, a transform coefficient, may be obtained through an inverse quantization process on the quantized transform coefficient. A residual block of the current block may be derived through an inverse transform on the transform coefficient, and a reconstructed block of the current block may be derived through addition between the predicted block of the current block derived through intra / inter prediction and the residual block.
[0106] Figure 5 is a flowchart showing an intra prediction method according to an embodiment.
[0107] As shown in FIG. 5, the intra prediction method according to an embodiment may include the following three steps. That is, the intra prediction method according to an embodiment may include a step of configuring a reference sample, a step of predicting a sample, and a post-filtering step. In the step of predicting a sample, the intra prediction method according to the above embodiment can utilize known surrounding reference samples and an intra prediction mode to perform prediction on unknown samples.
[0108] FIG. 6 is a diagram showing an example of a directional intra prediction mode.
[0109] When intra prediction is applied to the current block, an encoding device and / or a decoding device according to an embodiment may derive an intra prediction mode for the current block, and may derive a predicted sample for the current block based on the intra prediction mode. That is, the encoding device and / or the decoding device may apply a directional intra prediction mode or a non-directional intra prediction mode based on reference samples around the current block, and may derive a predicted sample for the current block.
[0110] In an 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 mode may include a planar intra prediction mode of No. 0 and a DC intra prediction mode of No. 1, and the directional intra prediction mode may include 65 intra prediction modes from No. 2 to No. 66. The intra prediction based on the 65 directional intra prediction modes can be applied to blocks of all sizes and can be applied to both the luma component and the chroma component. However, this is only an example, and the configuration of the intra prediction mode may be different.
[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 mode may include a planar intra prediction mode and a DC intra prediction mode, and the directional intra prediction mode may include the 2nd to 130th intra prediction modes.
[0112] On the other hand, in addition to the intra prediction modes described above, the intra prediction mode may further include a CCLM (cross-component linear model) mode for chroma samples. The CCLM mode can be divided into LT_CCLM, L_CCLM, and T_CCLM depending on whether the left samples, the upper samples, or both are considered for deriving 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 one hand, the intra prediction type (or additional intra prediction mode, etc.) may include at least one of the LIP, PDPC, MRL, and ISP described above. The intra prediction type may be indicated based on the information of the intra prediction type, and the information of the intra prediction type may be realized in various forms. In one exemplary case, the information of the intra prediction type may include the index information of the intra prediction type that indicates one of the intra prediction types. In another exemplary case, the information of the intra prediction type includes the reference sample line information (e.g., intra_luma_ref_idx) indicating whether the MRL is applied to the current block and, if applied, which reference sample line is used, the ISP flag information (e.g., intra_subpartitions_mode_flag) indicating whether the ISP is applied to the current block, the ISP type information (e.g., intra_subpartitions_split_flag) of the subpartition indicating the split type when the ISP is applied, and may include at least one of the flag information indicating whether PDPC is applicable or the flag information indicating whether LIP is applicable.
[0116] Referring to FIG. 6, around the 34th intra prediction mode having a prediction direction of the upper left diagonal, an intra prediction mode having horizontal directionality and an intra prediction mode having vertical directionality can be distinguished. H and V in FIG. 6 respectively represent horizontal directionality and vertical directionality, and the numbers from -32 to 32 indicate displacements in 1 / 32 units on the sample grid position. The 2nd to 33rd intra prediction modes have horizontal directionality, and the 34th to 66th intra prediction modes have vertical directionality. The 18th intra prediction mode and the 50th intra prediction mode respectively indicate a horizontal intra prediction mode and a vertical intra prediction mode. The 2nd intra prediction mode is called a lower left diagonal intra prediction mode, the 34th intra prediction mode is called an upper left diagonal intra prediction mode, and the 66th intra prediction mode is called an upper right diagonal intra prediction mode.
[0117] Generally, when block division is performed on a video, the current block to be coded and adjacent blocks will have similar video characteristics. Therefore, the current block and surrounding blocks are likely to be identical to each other or have similar intra prediction modes. Thus, the encoder can utilize the intra prediction modes of 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 (for example, the left surrounding block and / or the upper surrounding block), 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 the information of the remaining intra prediction modes. The MPM list may be indicated as a candidate list of intra prediction modes or as candModeList.
[0119] When an adjacent block is intra-coded, the encoding device (or encoder) may check or derive the prediction mode of the adjacent block. For example, based on the prediction mode of the left adjacent block and the prediction mode of the upper adjacent block, the prediction mode of the current block can be determined. At this time, the prediction mode of the corresponding adjacent block can be determined as MPM (Most Probable Modes). Determining the MPM may also be expressed as listing up the MPM (most probable modes) candidates (or the MPM list).
[0120] The encoding device can check whether the prediction mode of the left adjacent block and the prediction mode of the upper adjacent block are the same. 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 left adjacent block and the prediction mode of the upper adjacent block are not the same, the first MPM may be set to the prediction mode of the left adjacent block, the second MPM may be set to the prediction mode of the upper adjacent block, and the third MPM may be set to any one of the intra-planar mode, the intra-DC mode, or the intra-vertical mode (intra prediction mode No. 50). Specifically, if the intra prediction modes of the two adjacent blocks are different from each other, the two intra prediction modes may be set to the MPMs, and after the pruning check by the MPMs, one of the default intra modes may be added to the MPM list. Here, the default intra mode may include the intra-planar mode, the intra-DC mode, and / or the intra-vertical mode (intra prediction mode No. 50).
[0122] In one example, the MPM list may include three MPM candidates, five candidates, or six MPM candidates. As an example, the MPM list may include candidates derived based on the intra prediction mode of the surrounding blocks, the derived intra prediction mode, and / or the default intra prediction mode. The encoding device / decoding device may search for the surrounding blocks of the current block in a specific order and derive the MPM candidates in the order in which the intra prediction modes of the surrounding blocks are derived. 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 including three MPM candidates may be configured, and the three MPM candidates may be derived based on the intra prediction modes of the surrounding blocks F and G. The prediction method of the MPM based on the surrounding blocks for the current block including the surrounding blocks F and G is, for example, as shown in FIG. 7 below.
[0124] FIG. 7 is a diagram for explaining the configuration of the MPM list according to an embodiment.
[0125] Referring to FIG. 7, the peripheral blocks of the current block may include peripheral block A, peripheral block B, peripheral block C, peripheral block D, peripheral block E, peripheral block F, and / or peripheral block G.
[0126] Here, the peripheral block A may indicate a peripheral block located at the upper left of the upper left sample position of the current block, the peripheral block B may indicate a peripheral block located above the upper right sample position of the current block, the peripheral block C may indicate a peripheral block located at the upper right of the upper right sample position of the current block, the peripheral block D may indicate a peripheral block located to the left of the lower left sample position of the current block, the peripheral block E may indicate a peripheral block located at the lower left of the lower left sample position of the current block, the peripheral block G may indicate a peripheral block located above the upper left sample position of the current block, and the peripheral block F may indicate a peripheral block located to the left of the upper left sample position of the current block.
[0127] Also, for example, when the size of the current block is WxH, and the x component of the sample position at the top-left of the current block is 0 and the y component is 0, the peripheral block A may be a block including samples at coordinates (-1, -1), the peripheral block B may be a block including samples at coordinates (W - 1, -1), the peripheral block C may be a block including samples at coordinates (W, -1), the peripheral block D may be a block including samples at coordinates (-1, H - 1), the peripheral block E may be a block including samples at coordinates (-1, H), the peripheral block F may be a block including samples at coordinates (-1, 0), and the peripheral block G may be a block including samples at coordinates (0, -1).
[0128] In one embodiment, three MPM candidates may 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 may 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 may be derived as the DC intra prediction mode. That is, when the peripheral block F or the peripheral block G is not available, when the peripheral block F or the peripheral block G is not coded in the intra prediction mode (when the peripheral block F or the peripheral block G is not an intra coded block), or when the peripheral block F or the 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 may be derived as the DC intra prediction mode.
[0129] When 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 may be derived, for example, based on Table 2 below.
[0130]
Table 2
[0131] Table 2 may exemplarily represent the pseudo code constituting the MPM list.
[0132] Referring to Table 2, it can be determined whether the intra prediction mode of the peripheral block F and the intra prediction mode of the peripheral block G are the same.
[0133] If the intra prediction mode of the peripheral block F and the intra prediction mode of the peripheral block G are the same, and the mode number of the intra prediction mode of the peripheral block F is less than 2, the MPM list of the current block can be derived as MPM list 1 (MPM list1). That is, if the intra prediction mode of the peripheral block F and the intra prediction mode of the peripheral block G are the same, and the intra prediction mode of the peripheral block F is the 0th intra prediction mode or the 1st intra prediction mode, the MPM list of the current block can be derived as MPM list 1. Here, the MPM list 1 may represent an MPM list composed of MPM candidates {F, F - 1, F + 1}. F may indicate the intra prediction mode of the peripheral block F, F - 1 may indicate an intra prediction mode whose mode number is the value obtained by subtracting 1 from the mode number of the intra prediction mode of the peripheral block F, and F + 1 may indicate an intra prediction mode whose mode number is the value obtained by adding 1 to the mode number of the intra prediction mode of the peripheral block F. For example, if the intra prediction mode of the peripheral block F is the Nth intra prediction mode, the MPM list 1 may be composed of an MPM list including the Nth intra prediction mode, the (N - 1)th intra prediction mode, and the (N + 1)th intra prediction mode as MPM candidates.
[0134] Also, if the intra prediction mode of the peripheral block F and the intra prediction mode of the peripheral block G are the same, and the mode number of the intra prediction mode of the peripheral block F is not less than 2, the MPM list of the current block can be derived as MPM list 2.
[0135] Also, if the intra prediction mode of the peripheral block F and the intra prediction mode of the peripheral block G are not the same, and the intra prediction modes of the peripheral block F and the peripheral block G are not the planar intra prediction mode, the MPM list of the current block can be derived as MPM list 3.
[0136] Further, when the intra prediction mode of the peripheral block F and the intra prediction mode of the peripheral block G are not the same, and the sum of the mode number of the intra prediction mode of the peripheral block F and the intra prediction mode of the peripheral block G which is the planar intra prediction mode number is less than 2, the MPM list of the current block can be derived as MPM list 4.
[0137] Further, when the intra prediction mode of the peripheral block F and the intra prediction mode of the peripheral block G are not the same, and at least one of the intra prediction mode of the peripheral block F and the intra prediction mode of the peripheral block G is the planar intra prediction mode, and the sum of the mode number of the intra prediction mode of the peripheral block F and the intra prediction mode of the peripheral block G which is the planar intra prediction mode number is not less than 2, 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 needs to increase. Therefore, the number of MPM candidates can vary depending on the number of intra prediction modes. Generally, as the number of intra prediction modes increases, the number of MPM candidates can increase. However, it is not always the case that as the number of intra prediction modes increases, the number of MPM candidates increases. For example, when there are 35 intra prediction modes or 67 intra prediction modes, there can be various numbers of MPM candidates such as 3, 4, 5, 6 depending on the design.
[0139] For example, the encoder / decoder may sometimes configure an MPM list including 6 MPMs. To configure the MPM list, default intra modes, neighbour intra modes, and derived intra modes may be considered.
[0140] In one example, for the intra mode of the periphery, two peripheral blocks, namely, the left peripheral block (A) and the upper peripheral block (B) can be considered. To generate an MPM list including 6 MPMs, an initialized default MPM list based on Table 3 below can be considered.
[0141]
Table 3
[0142] In another example, the order of constituting 6 MPM candidates may be in the order of 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 the peripheral block D, the intra prediction mode of the peripheral block B, the planar intra prediction mode, the DC intra prediction mode, the intra prediction mode of the peripheral block E, the intra prediction mode of the peripheral block C, and the intra prediction mode of the peripheral block A can be derived as MPM candidates in this order, and may not be derived as MPM candidates if it is the same as the already derived intra prediction mode.
[0143] Also, when the MPM list does not include the MPM candidates of the maximum number of candidates, that is, when the number of derived MPM candidates is smaller than the maximum number of candidates, the intra prediction mode in the direction adjacent to the derived MPM candidate and the predefined default intra prediction mode can be considered as MPM candidates, and the pruning check process can be performed together. Here, the intra prediction mode in the direction adjacent to the MPM candidate may represent an intra prediction mode whose mode number is adjacent to the MPM candidate. The above-described search for peripheral blocks and continuous pruning check are advantageous for saving the bit transmission rate, but may increase the number of hardware operation cycles for the configuration of the MPM list of each block. The worst scenario may be that a 3840x2160 4K image may be divided into 4x4-sized blocks for intra prediction, and the increased hardware operation cycles for each 4x4-sized block may be importantly considered in terms of throughput. On the other hand, when the peripheral blocks coded for the inter prediction of the current block know the intra prediction mode of the peripheral blocks, the intra prediction mode of the peripheral blocks can be used for the configuration of the MPM list.
[0144] As described above, generally, the current block and the peripheral blocks to be coded may have similar video characteristics. Therefore, since the probability that the current block and the peripheral blocks have the same or similar intra prediction modes is high, in order to derive the intra prediction mode applied to the current block, the MPM list of the current block can be determined. However, when 67 intra prediction modes are used for intra prediction, an MPM list including three MPM candidates may not be sufficient to represent the diversity of a large number of intra prediction modes. Also, the proposal of constructing a 6-MPM list including the process of searching for peripheral blocks and pruning check may be disadvantageous in terms of complexity and throughput. In the present disclosure, various proposals for deriving the intra prediction mode for the current block based on the prediction of MPM will be described below.
[0145] FIG. 8 is a diagram for explaining the configuration of an MPM list according to another embodiment.
[0146] Referring to FIG. 8, in one embodiment, A, which is a left peripheral block (which may be denoted as LEFT), and B, which is an upper peripheral block (which may be denoted as ABOVE), can be used as follows in Table 4 below for the generation of the MPM list. The algorithm is as follows. Non-MPM (non MPM) coding can be based on truncated binary code.
[0147]
Table 4
[0148] FIG. 9 is a flowchart showing a method for predicting MPM according to one embodiment.
[0149] In the present disclosure, specific terms or phrases are used to define specific information or concepts. For example, in the luma intra coding process, a specific intra prediction mode that can be determined for the current block without MPM index information is referred to as the "significant mode", an index indicating one of the MPM candidates included in the MPM list is referred to as the "MPM index", a flag indicating whether the luma intra coding is applicable is referred to as the "integrated MPM flag", and when MPM prediction is not applied, the remaining intra prediction modes excluding MPM candidates are referred to as the "non-MPM mode". However, the "significant mode" can be replaced with various terms such as significant_mode, default mode, candidate mode, etc., the "MPM index" can be replaced with probable_mode_index, MPM_idx, intra_luma_mpm_idx, etc., the "integrated MPM flag" can be replaced with unified_probable_mode_flag, MPM flag, intra_luma_mpm_flag, etc., and the "non-MPM mode" can be replaced with various terms such as non MPM mode, non_probable_mode, the remaining intra prediction modes, the remaining prediction modes of MPM. Therefore, when interpreting the specific terms or phrases used in the present specification to define specific information or concepts throughout the specification, an interpretation should not be limited to the name, but it is necessary to pay attention to various operations, functions, and effects according to the content indicated by the terms and interpret them.
[0150] In one example, the significant mode may be the intra planar (PLANAR) mode.
[0151] In one embodiment, unified luma intra coding and signaling can be performed. In unified luma intra coding, first, at least one significant luma intra mode can be signaled. Next, an MPM list can be constructed based on the remaining intra modes, and a best mode can 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 can be parsed. If the value of unified_probable_mode_flag 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 can be determined to be the significant mode (e.g., the intra planner mode), and if the value of significant_mode_flag is 0, probable_mode_index can be parsed.
[0154] FIG. 10 is a flowchart showing a prediction method of MPM according to another embodiment.
[0155] In FIG. 10, regardless of whether intra prediction based on MRL (Multi-Reference Line) is applied or prediction based on ISP (Intra Sub Partition) is applied, the intra prediction performed based on one integrated method (or algorithm) is referred to as "unified luma intra mode coding". However, "unified luma intra mode coding" can be replaced with various terms such as unified luma intra mode, integrated intra prediction, integrated MPM, integrated MPM prediction, unified_probable_mode, integrated intra coding, unified luma intra coding, etc.
[0156] A specific method for deriving the integrated luma intra mode according to an embodiment is as follows.
[0157] First, the unified_probable_mode_flag can be parsed. If the value of the unified_probable_mode_flag is 0, the non_probable_mode_index can be parsed, and if it is 1, the significant_mode_flag can be parsed. If the value of the significant_mode_flag is 1, the intra prediction mode for the current block can be determined as a significant mode (e.g., intra planner mode), and if the value of the significant_mode_flag is 0, the probable_mode_index can be parsed.
[0158] Alternatively, a specific method for deriving the integrated luma intra mode according to an embodiment is as shown in Table 5 below.
[0159]
Table 5
[0160] A method for constructing an MPM list according to an embodiment is proposed. A list of MPM modes with a length of k can be constructed. In one example, k is 5, and five conditions can be used when constructing five mutually different MPM lists. The B block in FIG. 7 can be denoted as A, and the D block can be denoted as L. For example, the method for constructing an MPM list according to this embodiment is as shown in Table 6 below.
[0161]
Table 6-1
[0162]
Table 6-2
[0163]
Table 6-3
[0164] On the other hand, the integrated MPM flag is signaled, and the embodiment is not limited to performing integrated luma intra coding only when the value of the signaled MPM flag is 1. For example, even without the signaling of the integrated MPM flag, a decoding apparatus according to an embodiment can perform integrated luma intra coding.
[0165] In one embodiment, the signaling of integrated intra prediction and the signaling of the intra mode can be combined with the construction of the MPM list, and a non-MPM list can be constructed. This embodiment can be based on the syntax of the coding unit in Table 7 below.
[0166]
Table 7
[0167] The syntax of the coding unit in Table 7 can be based on, for example, the semantics in Table 8 below.
[0168]
Table 8
[0169] 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 9 below.
[0170]
Table 9-1
[0171]
Table 9-2
[0172] In one example, the derivation process of the luma intra prediction mode can be based on the algorithm (or, spec) 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 intra-block decoding process can be based on the algorithm (or spec) in Table 11 below.
[0178] [Table 11]
[0179] In one example, the intra-sample prediction can be based on the algorithm (or spec) in Table 12 below.
[0180] [Table 12]
[0181] In one example, the intra-planar mode, intra-DC mode, etc. can be based on the algorithm (or spec) in Table 13 below.
[0182] [Table 13-1]
[0183] [Table 13-2]
[0184] In one example, the conversion process of the scaled conversion coefficient, etc. can be based on the algorithm (or spec) in Table 14 below.
[0185] [Table 14-1]
[0186] [Table 14-2]
[0187]
Table 14-3
[0188] In one example, the example of assigning ctxInc to a syntax element including 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 an MPM flag, and intra_planar_flag may represent an example of a planar flag.
[0191] Referring to (8-10), (8-12), and (8-13) of Table 10 above, it can be confirmed that among the MPM candidates included in the MPM list, candModeList[0] is determined to be candIntraPredModeA representing the intra prediction mode for the neighboring block on the left side 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 representing 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 a method for coding and / or signaling information for related intra prediction modes are proposed. Also, in one embodiment, a method for deriving a conversion kernel is proposed. According to one embodiment, the syntax of the coding unit described in Tables 16 to 24 below may be configured / encoded and signaled to a decoding device, and the decoding device may derive an intra prediction mode for a current block (CU) based on the syntax of the coding unit and the MPM list.
[0194] For example, according to this embodiment, the MPM list may include the planar mode as a candidate mode, and when the value of the MPM flag is 1, the intra_planar_flag may be signaled first, which can indicate whether the planar mode is used as the intra prediction mode of the current block. If, by chance, the value of the intra_planar_flag is 0, the intra_luma_mpm_idx may be signaled, through which one of the remaining MPM candidates excluding the planar mode can be indicated. At this time, as an example, the MPM list including the remaining candidates excluding the planar mode is called a modified MPM list.
[0195] If, for example, the total number of MPM candidates including the planar mode is six, the total candidates of the modified MPM list excluding the planar mode can be five, and in this case, the value of the MPM index can range from 0 to 4. In other words, the maximum value of the MPM index can be set to 4. At this time, the maximum value of the MPM index can be represented by cMAX of the MPM index. The bin of the planar flag can be normally coded based on the context model as described in Tables 16 to 24 below. ctxInc for indicating the context model can be, as described in Tables 16 to 24 below, i) only one specific value (e.g., 0) is used, ii) or it can be variably derived based on the availability of the left and / or upper neighboring blocks and the value of the planar flag (if available), iii) or its value can be variably determined depending on whether MRL or ISP is applied. Also, according to this embodiment, a conversion kernel (vertical conversion kernel / horizontal conversion 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 in Tables 16 to 24 below, if ISP is not applied to the current block or is not available, the size of the current block can be further referred to, and a conversion kernel (vertical conversion kernel / horizontal conversion kernel) can be derived as a value of 1 or 0.
[0196] According to this embodiment, when MRL intra prediction is applied (i.e., when the MRL index is greater than 0), the planar mode or the DC mode can be applied to the current block, and when ISP intra prediction is applied, the planar mode or the DC mode can also be applied to the current block. Therefore, an MPM list can be constructed based on the integrated MPM prediction regardless of the applicability of MRL, ISP, etc. Tables 16 to 24 are as follows, and what the detailed contents of Tables 16 to 24 represent should be easily understood by those of ordinary skill in the art.
[0197] Table 16 below shows an example of the syntax of a coding unit.
[0198]
Table 16
[0199] The syntax of the coding unit in Table 16 above can be based on, for example, the syntax in Table 17 below.
[0200]
Table 17
[0201] 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 18 below.
[0202]
Table 18-1
[0203]
Table 18-2
[0204] In one example, the derivation process of the luma intra prediction mode can be based on the algorithm (or, spec) 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 decoding process of the intra block can be based on the algorithm (or spec) in Table 20 below.
[0210]
Table 20
[0211] In one example, the prediction of the intra sample can be based on the algorithm (or spec) in Table 21 below.
[0212]
Table 21
[0213] In one example, the intra planner mode, the intra DC mode, etc. can be based on the algorithm (or spec) in Table 22 below.
[0214]
Table 22-1
[0215]
Table 22-2
[0216] In one example, the conversion process of the scaled conversion coefficient, etc. can be based on the algorithm (or spec) in Table 23 below.
[0217]
Table 23-1
[0218]
Table 23-2
[0219]
Table 23-3
[0220] In one example, the example of assigning ctxInc to a syntax element including a context-coded bin can be based on Table 24 below.
[0221]
Table 24
[0222] In one embodiment, a scheme for performing integrated MPM prediction and a method for coding and / or signaling information for related intra prediction modes are proposed. Also, in one embodiment, a method for deriving a transform kernel is proposed. According to one embodiment, the syntax of a coding unit described in Tables 16 to 24 can be configured / encoded and signaled to a decoding device, and the decoding device can derive an intra prediction mode for a current block (CU) based on the syntax of the coding unit and the MPM list.
[0223] For example, in the case of this embodiment, the planner mode may be included in the candidate modes in the MPM list. When the value of the MPM flag is 1, the planner flag (intra_planar_flag) is signaled first, and it can indicate whether the planner mode is used as the intra prediction mode of the current block. If, by any chance, the value of the planner flag is 0, the MPM index (intra_luma_mpm_idx) is signaled, and through this, one of the remaining MPM candidates excluding the planner mode can be indicated. At this time, in one example, the MPM list including the remaining candidates excluding the planner mode is called the modified MPM list.
[0224] If, by any chance, the total number of MPM candidates including the planner mode is six, the total candidates of the modified MPM list excluding the planner mode can be five. In this case, the value of the MPM index can be from 0 to 4. In other words, the maximum value of the MPM index can be set to 4. At this time, the maximum value of the MPM index can be represented by cMAX of the MPM index. The bin of the planner flag can be normally coded based on the context model as described later in Tables 25 to 33. The ctxInc for indicating the context model can be variably derived based on i) whether only one specific value (e.g., 0) is used, ii) or the availability of the left and / or upper neighboring blocks and the value of the planner flag (if available), iii) or whether MRL or ISP is applied, and its value may be variably determined. Also, in the case of this embodiment, a conversion kernel (horizontal conversion kernel / horizontal conversion 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 ISP is not applied to the current block or is not available, the size of the current block is further referred to, and a conversion kernel (vertical conversion kernel / horizontal conversion kernel) can be derived as a value of 1 or 0.
[0225] According to this embodiment, an MPM list can be constructed based on 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, 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 conversion process of the scaled conversion coefficient, etc. can be based on the algorithm (or spec) in Table 32 below.
[0246] [Table 32-1]
[0247] [Table 32-2]
[0248] In one example, the example of assigning ctxInc to the syntax element including the context-coded bin can be based on Table 33 below.
[0249] [Table 33]
[0250] Referring to Table 25 above, it can be confirmed that 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 the Multi-Reference Line (MRL) index, and the intra_planar_flag may represent an example of the planar flag.
[0251] Referring to Table 27 above, it can be confirmed that the value of the context index (ctxInc or ctxIdx) for the bin related to intra_planar_flag is 0 or 1. That is, it can be confirmed that the value of the context index for the bin related to intra_planar_flag can be one of two different integers.
[0252] Referring to Table 33 above, it can be confirmed that the context index for the bins related to 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 the ISP (Intra Sub Partition) mode is applied to the current block.
[0253] FIG. 11 is a flowchart showing the operation of an encoding apparatus according to an embodiment, and FIG. 12 is a block diagram showing the configuration of the encoding apparatus according to an embodiment.
[0254] The encoding apparatus according to FIGS. 11 and 12 can perform corresponding operations to the decoding apparatus according to FIGS. 13 and 14. Therefore, the operations of the decoding apparatus described later in FIGS. 13 and 14 can also be similarly applied to the encoding apparatus according to FIGS. 11 and 12.
[0255] Each step disclosed in FIG. 11 can be performed by the encoding apparatus 200 disclosed in FIG. 2. Also, the operations according to S1100 to S1110 are based on a part of the content described above in FIGS. 4 to 10. Therefore, specific content overlapping with the content described above in FIGS. 2 and 4 to 10 will be omitted from the description or simplified.
[0256] As shown in FIG. 11, an encoding apparatus according to an embodiment may include a prediction unit 220 and an entropy encoding unit 240. However, in some cases, not all of the components shown in FIG. 11 may be essential components of the encoding apparatus, and the encoding apparatus may be implemented with more or fewer components than those shown in FIG. 11.
[0257] In an encoding apparatus according to an embodiment, the prediction unit 220 and the entropy encoding unit 240 may be realized by separate chips, or at least two or more components may be realized via one chip.
[0258] An encoding apparatus according to an embodiment may generate at least one of MPM flag information indicating whether to encode the intra prediction mode based on the MPM candidates for the current block, or planar flag information indicating whether to determine the intra prediction mode for the current block as the planar mode (S1100).
[0259] For example, the encoding apparatus may derive an intra prediction mode for the current block, generate MPM flag information indicating whether to encode the intra prediction mode based on the MPM candidates for the current block, and generate the planar flag information based on a case where the MPM flag information indicates that it is related to the planar flag information indicating whether to determine the intra prediction mode for the current block as the planar mode.
[0260] An encoding apparatus according to an embodiment may encode video information including at least one of the MPM flag information or the planar flag information (S1110). More specifically, the entropy encoding unit 240 of the encoding apparatus may encode video information including at least one of the MPM flag information or the planar flag information.
[0261] 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 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 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 a step of 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.
[0263] 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.
[0264] In one embodiment, the MPM index information may represent the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 4th MPM candidate included in the MPM candidates excluding the planar mode from the MPM candidates for the current block. Based on a 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 the same, and the intra prediction mode of the left peripheral block is greater than the intra DC mode, the intra prediction mode for the 0th MPM candidate is the intra prediction mode of the peripheral block on the left side of the current block, the intra prediction mode for the 1st MPM candidate is 2 + ((the intra prediction mode of the peripheral block on the left side of the current block + 61) % 64), and the intra prediction mode for the 2nd MPM candidate may be 2 + ((the intra prediction mode of the peripheral block on the left side of the current block - 1) % 64).
[0265] In one embodiment, the MPM index information may represent the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 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.
[0266] In one embodiment, the MPM index information may be based on a Truncated Rice (TR) binary evolution process.
[0267] In one embodiment, cMax representing the maximum value of the MPM index information may be 4.
[0268] Regarding the encoding device in FIGS. 11 and 12 and the operation method of the encoding device, the encoding device can generate at least one of MPM flag information indicating whether to encode the intra prediction mode based on the MPM candidates for the current block or planar (PLANAR) flag information indicating whether to determine the intra prediction mode for the current block as a planar mode based on the intra prediction mode for the current block (S1100), and can encode video information including at least one of the MPM flag information or the planar flag information (S1110).
[0269] That is, according to the present disclosure, the efficiency of video coding can be improved based on intra prediction using the MPM list for the current block. Alternatively, according to the present disclosure, the efficiency of intra prediction based on the MPM list can be improved based on planar flag information indicating whether to determine the intra prediction mode for the current block as a planar mode. Or, according to the present disclosure, the MPM list for the current block can be efficiently configured. Or, according to the present disclosure, the MPM index can be efficiently encoded.
[0270] FIG. 13 is a flowchart showing the operation of a decoding device according to an embodiment, and FIG. 14 is a block diagram showing the configuration of a decoding device according to an embodiment.
[0271] Each step disclosed in FIG. 13 can be performed by the decoding device 300 disclosed in FIG. 3. Therefore, specific contents overlapping with the above-described contents will be omitted or simplified in the description.
[0272] As shown in FIG. 14, a decoding apparatus according to an 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 FIG. 14 may be essential components of the decoding apparatus, and the decoding apparatus may be implemented by more or fewer components than those shown in FIG. 14.
[0273] In a decoding apparatus according to an embodiment, the entropy decoding unit 310, the prediction unit 330, and the addition unit 340 may be implemented by separate chips, respectively, or at least two or more components may be implemented via one chip.
[0274] A decoding apparatus according to an embodiment may receive intra prediction information including at least one of MPM (Most Probable Modes) flag information indicating whether to derive an intra prediction mode for the current block based on MPM candidates for the current block, or PLANAR (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 prediction information may be included in the syntax of a coding unit.
[0276] In one example, the MPM flag information may be denoted by intra_luma_mpm_flag, and the planar flag information may be denoted by intra_luma_not_planar_flag. When 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 a planar mode, and when the value of intra_luma_not_planar_flag is 0, it may be determined that the intra prediction mode for the current block is a planar mode.
[0277] In another exemplary embodiment, the planar flag information may be represented by intra_luma_planar_flag or intra_planar_flag. When the value of the intra_luma_planar_flag is 1, it may be determined that the intra prediction mode for the current block is the planar mode. When the value of the intra_luma_planar_flag is 0, it may be determined that the intra prediction mode for the current block is not the planar mode.
[0278] In one exemplary embodiment, based on the determination that the value of the MPM flag information is 1, the decoding device may determine that the value of the MPM flag information is related to decoding the planar flag information. That is, based on the determination that the value of the MPM flag information is 1, the decoding device can decode the planar flag information.
[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] The 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 reconstructed picture based on the predicted block (S1330).
[0282] In one exemplary embodiment, when the MPM flag information indicates that the intra prediction mode for the current block is derived based on the MPM candidates, the planar flag information may be included in the intra prediction information.
[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 a case where 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 excluding the planar mode from the MPM candidates for the current block. Based on a case where the planar flag information indicates 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. 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 exemplary case, the decoding apparatus can check the MPM index information based on a check result that the value of intra_luma_not_planar_flag is 1.
[0285] In one embodiment, the number of the MPM candidates excluding the planar mode from the MPM candidates for the current block may be five. In one exemplary case, the MPM candidates may include a first MPM candidate to a fifth MPM candidate. The first MPM candidate may be related to MPM index 0, the second MPM candidate may be related to MPM index 1, the third MPM candidate may be related to MPM index 2, the fourth MPM candidate may be related to MPM index 3, and the fifth MPM candidate may be related to MPM index 4.
[0286] In one embodiment, the MPM index information may represent the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 4th MPM candidate included in the MPM candidates excluding the planar mode from the MPM candidates for the current block. In one example, when 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 the same, and based on the case where the intra prediction mode of the peripheral block on the left side is greater than the intra DC mode, the intra prediction mode for the 0th MPM candidate is the intra prediction mode of the peripheral block on the left side of the current block, the intra prediction mode for the 1st MPM candidate is 2 + ((the intra prediction mode of the peripheral block on the left side of the current block + 61) % 64), and the intra prediction mode for the 2nd MPM candidate may be 2 + ((the intra prediction mode of the peripheral block on the left side of the current block - 1) % 64).
[0287] In one example, the MPM index information may be denoted by intra_luma_mpm_idx, and the 0th MPM candidate to the 4th MPM candidate corresponding to MPM index 0 to MPM index 4 may be denoted by candModeList[0], candModeList[1], candModeList[2], candModeList[3], and candModeList[4], respectively.
[0288] In one example, when the intra prediction mode for the peripheral block on the left side of the current block is candIntraPredModeA, the intra prediction mode for the peripheral block on the upper side of the current block is candIntraPredModeB, candIntraPredModeA and candIntraPredModeB are the same, and candIntraPredModeA is greater than INTRA_DC, among the MPM candidates constituting the MPM list, the 0th MPM candidate, the 1st MPM candidate, and the 2nd MPM candidate may be determined as follows.
[0289] [Number 1] candModeList[0] = candIntraPredModeA candModeList[1] = 2 + ((candIntraPredModeA + 61) % 64) candModeList[2] = 2 + ((candIntraPredModeA - 1) % 64)
[0290] In another example, when the intra prediction mode of the peripheral block on the left side of the current block is not the same as the intra prediction mode of the peripheral block on the upper side of the current block, and 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.
[0291] In one embodiment, the MPM index information may be based on a Truncated Rice (TR) binarization process.
[0292] In one embodiment, cMax representing the maximum value of the MPM index information may be 4.
[0293] Regarding the decoding apparatus and the method of operating the decoding apparatus disclosed in FIGS. 13 and 14, the decoding apparatus receives intra prediction information including at least one of MPM (Most Probable Modes) flag information indicating whether to derive an intra prediction mode for the current block based on MPM candidates for the current block, or PLANAR flag information indicating whether to determine the intra prediction mode for the current block as a planar mode (S1300), derives the intra prediction mode for the current block based on the MPM flag information and the planar flag information (S1310), derives a predicted block for the current block based on the intra prediction mode for the current block (S1320), and can generate a reconstructed picture based on the predicted block (S1330). At this time, based on the case where the MPM flag information indicates that an intra prediction mode for the current block is derived based on the MPM candidates, the planar flag information may be included in the intra prediction information.
[0294] That is, according to the present disclosure, based on the planar flag information indicating whether to determine the intra prediction mode for the current block as a planar mode, the efficiency of intra prediction based on the MPM list can be improved. Alternatively, according to the present disclosure, based on the MRL index information, it is possible to determine whether the planar flag information can be signaled, and the efficiency of video coding can be improved. Alternatively, according to the present disclosure, the MPM list for the current block can be efficiently configured. Alternatively, according to the present disclosure, the value of the context index for the bin related to the planar flag information can be determined based on whether the ISP mode is applied to the current block.
[0295] In the foregoing embodiments, the method is described based on a flowchart as a series of steps or blocks, but the present disclosure is not limited to the order of the steps, and a certain step may occur in an order different from that of other steps described above or simultaneously. Also, those skilled in the art can understand that the steps shown in the flowchart are not exclusive, and different steps may be included, or one or more steps of the flowchart may be deleted without affecting the scope of the present disclosure.
[0296] The method according to the present disclosure described above can be realized in the form of software, and the encoding device and / or decoding device according to the present disclosure can be included in a device that performs video processing, such as a TV, a computer, a smartphone, a set-top box, a display device, etc.
[0297] In the present disclosure, when the embodiment is realized by software, the method described above can be realized by a module (process, function, etc.) that performs the above-described functions. The module can be stored in a memory and executed by a processor. The memory may be inside or outside the processor and may be connected to the processor by various well-known means. The processor may include an ASIC (application-specific integrated circuit), other chip sets, logic circuits, and / or data processing devices. The memory may include a ROM (read-only memory), a RAM (random access memory), a flash memory, a memory card, a storage medium, and / or other storage devices. That is, the embodiments described in the present disclosure can be realized and performed on a processor, a microprocessor, a controller, or a chip. For example, the functional units shown in each figure can be realized and performed on a computer, a processor, a microprocessor, a controller, or a chip. In this case, the information for realization (e.g., information on instructions) or algorithms can be stored in a digital storage medium.
[0298] In addition, the decoding device and encoding device to which the present disclosure is applied may include a multimedia broadcast transmission / reception device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video dialogue device, a real-time communication device such as video communication, a mobile streaming device, a storage medium, a camcorder, an order-made video (VoD) service providing device, an OTT video (Over the top video) device, an Internet streaming service providing device, a three-dimensional (3D) video device, a VR (virtual reality) device, an AR (argumente reality) device, a picture phone video device, a transportation means terminal (e.g., a vehicle terminal including an autonomous driving vehicle, an airplane terminal, a ship terminal, etc.) and a medical video device, etc., and may be used to process a video signal or a data signal. For example, as the OTT video (Over the top video) device, it may include a game console, a Blu-ray player, an Internet access TV, a home theater system, a smartphone, a tablet PC, a DVR (Digital Video Recoder), etc.
[0299] In addition, the processing method to which the present disclosure is applied can be produced in the form of a program executed by a computer and can be stored in a computer-readable recording medium. Multimedia data having the data structure according to the present disclosure can also be stored in a computer-readable recording medium. The computer-readable recording medium includes all types of storage devices and distributed storage devices in which data readable by a computer is stored. The computer-readable recording medium can include, for example, a Blu-ray Disc (BD), a Universal Serial Bus (USB), a ROM, a PROM, an EPROM, an EEPROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. Further, the computer-readable recording medium includes a medium realized in the form of a carrier wave (for example, transmission via the Internet). Also, a bitstream generated by an encoding method can be stored in a computer-readable recording medium or transmitted via a wired or wireless communication network.
[0300] In addition, embodiments of the present disclosure can be realized by a computer program product with program code, and the program code can be executed by a computer according to embodiments of the present disclosure. The program code can be stored on a carrier readable by a computer.
[0301] This document relates to video / video coding. For example, the methods / embodiments disclosed in this document can be applied to the methods disclosed in the VVC (versatile video coding) standard, the EVC (essential video coding) standard, the AV1 (AOMedia Video 1) standard, the AVS2 (2nd generation of audio video coding standard), or a next-generation video / video coding standard (ex. H.267 or H.268, etc.).
[0302] This document presents various examples related to video / video coding, and unless otherwise specified, the examples may be combined with each other.
[0303] In this document, video may mean a set of images over time. Picture generally means a unit representing one image at a specific time, and slice / tile is a unit that constitutes a part of a picture in coding. A slice / tile may contain one or more CTUs (Coding Tree Units). One picture may be composed of one or more slices / tiles. One picture may be composed of one or more tile groups. One 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 consisting of one or more CTU rows within the tile. A tile that is not partitioned into multiple bricks may be also referred to as a brick.A brick scan may represent a specific sequential ordering of CTUs partitioning a picture, where the CTUs may be ordered consecutively in a CTU raster scan within a brick, bricks within a tile may be ordered consecutively in a raster scan of the bricks of the tile, and tiles in a picture may be ordered consecutively in a raster scan of the tiles of the picture. A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture. The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width that may be specified by syntax elements in the picture parameter set.The tile row is a rectangular region of CTUs having a width specified by syntax elements in the picture parameter set and a height equal to the height of the picture. A tile scan represents a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture. A slice may include an integer number of bricks of a picture that may be exclusively contained in a single NAL unit. A slice may consist of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile. In this document, tile groups and slices may be used interchangeably.For example, in this document, a tile group / tile group header may be referred to as a slice / slice header.
[0304] A pixel or pel may mean the smallest unit that constitutes one picture (or video). Also, the term "sample" may be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, and may represent only the pixel / pixel value of the luma component, or may represent only the pixel / pixel value of the chroma component.
[0305] A unit may represent the basic unit of video processing. A unit may include at least one of a specific area of a picture and information regarding the corresponding area. One unit may include one luma block and two chroma (e.g., cb, cr) blocks. A unit may be used interchangeably with terms such as a block or an area in some cases. In general, an MxN block may include a set (or array) of samples (or sample arrays) or transform coefficients that consist of M columns and N rows.
[0306] In this document, the terms " / " and "," shall be interpreted as "and / or". For example, "A / B" shall be interpreted as "A and / or B", and "A, B" shall be interpreted as "A and / or B". Further, "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] Further, in this document, the term "or" shall be interpreted as "and / or". For example, "A or B" may mean: 1) only A, 2) only B, or 3) both A and B. In other words, the term "or" in this document may be interpreted as "additionally or alternatively".
[0308] FIG. 15 shows an example of a content streaming system to which the disclosure of this document is applicable.
[0309] Referring to FIG. 15, the content streaming system to which the present disclosure is applied may generally include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
[0310] The encoding server compresses the content input from a multimedia input device such as a smartphone, a camera, a camcorder, etc. into digital data to generate a bitstream, and serves to transmit this to the streaming server. As another example, when a multimedia input device such as a smartphone, a camera, a camcorder, etc. directly generates a bitstream, the encoding server may be omitted.
[0311] The bitstream can be generated by an encoding method or a bitstream generation method to which the present disclosure is applied, and the streaming server can temporarily store the bitstream in the process of transmitting or receiving the bitstream.
[0312] The streaming server transmits multimedia data to the user device based on a user request via the web server, and the web server serves as a medium to inform the user of what services are available. When the user requests a service desired by the user from the web server, the web server transmits this to the streaming server, and the streaming server transmits multimedia data to the user. At this time, the content streaming system may include a separate control server, and in this case, the control server serves to control commands / responses between each device in the content streaming system.
[0313] The streaming server can receive content from a media storage and / or an encoding server. For example, when the content is to be received from the encoding server, the content can be received in real time. In this case, in order to provide a smooth streaming service, the streaming server can store the bitstream for a certain period of time.
[0314] Examples of the user device may include a mobile phone, a smart phone, a laptop computer, a digital broadcast terminal, a PDA (personal digital assistants), a PMP (portable multimedia player), a navigation device, a slate PC, a tablet PC, an ultrabook, a wearable device (for example, a smartwatch, a smart glass, an HMD (head mounted display)), a digital TV, a desktop computer, a digital signage, and the like.
[0315] Each server in the content streaming system can be operated as a distributed server, and in this case, the data received by each server can be processed in a distributed manner.
Claims
1. In a video decoding method performed by a decoding apparatus, a step of obtaining video information including prediction-related information from a bitstream; a step of determining that intra prediction is applied to a current block based on the prediction-related information; a step of obtaining MPM (Most Probable Mode) flag information, planar flag information, and MPM index information based on the determination that the intra prediction is applied to the current block, wherein the MPM flag information is related to whether to derive an intra prediction mode for the current block based on MPM candidates for the current block; wherein the planar flag information is related to whether to determine the intra prediction mode for the current block as a planar mode; wherein the MPM index information is related to one of five MPM candidates other than the planar mode among the MPM candidates for the current block; a step of deriving the intra prediction mode for the current block based on at least one of a value of the MPM flag information, a value of the planar flag information, and a value of the MPM index information; a step of deriving a prediction sample for the current block based on the intra prediction mode for the current block; a step of generating a restored sample in a current picture based on the prediction sample, wherein the MPM flag information is parsed for the current block; after the MPM flag information is parsed, the planar flag information is parsed when the value of the MPM flag information is equal to 1; after the planar flag information is parsed, the MPM index information is parsed when the value of the planar flag information indicates that the intra prediction mode for the current block is not the planar mode. A video decoding method.
2. In a video encoding method performed by an encoding apparatus, a step of determining that intra prediction is applied to a current block; a step of deriving an intra prediction mode for the current block; Based on the determination that the intra prediction is to be applied to the current block, a step of generating MPM (Most Probable Mode) flag information, planar flag information, and MPM index information, wherein: The MPM flag information is related to whether to derive the intra prediction mode for the current block based on MPM candidates for the current block; The planar flag information is related to whether to determine the intra prediction mode for the current block as a planar mode; The MPM index information is related to one of five MPM candidates other than the planar mode among the MPM candidates for the current block, the step; Encoding video information including the MPM flag information, the planar flag information, and the MPM index information to output a bitstream, the method comprising: The MPM flag information is encoded for the current block; When the value of the MPM flag information is equal to 1, the planar flag information is encoded after the MPM flag information; When 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, a video encoding method.
3. In a method for transmitting data for a video, A step of obtaining a bitstream for the video, wherein: The bitstream is Determining that intra prediction is to be applied to the current block; Deriving an intra prediction mode for the current block; Generating MPM (Most Probable Mode) flag information, planar flag information, and MPM index information based on the determination that the intra prediction is to be applied to the current block; Encoded video information including the MPM flag information, the planar flag information, and the MPM index information to output the bitstream, based on which it is generated; The MPM flag information is related to whether to derive the intra prediction mode for the current block based on MPM candidates for the current block; The planar flag information is related to whether to determine the intra prediction mode for the current block as a planar mode, The MPM index information is related to one of the five MPM candidates other than the planar mode among the MPM candidates for the current block, a step, Transmitting the data including the bitstream, including, The MPM flag information is encoded for the current block, When the value of the MPM flag information is equal to 1, the planar flag information is encoded after the MPM flag information, When 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, a method for transmitting data for a video.