Image encoding / decoding method, apparatus, and recording medium storing bitstream.
Patent Information
- Application Number
- JP2026503660
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-28
- Filing Date
- 2024-08-28
- Publication Date
- 2026-09-08
AI Technical Summary
【0028】 本発明によれば、符号化/復号化効率が向上した画像符号化/復号化方法及び装置が提供できる。
Smart Images

Figure 2026530304000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an image encoding / decoding method, apparatus, and recording medium for storing a bitstream. Specifically, the present invention relates to an image encoding / decoding method, apparatus, and recording medium for storing a bitstream that uses a template-based intra-mode derivation (TIMD) method based on a variety of intra-predictive mode candidates. [Background technology]
[0002] Recently, the demand for high-resolution, high-quality images, such as UHD (Ultra High Definition) images, has been increasing in various fields. As image data becomes higher resolution and higher quality, the relative amount of data increases compared to existing image data. Therefore, when transmitting image data using existing wired or wireless broadband lines or storing it using existing storage media, transmission and storage costs increase. To solve these problems that arise with higher resolution and quality image data, highly efficient image coding / decoding technologies for images with even higher resolution and image quality are required.
[0003] Template-based intra-mode derivation (TIMD), used in image coding / decoding techniques, is an intra-prediction method that analyzes templates for arbitrary directional (angular) / non-angular) intra-prediction candidate modes to generate a predictive signal.
[0004] The TIMD method only analyzes templates for the regular intra-prediction mode, without considering other intra-prediction modes that can improve prediction quality. Therefore, there is a need for a method to improve prediction quality and coding performance by extending TIMD's intra-prediction candidate modes to consider intra-prediction modes other than the regular intra-prediction mode. [Overview of the project] [Problems that the invention aims to solve]
[0005] The present invention aims to provide an image coding / decoding method and apparatus with improved coding / decoding efficiency.
[0006] Furthermore, the present invention aims to provide a recording medium that stores a bitstream generated by an image decoding method or apparatus according to the present invention.
[0007] Furthermore, in order to solve the above-mentioned problems, the present invention aims to provide a method for generating prediction blocks by extending the intra-prediction candidate modes of template-based intra-mode derivation (TIMD). [Means for solving the problem]
[0008] An image decoding method according to an embodiment of the present invention comprises: determining an intra prediction mode of a current block as a template-based intra mode derivation (TIMD) mode; determining a first intra prediction mode and a second intra prediction mode of the current block from among a plurality of candidate intra prediction modes based on a current template including reference samples adjacent to the current block; deriving a first prediction block of the current block based on the first intra prediction mode; deriving a second prediction block of the current block based on the second intra prediction mode; deriving a third prediction block of the current block based on a predetermined intra prediction mode; and deriving a final prediction block of the current block based on a weighted sum of the first prediction block, the second prediction block, and the third prediction block, wherein the plurality of candidate intra prediction modes include an intra prediction mode that generates a prediction block of the current block based on a block vector of the current block, and the block vector of the current block may have accuracy in units of integer pixels or fractional pixels.
[0009] In the image decoding method, the predetermined intra prediction mode may be one non-directional intra prediction mode.
[0010] In the image decoding method, the first intra prediction mode may be an intra template matching prediction mode (IntraTMP).
[0011] In the image decoding method, a weight applied to the first prediction block may be determined based on a cost value of the current template predicted based on the intra template matching prediction mode.
[0012] In the image decoding method, the step of deriving the final prediction block of the current block may perform weighted summation on the first prediction block and the second prediction block based on a comparison result between a cost value of the current template predicted based on the intra template matching prediction mode and a cost value of the current template predicted and derived based on the second intra prediction mode.
[0013] In the image decoding method, the accuracy of the block vector of the current block may be determined based on information indicating the accuracy of the block vector of the intra template matching prediction mode.
[0014] In the image decoding method, the information indicating the accuracy of the block vector of the intra template matching prediction mode may be signaled dependently on information related to TIMD.
[0015] In the image decoding method, the first intra prediction mode may be characterized in that it is intra block copy (IBC).
[0016] In the image decoding method, the weight applied to the first prediction block may be determined based on the cost value of the current template predicted based on the intra block copy.
[0017] In the image decoding method, the step of deriving the final prediction block of the current block may perform weighted summation on the first prediction block and the second prediction block based on a comparison result between a cost value of the current template predicted based on the intra block copy and a cost value of the current template predicted and derived based on the second intra prediction mode.
[0018] In the image decoding method, the accuracy of the block vector of the current block may be determined based on information indicating the accuracy of the block vector used for intra block copy.
[0019] In the image decoding method described above, information indicating the accuracy of the block vector used for the intrablock copy may be signaled in a manner dependent on information regarding TIMD.
[0020] In the image decoding method described above, the plurality of candidate intra-prediction modes may include a spatially combined intra-intra prediction (SCIIP) mode that uses different intra-prediction modes from each other, and the first intra-prediction mode may be characterized by being the SCIIP mode.
[0021] In the image decoding method, the weights applied to the first prediction block may be determined based on the cost value of the current template predicted based on the SCIIP mode.
[0022] In the image decoding method described above, the step of guiding the final predicted block of the current block may involve weighting the first predicted block and the second predicted block based on a comparison between the cost value of the current template predicted based on the SCIIP mode and the cost value of the current template predicted based on the second intra-prediction mode.
[0023] In the image decoding method described above, the first intra prediction mode is determined to be the SCIIP mode based on information indicating the SCIIP mode, and the information indicating the SCIIP mode may be signaled dependently to information regarding intra template matching prediction.
[0024] An image coding method according to one embodiment of the present invention includes the steps of: determining the intra-prediction mode of the current block to a template-based intra-mode derivation (TIMD) mode; determining a first intra-prediction mode and a second intra-prediction mode of the current block from among a plurality of candidate intra-prediction modes based on a current template that includes a reference sample adjacent to the current block; deriving a first predicted block of the current block based on the first intra-prediction mode; deriving a second predicted block of the current block based on the second intra-prediction mode; deriving a third predicted block of the current block based on a predetermined intra-prediction mode; and deriving a final predicted block of the current block based on a weighted sum of the first predicted block, the second predicted block, and the third predicted block, wherein the plurality of candidate intra-prediction modes include an intra-prediction mode that generates a predicted block of the current block based on the block vector of the current block, and the block vector of the current block may have an accuracy of integer pixels or fractional pixels.
[0025] A non-temporary computer-readable recording medium according to one embodiment of the present invention may store a bitstream generated by an image encoding method, comprising the steps of: determining the intra-prediction mode of the current block to a template-based intra-mode derivation (TIMD) mode; determining a first intra-prediction mode and a second intra-prediction mode of the current block from among a plurality of candidate intra-prediction modes based on a current template including a reference sample adjacent to the current block; guiding a first predicted block of the current block based on the first intra-prediction mode; guiding a second predicted block of the current block based on the second intra-prediction mode; guiding a third predicted block of the current block based on a predetermined intra-prediction mode; and guiding a final predicted block of the current block based on a weighted sum of the first predicted block, the second predicted block, and the third predicted block, wherein the plurality of candidate intra-prediction modes include an intra-prediction mode that generates a predicted block of the current block based on the block vector of the current block, and the block vector of the current block has precision in units of integer pixels or fractional pixels.
[0026] A transmission method according to one embodiment of the present invention includes the steps of transmitting a bitstream, wherein the encoding method includes the steps of: determining the intra-prediction mode of the current block to a template-based intra-prediction mode induction (TIMD) mode; determining a first intra-prediction mode and a second intra-prediction mode of the current block based on a current template that includes a reference sample adjacent to the current block from among a plurality of candidate intra-prediction modes; inducing a first prediction block of the current block based on the first intra-prediction mode; inducing a second prediction block of the current block based on the second intra-prediction mode; inducing a third prediction block of the current block based on a predetermined intra-prediction mode; and inducing a final prediction block of the current block based on a weighted sum of the first prediction block, the second prediction block and the third prediction block, wherein the plurality of candidate intra-prediction modes include intra-prediction modes that generate prediction blocks of the current block based on the block vector of the current block, and the block vector of the current block may have an accuracy of integer pixels or fractional pixels.
[0027] The features of this disclosure described above are merely illustrative examples of the detailed description of this disclosure described below and do not limit the scope of this disclosure. [Effects of the Invention]
[0028] According to the present invention, an image encoding / decoding method and apparatus with improved encoding / decoding efficiency can be provided.
[0029] Furthermore, according to the present invention, a method for generating prediction blocks based on a template-based intra-mode derivation (TMMD) method using various intra-prediction candidate modes can be provided.
[0030] The effects derived from this disclosure are not limited to those described above, and other effects not mentioned above can be clearly understood by a person with ordinary skill in the art to which this disclosure pertains from the following description. [Brief explanation of the drawing]
[0031] [Figure 1] This is a block diagram showing the configuration of one embodiment of an encoding device to which the present invention is applied.
[0032] [Figure 2] This is a block diagram showing the configuration of one embodiment of a decoding device to which the present invention is applied.
[0033] [Figure 3] This figure schematically illustrates a video coding system to which the present invention can be applied.
[0034] [Figure 4] This figure illustrates a template-based intra-predictive mode induction method according to one embodiment of the present invention.
[0035] [Figure 5] This diagram illustrates intra-template matching prediction using one embodiment of the present invention.
[0036] [Figure 6] This diagram illustrates an intrablock copy-based prediction method using one embodiment of the present invention.
[0037] [Figure 7] This figure illustrates a spatially coupled intra-intra prediction method according to one embodiment of the present invention.
[0038] [Figure 8] This flowchart shows an image decoding method according to one embodiment of the present invention.
[0039] [Figure 9] This figure illustrates a content streaming system to which embodiments of the present invention can be applied. [Modes for carrying out the invention]
[0040] The present invention can be modified in various ways and may have various embodiments, but specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this should not be understood as limiting the present invention to specific embodiments, but rather as including all modifications, equivalents, or substitutions that fall within the spirit and art of the present invention. Similar reference numerals in the drawings refer to the same or similar functions across various aspects. The shapes and sizes of elements in the drawings, etc., are provided illustratively for a clearer explanation. Detailed descriptions of the exemplary embodiments described below refer to the accompanying drawings that illustrate specific embodiments. These embodiments are described in detail so as to be sufficient for those skilled in the art to carry out the embodiments. It should be understood that the various embodiments are different from one another but do not necessarily have to be mutually exclusive. For example, certain shapes, structures, and characteristics described herein can be realized in other embodiments without departing from the spirit and scope of the invention with respect to one embodiment. It should also be understood that the position or arrangement of individual components within each disclosed embodiment can be changed without departing from the spirit and scope of the embodiment. Therefore, the detailed explanations set forth below are not intended to be restrictive, and the scope of exemplary embodiments is limited only by the attached claims, along with all equivalents to those claimed, if properly described.
[0041] In this invention, terms such as “first,” “second,” etc., may be used to describe various components, but those components should not be limited by those terms. These terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the invention, the first component may be referred to as the second component, and similarly, the second component may be referred to as the first component. The term “and / or” includes a combination of multiple related descriptions, or any one of multiple related descriptions.
[0042] The components shown in the embodiments of the present invention are shown independently to represent distinct characteristic functions, and this does not mean that each component consists of a separate hardware or software component. That is, each component is listed and included for convenience of explanation, and at least two of these components may be combined to form one component, or one component may be divided into multiple components to perform functions. Such integrated and separated embodiments of each component are also included within the scope of the present invention, as long as they do not depart from the essence of the invention.
[0043] The terms used in this invention are used solely to describe specific embodiments and do not limit the invention. A singular expression includes plural expressions unless the context clearly indicates otherwise. Furthermore, some components of this invention may not be essential components performing essential functions, but rather optional components for performance enhancement. This invention can be realized by including only the components essential to achieving the essence of the invention, excluding components used solely for performance enhancement, and a structure including only the essential components, excluding optional components used solely for performance enhancement, is also within the scope of this invention.
[0044] In embodiments, the term "at least one" can mean one of one or more numbers such as 1, 2, 3, and 4. In embodiments, the term "a plurality of" can mean one of two or more numbers such as 2, 3, and 4.
[0045] Embodiments of the present invention will be described in detail below with reference to the drawings. In describing the embodiments of this specification, if it is determined that a specific description of a related known configuration or function may obscure the gist of this specification, such detailed description will be omitted, the same reference numerals will be used for the same components in the drawings, and redundant descriptions of the same components will be omitted.
[0046] Explanation of terms
[0047] In the following, "image" can mean a single picture that makes up a video, or it can refer to the video itself. For example, "encoding and / or decoding of an image" can mean "encoding and / or decoding of a video," or it can mean "encoding and / or decoding of one of the images that make up a video."
[0048] In the following, "moving image" and "video" may be used interchangeably and are interchangeable. Furthermore, the target image may be an image to be encoded and / or an image to be decoded. The target image may also be an input image input to an encoding device or an input image input to a decoding device. Here, the target image may have the same meaning as the current image.
[0049] In the following, the terms "encoder" and "image encoding device" may be used interchangeably and are interchangeable.
[0050] In the following, the terms "decoder" and "image decoding device" may be used interchangeably and are interchangeable.
[0051] In the following, "image," "picture," "frame," and "screen" can be used interchangeably and are not interchangeable.
[0052] In the following, "target block" may be the block to be encoded and / or the block to be decoded. Furthermore, the target block may be the current block currently being encoded and / or decoded. For example, "target block" and "current block" can be used interchangeably and are interchangeable.
[0053] In the following, "block" and "unit" can be used interchangeably and are interchangeable. Furthermore, "unit" can refer to a unit that includes a luminance (Luma) component block and its corresponding chroma component block, in order to distinguish it from a block. For example, a coding tree unit (CTU) can consist of two chroma component (Cb, Cr) coding tree blocks associated with one luminance component (Y) coding tree block (CTB).
[0054] In the following, "sample," "pixel," and "image" can be used interchangeably and are interchangeable. Here, a sample can represent the basic unit that makes up a block.
[0055] In the following, "inter" and "between screens" can be used interchangeably and are interchangeable.
[0056] In the following, "intra" and "on screen" can be used interchangeably and are interchangeable.
[0057]
[0058] Figure 1 is a block diagram showing the configuration of one embodiment of an encoding device to which the present invention is applied.
[0059] The encoding device 100 may be an encoder, a video encoding device, or an image encoding device. The video may contain one or more images. The encoding device 100 can sequentially encode one or more images.
[0060] Referring to Figure 1, the encoding device 100 may include an image splitting unit 110, an intra prediction unit 120, a motion prediction unit 121, a motion compensation unit 122, a switch 115, a subtractor 113, a conversion unit 130, a quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160, an inverse conversion unit 170, an adder 117, a filter unit 180, and a reference picture buffer 190.
[0061] Furthermore, the encoding device 100 can generate a bitstream containing encoded information through encoding of the input image, and can output the generated bitstream. The generated bitstream can be stored on a computer-readable recording medium or streamed via a wired / wireless transmission medium.
[0062] The image splitting unit 110 can split an input image into various forms to improve the efficiency of video encoding / decoding. That is, the input video is composed of multiple pictures, and a single picture can be hierarchically divided and processed for compression efficiency, parallel processing, etc. For example, a single picture can be divided into one or more tiles or slices, and then further divided into multiple Coding Tree Units (CTUs). Alternatively, a single picture can first be divided into multiple sub-pictures defined as groups of rectangular slices, and each sub-picture can be divided into the aforementioned tiles / slice. Here, sub-pictures can be used to support the function of partially independent encoding / decoding and transmitting a picture. Since multiple sub-pictures can each be restored individually, they have the advantage of being easy to edit in applications where a multi-channel input is configured into a single picture. It is also possible to divide tiles horizontally to generate bricks. Here, bricks can be used as the basic unit for parallel processing within a picture. Furthermore, a single CTU can be recursively divided into a Quadtree (QT), and the terminal nodes of the division can be defined as a Coding Unit (CU). A CU can be divided into a Prediction Unit (PU) and a Transform Unit (TU), and prediction and division can be performed. On the other hand, a CU can be used as both a prediction unit and / or a transformation unit. Here, for flexible division, each CTU can be recursively divided not only into a Quadtree (QT) but also into a Multi-Type Tree (MTT). A CTU can begin by dividing into a Multi-Type Tree at the terminal nodes of the QT, and an MTT can consist of a Binary Tree (BT) and a Triple Tree (TT). For example, the MTT structure can be classified into vertical binary partitioning mode (SPLIT_BT_VER), horizontal binary partitioning mode (SPLIT_BT_HOR), vertical ternary partitioning mode (SPLIT_TT_VER), and horizontal ternary partitioning mode (SPLIT_TT_HOR).Furthermore, during partitioning, the minimum block size (MinQTSize) for the luminance block quad tree can be set to 16x16, the maximum block size (MaxBtSize) for the binary tree to 128x128, and the maximum block size (MaxTtSize) for the triple tree to 64x64. Additionally, the minimum block size (MinBtSize) for the binary tree and the minimum block size (MinTtSize) for the triple tree can be set to 4x4, and the maximum depth (MaxMttDepth) for the multitype tree can be set to 4. To improve the coding efficiency of I-slice, a dual tree can also be applied, which uses different CTU partitioning structures for luminance and chrominance components. On the other hand, for P and B-slice, the luminance and chrominance CTBs (Coding Tree Blocks) within the CTU can be partitioned into a single tree that shares a coding tree structure.
[0063] The encoding device 100 can encode the input image in intra-mode and / or inter-mode. Alternatively, the encoding device 100 can encode the input image in a third mode (e.g., IBC mode, Palette mode, etc.) instead of the intra-mode and inter-mode. However, if the third mode has similar functional characteristics to the intra-mode or inter-mode, it may be classified as the intra-mode or inter-mode for convenience of explanation. In this invention, the third mode will be classified and described separately only when a specific explanation of it is necessary.
[0064] When intra-mode is used as the prediction mode, switch 115 can be switched to intra, and when inter-mode is used as the prediction mode, switch 115 can be switched to inter. Here, intra-mode can mean in-screen prediction mode, and inter-mode can mean inter-screen prediction mode. The encoding device 100 can generate prediction blocks for the input blocks of the input image. After the prediction blocks are generated, the encoding device 100 can encode residual blocks using the difference (residual) between the input blocks and the prediction blocks. The input image can be called the current image, which is currently being encoded. The input blocks can be called the current blocks or encoding target blocks, which are currently being encoded.
[0065] When the prediction mode is intra mode, the intra prediction unit 120 can use samples of already encoded / decoded blocks surrounding the current block as reference samples. The intra prediction unit 120 can perform spatial prediction for the current block using the reference samples and generate prediction samples for the input block through spatial prediction. Here, intra prediction can mean in-screen prediction.
[0066] As an intra-prediction method, non-directional prediction modes such as DC mode and Planar mode, and directional prediction modes (e.g., 65 directions) can be applied. Here, the intra-prediction method can be expressed as either an intra-prediction mode or an in-screen prediction mode.
[0067] When the prediction mode is intermode, the motion prediction unit 121 can search for the region that best matches the input block from the reference image during the motion prediction process, and can use the searched region to induce a motion vector. In this case, the search region can be used as the region. The reference image can be stored in the reference picture buffer 190. Here, the reference image can be stored in the reference picture buffer 190 when encoding / decoding is processed for the reference image.
[0068] The motion compensation unit 122 can generate predicted blocks for the current block by performing motion compensation using motion vectors. Here, inter-prediction can mean inter-screen prediction or motion compensation.
[0069] The motion prediction unit 121 and motion compensation unit 122 can generate prediction blocks by applying an interpolation filter to a portion of the reference image when the value of the motion vector does not have an integer value. In order to perform inter-screen prediction or motion compensation, the system can determine, based on the encoding unit, which of the following methods the motion prediction and motion compensation method of the prediction unit included in the encoding unit is: Skip Mode, Merge Mode, Advanced Motion Vector Prediction (AMVP) Mode, or Intra Block Copy (IBC) Mode, and perform inter-screen prediction or motion compensation according to each mode.
[0070] Furthermore, based on the aforementioned inter-screen prediction method, the AFFINE mode, SbTMVP (Subblock-based Temporal Motion Vector Prediction) mode, and the MMVD (Merge with MVD) mode and GPM (Geometric Partitioning Mode) modes of sub-PU-based prediction can also be applied. In addition, to improve the performance of each mode, HMVP (History based MVP), PAMVP (Pairwise Average MVP), CIIP (Combined Intra / Inter Prediction), AMVR (Adaptive Motion Vector Resolution), BDOF (Bi-Directional Optical-Flow), BCW (Bi-predictive with CU Weight), LIC (Local Illumination Compensation), TM (Template Matching), OBMC (Overlapped Block Motion Compensation), etc., can also be applied.
[0071] Among these, AFFINE mode is used in both AMVP mode and MERGE mode, and is a highly efficient coding technique. Conventional video coding standards perform Motion Compensation (MC) considering only the translation of blocks, and therefore have the drawback of not being able to properly compensate for real-world movements such as zoom in / out and rotation. To compensate for this, a 4-parameter affine motion model using two control point motion vectors (CPMV) and a 6-parameter affine motion model using three control point motion vectors can be applied to interpretation. Here, CPMV is a vector that represents the affine motion model of one of the top-left, top-right, or bottom-left corners of the current block.
[0072] The subtractor 113 can generate residual blocks using the difference between the input blocks and the prediction blocks. Residual blocks are sometimes called residual signals. A residual signal can represent the difference between the original signal and the prediction signal. Alternatively, a residual signal may be a signal generated by transforming, quantizing, or transforming and quantizing the difference between the original signal and the prediction signal. A residual block may be a residual signal on a block-by-block basis.
[0073] The transformation unit 130 can perform a transformation on the residual block to generate a transformation coefficient and output the generated transformation coefficient. Here, the transformation coefficient may be a coefficient value generated by performing a transformation on the residual block. When the transformation skip mode is applied, the transformation unit 130 may omit the transformation on the residual block.
[0074] By applying quantization to the conversion coefficients or residual signals, a quantized level can be generated. In the following embodiments, the quantized level may also be referred to as a conversion coefficient.
[0075] For example, a 4x4 luminance residual block generated via intra-prediction can be transformed using a DST (Discrete Sine Transform) based basis vector, while the remaining residual blocks can be transformed using a DCT (Discrete Cosine Transform) based basis vector. Additionally, a Residual Quad Tree (RQT) technique can be used to divide the transformed blocks into a quad-tree structure for a single block. After transformation and quantization are performed on each transformed block divided via RQT, a coded block flag (cbf) can be transmitted to improve coding efficiency when all coefficients are zero.
[0076] Another alternative is to apply the Multiple Transform Selection (MTS) technique, which selectively uses several transformation basis sets to perform the transformation. That is, instead of dividing the CU into TUs via RQT, a function similar to TU division can be performed via the Sub-block Transform (SBT) technique. Specifically, SBT is applied only to inter-screen prediction blocks, and unlike RQT, it divides the current block into 1 / 2 or 1 / 4 sizes vertically or horizontally, and then performs the transformation on only one of those blocks. For example, if divided vertically, the transformation can be performed on the leftmost or rightmost block, and if divided horizontally, the transformation can be performed on the top or bottommost block.
[0077] Additionally, LFNST (Low Frequency Non-Separable Transform), a secondary transform technique that further transforms residual signals converted to the frequency domain via DCT or DST, can be applied. LFNST concentrates the residual coefficients in the upper left corner by further transforming the 4x4 or 8x8 low-frequency region in the upper left corner.
[0078] The quantization unit 140 can generate a quantization level by quantizing the conversion coefficients or residual signal according to the quantization parameter (QP), and can output the generated quantization level. In this case, the quantization unit 140 can quantize the conversion coefficients using a quantization matrix.
[0079] For example, a quantizer using QP values from 0 to 51 can be used. Alternatively, if the image size is larger and higher encoding efficiency is required, QP values from 0 to 63 can be used. Furthermore, instead of using one quantizer, a DQ (Dependent Quantization) method using two quantizers can be applied. DQ performs quantization using two quantizers (e.g., Q0, Q1), but it can be applied so that the quantizer to be used for the next transformation coefficient is selected based on the current state via a state transition model, without signaling information about the use of a specific quantizer.
[0080] The entropy coding unit 150 can generate a bitstream by performing entropy coding according to a probability distribution on values calculated by the quantization unit 140 or coding parameter values calculated during the coding process, and can output the bitstream. The entropy coding unit 150 can perform entropy coding on information about image samples and information for decoding images. For example, information for decoding images may include syntax elements.
[0081] When entropy coding is applied, the size of the bit sequence for the symbols to be coded can be reduced by assigning fewer bits to symbols with a high probability of occurrence and more bits to symbols with a low probability of occurrence. The entropy coding unit 150 can use coding methods such as exponential Golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding) for entropy coding. For example, the entropy coding unit 150 can perform entropy coding using a Variable Length Coding / Code (VLC) table. Alternatively, the entropy coding unit 150 can derive a binarization method for the target symbols and a probability model for the target symbols / bins, and then perform arithmetic coding using the derived binarization method, probability model, and context model.
[0082] In this regard, when applying CABAC, the table probability update method can be changed to a table update method using a simple mathematical formula in order to reduce the size of the probability table stored in the decoder. Furthermore, two different probability models can be used to obtain more accurate symbol probability values.
[0083] The entropy coding unit 150 can convert two-dimensional block-shaped coefficients into one-dimensional vector shapes via a transform coefficient scanning method in order to encode the transformation coefficient level (quantization level).
[0084] Coding parameters can include not only information (flags, indices, etc.) that is encoded by the encoding device 100 and signaled to the decoding device 200, like syntax elements, but also information that is induced during the encoding or decoding process, and can mean information necessary when encoding or decoding an image.
[0085] Here, signaling a flag or index can mean, in the case of an encoder, entropy encoding the flag or index and including it in the bitstream, and in the case of a decoder, entropy decoding the flag or index from the bitstream.
[0086] The encoded current image can be used as a reference image for other images to be processed later. Therefore, the encoding device 100 can re-decode or decode the encoded current image, and the re-decoded image can be stored as a reference image in the reference picture buffer 190.
[0087] The quantization level can be dequantized in the dequantization unit 160 and inverse transformed in the inverse transform unit 170. The dequantized and / or inverse transformed coefficients can be combined with a prediction block via the adder 117, and a reconstructed block can be generated by combining the dequantized and / or inverse transformed coefficients with the prediction block. Here, the dequantized and / or inverse transformed coefficients mean coefficients that have undergone at least one of dequantization and / or inverse transformation, and can mean the reconstructed residual block. The dequantization unit 160 and the inverse transform unit 170 can be performed in the reverse process of the quantization unit 140 and the transform unit 130.
[0088] The reconstructed block can pass through the filter section 180. The filter section 180 can apply filtering techniques such as a deblocking filter, sample adaptive offset (SAO), adaptive loop filter (ALF), bilateral filter (BIF), and LMCS (Luma Mapping with Chroma Scaling) to the reconstructed sample, reconstructed block, or reconstructed image, either in whole or in part. The filter section 180 can also be called an in-loop filter. In this case, "in-loop filter" can also be used as a name other than LMCS.
[0089] Deblocking filters can remove block distortion that occurs at the boundaries between blocks. To determine whether or not to apply a deblocking filter, the decision can be made based on samples contained in several columns or rows within the block. When applying a deblocking filter to a block, different filters can be applied depending on the required deblocking filtering strength.
[0090] Sample-adaptive offsets can be used to compensate for encoding errors by adding an appropriate offset value to the sample value. Sample-adaptive offsets can correct the offset from the original image on a sample-by-sample basis for deblocked images. One method involves dividing the samples contained in the image into a certain number of regions, determining the regions to be offset, and applying the offset to those regions, or applying the offset while considering the edge information of each sample.
[0091] Bilateral filters (BIFs) can also correct the offset between a deblocked image and the original image on a sample-by-sample basis.
[0092] Adaptive loop filters can perform filtering based on a comparison between the reconstructed image and the original image. After dividing the samples contained in the image into predetermined groups, the filter to be applied to each group can be determined, allowing for differential filtering of each group. Information related to whether or not to apply an adaptive loop filter can be signaled for each coding unit (CU), and the shape and filter coefficients of the applied adaptive loop filter may vary depending on the block.
[0093] In LMCS (Luma Mapping with Chroma Scaling), luma mapping (LM) refers to remapping luminance values via a piece-wise linear model, while chroma scaling (CS) refers to a technique that scales the residual values of the color difference components according to the average luminance value of the predicted signal. In particular, LMCS can be used as an HDR correction technique that reflects the characteristics of HDR (High Dynamic Range) images.
[0094] The restored block or restored image after passing through the filter unit 180 can be saved in the reference picture buffer 190. The restored block after passing through the filter unit 180 may be part of the reference image. In other words, the reference image may be a restored image consisting of the restored block after passing through the filter unit 180. The saved reference image can subsequently be used for inter-screen prediction or motion compensation.
[0095] Figure 2 is a block diagram showing the configuration of one embodiment of a decoding device to which the present invention is applied.
[0096] The decoding device 200 may be a decoder, a video decoding device, or an image decoding device.
[0097] Referring to Figure 2, the decoding device 200 may include an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an intra prediction unit 240, a motion compensation unit 250, an adder 201, a switch 203, a filter unit 260, and a reference picture buffer 270.
[0098] The decoding device 200 can receive the bitstream output from the encoding device 100. The decoding device 200 can receive the bitstream stored on a computer-readable recording medium or the bitstream streamed via a wired / wireless transmission medium. The decoding device 200 can perform decoding on the bitstream in intra-mode or inter-mode. The decoding device 200 can also generate a restored image or a decoded image, and can output a restored image or a decoded image.
[0099] If the prediction mode used for decoding is intra-mode, switch 203 can be switched to intra. If the prediction mode used for decoding is inter-mode, switch 203 can be switched to inter.
[0100] The decoding device 200 can decode the input bitstream and obtain the reconstructed residual block, and can generate a predicted block. Once the reconstructed residual block and the predicted block are obtained, the decoding device 200 can generate a reconstructed block to be decoded by adding the reconstructed residual block and the predicted block. The block to be decoded can be called the current block.
[0101] The entropy decoding unit 210 can generate symbols by performing entropy decoding on the bitstream using a probability distribution. The generated symbols may include symbols in quantization level form. Here, the entropy decoding method may be the inverse process of the entropy coding method described above.
[0102] The entropy decoding unit 210 can convert one-dimensional vector shape coefficients into two-dimensional block shapes via a conversion coefficient scanning method in order to decode the conversion coefficient level (quantization level).
[0103] The quantization level can be dequantized by the dequantization unit 220 and inversely transformed by the inverse transform unit 230. The quantization level is the result of dequantization and / or inverse transformation and can be generated as a restored residual block. In this case, the dequantization unit 220 can apply a quantization matrix to the quantization level. The dequantization unit 220 and inverse transform unit 230 applied to the decoding device can apply the same techniques as the dequantization unit 160 and inverse transform unit 170 applied to the encoding device described above.
[0104] When intra-mode is used, the intra-prediction unit 240 can generate predicted blocks by performing spatial predictions on the current block using sample values of already decoded blocks surrounding the block to be decoded. The intra-prediction unit 240 applied to the decoding device can apply the same techniques as the intra-prediction unit 120 applied to the encoding device described above.
[0105] When intermode is used, the motion compensation unit 250 can generate predicted blocks by performing motion compensation on the current block using the motion vector and the reference image stored in the reference picture buffer 270. If the value of the motion vector does not have an integer value, the motion compensation unit 250 can generate predicted blocks by applying an interpolation filter to a portion of the reference image. To perform motion compensation, the motion compensation unit can determine whether the motion compensation method of the prediction unit included in the encoding unit is skip mode, merge mode, AMVP mode, or current picture reference mode, based on the encoding unit, and motion compensation can be performed according to each mode. The motion compensation unit 250 applied to the decoding device can apply the same techniques as the motion compensation unit 122 applied to the encoding device described above.
[0106] The adder 201 can generate a reconstructed block by adding the reconstructed residual block and the predicted block. The filter unit 260 can apply at least one of the following to the reconstructed block or the reconstructed image: an inverse-LMCS, a deblocking filter, a sample-adaptive offset, and an adaptive loop filter. The filter unit 260 applied to the decoding device can apply filtering techniques similar to those applied to the filter unit 180 applied to the encoding device described above.
[0107] The filter unit 260 can output a restored image. The restored block or restored image is stored in the reference picture buffer 270 and can be used for inter-frame prediction. The restored block that has passed through the filter unit 260 may be part of the reference image. In other words, the reference image may be a restored image consisting of restored blocks that have passed through the filter unit 260. The stored reference image can subsequently be used for inter-frame prediction or motion compensation.
[0108] Figure 3 is a schematic diagram showing a video coding system to which the present invention can be applied.
[0109] A video coding system according to one embodiment may include an encoding device 10 and a decoding device 20. The encoding device 10 can transmit encoded video and / or image information or data to the decoding device 20 via a digital storage medium or network in file or streaming format.
[0110] An encoding device 10 according to one embodiment may include a video source generation unit 11, an encoding unit 12, and a transmission unit 13. A decoding device 20 according to one embodiment may include a receiving unit 21, a decoding unit 22, and a rendering unit 23. The encoding unit 12 may be called a video / image encoding unit, and the decoding unit 22 may be called a video / image decoding unit. The transmission unit 13 may be included in the encoding unit 12. The receiving unit 21 may be included in the decoding unit 22. The rendering unit 23 may also include a display unit, which may be composed of a separate device or external component.
[0111] The video source generation unit 11 can acquire video / images through video / image capture, synthesis, or generation processes. The video source generation unit 11 may include a video / image capture device and / or a video / image generation device. The video / image capture device may include, for example, one or more cameras, or a video / image archive containing previously captured video / images. The video / image generation device may include, for example, a computer, tablet, and smartphone, and may generate video / images (electronically). For example, virtual video / images may be generated via a computer, in which case the process of generating related data can be substituted for the video / image capture process.
[0112] The encoding unit 12 can encode the input video / image. The encoding unit 12 can perform a series of steps such as prediction, transformation, and quantization for compression and encoding efficiency. The encoding unit 12 can output the encoded data (encoded video / image information) in bitstream format. The detailed configuration of the encoding unit 12 can also be configured in the same way as the encoding device 100 shown in Figure 1 above.
[0113] The transmission unit 13 can transmit encoded video / image information or data output in bitstream format to the receiving unit 21 of the decoding device 20 via a digital storage medium or network in file or streaming format. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. The transmission unit 13 may include elements for generating media files via a predetermined file format and may include elements for transmission via a broadcast / communication network. The receiving unit 21 can extract / receive the bitstream from the storage medium or network and transmit it to the decoding unit 22.
[0114] The decoding unit 22 can decode video / images by performing a series of procedures such as inverse quantization, inverse transform, and prediction, corresponding to the operation of the encoding unit 12. The detailed configuration of the decoding unit 22 can also be configured in the same way as the decoding device 200 shown in Figure 2 above.
[0115] The rendering unit 23 can render the decoded video / image. The rendered video / image can be displayed via the display unit.
[0116]
[0117] Template-based intra-mode derivation (TIMD) is an intra-prediction method that analyzes a template of the current block to generate a predictive signal.
[0118] The following describes a method for performing intra-prediction based on a template-based intra-prediction mode induction method that extends the candidate intra-prediction mode according to one embodiment of the present invention, with reference to Figures 4 to 8.
[0119]
[0120] Figure 4 illustrates a template-based intra-predictive mode induction method according to one embodiment of the present invention.
[0121] Referring to Figure 4, prediction samples for the current template 420 can be generated by applying an arbitrary candidate intra-prediction mode to the template reference pixel 430, which is a pixel adjacent to the current template 420, which is the template of the current block 410. Here, the arbitrary candidate intra-prediction mode can be an angular mode and / or a non-angular mode. The size of the current template 420 may be L1 × N and / or L2 × M, and L1, L2, N, and M may all be positive integers.
[0122] Then, the similarity between the predicted samples of template 420 and the samples reconstructed in template 420 can be derived. The similarity can be derived based on the cost value of the predicted samples of template 420 calculated using an arbitrary cost function. Here, the two intra-prediction modes with the lowest cost values among any candidate intra-prediction modes can be selected as TIMD modes. Prediction samples of block 410 can be generated using the two selected TIMD modes. Then, the prediction samples of block 410 generated using the two TIMD modes can be weighted summed using specific weights. According to one embodiment, any candidate intra-prediction modes used in TIMD may include MPM (most probable mode) and / or WAIP (wide angle intra prediction) modes.
[0123] According to one embodiment of the present invention, in TIMD, additional intra-prediction candidate modes can be used in addition to MPM and / or WAIP modes. That is, the candidate intra-prediction modes used in the template-based intra-prediction mode induction method are extensible.
[0124] According to one embodiment of the present invention, an intra-template matching prediction mode can be used as a candidate intra-prediction mode for a template-based intra-prediction mode induction method. An intra-template matching prediction according to one embodiment of the present invention and a method for performing intra-prediction based on a template-based intra-prediction mode induction method using intra-template matching will be described.
[0125] Figure 5 illustrates intra-template matching prediction using one embodiment of the present invention.
[0126] Referring to Figure 5, intra-template matching prediction can determine the optimal prediction block for the current block 510 in the reconstructed area 530 within the current picture 500, based on the current block 510. Specifically, in intra-template matching prediction, the set of adjacent reference pixels surrounding the current block 510 can be defined as the current template 520. Then, based on the current template 520, a template matching base search is performed within the reconstructed area 530 to find the template with the highest similarity to the current template 520 (simillar template 540), and the matching block 550 can be determined. Here, the matching block 550 can be used as the prediction block for the current block 510.
[0127] On the other hand, template matching can be performed on predefined regions R1, R2, R3, and R4 from the already reconstructed regions 530, and the search order may be R1, R2, R3, and R4.
[0128] According to one embodiment of the present invention, the candidate intra-prediction modes used in the template-based intra-prediction mode induction method may further include intra-template matching prediction modes. Two intra-prediction modes can be selected from the candidate intra-prediction modes to induce prediction samples for the two current templates having the lowest cost values. If one of the two selected intra-prediction modes is an intra-template matching prediction mode, then prediction samples for the current block can be induced by weighting the prediction samples induced using the intra-template matching prediction mode and the prediction samples induced using the other intra-prediction mode, as shown in equation (1) below.
[0129]
number
[0130] Here, Pred can mean the final predicted value. M1 This can mean predicted sample values using the M1 candidate intra prediction mode. M2 This can represent the predicted sample value using the M2 candidate intra prediction mode. M1 This can mean the weights applied to the predicted samples induced using the M1 mode. And ω M2 This can be interpreted as the weight applied to the predicted sample induced using the M2 mode, where 0 ≤ ω M1 ≤ 1, and 0 ≤ ω M2 The value is ≤ 1.
[0131] Cost M1 This can mean the cost value of the predicted sample of the current template induced using the M1 mode. And Cost M2 This can also mean the cost value applied to the predicted samples of the current template induced using the M2 mode. Here, the cost value can be derived using cost functions such as SAD (sum of absolute differences), MSE (mean squared error), SSD (sum of squared differences), and SATD (sum of absolute transformed differences).
[0132] According to another embodiment of the present invention, if one of the selected intra-prediction modes is an intra-template matching prediction mode, and the conditions relating to the selected intra-prediction mode are met, the prediction samples generated using the selected intra-prediction mode can be weighted together to derive the final prediction sample for the current block. For example, if the cost value of the prediction sample generated using the selected first intra-prediction mode is less than or equal to a real multiple of the cost value of the prediction sample generated using the selected second intra-prediction mode, the prediction samples generated using the selected intra-prediction mode can be weighted together to derive the final prediction sample for the current block.
[0133] On the other hand, if the conditions for the selected intra-prediction mode are not met, the prediction sample for the current block can be derived using one of the intra-prediction modes used to derive the prediction sample for the current template with the lowest cost value. For example, if the prediction sample for the current template derived using intra-template matching has the lowest cost value, the prediction block for the current block may be generated using intra-template matching.
[0134] From the candidate intra-prediction modes, X intra-prediction modes may ultimately be selected. That is, from the candidate intra-prediction modes, including the intra-template matching prediction mode, X intra-prediction modes M1, M2, ..., MX may be selected in ascending order of cost value. If one of the selected intra-prediction modes is an intra-template matching prediction mode, the prediction samples induced by performing intra-template matching prediction on the current block may be weighted together with the prediction samples induced using the other candidate intra-prediction modes.
[0135] In another embodiment, if one of the selected intra-prediction modes is an intra-template matching prediction mode, and the conditions for the selected intra-prediction mode are met, the prediction samples generated using the selected intra-prediction mode can be weighted together to derive the final prediction sample for the current block. Conversely, if the conditions for the selected intra-prediction mode are not met, the prediction sample for the current block may be deriveted using one of the intra-prediction modes used to derive the prediction sample for the current template with the lowest cost value. For example, if the cost value of the prediction sample for the current template deriveted using intra-template matching is the smallest, the prediction block for the current block may be generated using intra-template matching.
[0136] According to another embodiment, when weighting together prediction samples induced using selected X intra-prediction modes from among candidate intra-prediction modes by a template-based intra-prediction mode induction method, prediction samples induced using a predefined predetermined intra-prediction mode can be weighted together. Prediction samples induced using a predefined predetermined intra-prediction mode can always be weighted together by the template-based intra-prediction mode induction method. Alternatively, prediction samples induced using a predefined predetermined intra-prediction mode can be weighted together only if the selected X intra-prediction modes do not include a predefined predetermined intra-prediction mode. Alternatively, the intra-prediction mode with the highest cost value among the selected X intra-prediction modes may be replaced by a predefined predetermined intra-prediction mode. Here, the predetermined intra-prediction mode may be a predefined intra-prediction mode such as Planar mode or DC mode.
[0137] For example, as shown in equation (2), a prediction sample can be generated by weighting prediction samples induced using X selected intra-prediction modes and a predetermined intra-prediction mode called the Planar mode.
[0138]
Number
[0139] Here, Pred may represent a final prediction value. Pred M1 may represent a prediction sample value obtained by using an M1 candidate intra prediction mode. Pred M2 may represent a prediction sample value obtained by using an M2 candidate intra prediction mode. Pred MX may represent a prediction sample value obtained by using an MX candidate intra prediction mode. Pred Planar may represent a prediction sample value obtained by using a Planar mode.
[0140] ω M1 may represent a weight applied to a prediction sample derived by using an M1 mode. ω M2 may represent a weight applied to a prediction sample derived by using an M2 mode. ω MX may represent a weight applied to a prediction sample derived by using an MX mode. And ω Planar may represent a weight applied to a prediction sample derived by using the Planar mode. Each weight is a real number greater than or equal to 0 and less than or equal to 1, and a sum of the respective weights is 1.
[0141] Furthermore, according to one embodiment of the present invention, the block vector (BV) used in the intra-template matching prediction mode, which is used as a candidate intra-template prediction mode by the template-based intra-prediction mode induction method, can have integer pixel (integer-pel) or / or fractional pixel (fractional-pel) precision. The block vector of the intra-template matching prediction mode can be stored in any buffer (e.g., a BV buffer, a history-based motion vector prediction (HMVP) buffer, etc.) with integer pixel or / or fractional pixel precision. The block vector stored with integer pixel or / or fractional pixel precision can be used in the encoding / decoding process of blocks after the current block.
[0142] The integer pixel precision of a block vector can be an integer value of 2 squared, such as 2, 4, 8, or 16, in addition to 1 pixel. The fractional pixel precision of a block vector can be a value such as 1 / 2, 1 / 4, 1 / 8, or 1 / 16. To generate samples with fractional pixel precision, pre-designed interpolation filters with an arbitrary number of taps, cubic interpolation filters with an arbitrary number of taps, Gaussian interpolation filters with an arbitrary number of taps, and bilinear interpolation filters can be used. When a one-dimensional interpolation filter is used, the interpolation filters can be applied sequentially in the order of horizontal, vertical, or vertical, horizontal. If some input samples located at the boundary of the reference area are unavailable during the process of applying interpolation filters to generate fractional pixel precision samples, some input samples may be generated via padding or replaced with arbitrary values.
[0143] Information indicating the unit of precision of a block vector can also be signaled at a lower level (e.g., CU (coding unit), PU (prediction unit), TU (transform unit), etc.) depending on whether TIMD is used (e.g., timd_enabled_flag) or whether TIMD extension is enabled (e.g., timd_extension_flag) which is signaled at a higher level (e.g., VPS (video parameter set), SPS (sequence parameter set), PPS (picture parameter set), picture header, slice header, etc.). In this case, the decoder can determine the unit of precision information of the block vector used for intra-template matching prediction, which is a candidate intra-prediction mode of TIMD (integer pixel precision such as 1, 2, 4, 8, 16 or fractional pixel precision such as 1 / 2, 1 / 4, 1 / 8, 1 / 16), depending on the value of the syntactic element (or syntactic element) signaled at the low level.
[0144]
[0145] According to another embodiment of the present invention, an intrablock copy mode can be used as a candidate intraprediction mode for a template-based intraprediction mode induction method. An intrablock copy according to one embodiment of the present invention and a method for performing intraprediction based on a template-based intraprediction mode induction method using an intrablock copy are described below.
[0146] Figure 6 illustrates an intrablock copy-based prediction method according to one embodiment of the present invention.
[0147] Referring to Figure 6, based on the block vector 620 of the current block 610, the matching block 640 can be searched within the predefined search ranges R1, R2, R3, and R4 of the reconstructed area 630 of the current picture 600. Then, the predicted block of the current block 610 can be derived based on the matching block 640. Therefore, when an intra-block copy-based prediction method is applied to the current block 610, the encoder can transmit information about the intra-block copy-based prediction method and information about the block vector 620 to the decoder.
[0148] In Figure 6, the predefined search ranges R1, R2, R3, and R4 can be defined as the current CTU (Coding Tree Unit) including the current block 610, the upper-left CTU located at the upper-left corner of the current CTU within a predefined range from the current CTU, the upper-top CTU located at the top of the current CTU within a predefined range from the current CTU, and the left CTU located to the left of the current CTU within a predefined range from the current CTU. Here, the predefined range can be an area set in one of the current tiles, slices, and pictures.
[0149] According to one embodiment of the present invention, the candidate intra-prediction modes used in the template-based intra-prediction mode induction method may further include intra-block copy-based prediction modes. Two intra-prediction modes can be selected from the candidate intra-prediction modes to induce prediction samples for the two current templates having the lowest cost values. If one of the two selected intra-prediction modes is an intra-block copy-based prediction mode, then the prediction samples for the current block can be induced by weighting the prediction samples induced using the intra-block copy-based prediction mode with the prediction samples induced using the other intra-prediction mode, as shown in equation (3) below.
[0150]
number
[0151] Here, Pred can mean the final predicted value. M1 This can mean predicted sample values using the M1 candidate intra prediction mode. M2 This can represent the predicted sample value using the M2 candidate intra prediction mode. M1 This can mean the weights applied to the predicted samples induced using the M1 mode. And ω M2 This can be interpreted as the weight applied to the predicted sample induced using the M2 mode, where 0 ≤ ω M1 ≤ 1, and 0 ≤ ω M2 The value is ≤ 1.
[0152] Cost M1 This can mean the cost value of the predicted sample of the current template induced using the M1 mode. And Cost M2 This can represent the cost value applied to the predicted samples of the current template induced using the M2 mode. Here, the cost value can be derived using cost functions such as SAD (sum of absolute differences), MSE (mean squared error), SSD (sum of squared differences), and SATD (sum of absolute transformed differences).
[0153] According to another embodiment of the present invention, if one of the selected intra-prediction modes is an intra-block copy-based prediction mode, and the conditions for the selected intra-prediction mode are met, the final prediction sample for the current block can be derived by weighting the prediction samples generated using the selected intra-prediction mode. For example, if the cost value of the prediction sample generated using the selected first intra-prediction mode is less than or equal to a real multiple of the cost value of the prediction sample generated using the selected second intra-prediction mode, the final prediction sample for the current block can be derived by weighting the prediction samples generated using the selected intra-prediction mode.
[0154] On the other hand, if the conditions for the selected intra-prediction mode are not met, the prediction sample for the current block can be induced using one of the intra-prediction modes used to induce the prediction sample for the current template with the lowest cost value. For example, if the cost value of the prediction sample for the current template induced using intra-block copy-based prediction is the lowest, the prediction block for the current block can be generated using intra-block copy-based prediction.
[0155] From the candidate intra-prediction modes, Y intra-prediction modes can ultimately be selected. That is, from the candidate intra-prediction modes, including intra-block copy-based prediction modes, Y intra-prediction modes M1, M2, ..., MY can be selected in ascending order of cost value. If one of the selected intra-prediction modes is an intra-block copy-based prediction mode, the prediction samples induced by performing intra-block copy-based prediction on the current block can be combined with the prediction samples induced using the other candidate intra-prediction modes.
[0156] In another embodiment, if one of the selected Y intra-prediction modes is an intra-block copy-based prediction mode, and the conditions for the selected intra-prediction mode are met, the prediction samples generated using the selected intra-prediction mode can be weighted together to derive the final prediction sample for the current block. Conversely, if the conditions for the selected intra-prediction mode are not met, the prediction sample for the current block can be derived using one of the intra-prediction modes used to derive the prediction sample for the current template with the lowest cost value. For example, if the cost value of the prediction sample for the current template derived using intra-block copying is the smallest, the prediction block for the current block can be generated using intra-block copying.
[0157] According to another embodiment, when weighted summation of prediction samples induced using K intra-prediction modes selected from candidate intra-prediction modes by a template-based intra-prediction mode induction method, it is possible to weighted summation of prediction samples induced using a predetermined intra-prediction mode. Prediction samples induced using a predetermined intra-prediction mode can always be superimposed using a template-based intra-prediction mode induction method. Alternatively, weighted summation of prediction samples induced using a predetermined intra-prediction mode can be performed only if the selected K intra-prediction modes do not include a predetermined intra-prediction mode. Alternatively, the intra-prediction mode with the highest cost value among the selected K intra-prediction modes can be replaced by a predetermined intra-prediction mode. Here, the predetermined intra-prediction mode may be a predetermined intra-prediction mode such as Planar mode or DC mode.
[0158] For example, as shown in equation (4), a prediction sample can be generated by weighting together the K selected intra-prediction modes and the prediction samples induced using a predefined predetermined intra-prediction mode called the Planar mode.
[0159]
number
[0160] Here, Pred can mean the final predicted value. M1 This can mean predicted sample values using the M1 candidate intra prediction mode. M2 This can mean predicted sample values using the M2 candidate intra prediction mode. MK This can mean predicted sample values using the MK candidate intra prediction mode. Planar This can be interpreted as representing the predicted sample values using Planar mode.
[0161] ω M1 This can mean the weight applied to the predicted sample induced using the M1 mode. M2 This can mean the weights applied to the predicted samples induced using the M2 mode. MK This can mean the weights applied to the predicted samples induced using MK mode. And ω Planar This can represent the weights applied to the predicted samples induced using Planar mode. Each weight is a real number between 0 and 1, and the sum of the weights is 1.
[0162] Furthermore, according to one embodiment of the present invention, the block vector (BV) used in an intra-block copy-based prediction mode used as a candidate intra-prediction mode by a template-based intra-prediction mode induction method can have integer pixel (integer-pel) or / and fractional pixel (fractional-pel) precision. The block vector of the intra-block copy-based prediction mode can be stored in any buffer (e.g., a BV buffer, a history-based motion vector prediction (HMVP) buffer, etc.) with integer pixel or / and fractional pixel precision. The block vector stored with integer pixel or / and fractional pixel precision can be used in the encoding / decoding process of blocks after the current block.
[0163] The integer pixel precision of a block vector can be an integer value of 2 squared, such as 2, 4, 8, or 16, in addition to 1 pixel. The fractional pixel precision of a block vector can be a value such as 1 / 2, 1 / 4, 1 / 8, or 1 / 16. To generate samples with fractional pixel precision, pre-designed interpolation filters with an arbitrary number of taps, cubic interpolation filters with an arbitrary number of taps, Gaussian interpolation filters with an arbitrary number of taps, and bilinear interpolation filters can be used. When a one-dimensional interpolation filter is used, the interpolation filters can be applied sequentially in the order of horizontal, vertical, or vertical, horizontal. If some input samples located at the boundary of the reference area are unavailable during the process of applying interpolation filters to generate fractional pixel precision samples, some input samples may be generated via padding or replaced with arbitrary values.
[0164] Information indicating the unit of precision of a block vector may be signaled at a lower level (e.g., CU (coding unit), PU (prediction unit), TU (transform unit), etc.) depending on whether TIMD is used (e.g., timd_enabled_flag) or whether TIMD extension is enabled (e.g., timd_extension_flag) which is signaled at a higher level (e.g., VPS (video parameter set), SPS (sequence parameter set), PPS (picture parameter set), picture header, slice header, etc.). In this case, the decoder can determine the unit of precision information of the block vector used in the intra-block copy-based prediction mode, which is a candidate intra-prediction mode of TIMD (integer pixel precision such as 1, 2, 4, 8, 16 or fractional pixel precision such as 1 / 2, 1 / 4, 1 / 8, 1 / 16), depending on the value of the syntactic element (or syntactic element) signaled at the low level.
[0165]
[0166] According to another embodiment of the present invention, a spatially combined intra-intra prediction (SCIIP) mode can be used as a candidate intra-intra prediction mode for a template-based intra-intra prediction mode induction method. An embodiment of the present invention of SCIIP and a method for performing intra-intra prediction based on a template-based intra-intra prediction mode induction method using SCIIP will be described.
[0167] Figure 7 illustrates a spatially coupled intra-intra prediction method according to one embodiment of the present invention.
[0168] Referring to Figure 7, the prediction block of block 710 can currently be generated via a weighted sum of different prediction blocks generated by different intra-prediction modes. Here, different intra-prediction modes can include general intra-prediction modes, WAIP modes, intra-template matching prediction modes, and intra-block copy modes. The number of intra-prediction modes used for spatially coupled intra-intra-prediction may be two.
[0169] Here, if at least one of the intra-prediction modes used for spatially coupled intra-intra-prediction is a general intra-prediction mode and / or a WAIP mode, the prediction block of the current block 710 can be generated by weighting together prediction blocks generated using the intra-prediction mode and adjacent samples 720 of the current block with prediction blocks generated based on other intra-prediction modes.
[0170] Here, if at least one of the intra-prediction modes used for spatially coupled intra-intra-prediction is an intra-template matching prediction mode and / or an intra-block copy mode, then the prediction block of block 710 can now be generated by weighting together the prediction block generated based on the matching block 730 and the prediction block generated based on the other intra-prediction mode.
[0171] If one of the intra-prediction modes used in spatially coupled intra-intra prediction is an intra-template matching prediction mode, then based on the sample 720 and / or block vector 740 adjacent to the current block, a sample 750 adjacent to the matching block can be searched. Then, based on the search results for the sample 750 adjacent to the matching block, the matching block 730 can be derived. The prediction block for the current block 710 can be generated by weighting the prediction block generated based on the matching block 730 and the prediction block generated based on the other intra-prediction mode.
[0172] If at least one of the intra-prediction modes used for spatially coupled intra-intra-prediction is an intra-template matching prediction mode and / or an intra-block copy mode, the matching block 730 can be induced based on the block vector of the current block. The prediction block of the current block 710 can be generated by weighting the prediction block generated based on the matching block 730 and the prediction block generated based on the other intra-prediction mode.
[0173] According to one embodiment of the present invention, the candidate intra-prediction modes used in the template-based intra-prediction mode induction method may further include spatially coupled intra-intra-prediction modes. Two intra-prediction modes can then be selected from the candidate intra-prediction modes to induce prediction samples for the two current templates that have the lowest cost values. If one of the two selected intra-prediction modes is a spatially coupled intra-intra-prediction mode, then the prediction samples for the current block can be induced by weighting the prediction samples induced using the spatially coupled intra-intra-prediction mode with the prediction samples induced using the other intra-prediction mode, as shown in equation (5) below.
[0174]
number
[0175] Here, Pred can mean the final predicted value. M1 This can mean predicted sample values using the M1 candidate intra prediction mode. M2 This can represent the predicted sample value using the M2 candidate intra prediction mode. M1 This can mean the weights applied to the predicted samples induced using the M1 mode. And ω M2 This can be interpreted as the weight applied to the predicted sample induced using the M2 mode, where 0 ≤ ω M1 ≤ 1, and 0 ≤ ω M2 The value is ≤ 1.
[0176] Cost M1 This can mean the cost value of the predicted sample of the current template induced using the M1 mode. And Cost M2 This can represent the cost value applied to the predicted samples of the current template induced using the M2 mode. Here, the cost value can be derived using cost functions such as SAD (sum of absolute differences), MSE (mean squared error), SSD (sum of squared differences), and SATD (sum of absolute transformed differences).
[0177] According to another embodiment of the present invention, if one of the selected intra-prediction modes is a spatially coupled intra-intra-prediction mode, and the conditions for the selected intra-prediction mode are met, the prediction samples generated using the selected intra-prediction mode can be weighted together to derive the final prediction sample for the current block. For example, if the cost value of the prediction sample generated using the selected first intra-prediction mode is less than or equal to a real multiple of the cost value of the prediction sample generated using the selected second intra-prediction mode, the prediction samples generated using the selected intra-prediction mode can be weighted together to derive the final prediction sample for the current block.
[0178] Conversely, if the conditions for the selected intra-prediction mode are not met, the prediction sample for the current block can be induced using one of the intra-prediction modes used to induce the prediction sample for the current template with the lowest cost value. For example, if the cost value of the prediction sample for the current template induced using spatially coupled intra-intra-prediction is the smallest, the prediction block for the current block can be generated using spatially coupled intra-intra-prediction.
[0179] From the candidate intra-prediction modes, Z intra-prediction modes can ultimately be selected. That is, from the candidate intra-prediction modes, including spatially coupled intra-intra-prediction modes, Z intra-prediction modes M1, M2, ..., MZ can be selected in order of increasing cost value. If one of the selected intra-prediction modes is a spatially coupled intra-intra-prediction mode, the prediction samples induced by performing a spatially coupled intra-intra-prediction on the current block can be combined with the prediction samples induced using other candidate intra-prediction modes.
[0180] In another embodiment, if one of the selected Y intra-prediction modes is a spatially coupled intra-intra-prediction mode, and the conditions for the selected intra-prediction mode are met, the prediction samples generated using the selected intra-prediction mode can be weighted to derive the final prediction sample for the current block. On the other hand, if the conditions for the selected intra-prediction mode are not met, the prediction sample for the current block can be derived using one of the intra-prediction modes used to derive the prediction sample for the current template with the lowest cost value. For example, if the cost value of the prediction sample for the current template derived using a spatially coupled intra-intra-prediction mode is the smallest, the prediction block for the current block can be generated using the spatially coupled intra-intra-prediction mode.
[0181] According to another embodiment, when weighted summation of prediction samples induced using L intra-prediction modes selected from candidate intra-prediction modes by a template-based intra-prediction mode induction method, prediction samples induced using a predetermined predefined intra-prediction mode can be weighted summation. Prediction samples induced using a predetermined predefined intra-prediction mode can always be superimposed using a template-based intra-prediction mode induction method. Alternatively, prediction samples induced using a predetermined predefined intra-prediction mode can be superimposed only if the selected L intra-prediction modes do not include a predetermined predefined intra-prediction mode. Alternatively, the intra-prediction mode with the highest cost value among the selected L intra-prediction modes can be replaced by a predetermined predefined intra-prediction mode. Here, the predetermined intra-prediction mode may be a predetermined intra-prediction mode such as Planar mode or DC mode.
[0182] For example, as shown in equation (6), a prediction sample can be generated by weighting together prediction samples induced using L selected intra-prediction modes and a predefined predetermined intra-prediction mode called Planar mode.
[0183]
number
[0184] Here, Pred can mean the final predicted value. M1 This can mean predicted sample values using the M1 candidate intra prediction mode. M2 This can mean predicted sample values using the M2 candidate intra prediction mode. ML This can mean predicted sample values using the ML candidate intra prediction mode. Planar This can be interpreted as representing the predicted sample values using Planar mode.
[0185] ω M1 This can mean the weight applied to the predicted sample induced using the M1 mode. M2 This can mean the weights applied to the predicted samples induced using the M2 mode. ML This can mean the weights applied to the predicted samples induced using ML mode. And ω Planar This can represent the weights applied to the predicted samples induced using Planar mode. Each weight is a real number between 0 and 1, and the sum of the weights is 1.
[0186] According to one embodiment, one of the two intra-prediction modes used in a spatially coupled intra-intra-prediction mode may be an intra-template matching prediction mode. In this case, the spatially coupled intra-intra-prediction mode can be defined as a sub-mode of the intra-template matching prediction mode.
[0187] If a spatially coupled intra-intra prediction mode is a sub-mode of an intra-template matching prediction mode, the spatially coupled intra-intra prediction mode does not need to be considered as a separate candidate intra-prediction mode from the intra-template matching prediction mode. In other words, the spatially coupled intra-intra prediction mode and the intra-template matching prediction mode can be considered as a single candidate intra-prediction mode.
[0188] Whether a candidate intra-prediction mode used in the template-based intra-prediction mode induction process is an intra-template matching prediction mode and / or a spatially coupled intra-intra-intra prediction mode can be explicitly signaled. The method for signaling information indicating the use of an intra-template matching prediction mode and / or a spatially coupled intra-intra-intra prediction mode is as follows:
[0189] [Table 1]
[0190] Here, intra_tmp_flag is a syntax element that indicates whether or not to use the intra-template matching prediction mode, and spatial_ciip_flag may be a syntax element that indicates whether or not to use the spatially coupled intra-intra prediction mode.
[0191] Specifically, if a spatially coupled intra-intra prediction mode is a sub-mode of an intra-template matching prediction mode, then spatial_ciip_flag can be signaled dependently to intra_tmp_flag. That is, spatial_ciip_flag can only be signaled if the value of the signaled intra_tmp_flag is 1.
[0192] If the candidate intra-prediction mode used in the template-based intra-prediction mode induction process is an intra-template matching prediction mode, then intra_tmp_flag can be signaled to 1 and spatial_ciip_flag can be signaled to 0. On the other hand, if the candidate intra-prediction mode used in the template-based intra-prediction mode induction process is a spatially coupled intra-intra-intra prediction mode, then both intra_tmp_flag and spatial_ciip_flag can be signaled to 1.
[0193]
[0194] Figure 8 is a flowchart showing an image decoding method according to one embodiment of the present invention.
[0195] The image decoding device can now determine the intra-prediction mode of the current block to template-based intra-prediction mode derivation (TIMD) (S810).
[0196] The image decoding device can determine a first intra-prediction mode and a second intra-prediction mode for the current block from among a plurality of candidate intra-prediction modes, based on the current template which includes a reference sample adjacent to the current block (S820). Here, the plurality of candidate intra-prediction modes may include an intra-prediction mode that generates a predicted block for the current block based on the block vector of the current block.
[0197] The image decoding device can guide the first predicted block of the current block based on the first intra-prediction mode (S830).
[0198] The image decoding device can guide the second predicted block of the current block based on the second intra-prediction mode (S840).
[0199] The image decoding device can guide the third predicted block of the current block based on a predetermined intra-prediction mode (S850).
[0200] The image decoding device can derive the final predicted block of the current block based on the weighted sum of the first predicted block, the second predicted block, and the third predicted block (S840).
[0201] Furthermore, the block vector of the current block can have precision in units of integer pixels or fractional pixels.
[0202] Here, a predetermined intra-prediction mode can be a single non-directional intra-prediction mode.
[0203] Here, the first intra prediction mode may be the intra template matching prediction mode (IntraTMP).
[0204] Here, the weights applied to the first prediction block can be determined based on the cost value of the current template predicted based on the intra-template matching prediction mode.
[0205] Here, the step of guiding the final predicted block of the current block can involve weighting the first and second predicted blocks based on a comparison between the cost value of the current template predicted based on the intra-template matching prediction mode and the cost value of the current template predicted based on the second intra-prediction mode.
[0206] Here, the accuracy of the block vector of the current block can be determined based on information indicating the accuracy of the block vector in the intra-template matching prediction mode.
[0207] Here, information indicating the accuracy of the block vector in the intra-template matching prediction mode can be signaled dependently to information about TIMD.
[0208] Here, the first intra prediction mode can be characterized as intra-block copy (IBC).
[0209] Here, the weights applied to the first prediction block can be determined based on the cost value of the current template predicted based on the intrablock copy.
[0210] Here, the step of guiding the final predicted block of the current block can involve weighting the first and second predicted blocks based on a comparison between the cost value of the current template predicted based on the intra-block copy and the cost value of the current template predicted based on the second intra-prediction mode.
[0211] Here, the precision of the block vector of the current block can be determined based on information indicating the precision of the block vector used for the intrablock copy.
[0212] Here, information indicating the precision of the block vector used for intrablock copying can be signaled dependently to information about TIMD.
[0213] Here, the multiple candidate intra-prediction modes include spatially combined intra-intra prediction (SCIIP) modes that use different intra-prediction modes from each other, and the first intra-prediction mode is characterized by being a SCIIP mode.
[0214] Here, the weights applied to the first prediction block can be determined based on the cost value of the current template predicted based on the SCIIP mode.
[0215] Here, the step of deriving the final predicted block of the current block can be performed by weighting the first and second predicted blocks based on a comparison between the cost value of the current template predicted based on the SCIIP mode and the cost value of the current template predicted based on the second intra-prediction mode.
[0216] Here, the first intra prediction mode can be determined to be the SCIIP mode based on information indicating the SCIIP mode. The information indicating the SCIIP mode can be signaled dependently to information regarding intra template matching prediction.
[0217] On the other hand, the steps described in Figure 8 can also be performed in an image encoding method. Furthermore, a bitstream can be generated by an image encoding method that includes the steps described in Figure 8. The bitstream can be stored on a non-temporary computer-readable recording medium and transmitted (or streamed).
[0218]
[0219] Figure 9 is a diagram illustrating an exemplary content streaming system to which an embodiment of the present invention can be applied.
[0220] As shown in Figure 9, a content streaming system to which an embodiment of the present invention is applied may include an encoding server, a streaming server, a web server, media storage, user equipment, and a multimedia input device.
[0221] The encoding server is responsible for compressing content input from multimedia input devices such as smartphones, cameras, and CCTVs into digital data to generate a bitstream, and transmitting it to the streaming server. In another example, if the multimedia input device such as a smartphone, camera, or CCTV directly generates the bitstream, the encoding server may be omitted.
[0222] The bitstream can be generated by an image encoding method and / or image encoding apparatus to which an embodiment of the present invention is applied, and the streaming server can temporarily store the bitstream during the process of sending and receiving the bitstream.
[0223] The stream server transmits multimedia data to user devices based on user requests via a web server, and the web server can act as an intermediary to inform users about available services. When a user requests a desired service from the web server, the web server transmits it to the streaming server, which can then transmit multimedia data to the user. In this case, the content streaming system may include a separate control server, in which case the control server can control the commands and responses between the devices within the content streaming system.
[0224] The streaming server can receive content from media storage and / or encoding servers. 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 the bitstream for a certain period of time.
[0225] Examples of user devices include mobile phones, smartphones, laptop computers, digital broadcasting terminals, PDAs (personal digital assistants), PMPs (portable multimedia players), navigation systems, slate PCs, tablet PCs, ultrabooks, wearable devices (such as smartwatches, smart glass, and HMDs), digital televisions, desktop computers, and digital signage.
[0226] Each server within the aforementioned content stream system can be operated as a distributed server, in which case the data received by each server can be processed in a distributed manner.
[0227]
[0228] The above embodiments can be carried out in the same or corresponding manner in the encoding device and the decoding device. Furthermore, images can be encoded / decoded using at least one or a combination of the above embodiments.
[0229] The order in which the above embodiments are applied may differ between the encoding device and the decoding device. Alternatively, the order in which the above embodiments are applied may be the same between the encoding device and the decoding device.
[0230] The above embodiments can be performed for luminance and chrominance signals, respectively. Alternatively, the above embodiments can be performed similarly for luminance and chrominance signals.
[0231] In the embodiments described above, the method is explained based on a flowchart as a series of steps or units, but the present invention is not limited to the order of the steps, and some steps may be performed in a different order or simultaneously with other steps than those described above. Furthermore, a person with ordinary skill in the art will understand that the steps shown in the flowchart are not exclusive, and that different steps may be included, or one or more steps in the flowchart may be removed without affecting the scope of the present invention.
[0232] The above embodiments are implemented in the form of program instructions that can be performed via various computer components and can be recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., individually or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or they may be publicly known and available to those skilled in the field of computer software.
[0233] The bitstream generated by the encoding method according to the above embodiment can be stored on a non-temporary computer-readable recording medium. Furthermore, the bitstream stored on the non-temporary computer-readable recording medium can be decoded by the decoding method according to the above embodiment.
[0234] Here, examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specially configured to store and execute program instructions, such as ROMs, RAMs, and flash memory. Examples of program instructions include not only machine code created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices may be configured to operate as one or more software modules to perform the processing according to the present invention, and vice versa.
[0235] Although the present invention has been described above with reference to specific components, limited embodiments, and drawings, these are provided only to aid in a more general understanding of the invention, and the invention is not limited to the above embodiments. A person with ordinary skill in the art to which the invention pertains can make various modifications and variations from this description.
[0236] Therefore, the concept of the present invention should not be limited to the embodiments described above, and it should be said that not only the claims described later, but also all modifications that are equivalent or equivalent to these claims, fall within the scope of the concept of the present invention. [Industrial applicability]
[0237] The present invention can be used in devices for encoding / decoding images and in recording media for storing bitstreams.
Claims
1. An image decoding method, The current block's intra prediction mode is determined to be template-based intra mode differentiation (TIMD) mode, The steps include determining a first intra-prediction mode and a second intra-prediction mode for the current block based on a current template that includes a reference sample adjacent to the current block, among a plurality of candidate intra-prediction modes, The steps include: guiding the first predicted block of the current block based on the first intra prediction mode; The steps include: guiding the second predicted block of the current block based on the second intra prediction mode; A step of inducing a third predicted block of the current block based on a predetermined intra prediction mode, The step of inducing the final prediction block of the current block based on the weighted sum of the first prediction block, the second prediction block, and the third prediction block, The plurality of candidate intra-prediction modes include an intra-prediction mode that generates a predicted block for the current block based on the block vector of the current block, An image decoding method characterized in that the block vector of the current block has an accuracy of integer pixels or fractional pixels.
2. The image decoding method according to claim 1, characterized in that the predetermined intra prediction mode is a single non-directional intra prediction mode.
3. The first intra prediction mode is, The image decoding method according to claim 1, characterized in that it is an intra-template matching prediction mode (IntraTMP).
4. The weights applied to the first prediction block are: The image decoding method according to claim 3, which is determined based on the cost value of the current template predicted based on the intra-template matching prediction mode.
5. The step of guiding the final predicted block of the current block is: The image decoding method according to claim 3, wherein the first predicted block and the second predicted block are weighted summed based on a comparison result between the cost value of the current template predicted based on the intra-template matching prediction mode and the cost value of the current template predicted based on the second intra-prediction mode.
6. The precision of the block vector of the current block is, The image decoding method according to claim 5, which is determined based on information indicating the accuracy of the block vector in the intra-template matching prediction mode.
7. The image decoding method according to claim 6, wherein information indicating the accuracy of the block vector in the intra-template matching prediction mode is signaled dependently to information regarding TIMD.
8. The first intra prediction mode is, The image decoding method according to claim 1, characterized in that it is an intrablock copy (IBC).
9. The weights applied to the first prediction block are: The image decoding method according to claim 8, determined based on the cost value of the current template predicted based on the intrablock copy.
10. The step of guiding the final predicted block of the current block is: The image decoding method according to claim 8, wherein the first predicted block and the second predicted block are weighted summed based on a comparison result between the cost value of the current template predicted based on the intrablock copy and the cost value of the current template predicted based on the second intraprediction mode.
11. The image decoding method according to claim 8, wherein the accuracy of the block vector of the current block is determined based on information indicating the accuracy of the block vector used for intrablock copying.
12. The image decoding method according to claim 11, wherein information indicating the precision of the block vector used for the intrablock copy is signaled dependently to information regarding TIMD.
13. The aforementioned multiple candidate intra-prediction modes are: This includes a spatially combined intra-intra prediction (SCIIP) mode that uses different intra-prediction modes, The first intra prediction mode is, The image decoding method according to claim 1, characterized in that it is in the SCIIP mode.
14. The weights applied to the first prediction block are: The image decoding method according to claim 13, determined based on the cost value of the current template predicted based on the SCIIP mode.
15. The step of guiding the final predicted block of the current block is: The image decoding method according to claim 13, wherein the first predicted block and the second predicted block are weighted summed based on a comparison result between the cost value of the current template predicted based on the SCIIP mode and the cost value of the current template predicted based on the second intra prediction mode.
16. The first intra prediction mode is, Based on the information indicating the SCIIP mode, the SCIIP mode is determined, The information indicating the aforementioned SCIIP mode is: The image decoding method according to claim 13, wherein signaling is dependent on information regarding intra-template matching prediction.
17. An image encoding method, The current block's intra prediction mode is determined to be template-based intra mode differentiation (TIMD) mode, The steps include determining a first intra-prediction mode and a second intra-prediction mode for the current block based on a current template that includes a reference sample adjacent to the current block, among a plurality of candidate intra-prediction modes, The steps include: guiding the first predicted block of the current block based on the first intra prediction mode; The steps include: guiding the second predicted block of the current block based on the second intra prediction mode; A step of inducing a third predicted block of the current block based on a predetermined intra prediction mode, The step of inducing the final prediction block of the current block based on the weighted sum of the first prediction block, the second prediction block, and the third prediction block, The plurality of candidate intra-prediction modes include an intra-prediction mode that generates a predicted block for the current block based on the block vector of the current block, An image encoding method characterized in that the block vector of the current block has precision in units of integer pixels or fractional pixels.
18. A non-temporary computer-readable recording medium for storing a bitstream generated by an image encoding method, The aforementioned image encoding method is The current block's intra-prediction mode is determined to be template-based intra-mode differentiation (TIMD) mode, The steps include determining a first intra-prediction mode and a second intra-prediction mode for the current block based on a current template that includes a reference sample adjacent to the current block, among a plurality of candidate intra-prediction modes, The steps include: guiding the first predicted block of the current block based on the first intra prediction mode; The steps include: guiding the second predicted block of the current block based on the second intra prediction mode; A step of inducing a third predicted block of the current block based on a predetermined intra prediction mode, The step of inducing the final prediction block of the current block based on the weighted sum of the first prediction block, the second prediction block, and the third prediction block, The plurality of candidate intra-prediction modes include an intra-prediction mode that generates a predicted block for the current block based on the block vector of the current block, A non-temporary computer-readable recording medium characterized in that the block vector of the current block has precision in units of integer pixels or fractional pixels.
19. A method for transmitting a bitstream generated by an image encoding method, The transmission method includes the step of transmitting the bitstream, The aforementioned encoding method is The current block's intra prediction mode is determined to be template-based intra mode differentiation (TIMD) mode, The steps include determining a first intra-prediction mode and a second intra-prediction mode for the current block based on a current template that includes a reference sample adjacent to the current block, among a plurality of candidate intra-prediction modes, The steps include: guiding the first predicted block of the current block based on the first intra prediction mode; The steps include: guiding the second predicted block of the current block based on the second intra prediction mode; A step of inducing a third predicted block of the current block based on a predetermined intra prediction mode, The step of inducing the final prediction block of the current block based on the weighted sum of the first prediction block, the second prediction block, and the third prediction block, The plurality of candidate intra-prediction modes include an intra-prediction mode that generates a predicted block for the current block based on the block vector of the current block, A transmission method characterized in that the block vector of the current block has an accuracy of integer pixels or fractional pixels.