Decoding device, encoding device, and data transmitting device

By constructing an MPM list and intra-frame prediction of multiple reference lines, the problem of efficient compression of high-resolution images and videos is solved, achieving higher coding efficiency and prediction performance.

CN116527892BActive Publication Date: 2025-10-17BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310731586.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-01-08
Filing Date
2020-01-07
Publication Date
2025-10-17
Estimated Expiration
2040-01-07

AI Technical Summary

Technical Problem

Existing technologies have the problem of high costs due to the increased amount of information when transmitting and storing high-resolution, high-quality images and videos. This is especially true in the broadcasting of immersive media such as virtual reality, artificial reality, and holograms, where image characteristics are different from real images and require efficient image and video compression technology.

Method used

By constructing the most probable mode (MPM) list, deriving the intra-frame prediction mode based on the neighboring blocks of the current block, generating prediction samples, and configuring the MPM list in the intra-frame prediction of multiple reference lines, the coding efficiency is improved.

Benefits of technology

It enhances image/video compression efficiency, reduces computational complexity and improves prediction performance, thus improving overall coding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116527892B_ABST
    Figure CN116527892B_ABST
Patent Text Reader

Abstract

Decoding device, encoding device, and data transmitting device. A video decoding method according to the present document includes the steps of: configuring an MPM list by deriving candidate intra prediction modes based on a first neighboring block located on a left side and a second neighboring block located on an upper side relative to a current block; deriving an intra prediction mode of the current block based on the MPM list; generating prediction samples of the current block based on the intra prediction mode; and generating a reconstructed picture of the current block based on the prediction samples, wherein a first intra prediction mode of the first neighboring block and a second intra prediction mode of the second neighboring block are identical, and wherein the candidate intra prediction modes including a DC mode are derived based on a case that both the first intra prediction mode and the second intra prediction mode are DC modes.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the original application No. 202080008583.6 (International Application No. PCT / KR2020 / 000224, filed on January 7, 2020, entitled "Intra prediction based video coding method and apparatus using MPM list"). TECHNICAL FIELD

[0002] The present document relates to an image coding technique, and more particularly, to an image coding method using intra prediction based on a most probable mode (MPM) list and an apparatus therefor. BACKGROUND

[0003] Recently, there is an increasing demand for high-resolution and high-quality images and videos such as ultra-high-definition (HUD) images and 4K or 8K or more videos in various fields. As image and video data become high-resolution and high-quality, the amount of information or the number of bits transmitted relatively increases compared to existing image and video data. Therefore, if the image data is transmitted using a medium such as an existing wired or wireless broadband line or stored using an existing storage medium, the transmission cost and the storage cost increase.

[0004] In addition, there is an increasing interest and demand for immersive media such as virtual reality (VR), artificial reality (AR) content, or holograms recently. Broadcasting of images and videos whose image characteristics are different from those of real images such as game images is increasing.

[0005] Therefore, in order to efficiently compress and transmit or store and play back information of high-resolution and high-quality images and videos having such various characteristics, an efficient image and video compression technique is required. SUMMARY

[0006] TECHNICAL PROBLEM

[0007] An object of the present document is to provide a method and apparatus for enhancing image coding efficiency.

[0008] Another object of the present document is to provide an efficient intra prediction method and apparatus.

[0009] Still another object of the present document is to provide an image coding method and apparatus for deriving an MPM list.

[0010] Still another object of the present document is to provide a method and apparatus for configuring an MPM list in multi-reference line based intra prediction.

[0011] TECHNICAL SOLUTION

[0012] An exemplary embodiment of the present document provides an image decoding method performed by a decoding device. The method includes constructing a most probable mode (MPM) list by deriving candidate intra prediction modes based on a first neighboring block neighboring a left side of a current block and a second neighboring block neighboring an upper side of the current block; deriving an intra prediction mode of the current block based on the MPM list; generating prediction samples of the current block based on the intra prediction mode; and generating a reconstructed picture of the current block based on the prediction samples, wherein the construction of the MPM list derives the candidate intra prediction modes including a DC mode based on a case that a first intra prediction mode of the first neighboring block and a second intra prediction mode of the second neighboring block are the same and both of the first and second intra prediction modes are DC modes.

[0013] Another exemplary embodiment of the present document provides an image encoding method performed by an encoding device. The method includes constructing a most probable mode (MPM) list by deriving candidate intra prediction modes based on a first neighboring block neighboring a left side of a current block and a second neighboring block neighboring an upper side of the current block; deriving an intra prediction mode of the current block based on the MPM list; generating intra prediction mode information indicating the intra prediction mode of the current block; and encoding image information including the intra prediction mode information, wherein the construction of the MPM list derives the candidate intra prediction modes including a DC mode based on a case that a first intra prediction mode of the first neighboring block and a second intra prediction mode of the second neighboring block are the same and both of the first and second intra prediction modes are DC modes.

[0014] Still another exemplary embodiment of the present document provides a computer-readable storage medium storing encoding image information causing an image decoding method to be performed.

[0015] Technical effects

[0016] The present document can enhance overall image / video compression efficiency.

[0017] The present document can reduce computational complexity and improve prediction performance through efficient intra prediction, thereby improving overall encoding efficiency.

[0018] The present document can efficiently derive candidate intra prediction modes in an MPM list when performing multi-reference line based intra prediction to assign and encode a smaller number of bits, thereby improving overall encoding efficiency. BRIEF DESCRIPTION OF DRAWINGS

[0019] Figure 1 An example of a video / image encoding system suitable for exemplary embodiments of the present document is schematically illustrated.

[0020] Figure 2FIG. 1 is a diagram schematically illustrating a configuration of a video / image encoding apparatus to which an exemplary embodiment of the present document is applicable.

[0021] Figure 3 FIG. 2 is a diagram schematically illustrating a configuration of a video / image decoding apparatus to which an exemplary embodiment of the present document is applicable.

[0022] Figure 4 An example of an intra prediction-based image encoding method to which an exemplary embodiment of the present document is applicable is schematically illustrated, and Figure 5 An intra predictor in an encoding apparatus is schematically illustrated.

[0023] Figure 6 An example of an intra prediction-based image decoding method to which an exemplary embodiment of the present document is applicable is schematically illustrated, and Figure 7 An intra predictor in a decoding apparatus is schematically illustrated.

[0024] Figure 8 An example of an MPM mode-based intra prediction method in an encoding apparatus to which an exemplary embodiment of the present document is applicable is illustrated.

[0025] Figure 9 An example of an MPM mode-based intra prediction method in a decoding apparatus to which an exemplary embodiment of the present document is applicable is illustrated.

[0026] Figure 10 An example of an intra prediction mode to which an exemplary embodiment of the present document is applicable is illustrated.

[0027] Figure 11 An example of a reference sample line for intra prediction using multiple reference lines is illustrated.

[0028] Figure 12 FIG. 3 is a flowchart schematically illustrating an encoding method according to an example embodiment of the present document, which can be executed by an encoding apparatus.

[0029] Figure 13 FIG. 4 is a flowchart schematically illustrating a decoding method according to an example embodiment of the present document, which can be executed by a decoding apparatus.

[0030] Figure 14 An example of a content streaming system to which an exemplary embodiment disclosed in the present document is applicable is illustrated. DETAILED DESCRIPTION

[0031] This document can be modified in various ways and can have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the document to specific embodiments. The terms generally used in the specification are used to describe specific embodiments, not to limit the technical spirit of the document. Unless explicitly indicated otherwise in the context, the expression of the singular includes the expression of the plural. The terms such as "include" or "have" in the specification should be understood to indicate the presence of features, numbers, steps, operations, elements, components, or combinations thereof described in the specification, without excluding the possibility of the presence or addition of one or more features, numbers, steps, operations, elements, components, or combinations thereof.

[0032] In addition, in order to facilitate the description related to different feature functions, the elements in the drawings described in this document are independently illustrated. This does not mean that each element is implemented as a separate hardware or a separate software. For example, at least two elements can be combined to form a single element, or a single element can be divided into multiple elements. Embodiments in which elements are combined and / or separated are also included in the scope of the document, unless it deviates from the essence of the document.

[0033] Hereinafter, preferred embodiments of the present document are described more specifically with reference to the accompanying drawings. Hereinafter, in the drawings, the same reference numerals are used for the same elements, and redundant descriptions of the same elements can be omitted.

[0034] Figure 1 An example of a video / image encoding system to which embodiments of the present document can be applied is schematically illustrated.

[0035] Referring to Figure 1 , the video / image encoding system can include a first device (a source device) and a second device (a receiving device). The source device can deliver encoded video / image information or data in the form of a file or streaming to the receiving device via a digital storage medium or a network.

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

[0037] The video source can obtain a video / image through a process of capturing, synthesizing, or generating a video / image. The video source can include a video / image capturing device and / or a video / image generating device. The video / image capturing device can include, for example, one or more cameras, a video / image archive including previously captured videos / images, etc. The video / image generating device can include, for example, a computer, a tablet, and a smartphone, and can (electronically) generate a video / image. For example, a virtual video / image can be generated through a computer, etc. In this case, the video / image capturing process can be replaced by a process of generating related data.

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

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

[0040] The decoding device can decode a video / image by performing a series of processes such as dequantization, inverse transform, prediction, etc. corresponding to the operations of the encoding device.

[0041] The renderer can render the decoded video / image. The rendered video / image can be displayed through a display.

[0042] This document relates to video / image encoding. For example, the methods / embodiments disclosed in this document can be applied to methods disclosed in the Versatile Video Coding (VVC) standard, the Essential Video Coding (EVC) standard, the AOMedia Video 1 (AV1) standard, the second generation Audio Video Coding standard (AVS2), or the next generation video / image encoding standard (e.g., H.267 or H.268, etc.).

[0043] In this document, various embodiments related to video / image encoding can be provided, and unless specified to the contrary, these embodiments can be combined with and executed with each other.

[0044] In this document, a video can mean a set of a series of pictures over time. Typically, a picture means a unit of an image representing a specific time region, and a slice / tile is a unit of a part constituting a picture. A slice / tile can include one or more coding tree units (CTUs). A picture can be constituted by one or more slices / tiles. A picture can be constituted by one or more tile groups. A tile group can include one or more tiles. A brick can mean a rectangular region of CTU rows within a tile in a picture. A tile can be partitioned into a plurality of bricks, each brick consisting of one or more CTU rows within the tile. A tile not partitioned into a plurality of bricks can also be referred to as a brick. A brick scan can be a specific order of partitioning CTUs of a picture in which CTUs are continuously ordered in a CTU raster scan in a brick, bricks within a tile are continuously ordered in a raster scan of bricks of the tile, and tiles in a picture are continuously ordered in a raster scan of tiles of the picture. A tile is a rectangular region of CTUs within a specific tile column and a specific tile row in a picture. A tile column is a rectangular region of CTUs whose height is equal to that of a picture and whose width is specified by a syntax element in a picture parameter set. A tile row is a rectangular region of CTUs whose height is specified by a syntax element in a picture parameter set and whose width is equal to that of a picture. A tile scan can be a specific order of partitioning CTUs of a picture in which CTUs can be continuously ordered in a CTU raster scan in a tile, while tiles in a picture can be continuously ordered in a raster scan of tiles of the picture. A slice includes an integer number of bricks of a picture that can be exclusively included in a single NAL unit. A slice can consist of a plurality of complete tiles or only complete bricks of a continuous sequence of one tile. In this document, a tile group and a slice can be used interchangeably with each other. For example, in this document, a tile group / tile group header can be referred to as a slice / slice header.

[0045] A pixel or pel can mean a minimum unit constituting a picture (or an image). Also, a "sample" can be used as a term corresponding to a pixel. A sample can generally mean a pixel or a value of a pixel, and can mean only a pixel / value of a pixel of a luminance component or only a pixel / value of a pixel of a chrominance component.

[0046] A unit can mean a basic unit of image processing. A unit can include at least one of a specific region and information related to the region. One unit can include one luminance block and two chrominance (e.g., cb, cr) blocks. Depending on the situation, a unit and terms such as a block, a region, and the like can be used interchangeably. In general, an MxN block can include a set (or an array) of samples (or sample array) or transform coefficients consisting of M columns and N rows.

[0047] In this document, the terms “ / ” and “,” should be interpreted as indicating “and / or”. For example, the expression “A / B” can mean “A and / or B”. In addition, “A, B” can mean “A and / or B”. In addition, “A / B / C” can mean “at least one of A, B, and / or C”. In addition, “A / B / C” can mean “at least one of A, B, and / or C”.

[0048] In addition, in this document, the term “or” should be interpreted as indicating “and / or”. For example, the expression “A or B” can include 1) “only A”, 2) “only B”, and / or 3) “both A and B”. In other words, the term “or” in this document should be interpreted as indicating “additionally or alternatively”.

[0049] Figure 2 is a diagram schematically describing a configuration of a video / image encoding apparatus to which the present document can be applied. Hereinafter, the so-called video encoding apparatus can include an image encoding apparatus.

[0050] Referring to Figure 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, an inverse transformer 235. The residual processor 230 can further include a subtractor 231. The adder 250 can be referred to as a reconstructor or a reconstructed block generator. According to an embodiment, the above-described image partitioner 210, predictor 220, residual processor 230, entropy encoder 240, adder 250, and filter 260 can be constituted by one or more hardware components (e.g., an encoder chipset or a processor). In addition, the memory 270 can include a decoded picture buffer (DPB), and can be constituted by a digital storage medium. The hardware components can further include the memory 270 as an internal / external component.

[0051] The image partitioner 210 partitions an input image (or picture or frame) input to the encoding apparatus 200 into one or more processing units. As one example, the processing units can be referred to as coding units (CUs). In this case, starting from a coding tree unit (CTU) or a largest coding unit (LCU), the coding units can be recursively partitioned according to a quad-tree binary-tree ternary-tree (QTBTTT) structure. For example, one coding unit can be divided into a plurality of coding units deeper in 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 and / or the ternary-tree structure can be applied. Alternatively, the binary-tree structure can be applied first. The encoding process according to the present document can be performed based on the final coding units that are not further partitioned. In this case, based on the coding efficiency according to the characteristics of the image, the largest coding unit can be directly used as the final coding unit. Alternatively, the coding units can be recursively partitioned into coding units deeper in depth as necessary, so that the coding units of the best size can be used as the final coding units. Here, the encoding process can include processes such as prediction, transform, and reconstruction, which will be described later. As another example, the processing units can also include prediction units (PUs) or transform units (TUs). In this case, the prediction units and the transform units can be divided or partitioned from the final coding units described above. The prediction unit can be a unit of sample prediction, and the transform unit can be a unit for deriving transform coefficients and / or a unit for deriving a residual signal from the transform coefficients.

[0052] Depending on the situation, the term unit and terms such as block, region, and the like can be used interchangeably. In a regular case, 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 value of a pixel, and can represent only a pixel / value of a luma component or only a pixel / value of a chroma component. A sample can be used as a term corresponding to a pixel or a pel of one picture (or image).

[0053] In the encoding device 200, a prediction signal (prediction block, prediction sample array) output from the inter-predictor 221 or the intra-predictor 222 is subtracted from an input image signal (original block, original sample array) to generate a residual signal (residual block, residual sample array), and the generated residual signal is sent to the transformer 232. In this case, as illustrated, a unit that subtracts a prediction signal (prediction block, prediction sample array) from an input image signal (original block, original sample array) in the encoding device 200 can be referred to as a subtractor 231. The predictor can perform prediction on a processing target block (hereinafter, referred to as a "current block"), and can generate a prediction block including prediction samples for the current block. The predictor can determine whether to apply intra-prediction or inter-prediction on a basis of the current block or CU. As discussed later in the description of each prediction mode, the predictor can generate various information related to prediction such as prediction mode information, and send the generated information to the entropy encoder 240. The information about prediction can be encoded in the entropy encoder 240 and output in the form of a bitstream.

[0054] The intra-predictor 222 can predict the current block by referring to samples in the current picture. Depending on the prediction mode, the reference samples can be located in the vicinity of the current block or apart from the current block. 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, a DC mode and a planar mode. Depending on the level of detail of the prediction direction, the directional modes can include, for example, 33 directional prediction modes or 65 directional prediction modes. However, this is merely an example, and depending on the settings, more or less directional prediction modes can be used. The intra-predictor 222 can determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.

[0055] The inter predictor 221 can derive a prediction block for a current block based on a reference block (a reference sample array) designated by a motion vector on a reference picture. At this time, in order to reduce the amount of motion information transmitted in the inter prediction mode, motion information can be predicted on a block, sub-block, or sample basis based on the correlation of motion information between neighboring blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can also include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, the neighboring blocks can include spatial neighboring blocks present in the current picture and temporal neighboring blocks present in a reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block can be the same as or different from each other. The temporal neighboring block can be referred to as a collocated reference block, a collocated CU (colCU), or the like, and the reference picture including the temporal neighboring block can be referred to as a collocated picture (colPic). For example, the inter predictor 221 can configure a motion information candidate list based on the neighboring blocks 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 predictor 221 can use motion information of the neighboring blocks as motion information of the current block. In the skip mode, unlike the merge mode, a residual signal cannot be transmitted. In the case of the motion information prediction (motion vector prediction, MVP) mode, a motion vector of the neighboring block can be used as a motion vector predictor, and a motion vector of the current block can be indicated by signaling a motion vector difference.

[0056] The predictor 220 can generate a prediction signal based on various prediction methods. For example, the predictor can apply intra prediction or inter prediction to prediction of one block, and can also simultaneously apply intra prediction and inter prediction. This can be referred to as combined inter and intra prediction (CIIP). In addition, the predictor can predict a block based on an intra block copy (IBC) prediction mode or a palette mode. The IBC prediction mode or the palette mode can be used for content image / video encoding of a game or the like such as screen content coding (SCC). Although IBC basically performs prediction in the current picture, it is similar to inter prediction in that it derives a reference block in the current picture in terms of how it is performed. That is, IBC can use at least one of the inter prediction techniques described in this document. The palette mode can be regarded as an example of intra coding or intra prediction. When the palette mode is applied, sample values in a picture can be signaled based on information about a palette index and a palette table.

[0057] The prediction signal generated by the predictor (including the inter-predictor 221 and / or the intra-predictor 222) can be used to generate a reconstructed signal or to generate a residual signal. The transformer 232 can generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique can include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loève transform (KLT), a graph-based transform (GBT), or a conditional nonlinear transform (CNT). Here, the GBT means a transform obtained from a graph when relationship information between pixels is expressed in a graph. The CNT refers to a transform obtained based on a prediction signal generated using all previously reconstructed pixels. In addition, the transform process can be applied to a square pixel block having the same size, or can be applied to a block having a variable size other than a square block.

[0058] The quantizer 233 can quantize the transform coefficients and transmit them to the entropy encoder 240, and the entropy encoder 240 can encode the quantized signals (information about the quantized transform coefficients) and output the encoded signals in a bitstream. The information about the quantized transform coefficients can be referred to as residual information. The quantizer 233 can rearrange the quantized transform coefficients of a block type into a one-dimensional vector form based on a coefficient scan order, and generate the information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form. The entropy encoder 240 can perform various encoding methods such as, for example, exponential Golomb, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), and the like. The entropy encoder 240 can encode information required for video / image reconstruction, other than the quantized transform coefficients (e.g., values of syntax elements, etc.), together or separately. The encoded information (e.g., encoded video / image information) can be transmitted or stored in the form of a bitstream on a unit basis of a network abstraction layer (NAL). The video / image information can further include information about various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), a video parameter set (VPS), and the like. In addition, the video / image information can further include regular constraint information. In the present document, information and / or syntax elements transmitted from an encoding apparatus to a decoding apparatus / signalized can be included in the video / picture information. The video / picture information can be encoded through the encoding process described above and included in a bitstream. The bitstream can be transmitted through a network, or stored in a digital storage medium. Here, the network can include a broadcasting network, a communication network, and / or the like, and the digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and the like. A transmitter (not shown) that transmits the signal output from the entropy encoder 240 or a memory (not shown) that stores the same can be configured as an internal / external element of the encoding apparatus 200, or the transmitter can be included in the entropy encoder 240.

[0059] The quantized transform coefficients output from the quantizer 233 can be used to generate a prediction signal. For example, by applying dequantization and inverse transform to the quantized transform coefficients using the dequantizer 234 and the inverse transformer 235, a residual signal (a residual block or residual samples) can be reconstructed. The adder 155 adds the reconstructed residual signal to the prediction signal output from the inter-predictor 221 or the intra-predictor 222, so that a reconstructed signal (a reconstructed picture, a reconstructed block, a reconstructed sample array) can be generated. When there is no residual for the processing target block as in the case of applying a skip mode, the prediction block can be used as the reconstructed block. The adder 250 can be referred to as a reconstructor or a reconstructed block generator. The generated reconstructed signal can be used for intra-prediction of the next processing target block in the current picture, and as subsequently described, can be used for inter-prediction of the next picture by filtering.

[0060] Further, in the picture encoding and / or reconstruction processing, luma mapping with chroma scaling (LMCS) can be applied.

[0061] The filter 260 can improve subjective / objective video quality by applying filtering to the reconstructed signal. For example, the filter 260 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and can store the modified reconstructed picture in the memory 270, particularly 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. As discussed subsequently in the description of each filtering method, the filter 260 can generate various information related to filtering, and transmit the generated information to the entropy encoder 240. The information about filtering can be encoded in the entropy encoder 240 and output in the form of a bitstream.

[0062] The modified reconstructed picture transmitted to the memory 270 can be used as a reference picture in the inter-predictor 221. Thereby, the encoding apparatus can avoid prediction mismatch in the encoding apparatus 100 and the decoding apparatus when applying inter-prediction, and can also improve encoding efficiency.

[0063] The memory 270 DPB can store the modified reconstructed picture in order to use it as a reference picture in the inter-predictor 221. The memory 270 can store motion information of a block in the current picture from which motion information has been derived (or encoded) and / or motion information of a block in the already reconstructed picture. The stored motion information can be transmitted to the inter-predictor 221 to be used as motion information of a neighboring block or motion information of a temporally neighboring block. The memory 270 can store reconstructed samples of a reconstructed block in the current picture, and transmit them to the intra-predictor 222.

[0064] Figure 3FIG. 1 is a diagram schematically illustrating a configuration of a video / image decoding apparatus to which the present document can be applied.

[0065] Referring to Figure 3 , the video decoding apparatus 300 can include an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter 350, and a memory 360. The predictor 330 can include an inter-predictor 332 and an intra-predictor 331. The residual processor 320 can include a dequantizer 321 and an inverse transformer 322. According to an embodiment, the above-described entropy decoder 310, residual processor 320, predictor 330, adder 340, and filter 350 can be constituted by one or more hardware components (e.g., a decoder chipset or a processor). In addition, the memory 360 can include a decoded picture buffer (DPB), and can be constituted by a digital storage medium. The hardware components can further include the memory 360 as an internal / external component.

[0066] When a bitstream including video / image information is input, the decoding apparatus 300 can reconstruct an image in correspondence with a process by which the video / image information has been processed in an encoding apparatus according to the present document. Figure 2 For example, the decoding apparatus 300 can derive a unit / block based on information related to block partitioning obtained from the bitstream. The decoding apparatus 300 can perform decoding by using a processing unit to which a process applied in the encoding apparatus is applied. Accordingly, the decoded processing unit can be, for example, an encoding unit, which can be partitioned with a coding tree unit or a largest coding unit following a quadtree structure, a binary tree structure, and / or a ternary tree structure. One or more transform units can be derived with the coding unit. Also, a reconstructed image signal decoded and output by the decoding apparatus 300 can be reproduced through a reproducer.

[0067] The decoding apparatus 300 can receive a bitstream from Figure 2The signal output from the encoding apparatus can be received and decoded by the entropy decoder 310. For example, the entropy decoder 310 can parse the bitstream to derive information (e.g., video / image information) required for image reconstruction (or picture reconstruction). The video / image information can further include information on various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), a video parameter set (VPS), etc. In addition, the video / image information can further include general constraint information. The decoding apparatus can further decode a picture based on the information on the parameter sets and / or the general constraint information. In the present document, the information and / or syntax elements to be signaled / received, which will be described later, can be decoded by the decoding process and obtained from the bitstream. For example, the entropy decoder 310 can decode information in the bitstream based on an encoding method such as an exponential Golomb coding, a CAVLC, a CABAC, etc., and can output values of syntax elements required for image reconstruction and quantized values of transform coefficients on a residual. More specifically, the CABAC entropy decoding method can receive bins corresponding to each syntax element in the bitstream, determine a context model using decoded information of a target syntax element and decoded information of neighboring and a decoding target block or symbols / bins decoded in a previous step, predict a bin generation probability according to the determined context model, and perform arithmetic decoding on the bin to generate a symbol corresponding to each syntax element value. Here, the CABAC entropy decoding method can update the context model using information of a symbol / bin decoded for a next symbol / bin after determining the context model. Information on prediction among the information decoded in the entropy decoder 310 can be provided to the predictor (inter-predictor 332 and intra-predictor 331), and residual values (i.e., quantized transform coefficients) and associated parameter information on which entropy decoding has been performed in the entropy decoder 310 can be input to the residual processor 320. The residual processor 320 can derive a residual signal (a residual block, a residual sample, a residual sample array). In addition, information on filtering among the information decoded in the entropy decoder 310 can be provided to the filter 350. Furthermore, a receiver (not shown) that receives a signal output from the encoding apparatus can also constitute the decoding apparatus 300 as an internal / external element, and the receiver can be a component of the entropy decoder 310. Furthermore, the decoding apparatus according to the present document can be referred to as a video / image / picture decoding apparatus, and the decoding apparatus can be divided into an information decoder (a video / image / picture information decoder) and a sample decoder (a video / image / picture sample decoder). The information decoder can include the entropy decoder 310, and the sample decoder can include at least one of the dequantizer 321, the inverse transformer 322, the adder 340, the filter 350, the memory 360, the inter-predictor 332, and the intra-predictor 331.

[0068] The dequantizer 321 can output transform coefficients by dequantizing the quantized transform coefficients. The dequantizer 321 can rearrange the quantized transform coefficients into a form of a two-dimensional block. In this case, the rearrangement can be performed based on an order of coefficient scanning that has been performed in the encoding apparatus. The dequantizer 321 can perform dequantization on the quantized transform coefficients using a quantization parameter (e.g., quantization step information), and obtain transform coefficients.

[0069] The inverse transformer 322 obtains a residual signal (a residual block, a residual sample array) by performing inverse transform on the transform coefficients.

[0070] The predictor can perform prediction on the current block and generate a prediction block including prediction samples for the current block. The predictor can determine whether to apply intra prediction or inter prediction to the current block based on information about prediction output from the entropy decoder 310, and specifically can determine an intra / inter prediction mode.

[0071] The predictor 330 can generate a prediction signal based on various prediction methods. For example, the predictor can apply intra prediction or inter prediction to prediction of one block, and can also simultaneously apply intra prediction and inter prediction. This can be referred to as combined inter and intra prediction (CIIP). In addition, the predictor can predict a block based on an intra block copy (IBC) prediction mode or a palette mode. The IBC prediction mode or the palette mode can be used for content image / video encoding of a game or the like such as screen content coding (SCC). Although IBC basically performs prediction in the current picture, it is similar to inter prediction in that it derives a reference block in the current picture. That is, IBC can use at least one of the inter prediction techniques described in this document. The palette mode can be regarded as an example of intra coding or intra prediction. When the palette mode is applied, information about a palette table and a palette index can be included in video / image information and signaled.

[0072] The intra predictor 331 can predict a current block by referring to samples in the current picture. The reference samples can be located in the vicinity of the current block or apart from the current block according to a prediction mode. In intra prediction, the prediction mode can include a plurality of non-directional modes and a plurality of directional modes. The intra predictor 331 can determine a prediction mode applied to the current block by using a prediction mode applied to a neighboring block.

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

[0074] The adder 340 adds the obtained residual signal to a prediction signal (a prediction block, a prediction sample array) output from the predictor (the inter predictor 332 or the intra predictor 331), so that a reconstructed signal (a reconstructed picture, a reconstructed block, a reconstructed sample array) can be generated. When there is no residual for the processing target block as in the case of applying a skip mode, the prediction block can be used as the reconstructed block.

[0075] The adder 340 can be referred to as a reconstructor or a reconstructed block generator. The generated reconstructed signal can be used for intra prediction of a next block to be processed in the current picture, can be output by filtering as described below, or can be used for inter prediction of a next picture.

[0076] In addition, luma mapping (LMCS) in which chroma scaling is performed can be applied to the picture decoding process.

[0077] The filter 350 can improve subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filter 350 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 360, specifically, in 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.

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

[0079] In the present disclosure, the embodiments described in the filter 260, the inter prediction 221, and the intra prediction 222 of the encoding apparatus 200 can be the same as or applied to the filter 350, the inter prediction 332, and the intra prediction 331 of the decoding apparatus 300, respectively.

[0080] As described above, in performing video encoding, prediction is performed to improve compression efficiency. A prediction block including prediction samples of a current block, i.e., a target coding block, can be generated by prediction. In this case, the prediction block includes prediction samples in a spatial domain (or pixel domain). The prediction block is derived identically in the encoding apparatus and the decoding apparatus. The encoding apparatus can improve image encoding efficiency by signaling information (residual information) about a residual between the original block and the prediction block to the decoding apparatus other than the original sample values of the original block themselves. The decoding apparatus can derive a residual block including residual samples based on the residual information, can generate a reconstructed block including reconstructed samples by adding the residual block to the prediction block, and can generate a reconstructed picture including the reconstructed block.

[0081] The residual information can be generated by a transform and quantization process. For example, the encoding apparatus can derive a residual block between the original block and the prediction block, can derive transform coefficients by performing a transform process on residual samples (a residual sample array) included in the residual block, can derive quantized transform coefficients by performing a quantization process on the transform coefficients, and can signal the related residual information to the decoding apparatus (through a bitstream). In this case, the residual information can include information such as value information, position information, a transform scheme, a transform kernel, and a quantization parameter of the quantized transform coefficients. The decoding apparatus can perform a dequantization / inverse transform process based on the residual information and can derive residual samples (or a residual block). The decoding apparatus can generate a reconstructed picture based on the prediction block and the residual block. Furthermore, the encoding apparatus can derive a residual block by dequantizing / inversely transforming the quantized transform coefficients for inter prediction reference of a subsequent picture and can generate a reconstructed picture.

[0082] Further, if intra prediction is performed, a correlation between samples can be used, and a difference between the original block and the predicted block, i.e., a residual, can be obtained. The above-mentioned transform and quantization can be applied to the residual. Thus, spatial redundancy can be reduced. Hereinafter, an encoding method and a decoding method using intra prediction are described in detail.

[0083] Intra prediction refers to a prediction in which a prediction sample of a current block is generated based on reference samples located outside the current block within a picture including the current block (hereinafter, a current picture). In this case, the reference samples located outside the current block can refer to samples neighboring the current block. If intra prediction is applied to the current block, neighboring reference samples to be used for intra prediction of the current block can be derived.

[0084] For example, when a size (width x height) of the current block is nW x nH, the neighboring reference samples of the current block can include samples neighboring a left boundary and a total of 2 x nH samples neighboring a left lower side of the current block, samples neighboring an upper boundary and a total of 2 x nW samples neighboring a right upper side of the current block, and one sample neighboring a left upper side of the current block. Alternatively, the neighboring reference samples of the current block can further include a plurality of columns of upper neighboring samples and a plurality of rows of left neighboring samples. Further, the neighboring reference samples of the current block can further include a total of nH samples neighboring a right boundary of the current block having the size nW x nH, a total of nW samples neighboring a lower boundary of the current block, and one sample neighboring a right lower side of the current block.

[0085] In this case, some of the neighboring reference samples of the current block can not have been decoded or can not be available. In this case, the decoding device can configure the neighboring reference samples to be used for prediction by replacing the unavailable samples with available samples. Alternatively, the neighboring reference samples to be used for prediction can be constructed through interpolation of the available samples.

[0086] If the neighboring reference samples are derived, (i) a prediction sample can be derived based on an average value or an interpolation of the neighboring reference samples of the current block, and (ii) a prediction sample can be derived based on a reference sample existing in a specific (prediction) direction for the prediction sample among the neighboring reference samples of the current block. (i) can be applied when the intra prediction mode is a non-directional mode or a non-angular mode. (ii) can be applied when the intra prediction mode is a directional mode or an angular mode.

[0087] Further, the prediction sample can be generated through interpolation between a first neighboring sample located in a prediction direction of the intra prediction mode of the current block based on the prediction sample of the current block and a second neighboring sample located in an opposite direction of the prediction direction among the neighboring reference samples. The foregoing case can be referred to as linear interpolation intra prediction (LIP). Further, a chroma prediction sample can be generated based on a luma sample using a linear model. This case can be referred to as an LM mode.

[0088] In addition, a temporary prediction sample of the current block can be derived based on the filtered neighboring reference samples, and a prediction sample of the current block can also be derived by weightedly summing at least one reference sample derived from among the regular neighboring reference samples (i.e., the unfiltered neighboring reference samples) according to the intra prediction mode and the temporary prediction sample. The foregoing case can be referred to as position-dependent intra prediction (PDPC).

[0089] In addition, a prediction sample can be derived using a reference sample located in a prediction direction of a corresponding line by selecting a reference sample line having the highest prediction accuracy among neighboring multi-reference sample lines of the current block, and intra prediction encoding can be performed by a method for indicating (signaling) the reference sample line used at this time to a decoding device. The foregoing case can be referred to as multi-reference line (MRL) intra prediction or MRL-based intra prediction.

[0090] In addition, intra prediction can be performed based on the same intra prediction mode by dividing the current block into vertical or horizontal sub-partitions, and neighboring reference samples can be derived and used in units of the sub-partitions. That is, in this case, the intra prediction mode of the current block is equally applied to the sub-partitions, and neighboring reference samples are derived and used in units of the sub-partitions, thereby enhancing the intra prediction performance in some cases. Such a prediction method can be referred to as intra sub-partition (ISP) intra prediction or ISP-based intra prediction.

[0091] The foregoing intra prediction methods can be referred to as intra prediction types separate from the intra prediction mode. The intra prediction types can be referred to as various terms such as an intra prediction technique or an additional intra prediction mode. For example, the intra prediction types (or the additional intra prediction mode, etc.) can include at least one of the foregoing LIP, PDPC, MRL, and ISP. A general intra prediction method other than a specific intra prediction type such as LIP, PDPC, MRL, and ISP can be referred to as a normal intra prediction type. If a specific intra prediction type is not applied, the normal intra prediction type can be generally applied, and prediction can be performed based on the foregoing intra prediction mode. In addition, if necessary, post-processing filtering can also be performed with respect to the derived prediction sample.

[0092] Figure 4 Examples of an intra prediction-based image encoding method to which exemplary embodiments of the present document are applicable are schematically illustrated, and Figure 5 An intra predictor in an encoding device is schematically illustrated. Figure 5 The intra predictor in the encoding device shown in FIG. 2 can also be equally or correspondingly applied to Figure 2 The intra predictor 222 of the encoding device 200 shown in FIG. 2.

[0093] Referring toFigure 4 and Figure 5 S400 can be performed by an intra predictor 222 of an encoding device, and S410 can be performed by a residue processor 230 of the encoding device. Specifically, S410 can be performed by a subtractor 231 of the encoding device. In S420, prediction information can be derived by the intra predictor 222 and encoded by an entropy encoder 240. In S420, residual information can be derived by the residue processor 230 and encoded by the entropy encoder 240. The residual information indicates information about residual samples. The residual information can include information about quantized transform coefficients of the residual samples. As described above, the residual samples can be derived from the transform coefficients via a transformer 232 of the encoding device, and the transform coefficients can be derived from the quantized transform coefficients via a quantizer 233. The information about the quantized transform coefficients can be encoded by the entropy encoder 240 through a residual coding process.

[0094] The encoding device performs intra prediction of the current block (S400). The encoding device can derive an intra prediction mode / type for the current block, derive neighboring reference samples for the current block, and generate prediction samples in the current block based on the intra prediction mode / type and the neighboring reference samples. Here, the processes of determining the intra prediction mode / type, deriving the neighboring reference samples, and generating the prediction samples can also be performed simultaneously, and any one of the processes can also be performed earlier than the other processes.

[0095] For example, the intra predictor 222 of the encoding device can include an intra prediction mode / type determiner 222-1, a reference sample deriver 222-2, and a prediction sample deriver 222-3, in which the intra prediction mode / type determiner 222-1 can determine the intra prediction mode / type for the current block, the reference sample deriver 222-2 can derive the neighboring reference samples for the current block, and the prediction sample deriver 222-3 can derive the prediction samples for the current block. Further, although not shown, if the prediction sample filtering process is performed, the intra predictor 222 can further include a prediction sample filter (not shown). The encoding device can determine the mode / type applied to the current block among a plurality of intra prediction modes / types. The encoding device can compare RD costs of the intra prediction modes / types and determine the best intra prediction mode / type for the current block.

[0096] As described above, the encoding device can also perform the prediction sample filtering process. The prediction sample filtering can be referred to as post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering process. In some cases, the prediction sample filtering process can be omitted.

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

[0098] The encoding device can encode image information including information on intra prediction (prediction information) and residual information on residual samples (S420). The prediction information can include intra prediction mode information and intra prediction type information. The residual information can include residual coding syntax. The encoding device can derive quantized transform coefficients by transforming / quantizing the residual samples. The residual information can include information on the quantized transform coefficients.

[0099] The encoding device can output the encoded image information in the form of a bitstream. The output bitstream can be delivered to a decoding device through a storage medium or a network.

[0100] As described above, the encoding device can generate a reconstructed picture including reconstructed samples and reconstructed blocks. To this end, the encoding device can derive (modified) residual samples by dequantizing / inverse transforming the quantized transform coefficients again. As described above, the reason for transforming / quantizing the residual samples and then dequantizing / inverse transforming them again is to derive the same residual samples as those derived by the decoding device as described above. The encoding device can generate a reconstructed block including reconstructed samples of the current block based on the prediction samples and the (modified) residual samples. A reconstructed picture of the current picture can be generated based on the reconstructed blocks. As described above, in-loop filtering processes and the like can be further applied to the reconstructed picture.

[0101] Figure 6 An example of an intra prediction-based image decoding method to which example implementations of the present document are applicable is schematically illustrated, and Figure 7 An intra predictor in a decoding device is schematically illustrated. Figure 7 The intra predictor in the decoding device shown in Figure 3 The intra predictor 331 of the decoding device 300 shown in

[0102] Referring to Figure 6 and Figure 7 The decoding device can perform operations corresponding to the above-described operations performed by the encoding device. S600 to S620 can be performed by the intra predictor 331 of the decoding device, and the prediction information in S600 and the residual information in S630 can be obtained from the bitstream by the entropy decoder 310 of the decoding device. The residual processor 320 of the decoding device can derive residual samples of the current block based on the residual information. Specifically, the dequantizer 321 of the residual processor 320 can derive transform coefficients by performing dequantization based on the quantized transform coefficients derived based on the residual information, and the inverse transformer 322 of the residual processor can derive the residual samples of the current block by inverse transforming the transform coefficients. S640 can be performed by the reconstructor or adder 340 of the decoding device.

[0103] The decoding device can derive an intra prediction mode / type of the current block based on the received prediction information (intra prediction mode / type information) (S600). The decoding device can derive neighboring reference samples of the current block (S610). The decoding device generates prediction samples in the current block based on the intra prediction mode / type and the neighboring reference samples (S620). In this case, the decoding device can perform a prediction sample filtering process. The prediction sample filtering can be referred to as post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering process. In some cases, the prediction sample filtering process can be omitted.

[0104] The decoding device generates residual samples of the current block based on the received residual information (S630). The decoding device can generate reconstructed samples of the current block based on the prediction samples and the residual samples, and derive a reconstructed block including the reconstructed samples (S640). A reconstructed picture of the current picture can be generated based on the reconstructed block. As described above, an in-loop filtering process or the like can be further applied to the reconstructed picture.

[0105] Here, the intra predictor 331 of the decoding device can include an intra prediction mode / type determiner 331-1 which can determine an intra prediction mode / type of the current block based on the intra prediction mode / type information acquired by the entropy decoder 310, a reference sample deriver 331-2 which can derive neighboring reference samples of the current block, and a prediction sample deriver 331-3 which can derive prediction samples of the current block. Further, although not shown, if the above-described prediction sample filtering process is performed, the intra predictor 331 can further include a prediction sample filter (not shown) as well.

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

[0107] Furthermore, the intra prediction type information can be implemented in various forms. As an example, the intra prediction type information can include intra prediction type index information indicating one of the intra prediction types. As another example, the intra prediction type information can include at least one of: reference sample line information (e.g., intra_luma_ref_idx) indicating whether to apply MRL to the current block and which reference sample line to use if MRL is applied; ISP flag information (e.g., intra_subpartitions_mode_flag) indicating whether ISP is applied to the current block; ISP type information (e.g., intra_subpartitions_split_flag) indicating the partition type of the sub-partitions in case ISP is applied; flag information indicating whether PDCP is applied; or flag information indicating whether LIP is applied. Furthermore, the intra prediction type information can include MIP flag indicating whether MIP is applied to the current block.

[0108] The above-described intra prediction mode information and / or intra prediction type information can be encoded / decoded by the encoding method described in this document. For example, the above-described intra prediction mode information and / or intra prediction type information can be encoded / decoded by entropy encoding (e.g., CABAC, CAVLC) based on a segment-based (Rice) binary code.

[0109] Furthermore, if intra prediction is applied, an intra prediction mode of a neighboring block can be used to determine an intra prediction mode applied to the current block. For example, the decoding device can select one of a most probable mode (mpm) candidate derived based on an intra prediction mode of a left block of the current block and an intra prediction mode of a block above the current block, or select one of remaining intra prediction modes not included in the mpm candidate based on remaining intra prediction mode information, based on a received mpm index. An mpm flag (e.g., intra_luma_mpm_flag) can be used to indicate whether the intra prediction mode applied to the current block is present in the mpm candidate or in the remaining modes. A case where the mpm flag has a value of 1 can indicate that the intra prediction mode of the current block is present in the mpm candidate (mpm list), and a case where the mpm flag has a value of 0 can indicate that the intra prediction mode of the current block is not present in the mpm candidate (mpm list). The mpm index can be signaled in the form of mpm_idx or intra_luma_mpm_idx syntax elements, and the remaining intra prediction mode information can be signaled in the form of rem_intra_luma_pred_mode or intra_luma_mpm_remainder syntax elements. For example, the remaining intra prediction mode information can index the remaining intra prediction modes not included in the mpm candidate among all intra prediction modes in an order of prediction mode number to at least one of them.

[0110] Generally, when dividing a block of an image, a current block to be encoded and neighboring blocks have similar image characteristics. Therefore, the current block and the neighboring blocks are more likely to have the same or similar intra prediction modes. Accordingly, an encoder can use the intra prediction modes of the neighboring blocks to encode the intra prediction mode of the current block. For example, an encoder / decoder can construct a most probable mode (MPM) list for the current block. The MPM list can also be referred to as an MPM candidate list. Here, the MPM can mean a mode for improving coding efficiency by considering the similarity between the current block and the neighboring blocks when encoding the intra prediction mode.

[0111] Figure 8 An example of an MPM mode based intra prediction method in an encoding device to which example embodiments of the present document are applicable is illustrated.

[0112] Reference Figure 8 The encoding device constructs an MPM list for the current block (S800). The MPM list can include candidate intra prediction modes (MPM candidates) that are more likely to be applied to the current block. The MPM list can also include intra prediction modes of neighboring blocks, and further include specific intra prediction modes according to a predetermined method. The specific method for constructing the MPM list will be described later.

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

[0114] Specifically, for example, if the intra prediction type of the current block is a specific type other than the normal intra prediction type (e.g., LIP, MRL, or ISP), the encoding device can consider only the MPM candidates and the planar mode as the intra prediction mode candidates of the current block to determine the optimal intra prediction mode. That is, in this case, the intra prediction mode of the current block can be determined only among the MPM candidates and the planar mode, and in this case, the mpm flag can not be encoded / signaled. In this case, even without separate signaling of the mpm flag, the decoding device can estimate the MPM flag as 1.

[0115] In general, if the intra prediction mode of the current block is not the planar mode but one of the MPM candidates in the MPM list, the encoding device generates an mpm index (mpm idx) indicating one of the MPM candidates. If the intra prediction mode of the current block does not even exist in the MPM list, the encoding device generates remaining intra prediction mode information indicating a mode such as the intra prediction mode of the current block among the remaining intra prediction modes not included in the MPM list (and the planar mode).

[0116] The encoding device can encode the intra prediction mode information to output it in the form of a bitstream (S820). The intra prediction mode information can include the aforementioned mpm flag, non-planar flag, mpm index, and / or remaining intra prediction mode information. In general, the mpm index and the remaining intra prediction mode information have an alternative relationship and are not signaled at the same time when indicating the intra prediction mode of one block. That is, the value 1 of the mpm flag is signaled together with the non-planar flag or the mpm index, or the value 0 of the mpm flag is signaled together with the remaining intra prediction mode information. However, as described above, if a specific intra prediction type is applied to the current block, the mpm flag is not signaled and only the non-planar flag and / or the mpm index can be signaled. That is, in this case, the intra prediction mode information can also include only the non-planar flag and / or the mpm index.

[0117] Figure 9 An example of an MPM mode-based intra prediction method in a decoding device to which the example embodiments of the present document are applicable is illustrated. Figure 9The decoding device shown in FIG can determine the Figure 8 The encoding apparatus shown in determines and signals an intra-prediction mode corresponding to the intra-prediction mode information.

[0118] Reference Figure 9 , the decoding apparatus obtains intra prediction mode information from the bitstream (S900). As described above, the intra prediction mode information may include at least one of an mpm flag, a non-planar flag, an mpm index, and remaining intra prediction modes.

[0119] The decoding device constructs an MPM list (S910). The MPM list is composed of the same MPM list configured in the encoding device. That is, the MPM list may also include intra-frame prediction modes of neighboring blocks, and further include specific intra-frame prediction modes according to a predetermined method. The specific method for constructing the MPM list will be described later.

[0120] Although it is illustrated that S910 is executed later than S900 , this is illustrative, and S910 may be executed earlier than S900 , or S900 and S910 may be executed simultaneously.

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

[0122] For example, if the value of the mpm flag is 1, the decoding device may derive the planar mode as the intra prediction mode of the current block or (based on the non-planar flag) derive the candidate indicated by the mpm index among the MPM candidates in the MPM list as the intra prediction mode of the current block. Here, the MPM candidate may also indicate only the candidates included in the MPM list, or also include the planar mode applicable to the case where the value of the mpm flag is 1 and the candidates included in the MPM list.

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

[0124] As another example, if the intra-frame prediction type of the current block is a specific type (e.g., LIP, MRL, or ISP), then even without confirmation of the mpm flag, the decoding device may derive the candidate or planar mode indicated by the mpm index in the MPM list as the intra-frame prediction mode of the current block.

[0125] In addition, the intra-frame prediction mode may include a non-directional (or non-angle) intra-frame prediction mode and a directional (or angle) intra-frame prediction mode. For example, in the HEVC standard, intra-frame prediction modes including 2 non-directional prediction modes and 33 directional prediction modes are used. The non-directional prediction mode may include a plane intra-frame prediction mode (ie, No. 0) and a DC intra-frame prediction mode (ie, No. 1). The directional prediction mode may include intra-frame prediction modes No. 2 to No. 34. The plane intra-frame prediction mode may be referred to as a plane mode, and the DC intra-frame prediction mode may be referred to as a DC mode.

[0126] Alternatively, to obtain a given edge direction proposed in a natural video, such as Figure 10 As in the , the directional intra prediction mode can be expanded from the existing 33 modes to 65 modes. In this case, the intra prediction mode may include 2 non-directional intra prediction modes and 65 directional intra prediction modes. The non-directional intra prediction mode may include a plane intra prediction mode (i.e., No. 0) and a DC intra prediction mode (i.e., No. 1). The directional intra prediction mode may include intra prediction modes No. 2 to No. 66. The extended directional intra prediction mode can be applied to blocks of all sizes and can be applied to both luminance components and chrominance components. However, this is an example, and the embodiments of this document can be applied to cases where the number of intra prediction modes is different. Intra prediction mode No. 67 according to the situation can also be used. Intra prediction mode No. 67 may indicate a linear model (LM) mode.

[0127] Figure 10 An example of an intra prediction mode to which embodiments of this document can be applied is illustrated.

[0128] Reference Figure 10 , based on the intra prediction mode No. 34 with the upper left diagonal prediction direction, the mode can be divided into an intra prediction mode with horizontal directionality and an intra prediction mode with vertical directionality. Figure 10 In the figure, H and V mean horizontal and vertical directionality, respectively. Each of the numbers -32 to 32 indicates a displacement of 1 / 32 units at a sample grid location. Intra-frame prediction modes 2 to 33 have horizontal directionality, and intra-frame prediction modes 34 to 66 have vertical directionality. Intra-frame prediction mode 18 and intra-frame prediction mode 50 indicate a horizontal intra-frame prediction mode and a vertical intra-frame prediction mode, respectively. Intra-frame prediction mode 2 can be referred to as a lower-left diagonal intra-frame prediction mode, intra-frame prediction mode 34 can be referred to as an upper-left diagonal intra-frame prediction mode, and intra-frame prediction mode 66 can be referred to as an upper-right diagonal intra-frame prediction mode.

[0129] Further, intra prediction can use MRL (Multiple Reference Lines) which uses multiple reference lines. The MRL method can perform intra prediction using neighboring samples located on sample lines which are one or three sample distances away from the top and / or left side of the current block as reference samples.

[0130] Figure 11 Examples of reference sample lines for intra prediction using multiple reference lines are illustrated. Figure 11 The block unit shown in the middle can indicate the current block.

[0131] According to an exemplary embodiment, intra prediction can use reference samples (or reference samples which are first closest to the current block, i.e., reference samples which are located at zero sample distance from the current block) as reference samples for prediction. According to another exemplary embodiment, multiple reference line (MRL) intra prediction is a method which uses reference samples which are located at K sample distances (K is an integer of 1 or more) from the left boundary and the top boundary of the current block, and can have more options for reference samples and more accurate prediction performance compared to intra prediction which uses reference samples which are closest to the current block (i.e., reference samples which are located at zero sample distance from the current block). The reference samples of the current block can also be referred to as neighboring samples of the current block or reference line samples of the current block, and the reference line samples can also be referred to as samples on the reference line.

[0132] Referring to Figure 11 The positions of the neighboring reference samples which are located at 0, 1, 2, and 3 sample distances from the current block can be referred to as reference lines 0, 1, 2, and 3, respectively. The reference lines can be referred to as reference sample lines, reference sample rows, or reference sample columns, or can also be simply referred to as lines, rows, or columns. The reference lines 0, 1, 2, and 3 can be positioned in order of proximity to the current block. As an example, multiple reference line intra prediction can be performed based on the reference lines 1, 2. As another example, multiple reference line intra prediction can be performed based on the reference lines 1, 3. However, the multiple reference line intra prediction according to the present document is not necessarily limited to these examples.

[0133] Hereinafter, the present document proposes a method of constructing an MPM candidate list for intra prediction using a zero reference line. The zero reference line indicates the reference line 0 as described above, and indicates samples which are in the reference line which is first closest to the current block, i.e., reference samples which are located at zero sample distance from the current block. For example, the zero reference line can include samples of the left reference line which is first closest to the left boundary of the current block and samples of the top reference line which is first closest to the top boundary of the current block. Further, intra prediction can be performed by constructing a proposed MPM candidate list, thereby enhancing intra prediction coding efficiency and enhancing prediction performance.

[0134] Table 1 below shows an algorithm (i.e., a specification) exemplarily indicating a method for generating an MPM candidate list using zero reference lines for intra prediction. That is, a method for generating an MPM candidate list according to the algorithm shown in Table 1 below can be implemented.

[0135] [Table 1]

[0136]

[0137]

[0138]

[0139]

[0140] The method for generating an MPM candidate list shown in Table 1 generates MPM candidates considering various cases, but does not generate an MPM candidate list with priority to a planar mode. However, if intra prediction using zero reference lines is performed, it can be more likely to apply a planar mode, and in this case, it can be efficient to generate MPM candidates by giving priority to a planar mode. Accordingly, hereinafter, the present document proposes a method for generating an MPM candidate list by giving priority to a planar mode only when a certain condition is satisfied when intra prediction is performed using zero reference lines. In this case, encoding (i.e., encoding / decoding) can be performed by assigning a smaller number of bits to a planar mode having a high frequency of occurrence, thereby enhancing encoding efficiency.

[0141] According to an exemplary embodiment, an intra prediction mode of a left neighboring block (i.e., a left mode) and an intra prediction mode of an above neighboring block (i.e., an above mode) can be derived based on the left neighboring block and the above neighboring block of the current block. Here, the left neighboring block can indicate a left neighboring block located at a lowermost portion of the left neighboring block adjacent to a left side of the current block, and the above neighboring block can indicate an above neighboring block located at a rightmost portion of the above neighboring block adjacent to an upper side of the current block. For example, if a size of the current block is WxH, an x component of a top-left sample position of the current block is xN, and a y component thereof is yN, the left neighboring block can be a block including a sample of (xN-1, yN+H-1) coordinates, and the above neighboring block can be a block including a sample of (xN+W-1, yN-1) coordinates.

[0142] At this time, if the left mode and the above mode are different intra prediction modes and both the left mode and the above mode have a mode number greater than that of a DC mode, an MPM candidate list can be generated as shown in Table 2 below.

[0143] [Table 2]

[0144]

[0145] The method shown in Table 1 first inserts the left mode and the above mode into the MPM candidate list, and then adds the planar mode and the DC mode to the MPM candidate list, but the method shown in Table 2 first inserts the left mode into the MPM candidate list, and then adds the planar mode thereto. In addition, thereafter, the method sequentially adds the above mode and the DC mode to the MPM candidate list.

[0146] For example, according to Table 2, if intra prediction is performed using a zero reference line (e.g., IntraLumaRefLineIdx = 0) and if the left mode (e.g., candIntraPredModeA) and the above mode (e.g., candIntraPredModeB) are not identical and both modes have a mode number greater than a mode number (e.g., a first mode number) of the DC mode, then the left mode (e.g., candIntraPredModeA) can be inserted into an index value 0 position (e.g., candModeList[0]) in the MPM candidate list. In addition, the planar mode (e.g., INTRA_PLANAR) can be inserted into an index value 1 position (e.g., candModeList[1]) in the MPM candidate list. In addition, the above mode (e.g., candIntraPredModeB) can be inserted into an index value 2 position (e.g., candModeList[2]) in the MPM candidate list, and the DC mode (e.g., INTRA_DC) can be inserted into an index value 3 position (e.g., candModeList[3]) in the MPM candidate list. Thereafter, remaining MPM candidates can be derived based on a difference in mode numbers between the left mode (e.g., candIntraPredModeA) and the above mode (e.g., candIntraPredModeB), and the remaining MPM candidates can be added to index values 4, 5 positions in the MPM candidate list.

[0147] If the MPM candidate list is constructed by the method shown in Table 2, the planar mode can have a higher priority than the above mode (i.e., the planar mode can be first located in the MPM candidate list), whereby encoding is performed by assigning a smaller number of bits.

[0148] Another exemplary embodiment can derive an intra prediction mode of a left neighboring block (i.e., left mode) and an intra prediction mode of an above neighboring block (i.e., above mode) based on the left neighboring block and the above neighboring block of the current block. Here, the left neighboring block can indicate the left neighboring block located at a lowermost portion of the left neighboring block adjacent to a left side of the current block, and the above neighboring block can indicate the above neighboring block located at a rightmost portion of the above neighboring block adjacent to an upper side of the current block. For example, if a size of the current block is WxH, an x component of a top-left sample position of the current block is xN, and a y component thereof is yN, the left neighboring block can be a block including a sample of (xN-1, yN+H-1) coordinates, and the above neighboring block can be a block including a sample of (xN+W-1, yN-1) coordinates.

[0149] At this time, if the left mode and the above mode are different intra prediction modes and both the left mode and the above mode have mode numbers greater than a mode number of the DC mode, an MPM candidate list can be generated as shown in Table 3 below. That is, the method shown in Table 3 below can construct the MPM candidate list by assigning the highest priority to the planar mode.

[0150] [Table 3]

[0151]

[0152] The method shown in Table 3 constructs the planar mode to be first located in the MPM candidate list, and then sequentially adds the left mode, the above mode, and the DC mode to the MPM candidate list.

[0153] For example, according to Table 3, if intra prediction is performed using a zero reference line (e.g., IntraLumaRefLineIdx = 0) and if a left mode (e.g., candIntraPredModeA) and an above mode (e.g., candIntraPredModeB) are not identical and both modes have a mode number greater than a mode number of a DC mode (e.g., a first mode number), then a planar mode (e.g., INTRA PLANAR) can be inserted into an index value 0 position (e.g., candModeList[0]) in the MPM candidate list. In addition, the left mode (e.g., candIntraPredModeA) can be inserted into an index value 1 position (e.g., candModeList[L]) in the MPM candidate list, and the above mode (e.g., candIntraPredModeB) can be inserted into an index value 2 position (e.g., candModeList[2]) in the MPM candidate list. Furthermore, the DC mode (e.g., INTRA DC) can be inserted into an index value 3 position (e.g., candModeList[3]) in the MPM candidate list. Thereafter, remaining MPM candidates can be derived based on a difference in mode numbers between the left mode (e.g., candIntraPredModeA) and the above mode (e.g., candIntraPredModeB), and the remaining MPM candidates can be added to index value 4, 5 positions in the MPM candidate list.

[0154] If the MPM candidate list is constructed by the method shown in Table 3, the planar mode is located at the front side in the MPM candidate list, thereby having a highest priority higher than other MPM candidates. Accordingly, the planar mode can be preferentially constructed as a candidate intra prediction mode of the current block. In addition, signaling and encoding can be efficiently performed using a smaller number of bits.

[0155] Yet another exemplary embodiment can derive an intra prediction mode of a left neighboring block (i.e., a left mode) and an intra prediction mode of an above neighboring block (i.e., an above mode) based on the left neighboring block and the above neighboring block of the current block. Here, the left neighboring block can indicate the left neighboring block located at a lowermost portion of the left neighboring block adjacent to a left side of the current block, and the above neighboring block can indicate the above neighboring block located at a rightmost portion of the above neighboring block adjacent to an upper side of the current block. For example, if a size of the current block is WxH, an x component of a top-left sample position of the current block is xN, and a y component thereof is yN, the left neighboring block can be a block including a sample of (xN-1, yN+H-1) coordinates, and the above neighboring block can be a block including a sample of (xN+W-1, yN-1) coordinates.

[0156] At this time, if the left mode and the above mode are different intra prediction modes and one of the left mode and the above mode is a planar mode, an MPM candidate list can be generated as shown in Table 4 below.

[0157] [Table 4]

[0158]

[0159] The method shown in Table 4 constructs a planar mode to be first in the MPM candidate list, and then adds candidate modes other than the planar mode to the MPM candidate list.

[0160] For example, according to Table 4, if intra prediction is performed using a zero reference line (e.g., IntraLumaRefLineIdx = 0) and if a left mode (e.g., candIntraPredModeA) and an above mode (e.g., candIntraPredModeB) are not identical and one of the two modes is a planar mode, a planar mode (e.g., INTRA_PLANAR) can be inserted into an index value 0 position (e.g., candModeList[0]) in the MPM candidate list. In addition, modes other than the planar mode among the left mode and the above mode can be inserted into an index value 1 position (e.g., candModeList[L]) in the MPM candidate list. In addition, a DC mode (e.g., a mode derived by 1-minAB) can be inserted into an index value 2 position (e.g., candModeList[2]) in the MPM candidate list. Thereafter, remaining MPM candidates can be derived based on a larger mode number among the left mode (e.g., candIntraPredModeA) and the above mode (e.g., candIntraPredModeB) and added to index value 3, 4, 5 positions in the MPM candidate list.

[0161] If the MPM candidate list is constructed by the method shown in Table 4, the planar mode is located at the frontmost side in the MPM candidate list, thereby having the highest priority higher than other MPM candidates. Accordingly, the planar mode can be preferentially constructed as a candidate intra prediction mode of the current block. In addition, signaling and encoding can be efficiently performed using a smaller number of bits.

[0162] Yet another exemplary embodiment can derive an intra prediction mode of a left neighboring block of a current block (i.e., a left mode) and an intra prediction mode of an above neighboring block of the current block (i.e., an above mode) based on the left neighboring block and the above neighboring block of the current block. Here, the left neighboring block can indicate a left neighboring block located at a lowermost portion of the left neighboring block adjacent to a left side of the current block, and the above neighboring block can indicate an above neighboring block located at a rightmost portion of the above neighboring block adjacent to an upper side of the current block. For example, if a size of the current block is WxH, an x component of a top-left sample position of the current block is xN, and a y component thereof is yN, the left neighboring block can be a block including a sample of (xN-1, yN+H-1) coordinates, and the above neighboring block can be a block including a sample of (xN+W-1, yN-1) coordinates.

[0163] At this time, if the left mode and the above mode are the same intra prediction mode and both the left mode and the above mode are DC mode, an MPM candidate list can be generated as shown in Table 5 below.

[0164] [Table 5]

[0165]

[0166] The method shown in Table 5 constructs a planar mode to be first located in the MPM candidate list, and then adds a DC mode to the MPM candidate list.

[0167] For example, according to Table 5, if intra prediction is performed using zero reference line (e.g., the case of IntraLumaRefLineIdx = 0) and if this is the case different from the aforementioned conditions shown in Tables 2 to 4, the MPM list can be constructed by deriving MPM candidates as shown in Table 5. As an example, if intra prediction is performed using zero reference line (e.g., the case of IntraLumaRefLineIdx = 0) and additionally if the left mode and the above mode are the same intra prediction mode and both the left mode and the above mode are DC mode, the planar mode (e.g., INTRA PLANAR) can be inserted into the index value 0 position (e.g., candModeList[0]) in the MPM candidate list. Further, the DC mode (e.g., INTRA DC) can be inserted into the index value 1 position (e.g., candModeList[1]) in the MPM candidate list. Thereafter, directional intra prediction modes can be added to the index value 2, 3, 4, 5 positions in the MPM candidate list. For example, directional intra prediction mode 50 can be added to the index value 2 position (e.g., candModeList[2]) in the MPM candidate list, directional intra prediction mode 18 can be added to the index value 3 position (e.g., candModeList[3]) in the MPM candidate list, directional intra prediction mode 46 can be added to the index value 4 position (e.g., candModeList[4]) in the MPM candidate list, and directional intra prediction mode 54 can be added to the index value 5 position (e.g., candModeList[5]) in the MPM candidate list.

[0168] If the MPM candidate list is constructed by the method shown in Table 5, the planar mode is positioned at the foremost part in the MPM candidate list, thereby having the highest priority higher than other MPM candidates. Accordingly, the planar mode can be preferentially constructed as a candidate intra prediction mode of the current block. Further, signaling and encoding can be efficiently performed using a smaller number of bits.

[0169] Still another example embodiment can be combined and used in various methods with reference to the aforementioned example embodiments of Tables 2 to 5. For example, any of the two methods shown in Tables 2 and 3 and the method shown in Table 4 are also combined and used, and the method shown in Table 4 and the method shown in Table 5 can also be combined and used. Alternatively, the example embodiments shown in Tables 2 to 5 are combined and used in various methods, and one method of the example embodiments shown in Tables 2 to 5 must be selected, and the selected method and one or more of the remaining example embodiments can also be arbitrarily combined and used.

[0170] Figure 12is a flowchart that schematically illustrates an encoding method that can be performed by an encoding apparatus according to an example embodiment of the present document.

[0171] Figure 12 The method shown in Figure 2 may be performed by the encoding apparatus 200 shown in Figure 12 The steps S1200 to S1220 shown in Figure 2 may be performed by the predictor 220 and the intra predictor 222 shown in Figure 12 The steps S1220 and S1230 shown in Figure 2 may be performed by the entropy encoder 240 shown in Figure 12 The method shown in Figure 12 may include the aforementioned example embodiments of the present document. Accordingly, in in the present document, a detailed description of the content overlapping with the aforementioned example embodiments will be omitted or simplified.

[0172] Figure 12 Referring to , the encoding apparatus can construct a most probable mode (MPM) list by deriving candidate intra prediction modes based on a first neighboring block adjacent to the left side of the current block and a second neighboring block adjacent to the top side of the current block (S1200).

[0173] Here, the first neighboring block can indicate a left neighboring block located at the lowermost portion of the left neighboring block adjacent to the left side of the current block, and the second neighboring block can indicate an upper neighboring block located at the rightmost portion of the upper neighboring block adjacent to the top side of the current block. For example, if the size of the current block is WxH, the x-component of the top-left sample position of the current block is xN, and the y-component thereof is yN, the first neighboring block can be a block including a sample of (xN-1, yN+H-1) coordinates, and the second neighboring block can be a block including a sample of (xN+W-1, yN-1) coordinates.

[0174] According to an example embodiment, if the first neighboring block is available and intra prediction is applied to the first neighboring block, the encoding apparatus can derive the intra prediction mode of the first neighboring block as a first candidate intra prediction mode. If the second neighboring block is available, intra prediction is applied to the second neighboring block, and the second neighboring block is included in the current CTU, the encoding apparatus can derive the intra prediction mode of the second neighboring block as a second candidate intra prediction mode. Alternatively, if the first neighboring block is not available or if intra prediction is not applied to the first neighboring block, the encoding apparatus can derive a planar mode as the first candidate intra prediction mode. If the second neighboring block is not available, intra prediction is not applied to the second neighboring block, or the second neighboring block is not included in the current CTU, the encoding apparatus can derive a planar mode as the second candidate intra prediction mode.

[0175] Further, the encoding apparatus can construct an MPM list of the current block based on a first candidate intra prediction mode derived from the first neighboring block and a second candidate intra prediction mode derived from the second neighboring block. At this time, the process of constructing the MPM list can be applied to the case where the zero reference sample line is used for the current block. Figure 5 The foregoing various exemplary embodiments are described in detail.

[0176] According to an exemplary embodiment, the encoding apparatus can check whether the planar mode is a candidate intra prediction mode of the current block which is prioritized over other candidate intra prediction modes based on whether the zero reference sample line for intra prediction is used for the current block. Here, as described above, the zero reference sample line can include a left reference sample line which is first closest to a left boundary of the current block and an upper reference sample line which is first closest to an upper boundary of the current block. When the zero reference sample line is used for intra prediction of the current block, the encoding apparatus can generate the MPM list by giving a condition of checking the planar mode as a candidate intra prediction mode of the current block which is prioritized over other candidate intra prediction modes under a condition of generating the MPM list. For example, when the zero reference sample line is used for intra prediction of the current block, the encoding apparatus can derive the planar mode as a candidate intra prediction mode of the current block which is prioritized over other candidate intra prediction modes included in the MPM list.

[0177] Alternatively, according to an exemplary embodiment, the encoding apparatus performs intra prediction on the current block using the zero reference sample line and constructs the MPM list by deriving candidate intra prediction modes based on a first candidate intra prediction mode of the first neighboring block and a second candidate intra prediction mode of the second neighboring block under a certain condition, i.e., according to whether a certain condition is satisfied.

[0178] For example, when the first candidate intra prediction mode of the first neighboring block is identical to the second candidate intra prediction mode of the second neighboring block and both the first candidate intra prediction mode and the second candidate intra prediction mode are DC modes, the encoding apparatus can derive candidate intra prediction modes including the DC mode. Further, the encoding apparatus can derive candidate intra prediction modes including directional intra prediction modes as well. In this case, the directional intra prediction modes can be added after the DC mode in the MPM list. For example, the directional intra prediction modes can include intra prediction mode 50 (i.e., a vertical intra prediction mode), intra prediction mode 18 (i.e., a horizontal intra prediction mode), intra prediction mode 46 (i.e., a horizontal diagonal intra prediction mode), and intra prediction mode 54 (i.e., a vertical diagonal intra prediction mode). Further, in this case, the encoding apparatus can derive the planar mode as a candidate intra prediction mode of the current block by checking whether the planar mode is a candidate intra prediction mode of the current block which is prioritized over other candidate intra prediction modes.

[0179] That is, when the first candidate intra prediction mode of the first neighboring block and the second candidate intra prediction mode of the second neighboring block are the same and both the first candidate intra prediction mode and the second candidate intra prediction mode are the DC mode, the encoding device can derive the DC mode, the intra prediction mode 50, the intra prediction mode 18, the intra prediction mode 46, and the intra prediction mode 54 as candidate intra prediction modes and construct them as the MPM list. At this time, in the MPM list, the encoding device can assign a first index to the DC mode, a second index to the intra prediction mode 50, a third index to the intra prediction mode 18, a fourth index to the intra prediction mode 46, and a fifth index to the intra prediction mode 54. Also, in this case, the encoding device can check whether the planar mode can be derived as a candidate intra prediction mode of the current block in priority to the candidate intra prediction modes (i.e., the DC mode, the intra prediction mode 50, the intra prediction mode 18, the intra prediction mode 46, and the intra prediction mode 54) based on whether the zero reference sample line for intra prediction is used for the current block.

[0180] As another example, when the first candidate intra prediction mode of the first neighboring block is not the same as the second candidate intra prediction mode of the second neighboring block and both the first candidate intra prediction mode and the second candidate intra prediction mode have mode numbers greater than the mode number of the DC mode, the encoding device can derive candidate intra prediction modes including the first candidate intra prediction mode and the second candidate intra prediction mode. Also, the encoding device can derive candidate intra prediction modes including the DC mode as well. In this case, the DC mode can be added after the first candidate intra prediction mode and the second candidate intra prediction mode in the MPM list. Also, in this case, the encoding device can construct the MPM list by checking whether the planar mode can be derived as a candidate intra prediction mode of the current block in priority to the candidate intra prediction modes (i.e., the first candidate intra prediction mode, the second candidate intra prediction mode, and the DC mode).

[0181] As another example, when the first candidate intra prediction mode of the first neighboring block is not the same as the second candidate intra prediction mode of the second neighboring block and both the first candidate intra prediction mode and the second candidate intra prediction mode have mode numbers greater than the mode number of the DC mode, the encoding device can derive candidate intra prediction modes including the first candidate intra prediction mode and the second candidate intra prediction mode. Also, the encoding device can derive candidate intra prediction modes including the DC mode as well. In this case, the DC mode can be added after the first candidate intra prediction mode and the second candidate intra prediction mode in the MPM list. Also, in this case, the encoding device can construct the MPM list by checking whether the planar mode can be derived as a candidate intra prediction mode of the current block in priority to the candidate intra prediction modes (i.e., the first candidate intra prediction mode, the second candidate intra prediction mode, and the DC mode).

[0182] As yet another example, when the first candidate intra prediction mode of the first neighboring block and the second candidate intra prediction mode of the second neighboring block are not identical and one of the first candidate intra prediction mode and the second candidate intra prediction mode is a planar mode, the encoding apparatus can construct the MPM list by checking whether the candidate intra prediction mode that is the planar mode among the first candidate intra prediction mode and the second candidate intra prediction mode can be preferentially derived as the candidate intra prediction mode of the current block. That is, in this case, the encoding apparatus can first derive the planar mode as the candidate intra prediction mode, and then derive the intra prediction modes other than the planar mode among the first candidate intra prediction mode and the second candidate intra prediction mode as the candidate intra prediction modes. Further, the encoding apparatus can also derive the DC mode as the candidate intra prediction mode, and then derive the remaining candidate intra prediction modes through a specific operation based on the greater mode number of the first candidate intra prediction mode and the second candidate intra prediction mode. As described above, the derived candidate intra prediction modes can be included in the MPM list in order.

[0183] The encoding apparatus can derive the intra prediction mode of the current block based on the MPM list (S1210), and generate the intra prediction mode information indicating the intra prediction mode of the current block (S1220).

[0184] According to an exemplary embodiment, the encoding apparatus can derive the intra prediction mode having the best rate-distortion (RD) cost by performing various intra prediction modes with respect to the current block, and determine the intra prediction mode as the intra prediction mode of the current block. At this time, the encoding apparatus can derive the best intra prediction mode of the current block based on the intra prediction modes including 2 non-directional intra prediction modes and 65 directional intra prediction modes.

[0185] In addition, the encoding apparatus can determine whether the best intra prediction mode derived with respect to the current block is one of the candidate intra prediction modes in the MPM list, and generate the intra prediction mode information of the current block according to the determination result. For example, if the intra prediction mode of the current block is included in the candidate intra prediction modes in the MPM list, the encoding apparatus can generate the intra prediction mode information (e.g., MPM index information) indicating the intra prediction mode of the current block among the candidate intra prediction modes in the MPM list. Alternatively, if the intra prediction mode of the current block is not included in the candidate intra prediction modes in the MPM list, the encoding apparatus can generate the remaining mode information indicating the intra prediction mode of the current block among the remaining candidate intra prediction modes other than the candidate intra prediction modes in the MPM list.

[0186] The encoding apparatus can generate the MPM flag information based on whether the best intra prediction mode derived for the current block is one of the candidate intra prediction modes in the MPM list. For example, if the intra prediction mode of the current block is included in the candidate intra prediction modes in the MPM list, the encoding apparatus can generate the MPM flag information as 1. Alternatively, if the intra prediction mode of the current block is not included in the candidate intra prediction modes in the MPM list, the encoding apparatus can generate the MPM flag information as 0.

[0187] The encoding apparatus can encode the image information including the intra prediction mode information (S1230).

[0188] According to an exemplary embodiment, as described above, the encoding apparatus can encode the image information including the intra prediction mode information of the current block derived based on the MPM list (e.g., MPM index information, remaining mode information, MPM flag information, etc.).

[0189] Further, the encoding apparatus can generate the prediction sample of the current block based on the intra prediction mode of the current block. According to an exemplary embodiment, the encoding apparatus can derive at least one of the neighboring reference samples of the current block based on the intra prediction mode, and generate the prediction sample based on the neighboring reference samples. Here, the neighboring reference samples can include a top-left corner neighboring sample, an upper neighboring sample, and a left neighboring sample of the current block. For example, if the size of the current block is WxH, the x-component of the top-left sample position of the current block is xN, and the y-component thereof is yN, the left neighboring samples can be p[xN-1][yN] to p[xN-1][2H+yN-1], the top-left corner neighboring sample can be p[xN-1][yN-1], and the upper neighboring samples can be p[xN][yN-1] to p[2W+xN-1][yN-1].

[0190] Further, the encoding apparatus can derive the residual sample of the current block based on the prediction sample of the current block and the original sample of the current block. Further, the encoding apparatus can generate the residual information of the current block based on the residual sample, and encode the image information including the residual information. Here, the residual information can include information such as value information, position information, transform technique, transform kernel, and quantization parameter of the quantized transform coefficient derived by transforming and quantizing the residual sample.

[0191] That is, the encoding apparatus can encode the image information including the aforementioned intra prediction mode information and / or the residual information of the current block to output the encoded image information in the form of a bitstream.

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

[0193] The aforementioned process of generating the prediction samples of the current block can be performed by the intra predictor 222 of the encoding device 200 shown in FIG. 2, the process of deriving the residual samples can be performed by the subtractor 231 of the encoding device 200 shown in FIG. 2, and the process of generating and encoding the residual information can be performed by the residual processor 230 and the entropy encoder 240 of the encoding device 200 shown in FIG. 2. Figure 2 The aforementioned process of generating the prediction samples of the current block can be performed by the intra predictor 222 of the encoding device 200 shown in FIG. 2, the process of deriving the residual samples can be performed by the subtractor 231 of the encoding device 200 shown in FIG. 2, and the process of generating and encoding the residual information can be performed by the residual processor 230 and the entropy encoder 240 of the encoding device 200 shown in FIG. 2. Figure 2 The aforementioned process of generating the prediction samples of the current block can be performed by the intra predictor 222 of the encoding device 200 shown in FIG. 2, the process of deriving the residual samples can be performed by the subtractor 231 of the encoding device 200 shown in FIG. 2, and the process of generating and encoding the residual information can be performed by the residual processor 230 and the entropy encoder 240 of the encoding device 200 shown in FIG. 2. Figure 2 The aforementioned process of generating the prediction samples of the current block can be performed by the intra predictor 222 of the encoding device 200 shown in FIG. 2, the process of deriving the residual samples can be performed by the subtractor 231 of the encoding device 200 shown in FIG. 2, and the process of generating and encoding the residual information can be performed by the residual processor 230 and the entropy encoder 240 of the encoding device 200 shown in FIG. 2.

[0194] Figure 13 is a flowchart schematically illustrating a decoding method that can be performed by a decoding device according to an example embodiment of the present document.

[0195] Figure 13 The method shown in FIG. 13 can be performed by the decoder 300 shown in FIG. 3. Specifically, Figure 3 The steps S1300 to S1320 shown in FIG. 13 can be performed by the predictor 330 and the intra predictor 331 shown in FIG. 3, and Figure 13 The steps S1300 to S1320 shown in FIG. 13 can be performed by the predictor 330 and the intra predictor 331 shown in FIG. 3, and Figure 3 The step S1330 shown in FIG. 13 can be performed by the residual processor 320 and / or the adder 340 shown in FIG. 3. Furthermore, Figure 13 The step S1330 shown in FIG. 13 can be performed by the residual processor 320 and / or the adder 340 shown in FIG. 3. Furthermore, Figure 3 The method shown in FIG. 13 can include the aforementioned example embodiments of the present document. Therefore, in Figure 13 The method shown in FIG. 13 can include the aforementioned example embodiments of the present document. Therefore, in Figure 13 The method shown in FIG. 13 can include the aforementioned example embodiments of the present document. Therefore, in

[0196] Referring to Figure 13 , the decoding device can construct a most probable mode (MPM) list by deriving candidate intra prediction modes based on a first neighboring block adjacent to the left side of the current block and a second neighboring block adjacent to the top side of the current block (S1300).

[0197] Here, the first neighboring block can indicate a left neighboring block located at the lowermost portion of the left neighboring block adjacent to the left side of the current block, and the second neighboring block can indicate an upper neighboring block located at the rightmost portion of the upper neighboring block adjacent to the top side of the current block. For example, if the size of the current block is WxH, the x-component of the top-left sample position of the current block is xN, and the y-component thereof is yN, the first neighboring block can be a block including a sample of (xN-1, yN+H-1) coordinates, and the second neighboring block can be a block including a sample of (xN+W-1, yN-1) coordinates.

[0198] According to an example embodiment, if the first neighboring block is available and intra prediction is applied to the first neighboring block, the decoding device can derive an intra prediction mode of the first neighboring block as a first candidate intra prediction mode. If the second neighboring block is available, intra prediction is applied to the second neighboring block, and the second neighboring block is included in the current CTU, the decoding device can derive an intra prediction mode of the second neighboring block as a second candidate intra prediction mode. Alternatively, if the first neighboring block is not available or if intra prediction is not applied to the first neighboring block, the decoding device can derive a planar mode as the first candidate intra prediction mode. If the second neighboring block is not available, intra prediction is not applied to the second neighboring block, or the second neighboring block is not included in the current CTU, the decoding device can derive the planar mode as the second candidate intra prediction mode.

[0199] Further, the decoding device can construct an MPM list of the current block based on the first candidate intra prediction mode derived from the first neighboring block and the second candidate intra prediction mode derived from the second neighboring block. At this time, the process of constructing the MPM list can be applied to the case where the zero reference sample line is used for the intra prediction of the current block. Figure 5 The foregoing various example embodiments are described in detail.

[0200] According to an example embodiment, the decoding device can check whether a planar mode is a candidate intra prediction mode of the current block that is prioritized over other candidate intra prediction modes based on whether a zero reference sample line for the intra prediction of the current block is used. Here, as described above, the zero reference sample line can include a left reference sample line that is first closest to a left boundary of the current block and an upper reference sample line that is first closest to an upper boundary of the current block. When the zero reference sample line is used for the intra prediction of the current block, the decoding device can generate an MPM list by giving a condition of checking a planar mode in priority to other candidate intra prediction modes under a condition of generating the MPM list. For example, when the zero reference sample line is used for the intra prediction of the current block, the decoding device can derive a planar mode as a candidate intra prediction mode of the current block in priority to other candidate intra prediction modes included in the MPM list.

[0201] Alternatively, according to an example embodiment, the decoding device can perform the intra prediction on the current block using the zero reference sample line and construct an MPM list by deriving candidate intra prediction modes based on a first candidate intra prediction mode of the first neighboring block and a second candidate intra prediction mode of the second neighboring block under a certain condition, i.e., according to whether a certain condition is satisfied.

[0202] For example, when the first candidate intra prediction mode of the first neighboring block is the same as the second candidate intra prediction mode of the second neighboring block and both the first candidate intra prediction mode and the second candidate intra prediction mode are DC mode, the decoding device can derive candidate intra prediction modes including DC mode. Further, the decoding device can derive candidate intra prediction modes that also include directional intra prediction modes. In this case, the directional intra prediction modes can be added after DC mode in the MPM list. For example, the directional intra prediction modes can include intra prediction mode 50 (i.e., vertical intra prediction mode), intra prediction mode 18 (i.e., horizontal intra prediction mode), intra prediction mode 46 (i.e., horizontal diagonal intra prediction mode), and intra prediction mode 54 (i.e., vertical diagonal intra prediction mode). Further, in this case, the decoding device can derive the planar mode as a candidate intra prediction mode for the current block by checking whether the planar mode is a candidate intra prediction mode for the current block that is prioritized over the candidate intra prediction modes.

[0203] That is, when the first candidate intra prediction mode of the first neighboring block is the same as the second candidate intra prediction mode of the second neighboring block and both the first candidate intra prediction mode and the second candidate intra prediction mode are DC mode, the decoding device can derive DC mode, intra prediction mode 50, intra prediction mode 18, intra prediction mode 46, and intra prediction mode 54 as candidate intra prediction modes and construct them as the MPM list. At this time, in the MPM list, the decoding device can assign a first index to DC mode, a second index to intra prediction mode 50, a third index to intra prediction mode 18, a fourth index to intra prediction mode 46, and a fifth index to intra prediction mode 54. Further, in this case, the decoding device can check whether the planar mode can be derived as a candidate intra prediction mode for the current block that is prioritized over the candidate intra prediction modes (i.e., DC mode, intra prediction mode 50, intra prediction mode 18, intra prediction mode 46, and intra prediction mode 54) based on whether a zero reference sample line for intra prediction is used for the current block.

[0204] As another example, when the first candidate intra prediction mode of the first neighboring block is not the same as the second candidate intra prediction mode of the second neighboring block and both the first candidate intra prediction mode and the second candidate intra prediction mode have a mode number greater than the mode number of the DC mode, the decoding device can derive candidate intra prediction modes including the first candidate intra prediction mode and the second candidate intra prediction mode. Further, the decoding device can derive candidate intra prediction modes also including the DC mode. In this case, the DC mode can be added after the first candidate intra prediction mode and the second candidate intra prediction mode in the MPM list. Further, in this case, the decoding device can construct the MPM list by checking whether the planar mode can be derived as a candidate intra prediction mode for the current block preferentially than one of the first candidate intra prediction mode and the second candidate intra prediction mode.

[0205] As another example, when the first candidate intra prediction mode of the first neighboring block is not the same as the second candidate intra prediction mode of the second neighboring block and both the first candidate intra prediction mode and the second candidate intra prediction mode have a mode number greater than the mode number of the DC mode, the decoding device can derive candidate intra prediction modes including the first candidate intra prediction mode and the second candidate intra prediction mode. Further, the decoding device can derive candidate intra prediction modes also including the DC mode. In this case, the DC mode can be added after the first candidate intra prediction mode and the second candidate intra prediction mode in the MPM list. Further, in this case, the decoding device can construct the MPM list by checking whether the planar mode can be derived as a candidate intra prediction mode for the current block preferentially than one of the first candidate intra prediction mode and the second candidate intra prediction mode.

[0206] As another example, when the first candidate intra prediction mode of the first neighboring block is not the same as the second candidate intra prediction mode of the second neighboring block and one of the first candidate intra prediction mode and the second candidate intra prediction mode is the planar mode, the decoding device can construct the MPM list by checking whether the candidate intra prediction mode that is the planar mode among the first candidate intra prediction mode and the second candidate intra prediction mode can be derived as a candidate intra prediction mode for the current block preferentially. That is, in this case, the decoding device can first derive the planar mode as a candidate intra prediction mode, and then derive intra prediction modes other than the planar mode among the first candidate intra prediction mode and the second candidate intra prediction mode as candidate intra prediction modes. Further, the decoding device can also derive the DC mode as a candidate intra prediction mode, and then derive remaining candidate intra prediction modes through a specific operation based on the greater mode number of the first candidate intra prediction mode and the second candidate intra prediction mode. As described above, the derived candidate intra prediction modes can be included in the MPM list in order.

[0207] The decoding device can derive the intra prediction mode of the current block based on the MPM list (S1310).

[0208] According to an example embodiment, the decoding device can obtain the intra prediction mode information of the current block from the bitstream. The intra prediction mode information, which is information for indicating the intra prediction mode of the current block, can include MPM flag information, MPM index information, remaining mode information, etc.

[0209] The decoding device can obtain the MPM flag information indicating whether the intra prediction mode of the current block is included in the candidate intra prediction modes in the MPM list. Further, the decoding device can obtain the MPM index information or the remaining mode information based on the MPM flag information. Here, the MPM flag information can be signaled in the form of an intra_luma_mpm_flag syntax element. The MPM index information can be signaled in the form of an mpm_idx or an intra_luma_mpm_idx syntax element. The remaining mode information can be signaled in the form of a rem_intra_luma_pred_mode or an intra_luma_mpm_remainder syntax element.

[0210] For example, if the intra prediction mode of the current block is included in the candidate intra prediction modes in the MPM list (i.e., if the MPM flag information indicates 1), the decoding device can obtain the MPM index information indicating the intra prediction mode of the current block among the candidate intra prediction modes in the MPM list, and derive the candidate intra prediction mode indicated by the MPM index information in the MPM list as the intra prediction mode of the current block.

[0211] Alternatively, if the intra prediction mode of the current block is not included in the candidate intra prediction modes in the MPM list (i.e., if the MPM flag information indicates 0), the decoding device can obtain the remaining mode information indicating the intra prediction mode of the current block among the remaining intra prediction modes other than the candidate intra prediction modes in the MPM list. Further, the decoding device can derive the intra prediction mode indicated by the remaining mode information as the intra prediction mode of the current block.

[0212] The decoding device can generate the prediction samples of the current block based on the intra prediction mode (S1320).

[0213] According to an exemplary embodiment, the decoding apparatus can derive at least one of neighboring reference samples of the current block based on the intra prediction mode derived as described above, and generate a prediction sample based on the neighboring reference samples. Here, the neighboring reference samples can include a top-left neighboring sample, an upper neighboring sample, and a left neighboring sample of the current block. For example, if the size of the current block is WxH, the x-component of the position of the top-left sample of the current block is xN, and the y-component thereof is yN, the left neighboring samples can be p[xN-1][yN] to p[xN-1][2H+yN-1], the top-left neighboring sample can be p[xN-1][yN-1], and the upper neighboring samples can be p[xN][yN-1] to p[2W+xN-1][yN-1].

[0214] The decoding apparatus can generate a reconstructed picture of the current block based on the prediction sample (S1330).

[0215] According to an exemplary embodiment, the decoding apparatus can also use the prediction sample as a reconstructed sample directly according to the prediction mode, or generate the reconstructed sample by also adding a residual sample to the prediction sample.

[0216] If there is a residual sample of the current block, the decoding apparatus can receive information related to a residual of the current block. The information related to the residual can include transform coefficients related to the residual sample. The decoding apparatus can derive the residual sample (or residual sample array) of the current block based on the residual information. The decoding apparatus can generate a reconstructed sample based on the prediction sample and the residual sample, and can derive a reconstructed block or a reconstructed picture based on the reconstructed sample. Thereafter, the decoding apparatus can apply an in-loop filtering process such as a deblocking filter and / or an SAO process to the reconstructed picture, if necessary, to enhance subjective / objective picture quality, as described above.

[0217] In the above-mentioned embodiments, although the methods have been described based on flowcharts in the form of a series of steps or units, embodiments of the present document are not limited to the order of the steps, and some of the steps can be executed in an order different from that of the other steps or can be executed simultaneously with the other steps. Also, those skilled in the art will appreciate that the steps shown in the flowcharts are not exclusive and that additional steps can be included or one or more steps of the flowcharts can be deleted without affecting the scope of the present document.

[0218] The above-mentioned methods according to the present document can be implemented in software form, and the encoding apparatus and / or the decoding apparatus according to the present document can be included in an apparatus for performing image processing, for example, a TV, a computer, a smart phone, a set-top box, or a display device.

[0219] In the present document, when the embodiments are implemented in software form, the above-mentioned methods can be implemented as a module (program, function, etc.) for performing the above-mentioned functions. The module can be stored in the memory and executed by the processor. The memory can be arranged inside or outside the processor, and connected to the processor through various well-known means. The processor can include an application-specific integrated circuit (ASIC), other chip sets, logic circuit, and / or data processing device. The memory can include a read-only memory (ROM), random access memory (RAM), flash memory, memory card, storage medium, and / or other storage device. That is, the embodiments described in the present document can be implemented on and executed by a processor, microprocessor, controller, or chip. For example, the functional units exemplified in the accompanying drawings can be implemented on and executed by a computer, processor, microprocessor, controller, or chip. In this case, information (e.g., information on instructions) or an algorithm for such implementation can be stored in a digital storage medium.

[0220] Further, the decoding apparatus and the encoding apparatus of the present document can be included in a multimedia broadcast transmitting and receiving device, a mobile communication terminal, a home theater video device, a digital theater video device, a surveillance camera, a video chat device, a real-time communication device such as a video communication, a mobile streaming device, a storage medium, a camcorder, a video on demand (VoD) service providing device, an over-the-top (OTT) video device, an Internet streaming service providing device, a three-dimensional (3D) video device, a virtual reality (VR) device, an augmented reality (AR) device, a video phone video device, a transportation terminal (e.g., a vehicle (including an autonomous vehicle) terminal, an airplane terminal, and a ship terminal), and a medical video device, and can be used to process a video signal or a data signal. For example, the over-the-top (OTT) video device can include a game console, a Blueray player, an Internet access TV, a home theater system, a smart phone, a tablet PC, and a digital video recorder (DVR).

[0221] Further, the processing method to which the present document is applied can be generated in the form of a program executed by a computer, and can be stored in a computer-readable recording medium. Multimedia data having a data structure according to the present document can also be stored in a computer-readable recording medium. The computer-readable recording medium includes all kinds of storage devices in which computer-readable data are stored. The computer-readable recording medium can include, for example, a Blueray 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 disc, and an optical data storage device. Further, the computer-readable recording medium includes a medium implemented in the form of a carrier wave (e.g., transmission through the Internet). Further, a bitstream generated using an encoding method can be stored in a computer-readable recording medium or can be transmitted through wired and wireless communication networks.

[0222] Furthermore, the embodiments of the present document can be implemented as a computer program product using program code. The program code can be executed by a computer according to the embodiments of the present document. The program code can be stored on a carrier readable by the computer.

[0223] Figure 14 An example of a content streaming system to which the embodiments disclosed in the present document can be applied is illustrated.

[0224] Referring to Figure 14 , the content streaming system to which the embodiments of the present document are applied can mainly include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.

[0225] The encoding server compresses content input from a multimedia input device such as a smart phone, a camera, a camcorder, or the like into digital data to generate a bitstream, and transmits the bitstream to the streaming server. As another example, when a multimedia input device such as a smart phone, a camera, a camcorder, or the like directly generates a bitstream, the encoding server can be omitted.

[0226] The bitstream can be generated by applying an encoding method or a bitstream generation method of the embodiments of the present document, and the streaming server can temporarily store the bitstream in a process of transmitting or receiving the bitstream.

[0227] The streaming server transmits multimedia data to a user device through a web server based on a request of a user, and the web server serves as a medium to inform a user of a service. When a user requests a desired service to the web server, the web server transmits the same to the streaming server, and the streaming server transmits multimedia data to the user. In this case, the content streaming system can include a separate control server. In this case, the control server is used to control commands / responses between devices in the content streaming system.

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

[0229] Examples of the user device can include a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation, a touch screen PC, a tablet PC, an ultrabook, a wearable device (e.g., a smart watch, smart glasses, a head-mounted display), a digital TV, a desktop computer, a digital signage, or the like.

[0230] The various servers in the content streaming system can operate as distributed servers, in which case the data received from the various servers can be distributed.

Claims

1. A decoding device for image decoding, the decoding device comprising: Memory; as well as at least one processor coupled to the memory, the at least one processor configured to: Obtaining intra prediction mode information from a bitstream; deriving a first intra-frame prediction mode of a first neighboring block adjacent to the left side of a current block and a second intra-frame prediction mode of a second neighboring block adjacent to the upper side of the current block; Constructing a most probable mode (MPM) list based on the first intra prediction mode and the second intra prediction mode; deriving an intra prediction mode of the current block based on the MPM list and the intra prediction mode information; generating a prediction sample of the current block based on the intra prediction mode; as well as generating a reconstructed sample based on the predicted sample, The MPM list includes candidate intra prediction modes for the current block. wherein, based on the fact that the first intra prediction mode of the first neighboring block and the second intra prediction mode of the second neighboring block are the same and both the first intra prediction mode and the second intra prediction mode are DC modes, the candidate intra prediction modes in the MPM list include the DC mode and include intra prediction mode 50, intra prediction mode 18, intra prediction mode 46, and intra prediction mode 54, and Among them, in the MPM list, the index value of the DC mode is smaller than the index value of the intra-frame prediction mode 50, the index value of the intra-frame prediction mode 50 is smaller than the index value of the intra-frame prediction mode 18, the index value of the intra-frame prediction mode 18 is smaller than the index value of the intra-frame prediction mode 46, and the index value of the intra-frame prediction mode 46 is smaller than the index value of the intra-frame prediction mode 54.

2. A coding device for image coding, the coding device comprising: Memory; as well as at least one processor coupled to the memory, the at least one processor configured to: deriving a first intra-frame prediction mode of a first neighboring block adjacent to the left side of a current block and a second intra-frame prediction mode of a second neighboring block adjacent to the upper side of the current block; Constructing a most probable mode (MPM) list based on the first intra prediction mode and the second intra prediction mode; generating intra prediction mode information based on the MPM list; as well as encoding the image information including the intra-frame prediction mode information, The MPM list includes candidate intra prediction modes for the current block. wherein, based on the fact that the first intra prediction mode of the first neighboring block and the second intra prediction mode of the second neighboring block are the same and both the first intra prediction mode and the second intra prediction mode are DC modes, the candidate intra prediction modes in the MPM list include the DC mode and include intra prediction mode 50, intra prediction mode 18, intra prediction mode 46, and intra prediction mode 54, and Among them, in the MPM list, the index value of the DC mode is smaller than the index value of the intra-frame prediction mode 50, the index value of the intra-frame prediction mode 50 is smaller than the index value of the intra-frame prediction mode 18, the index value of the intra-frame prediction mode 18 is smaller than the index value of the intra-frame prediction mode 46, and the index value of the intra-frame prediction mode 46 is smaller than the index value of the intra-frame prediction mode 54.

3. A device for transmitting data of image information, the device comprising: at least one processor configured to obtain a bitstream of the image information, wherein the bitstream is generated based on the following steps: deriving a first intra prediction mode of a first neighboring block adjacent to the left side of a current block and a second intra prediction mode of a second neighboring block adjacent to the upper side of the current block, constructing a most probable mode (MPM) list based on the first intra prediction mode and the second intra prediction mode, generating intra prediction mode information based on the MPM list, and encoding image information including the intra prediction mode information; and a transmitter configured to transmit the data of the bit stream including the image information, The MPM list includes candidate intra prediction modes for the current block. wherein, based on the fact that the first intra prediction mode of the first neighboring block and the second intra prediction mode of the second neighboring block are the same and both the first intra prediction mode and the second intra prediction mode are DC modes, the candidate intra prediction modes in the MPM list include the DC mode and include intra prediction mode 50, intra prediction mode 18, intra prediction mode 46, and intra prediction mode 54, and Among them, in the MPM list, the index value of the DC mode is smaller than the index value of the intra-frame prediction mode 50, the index value of the intra-frame prediction mode 50 is smaller than the index value of the intra-frame prediction mode 18, the index value of the intra-frame prediction mode 18 is smaller than the index value of the intra-frame prediction mode 46, and the index value of the intra-frame prediction mode 46 is smaller than the index value of the intra-frame prediction mode 54.

Citation Information

Patent Citations

  • MPM list-based intra prediction method and device

    CN113574871A