Image encoding / decoding method and device, and recording medium on which bitstream is stored

WO2025037911A1PCT designated stage expired Publication Date: 2025-02-20HYUNDAI MOTOR CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/012107
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-14
Filing Date
2024-08-14
Publication Date
2025-02-20

Smart Images

  • Figure KR2024012107_20022025_PF_FP_ABST
    Figure KR2024012107_20022025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides an image decoding method comprising the steps of: determining a corresponding luminance block of the current chrominance block; determining a luminance block vector from the corresponding luminance block; determining a chrominance block vector of the current chrominance block from the luminance block vector; deriving a convolutional cross-component model from a luminance sample reference area derived from the luminance block vector and a chrominance sample reference area derived from the chrominance block vector; and predicting the current chrominance block on the basis of the convolutional cross-component model.
Need to check novelty before this filing date? Find Prior Art

Description

Video encoding / decoding method, device, and recording medium storing bitstream

[0001] The present invention relates to a video encoding / decoding method, device, and recording medium storing a bitstream. Specifically, the present invention relates to a video encoding / decoding method, device, and recording medium storing a bitstream using a convolutional cross-component model.

[0002] Recently, the demand for high-resolution, high-quality images, such as UHD (Ultra High Definition) images, is increasing across various application fields. As image data becomes higher in resolution and quality, the relative amount of data increases compared to conventional image data. Therefore, transmitting image data using existing media such as wired or wireless broadband lines or storing it using existing storage media leads to increased transmission and storage costs. To address these issues arising from the increasing resolution and quality of image data, high-efficiency image encoding / decoding technologies for higher-resolution and higher-quality images are required.

[0003] An image is composed of a Y component representing luminance and Cb and Cr components representing chrominance. When a chrominance component predicts a picture of a Cb or Cr component, the prediction accuracy of the picture of the chrominance component can be improved by first referring to the restored sample of the decoded Y component. Specifically, by modeling the relationship between the sample of the Y component and the sample of the Cb or Cr component, the sample of the Cb or Cr component can be effectively predicted from the sample of the Y component. Therefore, various methods are being discussed to improve the prediction accuracy of a picture of the luminance component by precisely modeling the relationship between the luminance component and the chrominance component.

[0004] The purpose of the present invention is to provide a video encoding / decoding method and device with improved encoding / decoding efficiency.

[0005] In addition, the present invention aims to provide a recording medium storing a bitstream generated by the image decoding method or device provided in the present invention.

[0006] An image decoding method according to one embodiment of the present invention may include a step of determining a corresponding luminance block of a current chrominance block, a step of determining a luminance block vector from the corresponding luminance block, a step of determining a chrominance block vector of the current chrominance block from the luminance block vector, a step of deriving a convolutional cross-component model from a luminance sample reference region derived from the luminance block vector and a chrominance sample reference region derived from the chrominance block vector, and a step of predicting the current chrominance block based on the convolutional cross-component model.

[0007] According to one embodiment, the luminance block vector is derived from the corresponding luminance block when the corresponding luminance block is predicted according to an in-screen block copy mode or an in-screen template matching mode, and the luminance block vector may represent a difference between a position of the corresponding luminance block and a luminance sample reference area referred to in the prediction of the corresponding luminance block.

[0008] According to one embodiment, the chrominance block vector of the current chrominance block may be determined from the luminance block vector based on the chrominance format of the current picture.

[0009] According to one embodiment, when the chrominance format of the current picture is a chrominance format that determines chrominance samples by sub-sampling luminance samples, the chrominance block vector of the current chrominance block may be determined by scaling the luminance block vector based on the chrominance format of the current picture.

[0010] According to one embodiment, when the chrominance format of the current picture is a sampled chrominance format in which the sample ratios of the luminance component and the chrominance component are the same, the chrominance block vector of the current chrominance block may be determined to be the same as the luminance block vector.

[0011] According to one embodiment, when the corresponding luminance block is predicted based on a luminance block vector candidate selected from among a plurality of luminance block vector candidates, the luminance block vector of the corresponding luminance block is determined as the luminance block vector candidate selected from among the plurality of luminance block vector candidates, a plurality of chrominance block vector candidates are derived from the plurality of luminance block vector candidates, and the chrominance block vector of the current chrominance block is determined based on a comparison result between a current template of the current chrominance block and a reference template determined by the chrominance block vector candidate, among the plurality of chrominance block vector candidates.

[0012] According to one embodiment, the comparison result between the current template of the current chrominance block and the reference template determined by the chrominance block vector candidate may be characterized in that it is determined by template matching between the current template and the reference template based on a predetermined cost function.

[0013] According to one embodiment, the predetermined cost function may be characterized in that it is determined as one of the sum of absolute differences (SAD) and the sum of square error (SSE).

[0014] According to one embodiment, the cost value of each of the plurality of chrominance block vector candidates is determined based on the comparison result, and the chrominance block vector candidate having the smallest cost value is determined as the chrominance block vector of the current chrominance block.

[0015] According to one embodiment, the convolutional cross component model may be characterized in that it is derived from luminance samples at predetermined locations in the luminance sample reference area and chrominance samples at predetermined locations in the chrominance sample reference area.

[0016] According to one embodiment, the chrominance sample of the current chrominance block is determined by applying a plurality of luminance samples corresponding to the chrominance sample to the convolution cross component model, and the convolution cross component model is expressed by a plurality of filter coefficients, and the plurality of filter coefficients may include at least one of a first filter coefficient for a first luminance sample corresponding to the chrominance sample, a second filter coefficient for a second luminance sample above the first luminance sample, a third filter coefficient for a third luminance sample below the first luminance sample, a fourth filter coefficient for a fourth luminance sample to the right of the first luminance sample, a fifth filter coefficient for a fifth luminance sample to the left of the first luminance sample, a sixth filter coefficient for a nonlinear term derived from the first luminance sample, and a seventh filter coefficient for a bias term of the convolution cross component model.

[0017] According to one embodiment, the image decoding method may further include a step of determining whether the convolution cross component model applied to the current chrominance block is a single model or a multiple model, and one or more convolution cross component models may be derived from the luminance sample reference area and the chrominance sample reference area according to the determination.

[0018] According to one embodiment, when the convolution cross component model is a multi-model, the luminance samples of the luminance sample reference area are classified into a first luminance sample group and a second luminance sample group according to a predetermined threshold value, and the first convolution cross component model is derived from the luminance samples of the first luminance sample group and the chrominance samples of the chrominance sample reference area corresponding to the luminance samples of the first luminance sample group, and the second convolution cross component model is derived from the luminance samples of the second luminance sample group and the chrominance samples of the chrominance sample reference area corresponding to the luminance samples of the second luminance sample group.

[0019] According to one embodiment, the predetermined threshold value may be characterized as being one of an average value, a median value, a predetermined fixed value, or a value determined from information obtained from a bitstream of luminance samples of the luminance sample reference area.

[0020] According to one embodiment, the image decoding method may further include a step of determining a first prediction block by predicting the current chrominance block based on the convolutional cross component model, a step of determining a second prediction block by predicting the current chrominance block according to an intra-screen prediction method or an inter-screen prediction method that does not use the convolutional cross component model, and a step of determining a final prediction block of the current chrominance block based on a weighted sum of each prediction sample of the first prediction block and the second prediction block.

[0021] According to one embodiment, the image decoding method may further include the steps of: obtaining a first syntax element indicating whether a convolutional cross component model derived from a block vector is allowed for an upper data unit of the current chrominance block; and, when the first syntax element indicates that a convolutional cross component model derived from a block vector is allowed for the upper data unit, obtaining a second syntax element indicating whether a convolutional cross component model derived from a block vector is applied to the current chrominance block; and, when the second syntax element indicates that a convolutional cross component model derived from a block vector is applied to the current chrominance block, each step of the first paragraph may be performed.

[0022] According to one embodiment, the image decoding method may further include a step of obtaining a third syntax element indicating whether a convolution cross component model is applied to the current chrominance block, wherein when a corresponding luminance block of the current chrominance block is predicted in an intra-screen template matching mode or an intra-screen block copy mode, the luminance sample reference area and the chrominance sample reference area are determined based on one or more luminance block vectors of the corresponding luminance block, and when the corresponding luminance block of the current chrominance block is not predicted in an intra-screen template matching mode or an intra-screen block copy mode, the luminance sample reference area is determined based on an adjacent area of ​​the corresponding luminance block, and the chrominance sample reference area is determined based on an adjacent area of ​​the current chrominance block.

[0023] A video encoding method according to one embodiment of the present invention may include a step of determining a corresponding luminance block of a current chrominance block, a step of determining a luminance block vector from the corresponding luminance block, a step of determining a chrominance block vector of the current chrominance block from the luminance block vector, a step of deriving a convolutional cross-component model from a luminance sample reference region derived from the luminance block vector and a chrominance sample reference region derived from the chrominance block vector, and a step of predicting the current chrominance block based on the convolutional cross-component model.

[0024] A non-transitory computer-readable recording medium according to one embodiment of the present invention stores a bitstream generated by the image encoding method.

[0025] A transmission method according to one embodiment of the present invention transmits a bitstream generated by the image encoding method.

[0026] The features briefly summarized above of the present invention are merely exemplary aspects of the detailed description of the present invention described below and do not limit the scope of the present invention.

[0027] The present invention proposes various embodiments of a prediction method using a convolutional cross component model.

[0028] Additionally, the present invention proposes various embodiments of a method for determining a reference region of a convolutional cross component model using a block vector.

[0029] According to the above various embodiments, the overall encoding efficiency can be improved as the prediction accuracy of the chrominance block according to the convolutional cross component model is improved.

[0030] Figure 1 is a block diagram showing the configuration according to one embodiment of an encoding device to which the present invention is applied.

[0031] Figure 2 is a block diagram showing the configuration according to one embodiment of a decryption device to which the present invention is applied.

[0032] FIG. 3 is a diagram schematically showing a video coding system to which the present invention can be applied.

[0033] Figure 4 is a diagram for explaining a convolutional cross component model derived from a block vector.

[0034] Figure 5 illustrates a reference region adjacent to the current block that can be used in the derivation of a convolutional cross-component model.

[0035] Figure 6 illustrates a method for deriving a chrominance block vector to be used in a chrominance block by scaling a block vector used in a corresponding luminance block.

[0036] FIG. 7 illustrates a method for deriving a chrominance block vector to be used in a chrominance block by using a plurality of scaled block vectors obtained by scaling a plurality of luminance block vectors when a block vector list of a corresponding luminance block includes a plurality of luminance block vectors.

[0037] Figure 8 illustrates a method for deriving a chrominance block vector to be used in a chrominance block from a luminance block vector used in a corresponding luminance block.

[0038] FIG. 9 illustrates a method for deriving a chrominance block vector to be used in a chrominance block using a plurality of luminance block vectors when a luminance block vector list of a corresponding luminance block includes a plurality of luminance block vectors.

[0039] Fig. 10 shows an example of a prediction method according to a convolutional cross component model using a block vector.

[0040] Figure 11 illustrates an example of a content streaming system to which an embodiment according to the present invention can be applied.

[0041] An image decoding method according to one embodiment of the present invention may include a step of determining a corresponding luminance block of a current chrominance block, a step of determining a luminance block vector from the corresponding luminance block, a step of determining a chrominance block vector of the current chrominance block from the luminance block vector, a step of deriving a convolutional cross-component model from a luminance sample reference region derived from the luminance block vector and a chrominance sample reference region derived from the chrominance block vector, and a step of predicting the current chrominance block based on the convolutional cross-component model.

[0042] The present invention is susceptible to various modifications and embodiments. Therefore, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, but rather to encompass all modifications, equivalents, and substitutes falling within the spirit and scope of the present invention. In the drawings, similar reference numerals designate the same or similar functions throughout. The shape and size of elements in the drawings may be provided by way of example only for clarity. The detailed description of the exemplary embodiments described below refers to the accompanying drawings, which illustrate specific embodiments by way of example. These embodiments are described in sufficient detail to enable those skilled in the art to practice the embodiments. It should be understood that the various embodiments, while different from each other, are not necessarily mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the present invention. Furthermore, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be modified without departing from the spirit and scope of the embodiment. Accordingly, the detailed description set forth below is not intended to be taken in a limiting sense, and the scope of the illustrative embodiments, if properly described, is defined only by the appended claims, along with the full scope equivalents to which such claims are entitled.

[0043] In the present invention, terms such as first, second, etc. may be used to describe various components, but the components should not be limited by these terms. These terms are used solely to distinguish one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term "and / or" includes a combination of multiple related described items or any of multiple related described items.

[0044] The components shown in the embodiments of the present invention are independently depicted to represent different characteristic functions, and do not mean that each component is composed of separate hardware or a single software component. That is, each component is listed and included as a separate component for convenience of explanation, and at least two components among each component may be combined to form a single component, or a single component may be divided into multiple components to perform a function, and such integrated and separate embodiments of each component are also included in the scope of the present invention as long as they do not deviate from the essence of the present invention.

[0045] The terminology used herein is merely used to describe specific embodiments and is not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly indicates otherwise. In addition, some components of the present invention are not essential components that perform essential functions in the present invention and may be optional components merely for performance enhancement. The present invention may be implemented by including only components essential to realizing the essence of the present invention, excluding components used only for performance enhancement, and a structure including only essential components, excluding optional components used only for performance enhancement, is also within the scope of the present invention.

[0046] In embodiments, the term "at least one" may mean one of a number greater than or equal to 1, such as 1, 2, 3, and 4. In embodiments, the term "a plurality of" may mean one of a number greater than or equal to 2, such as 2, 3, and 4.

[0047] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In describing the embodiments of this specification, if it is determined that a detailed description of a related known configuration or function may obscure the gist of this specification, the detailed description will be omitted. The same reference numerals will be used for identical components in the drawings, and duplicate descriptions of identical components will be omitted.

[0048]

[0049] Glossary of Terms

[0050] Hereinafter, “video” may mean a single picture constituting a video, or may refer to the video itself. For example, “encoding and / or decoding of a video” may mean “encoding and / or decoding of a video,” or may mean “encoding and / or decoding of one of the videos constituting the video.”

[0051] Hereinafter, the terms "video" and "movie" may be used interchangeably and have the same meaning. Furthermore, the target image may be an encoding target image, which is the target of encoding, and / or a decoding target image, which is the target of decoding. Furthermore, the target image may 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.

[0052] Hereinafter, “image”, “picture”, “frame” and “screen” may be used with the same meaning and may be used interchangeably.

[0053] Hereinafter, the term "target block" may refer to an encoding target block, which is the target of encoding, and / or a decoding target block, which is the target of decoding. Furthermore, the target block may refer to a current block, which is the target of current encoding and / or decoding. For example, the terms "target block" and "current block" may be used interchangeably and have the same meaning.

[0054] Hereinafter, "block" and "unit" may be used with the same meaning and may be used interchangeably. In addition, "unit" may mean including a luminance component block and a corresponding chroma component block to distinguish it from a block. For example, a coding tree unit (CTU) may be composed of one luma component (Y) coding tree block (CTB) and two chroma component (Cb, Cr) coding tree blocks associated with it.

[0055] Hereinafter, “sample,” “pixel,” and “pixel” may be used interchangeably and have the same meaning. Here, a sample may represent a basic unit that constitutes a block.

[0056] Hereinafter, “inter” and “between screens” may be used interchangeably and have the same meaning.

[0057] Hereinafter, “intra” and “within screen” may be used interchangeably and have the same meaning.

[0058]

[0059] Figure 1 is a block diagram showing the configuration according to one embodiment of an encoding device to which the present invention is applied.

[0060] The encoding device (100) may be an encoder, a video encoding device, or an image encoding device. A video may include one or more images. The encoding device (100) may sequentially encode one or more images.

[0061] Referring to FIG. 1, the encoding device (100) may include an image segmentation unit (110), an intra prediction unit (120), a motion prediction unit (121), a motion compensation unit (122), a switch (115), a subtractor (113), a transformation unit (130), a quantization unit (140), an entropy encoding unit (150), an inverse quantization unit (160), an inverse transformation unit (170), an adder (117), a filter unit (180), and a reference picture buffer (190).

[0062] Additionally, the encoding device (100) can generate a bitstream including encoded information through encoding an input image and output the generated bitstream. The generated bitstream can be stored in a computer-readable recording medium or can be streamed via a wired / wireless transmission medium.

[0063] The video segmentation unit (110) can segment the input video into various forms to increase the efficiency of video encoding / decoding. That is, the input video is composed of multiple pictures, and one picture can be hierarchically segmented and processed for compression efficiency, parallel processing, etc. For example, one picture can be segmented into one or more tiles or slices, which can then be segmented into multiple Coding Tree Units (CTUs). Alternatively, one picture can first be segmented into multiple sub-pictures defined as groups of rectangular slices, and each sub-picture can then be segmented into the tiles / slices. Here, the sub-pictures can be utilized to support the function of partially independently encoding / decoding and transmitting the picture. Since multiple sub-pictures can each be individually restored, there is an advantage of easy editing in applications that configure multi-channel input into a single picture. In addition, tiles can be segmented horizontally to generate bricks. Here, a brick can be utilized as the basic unit of parallel processing within a picture. In addition, one CTU can be recursively split into a quadtree (QT), and the terminal node of the split can be defined as a coding unit (CU). The CU can be split into a prediction unit (PU) and a transformation unit (TU), and prediction and splitting can be performed. Meanwhile, the CU can be utilized as a prediction unit and / or a transformation unit itself. Here, for flexible splitting, each CTU can be recursively split into a multi-type tree (MTT) as well as a quadtree (QT). Splitting of a CTU into a multi-type tree can start from the terminal node of a QT, and the MTT can be composed of a binary tree (BT) and a triple tree (TT).For example, the MTT structure can be divided into vertical binary split mode (SPLIT_BT_VER), horizontal binary split mode (SPLIT_BT_HOR), vertical ternary split mode (SPLIT_TT_VER), and horizontal ternary split mode (SPLIT_TT_HOR). In addition, the minimum block size (MinQTSize) of the quad tree of the luminance block during splitting can be set to 16x16, the maximum block size (MaxBtSize) of the binary tree can be set to 128x128, and the maximum block size (MaxTtSize) of the triple tree can be set to 64x64. In addition, the minimum block size (MinBtSize) of the binary tree and the minimum block size (MinTtSize) of the triple tree can be set to 4x4, and the maximum depth (MaxMttDepth) of the multi-type tree can be set to 4. Additionally, to improve the encoding efficiency of the I slice, a dual tree can be applied that uses different CTU partition structures for the luminance and chrominance components. On the other hand, in the P and B slices, the luminance and chrominance CTBs (Coding Tree Blocks) within the CTU can be partitioned into a single tree that shares the coding tree structure.

[0064] The encoding device (100) may perform encoding on the input image in intra mode and / or inter mode. Alternatively, the encoding device (100) may perform encoding on the input image in a third mode (e.g., IBC mode, Palette mode, etc.) other than the intra mode and inter mode. However, if the third mode has functional characteristics similar to the intra mode or inter mode, it may be classified as intra mode or inter mode for convenience of explanation. In the present invention, the third mode will be classified and described separately only when a specific description is required.

[0065] When the intra mode is used as the prediction mode, the switch (115) can be switched to intra, and when the inter mode is used as the prediction mode, the switch (115) can be switched to inter. Here, the intra mode can mean the intra prediction mode, and the inter mode can mean the inter-screen prediction mode. The encoding device (100) can generate a prediction block for an input block of an input image. In addition, after the prediction block is generated, the encoding device (100) can encode a residual block using the residual of the input block and the prediction block. The input image can be referred to as a current image that is currently a target of encoding. The input block can be referred to as a current block that is currently a target of encoding or an encoding target block.

[0066] When the prediction mode is intra mode, the intra prediction unit (120) can use samples of blocks already encoded / decoded around the current block as reference samples. The intra prediction unit (120) can perform spatial prediction on the current block using the reference samples, and can generate prediction samples for the input block through spatial prediction. Here, intra prediction can mean prediction within the screen.

[0067] As an intra prediction method, non-directional prediction modes such as DC mode and Planar mode, as well as directional prediction modes (e.g., 65 directions) can be applied. Here, the intra prediction method can be expressed as an intra prediction mode or an intra prediction mode.

[0068] When the prediction mode is inter mode, the motion prediction unit (121) can search for an area that best matches the input block from the reference image during the motion prediction process and derive a motion vector using the searched area. At this time, the area can be used as a search area. The reference image can be stored in the reference picture buffer (190). Here, when encoding / decoding for the reference image is processed, it can be stored in the reference picture buffer (190).

[0069] The motion compensation unit (122) can generate a prediction block for the current block by performing motion compensation using a motion vector. Here, inter prediction may mean inter-screen prediction or motion compensation.

[0070] The above motion prediction unit (121) and motion compensation unit (122) can generate a prediction block 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, it is possible to determine whether the motion prediction and motion compensation method of the prediction unit included in the corresponding encoding unit is one of Skip Mode, Merge Mode, Advanced Motion Vector Prediction (AMVP) mode, and Intra Block Copy (IBC) mode based on the encoding unit, and perform inter-screen prediction or motion compensation according to each mode.

[0071] In addition, based on the above inter-screen prediction method, the AFFINE mode of sub-PU based prediction, the SbTMVP (Subblock-based Temporal Motion Vector Prediction) mode, and the MMVD (Merge with MVD) mode and the GPM (Geometric Partitioning Mode) mode of PU based prediction can be applied. In addition, in order to improve the performance of each mode, the HMVP (History based MVP), the PAMVP (Pairwise Average MVP), the CIIP (Combined Intra / Inter Prediction), the AMVR (Adaptive Motion Vector Resolution), the BDOF (Bi-Directional Optical-Flow), the BCW (Bi-predictive with CU Weights), the LIC (Local Illumination Compensation), the TM (Template Matching), and the OBMC (Overlapped Block Motion Compensation) can be applied.

[0072] The subtractor (113) can generate a residual block using the difference between the input block and the predicted block. The residual block may also be referred to as a residual signal. The residual signal may refer to the difference between the original signal and the predicted signal. Alternatively, the residual signal may be a signal generated by transforming, quantizing, or transforming and quantizing the difference between the original signal and the predicted signal. The residual block may be a residual signal in block units.

[0073] The transform unit (130) can perform a transform on the residual block to generate a transform coefficient and output the generated transform coefficient. Here, the transform coefficient may be a coefficient value generated by performing a transform on the residual block. When the transform skip mode is applied, the transform unit (130) may also skip the transform on the residual block.

[0074] Quantized levels can be generated by applying quantization to transform coefficients or residual signals. In the following embodiments, quantized levels may also be referred to as transform coefficients.

[0075] For example, a 4x4 luminance residual block generated through within-screen prediction can be transformed using a basis vector based on DST (Discrete Sine Transform), and the remaining residual blocks can be transformed using a basis vector based on DCT (Discrete Cosine Transform). In addition, through RQT (Residual Quad Tree) technology, the transform block is divided into a quad tree shape for one block, and after performing transformation and quantization on each transform block divided through RQT, a coded block flag (cbf) can be transmitted to increase encoding efficiency when all coefficients become 0.

[0076] Another alternative is to apply Multiple Transform Selection (MTS) technology, which selectively performs transformation using multiple transformation bases. That is, instead of dividing CUs into TUs via RQT, a Sub-block Transform (SBT) technology can perform a function similar to TU division. Specifically, SBT is applied only to inter-screen prediction blocks, and unlike RQT, it can divide the current block into ½ or ¼ blocks vertically or horizontally, and then perform transformation on only one of the blocks. For example, in a vertically divided block, the transformation can be performed on the leftmost or rightmost block, and in a horizontally divided block, the transformation can be performed on the topmost or bottommost block.

[0077] Additionally, LFNST (Low Frequency Non-Separable Transform), a secondary transform technique that further transforms the residual signal converted to the frequency domain through DCT or DST, can be applied. LFNST additionally performs a transform on the low-frequency region of 4x4 or 8x8 in the upper left, which allows the residual coefficients to be concentrated in the upper left.

[0078] The quantization unit (140) can generate a quantized level by quantizing a transform coefficient or residual signal according to a quantization parameter (QP), and can output the generated quantized level. At this time, the quantization unit (140) can quantize the transform coefficient using a quantization matrix.

[0079] For example, a quantizer with QP values ​​of 0 to 51 can be used. Alternatively, if the image size is larger and high encoding efficiency is required, a QP of 0 to 63 can be used. In addition, a Dependent Quantization (DQ) method that uses two quantizers instead of a single quantizer can be applied. DQ performs quantization using two quantizers (e.g., Q0 and Q1), but even without signaling information about the use of a specific quantizer, the quantizer to be used for the next transform coefficient can be selected based on the current state through a state transition model.

[0080] The entropy encoding unit (150) can generate a bitstream by performing entropy encoding according to a probability distribution on values ​​produced by the quantization unit (140) or coding parameter values ​​produced during the encoding process, and can output the bitstream. The entropy encoding unit (150) can perform entropy encoding on information about image samples and information for decoding the image. For example, the information for decoding the image can include syntax elements, etc.

[0081] When entropy encoding is applied, a small number of bits are allocated to symbols with a high occurrence probability, and a large number of bits are allocated to symbols with a low occurrence probability, thereby representing the symbols, whereby the size of the bit string for the symbols to be encoded can be reduced. The entropy encoding unit (150) can use an encoding method such as exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), or Context-Adaptive Binary Arithmetic Coding (CABAC) for entropy encoding. For example, the entropy encoding unit (150) can perform entropy encoding using a Variable Length Coding / Code (VLC) table. In addition, the entropy encoding unit (150) may perform arithmetic encoding using the binarization method, probability model, and context model derived from the binarization method of the target symbol and the probability model of the target symbol / bin.

[0082] In this regard, when applying CABAC, the table probability update method can be changed to a simple formula-based table update method to reduce the size of the probability table stored in the decryption device. Furthermore, two different probability models can be used to obtain more accurate symbol probability values.

[0083] The entropy encoding unit (150) can change a two-dimensional block form coefficient into a one-dimensional vector form through a transform coefficient scanning method to encode a transform coefficient level (quantized level).

[0084] Coding parameters may include not only information (flags, indexes, etc.) encoded in an encoding device (100) and signaled to a decoding device (200), such as syntax elements, but also information derived during an encoding process or a decoding process, and may mean information necessary when encoding or decoding an image.

[0085] Here, signaling a flag or index may mean that the encoder entropy encodes the flag or index and includes it in the bitstream, and that the decoder entropy decodes 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. Accordingly, the encoding device (100) can reconstruct or decode the encoded current image again and store the reconstructed or decoded image as a reference image in the reference picture buffer (190).

[0087] The quantized level can be dequantized in the dequantization unit (160) and inversely transformed in the inverse transformation unit (170). The dequantized and / or inversely transformed coefficients can be combined with a prediction block through an adder (117), and a reconstructed block can be generated by combining the dequantized and / or inversely transformed coefficients and the prediction block. Here, the dequantized and / or inversely transformed coefficients refer to coefficients on which at least one of dequantization and inverse transformation has been performed, and may refer to a reconstructed residual block. The dequantization unit (160) and the inverse transformation unit (170) can be performed in the reverse process of the quantization unit (140) and the transformation unit (130).

[0088] The restoration block may pass through a filter unit (180). The filter unit (180) may apply a deblocking filter, a sample adaptive offset (SAO), an adaptive loop filter (ALF), a bilateral filter (BIF), a Luma Mapping with Chroma Scaling (LMCS), etc. as a filtering technique, in whole or in part, to the restoration sample, restoration block, or restoration image. The filter unit (180) may also be referred to as an in-loop filter. In this case, the in-loop filter is also used as a name excluding LMCS.

[0089] A deblocking filter can remove block distortion that occurs at the boundaries between blocks. Whether to apply a deblocking filter to the current block can be determined based on the 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 offset can be used to compensate for encoding errors by adding an appropriate offset value to sample values. Sample adaptive offset can compensate for the offset from the original image on a sample-by-sample basis for deblocked images. This can be done by dividing the samples contained in the image into a fixed number of regions, determining the regions to be offset, and applying the offset to those regions. Alternatively, the offset can be applied by considering the edge information of each sample.

[0091] Bilateral filter (BIF) can also compensate for the offset from the original image on a sample-by-sample basis for the deblocked image.

[0092] An adaptive loop filter can perform filtering based on a comparison between a reconstructed image and the original image. By dividing the samples contained in the image into predetermined groups and determining the filter to be applied to each group, filtering can be performed differentially for each group. Information regarding whether to apply an adaptive loop filter can be signaled for each coding unit (CU), and the shape and filter coefficients of the adaptive loop filter applied to each block can vary.

[0093] In LMCS (Luma Mapping with Chroma Scaling), luma mapping (LM) refers to remapping luminance values ​​through a piece-wise linear model, and chroma scaling (CS) refers to a technique that scales the residual values ​​of chrominance components according to the average luminance value of the prediction signal. In particular, LMCS can be utilized as an HDR correction technique that reflects the characteristics of HDR (High Dynamic Range) images.

[0094] The restored block or restored image that has passed through the filter unit (180) may be stored in the reference picture buffer (190). The restored block that has passed through the filter unit (180) may be a part of the reference image. In other words, the reference image may be a restored image composed of restored blocks that have passed through the filter unit (180). The stored reference image may be used for inter-screen prediction or motion compensation thereafter.

[0095] Figure 2 is a block diagram showing the configuration according to one embodiment of a decryption 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 FIG. 2, the decoding device (200) may include an entropy decoding unit (210), an inverse quantization unit (220), an inverse transformation 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 a bitstream output from the encoding device (100). The decoding device (200) can receive a bitstream stored in a computer-readable recording medium, or a bitstream streamed through a wired / wireless transmission medium. The decoding device (200) can perform decoding on the bitstream in intra mode or inter mode. In addition, the decoding device (200) can generate a restored image or a decoded image through decoding, and can output the restored image or the decoded image.

[0099] If the prediction mode used for decryption is intra mode, the switch (203) can be switched to intra. If the prediction mode used for decryption is inter mode, the switch (203) can be switched to inter.

[0100] The decoding device (200) can decode the input bitstream to obtain a reconstructed residual block and generate a prediction block. Once the reconstructed residual block and the prediction block are obtained, the decoding device (200) can generate a reconstructed block to be decoded by adding the reconstructed residual block and the prediction block. The block to be decoded may be referred to as a current block.

[0101] The entropy decoding unit (210) can generate symbols by performing entropy decoding according to a probability distribution for the bitstream. The generated symbols may include symbols in the form of quantized levels. Here, the entropy decoding method may be the reverse process of the entropy encoding method described above.

[0102] The entropy decoding unit (210) can change a one-dimensional vector-shaped coefficient into a two-dimensional block-shaped coefficient through a transform coefficient scanning method to decode a transform coefficient level (quantized level).

[0103] The quantized level can be inversely quantized in the inverse quantization unit (220) and inversely transformed in the inverse transformation unit (230). The quantized level can be generated as a restored residual block as a result of performing inverse quantization and / or inverse transformation. At this time, the inverse quantization unit (220) can apply a quantization matrix to the quantized level. The inverse quantization unit (220) and inverse transformation unit (230) applied to the decoding device can apply the same technology as the inverse quantization unit (160) and inverse transformation unit (170) applied to the encoding device described above.

[0104] When intra mode is used, the intra prediction unit (240) can generate a predicted block by performing spatial prediction 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 technology as the intra prediction unit (120) applied to the encoding device described above.

[0105] When the inter mode is used, the motion compensation unit (250) can generate a prediction block by performing motion compensation using a motion vector and a reference image stored in the reference picture buffer (270) on the current block. The motion compensation unit (250) can generate a prediction block 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 motion compensation, it is possible to determine whether the motion compensation method of the prediction unit included in the corresponding 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 technology as the motion compensation unit (122) applied to the encoding device described above.

[0106] The adder (201) can add the restored residual block and the predicted block to generate a restored block. The filter unit (260) can apply at least one of an Inverse-LMCS, a deblocking filter, a sample adaptive offset, and an adaptive loop filter to the restored block or restored image. The filter unit (260) applied to the decoding device can apply the same filtering technology as that 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 can be stored in the reference picture buffer (270) and used for inter prediction. The restored block that has passed through the filter unit (260) can be a part of the reference image. In other words, the reference image can be a restored image composed of restored blocks that have passed through the filter unit (260). The stored reference image can be used for inter-screen prediction or motion compensation thereafter.

[0108] FIG. 3 is a diagram schematically 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) may transmit encoded video and / or image information or data to the decoding device (20) in the form of a file or streaming via a digital storage medium or a network.

[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 reception unit (21), a decoding unit (22), and a rendering unit (23). The encoding unit (12) may be referred to as a video / image encoding unit, and the decoding unit (22) may be referred to as a video / image decoding unit. The transmission unit (13) may be included in the encoding unit (12). The reception unit (21) may be included in the decoding unit (22). The rendering unit (23) may include a display unit, and the display unit may be configured as a separate device or an external component.

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

[0112] The encoding unit (12) can encode the input video / image. The encoding unit (12) can perform a series of procedures such as prediction, transformation, and quantization for compression and encoding efficiency. The encoding unit (12) can output encoded data (encoded video / image information) in the form of a bitstream. The detailed configuration of the encoding unit (12) can also be configured in the same manner as the encoding device (100) of FIG. 1 described above.

[0113] The transmission unit (13) can transmit encoded video / image information or data output in the form of a bitstream to the reception unit (21) of the decoding device (20) via a digital storage medium or a network in the form of a file or streaming. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmission unit (13) can include an element for generating a media file through a predetermined file format and can include an element for transmission via a broadcasting / communication network. The reception 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 / image by performing a series of procedures such as inverse quantization, inverse transformation, 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 manner as the decoding device (200) of FIG. 2 described above.

[0115] The rendering unit (23) can render the decrypted video / image. The rendered video / image can be displayed through the display unit.

[0116]

[0117] The present disclosure provides a method for improving prediction according to a convolutional cross-component model (CCCM) in an in-screen prediction technique.

[0118] The present disclosure relates to a convolutional cross-component model (CCCM) in a prediction technology within a screen, which is a technology for predicting a chrominance signal using a luminance signal and removing redundancy between the luminance signal and the chrominance signal. The CCCM determines a reference area based on a current block, and determines filter coefficients that can reduce the difference between the chrominance signal predicted from the luminance signal and the actual reconstructed chrominance signal within the area. Since the reference area directly affects the performance of the CCCM, an efficient method for determining the reference area is required. In addition, a method for improving the prediction accuracy of the CCCM and thereby enhancing coding efficiency is required.

[0119] The present disclosure provides a method for improving the encoding efficiency of a convolutional cross-component model. According to one embodiment, a reference region of a convolutional cross-component model can be determined using a block vector (BV). A corresponding luma block can be encoded using intra-template matching prediction (IntraTMP) or intra-block copy (IBC) to have a block vector. A reference region for deriving a convolutional cross-component model can be determined using the block vector. Filter coefficients of a single model or multiple models can be calculated in the determined reference region. A final prediction value can be calculated based on a weighted sum of chrominance sample values ​​predicted through the convolutional cross-component model and chrominance sample values ​​predicted through intra- or inter-screen prediction. Furthermore, information related to the proposed convolutional cross-component model can be signaled in various ways.

[0120] Figure 4 is a diagram for explaining a convolutional cross component model derived from a block vector.

[0121] The convolutional cross-component model (CCCM) mode is an intra-picture prediction mode that predicts chroma samples from reconstructed luma samples. Prediction of chroma samples according to the CCCM mode can be performed by sub-sampling the reconstructed luma samples based on the 7-tap filter of Equation 1. Equation 1 can include a nonlinear term and a bias term in addition to a term for sub-sampling luma samples according to a color format. In some embodiments, the nonlinear term and / or the bias term may not be used in the CCCM mode.

[0122] [Mathematical Formula 1]

[0123] predChromaVal= c 0˙ C + c 1˙ N + c 2˙ S + c 3˙ E + c 4˙ W + c 5˙ P + c 6˙ B

[0124] In mathematical expression 1, C represents a sample at the same position as the predicted chrominance sample among the sub-sampled luminance samples, N represents an upper sample, S represents a lower sample, W represents a left sample, and E represents a right sample. Figure 4 shows the positions of C, N, S, E, and W in mathematical expression 1.

[0125] P in Equation 1 is a nonlinear term and is calculated as in Equation 2. In Equation 2, bitDepth represents bit depth, and midVal is the midpoint of the sample range that can be expressed in the current bit depth, which can be calculated as in Equation 3. The bias term B in Equation 1 represents a scalar offset between the input and the output.

[0126] [Equation 2]

[0127] P=(C 2 +midVal) >> bitDepth

[0128] [Equation 3]

[0129] midVal=2 bitDepth >> 1

[0130] In addition to these, various convolutional cross-component model techniques can be used, such as a convolutional cross-component model that uses gradient and location information in addition to luminance samples, a convolutional cross-component model that uses luminance samples that have not been downsampled, and a convolutional cross-component model that uses the gradient of luminance samples instead of luminance samples.

[0131] Figure 5 illustrates a reference region adjacent to the current block that can be used in the derivation of a convolutional cross-component model.

[0132] The filter coefficients used in the convolutional cross component model mode are determined so as to minimize the difference between the predicted chrominance samples according to the convolutional cross component model mode in the reference area and the reconstructed chrominance samples of the reference area. In the convolutional cross component model mode, the reference area (510) of the current block (500) may be set to include the upper left area (512), the upper area (514), the upper right area (516), the left area (518), and the lower left area (520) of the current block (500). According to an embodiment, the reference area (510) may be set to include only some of the five areas. For example, the reference area (510) may include only the upper area (514) or only the left area (518). Alternatively, the reference region (510) may include only the upper region (514) and the upper left region (512), or may include only the left region (518) and the upper left region (512). Alternatively, the reference region (510) may include only the upper left region (512), the upper region (514), and the upper right region (516), or may include only the upper left region (512), the left region (518), and the lower left region (520). Alternatively, the reference region (510) may include only the upper left region (512), the upper region (514), and the left region (518). The range of the reference region (510) may be explicitly signaled from the bitstream. In addition, the range of the reference region (510) may be determined according to the position, size, shape, aspect ratio, depth, etc. of the current block (500). Additionally, the range of the reference area (510) may be determined differently depending on whether the current block (500) is adjacent to the upper boundary of a predetermined data unit block such as an encoding tree unit, slice, tile, etc. Additionally, the range of the reference area (510) may be determined by considering both information obtained from the bitstream and the attributes of the current block (500).

[0133] The height and width of the upper left region (512) may be determined as arbitrary positive integers M and N, respectively. The widths of the upper region (514) and the upper right region (516) may be equal to the width of the current block (500), and the heights may be determined as M. The widths of the left region (518) and the lower left region (520) may be equal to N, and the heights may be determined as equal to the height of the current block (500). In FIG. 5, M and N have a value of 6, but may have different values ​​depending on the embodiment.

[0134] As the reference area (510) becomes larger, the amount of computation required to determine the filter coefficients used in the convolutional cross-component model mode may increase. Instead, as the reference area (510) becomes larger, the likelihood of obtaining filter coefficients more suitable for the current block (500) increases.

[0135] The side region (530) shaded in dark shade in Fig. 5 is used for the side sample of the reference region (510). If the sample of the side region (530) is not available, the side sample of the reference region (510) can be padded and used as the sample of the side region (530).

[0136] Figure 5 illustrates an embodiment in which the reference region of a convolutional cross-component model is adjacent to the current block. However, depending on the embodiment, the reference region of the convolutional cross-component model may be derived from the block vector of the current block. Below, a method for determining the reference region of a convolutional cross-component model based on the block vector is described.

[0137] If the corresponding luma block of the current chrominance block is predicted by intra template matching prediction (IntraTMP) or intra block copy (IBC), the reference region of the convolutional cross component model can be determined using the block vector (BV) of the corresponding luma block.

[0138] In the case of a chrominance format (such as YCbCr422, YCbCr411, YCbCr420) that determines a chrominance sample by subsampling luminance samples, scaling suitable for the chrominance format is required to use the block vector of the luminance block in the chrominance block. For example, YCbCr422 may have a scaling ratio of 1 / 2 horizontally and 1 vertically, YCbCr411 may have a scaling ratio of 1 / 4 horizontally and 1 vertically, and YCbCr 4:2:0 may have a scaling ratio of 1 / 2 horizontally and 1 / 2 vertically. A reference area may be determined in various ways using a block vector scaled to suit the chrominance format. Hereinafter, a method of determining a reference area using a scaled block vector is described in FIGS. 6 and 7.

[0139] Figure 6 illustrates a method for deriving a chrominance block vector to be used in a chrominance block by scaling a block vector used in a corresponding luminance block.

[0140] In Fig. 6, a luminance picture (600) and a chrominance picture (610) are illustrated. The chrominance picture (610) includes a current chrominance block (612), and the luminance picture (600) includes a corresponding luminance block (602) corresponding to the position of the current chrominance block (612). If the corresponding luminance block (602) is predicted by the within-screen block copy mode or the within-screen template matching mode, a luminance block vector (604) used for the corresponding luminance block (602) can be obtained. Then, a luminance sample reference block (606) indicated by the luminance block vector (604) can be determined as a luminance sample reference area used for deriving CCCM. The luminance sample reference area can be used as is or down-sampled depending on the type of cross-component model to be used.

[0141] A scaled block vector (614) can be obtained by scaling the luminance block vector (604) used in the corresponding luminance block (602) to fit the chrominance format. A chroma sample reference area (616) indicated by the scaled block vector (614) can be used to derive the CCCM. The scaling ratio of the luminance block vector (604) can be determined at any ratio according to the chrominance format.

[0142] FIG. 7 illustrates a method for deriving a chrominance block vector to be used in a chrominance block by using a plurality of scaled block vectors obtained by scaling a plurality of luminance block vectors when a block vector list of a corresponding luminance block includes a plurality of luminance block vectors.

[0143] In Fig. 7, a luminance picture (700) and a chrominance picture (720) are illustrated. The chrominance picture (720) includes a current chrominance block (722), and the luminance picture (700) includes a corresponding luminance block (702) corresponding to the position of the current chrominance block (722). When a plurality of luminance block vectors are included in the luminance block vector list of the corresponding luminance block (702), luminance block vectors of the corresponding luminance block (702) can be obtained. In Fig. 7, the luminance block vector list of the corresponding luminance block (702) includes a first luminance block vector (704) and a second luminance block vector (706). And one of the first luminance sample reference block (708) indicated by the first luminance block vector (704) and the second luminance sample reference block (710) indicated by the second luminance block vector (706) may be determined as the luminance sample reference area used for deriving CCCM. For example, if the first luminance sample reference block (708) among the first luminance sample reference block (708) and the second luminance sample reference block (710) is used for predicting the corresponding luminance block (702), the first luminance sample reference block (708) may be determined as the luminance sample reference area. The first luminance sample reference block (708) and the second luminance sample reference block (710) may be used as is or downsampled depending on the type of cross-component model to be used.

[0144] The first luminance block vector (704) and the second luminance block vector (706) included in the luminance block vector list of the corresponding luminance block (702) can be scaled to fit the chrominance format. Then, template matching is performed between the current template (724) of the current chrominance block (722) and the first reference template (730) of the first chrominance sample reference block (728) pointed to by the scaled first chrominance block vector (726). Similarly, template matching is performed between the current template (724) of the current chrominance block (722) and the second reference template (736) of the second chrominance sample reference block (734) pointed to by the scaled second chrominance block vector (732).

[0145] And, according to a predetermined cost function, a chroma sample reference block having a reference template with the smallest cost value among the first reference template (730) and the second reference template (736) can be determined as a chroma sample reference area for deriving CCCM. The cost function can be determined in various ways, such as sum of absolute differences (SAD) and sum of square error (SSE).

[0146] For example, in FIG. 7, since the second reference template (736) has a smaller cost value than the first reference template (730), the second chrominance sample reference block (734) corresponding to the second reference template (736) can be determined as the chrominance sample reference area of ​​the current chrominance block (722). That is, even if the optimal luminance block vector of the corresponding luminance block (702) is the first luminance block vector (704), the optimal chrominance block vector of the current chrominance block (722) is determined as the second chrominance block vector (732) scaled according to the template matching result, and the second chrominance sample reference block (734) pointed to by the scaled second chrominance block vector (732) can be determined as the chrominance sample reference area.

[0147] In FIGS. 6 and 7, a method for determining a chrominance sample reference area of ​​a current chrominance block based on a chrominance format (such as YCbCr422, YCbCr411, YCbCr420) in which chrominance components are sampled is described. Hereinafter, based on FIGS. 8 and 9, a method for determining a chrominance sample reference area of ​​a current chrominance block without scaling a luminance block vector of a luminance block is described in the case of a chrominance format (such as YCbCr444) in which the sample ratios of luminance components and chrominance components are the same.

[0148] Figure 8 illustrates a method for deriving a chrominance block vector to be used in a chrominance block from a luminance block vector used in a corresponding luminance block.

[0149] In Fig. 8, a luminance picture (800) and a chrominance picture (810) are illustrated. The chrominance picture (810) includes a current chrominance block (812), and the luminance picture (800) includes a corresponding luminance block (802) corresponding to the position of the current chrominance block (812). If the corresponding luminance block (802) is predicted by the within-screen block copy mode or the within-screen template matching mode, a luminance block vector (804) used for the corresponding luminance block (802) can be obtained. Then, a luminance sample reference block (806) indicated by the luminance block vector (804) can be determined as a luminance sample reference area used for deriving CCCM. The luminance sample reference area can be used as is or downsampled depending on the type of cross-component model to be used.

[0150] The chrominance block vector (814) of the current chrominance block (812) can be determined to have the same value as the luminance block vector (804) used in the corresponding luminance block (802). The chrominance sample reference area (816) indicated by the chrominance block vector (814) can be used for deriving CCCM.

[0151] FIG. 9 illustrates a method for deriving a chrominance block vector to be used in a chrominance block using a plurality of luminance block vectors when a luminance block vector list of a corresponding luminance block includes a plurality of luminance block vectors.

[0152] In Fig. 9, a luminance picture (900) and a chrominance picture (910) are illustrated. The chrominance picture (920) includes a current chrominance block (922), and the luminance picture (900) includes a corresponding luminance block (902) corresponding to the position of the current chrominance block (922). When a plurality of luminance block vectors are included in the luminance block vector list of the corresponding luminance block (902), luminance block vectors of the corresponding luminance block (902) can be obtained. In Fig. 9, the luminance block vector list of the corresponding luminance block (902) includes a first luminance block vector (904) and a second luminance block vector (906). And one of the first luminance sample reference block (908) indicated by the first luminance block vector (904) and the second luminance sample reference block (910) indicated by the second luminance block vector (906) may be determined as the luminance sample reference area used for deriving CCCM. For example, if the first luminance sample reference block (908) among the first luminance sample reference block (908) and the second luminance sample reference block (910) is used for predicting the corresponding luminance block (902), the first luminance sample reference block (908) may be determined as the luminance sample reference area. The first luminance sample reference block (908) and the second luminance sample reference block (910) may be used as is or downsampled depending on the type of cross-component model to be used.

[0153] The first chrominance block vector (926) and the second chrominance block vector (932) of the current chrominance block (922) can be determined to have the same values ​​as the first luminance block vector (904) and the second luminance block vector (906) of the corresponding luminance block (902). Then, template matching is performed between the current template (924) of the current chrominance block (922) and the first reference template (930) of the first chrominance sample reference block (928) pointed to by the first chrominance block vector (926). Similarly, template matching is performed between the current template (924) of the current chrominance block (922) and the second reference template (936) of the second chrominance sample reference block (934) pointed to by the second chrominance block vector (932).

[0154] And, according to a predetermined cost function, a chrominance sample reference block having a reference template with the smallest cost value among the first reference template (930) and the second reference template (936) can be determined as a chrominance sample reference region for deriving CCCM. The cost function can be determined in various ways, such as a sum of absolute differences, a sum of squared errors, etc.

[0155] For example, in FIG. 9, since the second reference template (936) has a smaller cost value than the first reference template (930), the second chrominance sample reference block (934) corresponding to the second reference template (936) can be determined as the chrominance sample reference area of ​​the current chrominance block (922). That is, even if the optimal luminance block vector of the corresponding luminance block (902) is the first luminance block vector (904), the optimal chrominance block vector of the current chrominance block (922) is determined as the second chrominance block vector (932) according to the template matching result, and the second chrominance sample reference block (934) pointed to by the second chrominance block vector (932) can be determined as the chrominance sample reference area.

[0156] In FIGS. 7 and 9, only two luminance block vectors of the luminance block vector list of the corresponding luminance block (902) are illustrated as being used, but three or more luminance block vectors may be used depending on the number of luminance block vectors of the luminance block vector list and the setting of the CCCM mode. In addition, according to an embodiment, all luminance block vectors included in the luminance block vector list may be used to determine the chrominance sample reference area. If only some luminance block vectors of the luminance block vector list are used to determine the chrominance sample reference area, luminance block vectors with the highest priority in the luminance block vector list may be used to determine the chrominance sample reference area.

[0157] When the block division structures of two luminance blocks and a chrominance block are different, multiple corresponding luminance blocks may correspond to the current chrominance block. Therefore, when multiple corresponding luminance blocks correspond to the current chrominance block, luminance block vectors of the multiple corresponding luminance blocks may be applied to the current chrominance block. For example, when there are two corresponding luminance blocks predicted by within-screen template matching or within-screen block copying, two luminance block vectors of the two corresponding luminance blocks may be applied to the current chrominance block. When the CCCM mode is set to use up to two luminance block vectors, when there are three corresponding luminance blocks predicted by within-screen template matching or within-screen block copying, luminance block vectors of two corresponding luminance blocks having priorities according to a predetermined criterion may be applied to the current chrominance block. The predetermined criterion may be the size of an overlapping area between a luminance area corresponding to an area of ​​the current chrominance block and the corresponding luminance block. For example, a luminance block vector of a corresponding luminance block with a large overlapping area can be applied to the current chrominance block.

[0158] According to one embodiment, when deriving a convolutional cross component model, all samples of a luminance sample reference area and a chrominance sample reference area may be referenced. If all samples are referenced, the accuracy of the convolutional cross component model may be improved, but there is a problem that the amount of computation of an encoder and a decoder increases. Therefore, a convolutional cross component model may be derived by referencing only some samples at predetermined positions of the luminance sample reference area and the chrominance sample reference area. The number of referenced samples may be fixed. For example, it may be fixed to 4, 16, 64, etc. Alternatively, the number of referenced samples may be determined in proportion to the size of a current chrominance block or a corresponding luminance block.

[0159] The proposed convolutional cross-component model can be applied to multiple models as well as a single model.

[0160] For example, when two models are used, the mean value of the luminance samples included in the luminance sample reference area can be calculated, and a first model calculated for luminance samples greater than the mean value and a second model calculated for the remaining samples can be derived. In addition to the mean value, models can also be designed to be distinguished based on a median value, a predetermined fixed value, or any criterion specified in the decoder / decoder.

[0161] As another example, separate models can be derived for each chrominance component (i.e., Cb, Cr).

[0162] The multi-model syntax element for whether to use multiple models or the chrominance-specific separate model syntax element for whether to use separate models for each chrominance component can be signaled at the high level (e.g., video parameter set (VPS), sequence parameter set (SPS), picture parameter set (PPS), picture header, slice header, etc.). Alternatively, the multi-model syntax element and the chrominance-specific separate model syntax element can be signaled at the low level (e.g., coding unit (CU), prediction unit (PU), transform unit (TU), etc.). Alternatively, both the syntax elements can be signaled at the high level and the low level. In this case, the high-level syntax element indicates whether multiple models or separate models for each chrominance component are allowed in the upper data unit (picture or slice), and the low-level syntax element can indicate whether multiple models or separate models for each chrominance component are used in the lower data unit (CU, TU, or PU) when the high-level information indicates the allowance of multiple models or the allowance of separate models for each chrominance component.

[0163] The multi-model syntax element can be set to indicate a single model when 0 and multiple models when 1. The chrominance component separate model syntax element can be set to indicate the same model regardless of the chrominance component when 0 and to indicate a model designed separately for each chrominance component when 1.

[0164] The final predicted value can be calculated by weighting the predicted chrominance sample values ​​using the proposed convolutional cross-component model and the predicted chrominance sample values ​​through intra-screen prediction / inter-screen prediction. Below, mathematical expression 4 represents the equation for calculating the proposed final predicted value.

[0165] [Equation 4]

[0166] predChromaVal Fin =ω CCCM Х predChromaVal CCCM + ω normal Х predChromaVal normal

[0167] In Equation 4, predChromaVal CCCM and predChromaVal normal Each represents a chrominance prediction value generated from a convolutional cross-component model and a chrominance prediction value generated through intra-screen prediction / inter-screen prediction. And, ω CCCM and ω normal Each represents the weighted value of the color difference prediction value generated from the convolutional cross-component model and the weighted value of the color difference prediction value generated through intra-screen / inter-screen prediction. Weight value ω CCCM and ω normal Any value specified in the encoder / decoder can be used, and ω CCCM + ω normal = 1, and ω CCCM ≥ 0 and ω normal ≥ 0. The weight values ​​for calculating the final predicted value may have the same value regardless of the chrominance component, or may have different values ​​depending on the chrominance component (i.e., whether it is Cb or Cr).

[0168] Information about whether to use a convolutional cross-component model driven by block vectors can be signaled / parsed in various ways.

[0169] For example, a BV CCCM syntax element indicating whether a convolutional cross component model derived from block vectors is used can be independently signaled at a high level (e.g., video parameter set (VPS), sequence parameter set (SPS), picture parameter set (PPS), picture header, slice header, etc.). Alternatively, the BV CCCM syntax element can be signaled dependently on other syntax elements. For example, a CCCM syntax element indicating whether a convolutional cross component model is used can be signaled at a high level, and the BV CCCM syntax element can be dependent on the CCCM syntax element and be signaled at the same level as or a lower level than a data unit signaled in the CCCM syntax element.

[0170] As another example, in order to adaptively apply the convolutional cross-component model mode derived from block vectors depending on the picture type or slice type, the BV CCCM syntax element can be signaled dependently on syntax elements indicating the picture type or slice type (e.g., ph_intra_slice_allowed_flag, ph_inter_slice_allowed_flag, sh_slice_type, etc.).

[0171] As another example, a BV CCCM syntax element can be signaled independently at a lower level (e.g., coding unit (CU), prediction unit (PU), transform unit (TU), etc.), or can be signaled dependently on other syntax elements. For example, a CCCM syntax element can be signaled at the PU level, and a BV CCCM syntax element can be dependent on a CCCM syntax element and be signaled at the same level or a lower level than the data unit signaled to the CCCM syntax element.

[0172] As another example, if a CCCM syntax element indicates that a convolutional cross component model is applied to a current chrominance block, a reference region for deriving a convolutional cross component model can be determined according to a prediction mode of a corresponding luminance block of the current chrominance block. In this case, a BV CCCM syntax element is not separately signaled. If a corresponding luminance block of the current chrominance block is predicted in an intra-screen template matching mode or an intra-screen block copy mode, a convolutional cross component model derived from a block vector can be set to be used for the current chrominance block. Conversely, if the intra-screen template matching mode or the intra-screen block copy mode is not applied to the corresponding luminance block, a convolutional cross component model that does not use a block vector can be set to be used for the current chrominance block.

[0173] If the block division structures of the luminance block and the chrominance block are different, multiple corresponding luminance blocks may correspond to the current chrominance block. Therefore, if multiple luminance blocks correspond to the current chrominance block, and even one corresponding luminance block is predicted by the within-screen template matching mode or the within-screen block copy mode, a convolutional cross component model that derives a block vector for the current chrominance block may be set to be used. Conversely, if the within-screen template matching mode or the within-screen block copy mode is not applied to any corresponding luminance blocks, a convolutional cross component model that does not use a block vector for the current chrominance block may be set to be used.

[0174] The plurality of corresponding luminance blocks may be determined as all luminance blocks overlapping a luminance area corresponding to an area of ​​the current chrominance block. Alternatively, the plurality of corresponding luminance blocks may be determined as luminance blocks corresponding to arbitrary sample positions (e.g., top-left sample, top-right sample, bottom-left sample, bottom-right sample, center sample, etc.) of a luminance area corresponding to an area of ​​the current chrominance block. At this time, the arbitrary sample positions and number used follow the conventions of the encoder / decoder.

[0175]

[0176] Fig. 10 shows an example of a prediction method according to a convolutional cross component model using a block vector.

[0177] At step 1002, the corresponding luminance block of the current chrominance block is determined.

[0178] In step 1004, a luminance block vector is determined from the corresponding luminance block. The luminance block vector can be derived from the corresponding luminance block if the corresponding luminance block is predicted according to an intra-screen block copy mode or an intra-screen template matching mode. The luminance block vector represents the difference between the positions of the corresponding luminance block and a luminance sample reference area referenced in the prediction of the corresponding luminance block.

[0179] According to one embodiment, a luminance block vector list including a plurality of luminance block vector candidates can be derived from the corresponding luminance block. At this time, a luminance block vector candidate selected from among the plurality of luminance block vector candidates is determined as the luminance block vector of the corresponding luminance block.

[0180] In step 1006, the chrominance block vector of the current chrominance block is determined from the luminance block vector. For example, the chrominance block vector of the current chrominance block may be determined from the luminance block vector based on the chrominance format of the current picture.

[0181] According to one embodiment, when the chrominance format of the current picture is a chrominance format (such as YCbCr422, YCbCr411, YCbCr420) that determines chrominance samples by sub-sampling luminance samples, the chrominance block vector of the current chrominance block can be determined by scaling the luminance block vector based on the chrominance format of the current picture.

[0182] According to one embodiment, when the chrominance format of the current picture is a sampled chrominance format (such as YCbCr444) in which the sample ratios of the luminance component and the chrominance component are the same, the chrominance block vector of the current chrominance block may be determined to be the same as the luminance block vector.

[0183] According to one embodiment, when the corresponding luminance block is predicted based on a luminance block vector candidate selected from among a plurality of luminance block vector candidates, a plurality of chrominance block vector candidates for a current chrominance block can be derived from the plurality of luminance block vector candidates. And the chrominance block vector of the current chrominance block can be determined based on a comparison result between a current template of the current chrominance block and a reference template determined by the chrominance block vector candidate, among the plurality of chrominance block vector candidates.

[0184] According to one embodiment, a comparison result between a current template of the current chrominance block and a reference template determined by the chrominance block vector candidate may be determined by template matching between the current template and the reference template based on a predetermined cost function. The predetermined cost function may be determined from one of a sum of absolute differences (SAD) and a sum of square errors (SSE). According to the comparison result, a cost value of each of the plurality of chrominance block vector candidates may be determined, and a chrominance block vector candidate having a smallest cost value may be determined as the chrominance block vector of the current chrominance block.

[0185] In step 1008, a convolution cross component model is derived from a luminance sample reference region derived from the luminance block vector and a chrominance sample reference region derived from the chrominance block vector.

[0186] According to one embodiment, the convolutional cross component model is expressed by a plurality of filter coefficients. The plurality of filter coefficients may include at least one of a first filter coefficient for a first luminance sample corresponding to the chrominance sample, a second filter coefficient for a second luminance sample above the first luminance sample, a third filter coefficient for a third luminance sample below the first luminance sample, a fourth filter coefficient for a fourth luminance sample to the right of the first luminance sample, a fifth filter coefficient for a fifth luminance sample to the left of the first luminance sample, a sixth filter coefficient for a nonlinear term derived from the first luminance sample, and a seventh filter coefficient for a bias term of the convolutional cross component model.

[0187] According to one embodiment, the convolutional cross component model can be derived from luminance samples at predetermined locations in the luminance sample reference area and chrominance samples at predetermined locations in the chrominance sample reference area.

[0188] According to one embodiment, the step of determining whether the convolutional cross component model applied to the current chrominance block is a single model or multiple models may be further included. And, based on the determination, one or more convolutional cross component models may be derived from the luminance sample reference area and the chrominance sample reference area.

[0189] If the convolution cross-component model is a multi-model, the luminance samples of the luminance sample reference area are classified into a first luminance sample group and a second luminance sample group according to a predetermined threshold value. The predetermined threshold value may be one of the average value, the median value, a predetermined fixed value, or a value determined from information obtained from a bitstream of the luminance samples of the luminance sample reference area.

[0190] And a first convolution cross component model can be derived from luminance samples of the first luminance sample group and chrominance samples of the chrominance sample reference area corresponding to the luminance samples of the first luminance sample group, and a second convolution cross component model can be derived from luminance samples of the second luminance sample group and chrominance samples of the chrominance sample reference area corresponding to the luminance samples of the second luminance sample group.

[0191] In step 1010, the current chrominance block is predicted based on the convolutional cross component model.

[0192] According to one embodiment, a first prediction block may be determined by predicting the current chrominance block based on the convolutional cross component model. A second prediction block may be determined by predicting the current chrominance block according to an intra-screen prediction method or an inter-screen prediction method that does not use the convolutional cross component model. And, a final prediction block of the current chrominance block may be determined based on a weighted sum of each prediction sample of the first prediction block and the second prediction block.

[0193] Before performing the methods of steps 1002 to 1010, it can be determined whether to apply a convolutional cross-component model derived from a block vector based on a predetermined syntax element obtained from the bitstream.

[0194] According to one embodiment, a first syntax element indicating whether a convolutional cross component model derived from a block vector is allowed for an upper data unit of the current chrominance block may be obtained. If the first syntax element indicates that a convolutional cross component model derived from a block vector is not allowed for the upper data unit, the second syntax element is not obtained, and the convolutional cross component model derived from a block vector is not applied to the current chrominance block. Conversely, if the first syntax element indicates that a convolutional cross component model derived from a block vector is allowed for the upper data unit, a second syntax element indicating whether a convolutional cross component model derived from a block vector is applied to the current chrominance block may be obtained.

[0195] If the second syntax element indicates that a convolutional cross component model derived from a block vector is applied to the current chrominance block, a prediction method according to the convolutional cross component model derived from a block vector may be performed according to steps 1002 to 1010. Conversely, if the second syntax element indicates that a convolutional cross component model derived from a block vector is not applied to the current chrominance block, a prediction method according to the convolutional cross component model derived from a block vector is not performed.

[0196] According to one embodiment, a third syntax element indicating whether a convolutional cross component model is applied to the current chroma block may be obtained. If the third syntax element indicates that a convolutional cross component model is applied to the current chroma block, the second syntax element may be obtained. Depending on the second syntax element, whether a convolutional cross component model derived from a block vector is applied may be determined.

[0197] According to one embodiment, when the third syntax element indicates that a convolutional cross component model is applied to a current chrominance block, a reference region for deriving a convolutional cross component model may be determined according to a prediction mode of a corresponding luminance block of the current chrominance block. If a corresponding luminance block of the current chrominance block is predicted in an intra-screen template matching mode or an intra-screen block copy mode, the luminance sample reference region and the chrominance sample reference region may be determined based on one or more luminance block vectors of the corresponding luminance block. Conversely, if a corresponding luminance block of the current chrominance block is not predicted in an intra-screen template matching mode or an intra-screen block copy mode, the luminance sample reference region may be determined based on an adjacent region of the corresponding luminance block, and the chrominance sample reference region may be determined based on an adjacent region of the current chrominance block.

[0198] If the first syntax element indicates that a convolutional cross-component model derived from a block vector in the upper data unit is not allowed, the chrominance sample reference area can be determined based on an adjacent area of ​​the current chrominance block, regardless of whether the corresponding luminance block is predicted in an intra-screen template matching mode or an intra-screen block copy mode.

[0199] Depending on the prediction method performed in steps 1002 to 1010, the current block may be encoded or decoded. In some embodiments, the first to third syntax elements are encoded by the encoder according to the prediction result. The information is then decoded by the decoder and used for block prediction.

[0200] And the bitstream generated by the encoder according to the prediction method performed in steps 1002 to 1010 can be stored in a recording medium or transmitted outside the encoder.

[0201] FIG. 11 is a drawing exemplifying a content streaming system to which an embodiment according to the present invention can be applied.

[0202] As illustrated in FIG. 11, a content streaming system to which an embodiment of the present invention is applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.

[0203] The encoding server compresses content input from multimedia input devices such as smartphones, cameras, and CCTVs into digital data, generates a bitstream, and transmits it to the streaming server. Alternatively, if multimedia input devices such as smartphones, cameras, and CCTVs directly generate bitstreams, the encoding server may be omitted.

[0204] The above bitstream can be generated by an image encoding method and / or an image encoding device to which an embodiment of the present invention is applied, and the streaming server can temporarily store the bitstream during the process of transmitting or receiving the bitstream.

[0205] The streaming server transmits multimedia data to a user device based on a user request via a web server, and the web server can act as an intermediary to inform the user of available services. When a user requests a desired service from the web server, the web server transmits the request to the streaming server, and the streaming server can transmit multimedia data to the user. At this time, the content streaming system may include a separate control server, and in this case, the control server may control commands / responses between each device within the content streaming system.

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

[0207] Examples of the user devices may include mobile phones, smart phones, laptop computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, slate PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, HMDs), digital TVs, desktop computers, digital signage, etc.

[0208] Each server within the above content streaming system can be operated as a distributed server, in which case data received from each server can be processed in a distributed manner.

[0209] The above embodiments can be performed in the same or corresponding manner in an encoding device and a decoding device. In addition, an image can be encoded / decoded using at least one or a combination of at least one of the above embodiments.

[0210] The order in which the above embodiments are applied may be different in the encoding device and the decoding device. Alternatively, the order in which the above embodiments are applied may be the same in the encoding device and the decoding device.

[0211] The above embodiments can be performed for each of the luminance and chrominance signals. Alternatively, the above embodiments can be performed identically for the luminance and chrominance signals.

[0212] In the above embodiments, the methods are described based on a flowchart as a series of steps or units. However, the present invention is not limited to the order of the steps, and some steps may occur in a different order or simultaneously with other steps described above. Furthermore, those skilled in the art will understand that the steps depicted in the flowchart are not exclusive, and other steps may be included, or one or more steps in the flowchart may be deleted without affecting the scope of the present invention.

[0213] The above embodiments may be implemented in the form of program commands that can be executed by various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, etc., either singly or in combination. The program commands recorded on the computer-readable recording medium may be those specifically designed and constructed for the present invention, or may be known and usable by those skilled in the art of computer software.

[0214] The bitstream generated by the encoding method according to the above embodiment can be stored in a non-transitory computer-readable recording medium. In addition, the bitstream stored in the non-transitory computer-readable recording medium can be decoded by the decoding method according to the above embodiment.

[0215] 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 specifically configured to store and execute program instructions such as ROMs, RAMs, and flash memories. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc. The hardware devices may be configured to operate as one or more software modules to perform processing according to the present invention, and vice versa.

[0216] Although the present invention has been described above with specific details such as specific components and limited examples and drawings, these are provided only to help a more general understanding of the present invention, and the present invention is not limited to the above examples, and those with ordinary knowledge in the technical field to which the present invention pertains can make various modifications and variations from this description.

[0217] Therefore, the idea of ​​the present invention should not be limited to the embodiments described above, and all things that are modified equally or equivalently to the following claims as well as the claims are considered to fall within the scope of the idea of ​​the present invention.

[0218] The present invention can be used in a device for encoding / decoding an image and a recording medium storing a bitstream.

Claims

1. In the video decryption method, A step of determining a corresponding luminance block of the current chrominance block; A step of determining a luminance block vector from the corresponding luminance block; A step of determining a chrominance block vector of the current chrominance block from the luminance block vector; A step of deriving a convolutional cross-component model from a luminance sample reference region derived from the luminance block vector and a chrominance sample reference region derived from the chrominance block vector; and An image decoding method comprising a step of predicting the current chrominance block based on the convolutional cross component model.

2. In paragraph 1, The luminance block vector is derived from the corresponding luminance block when the corresponding luminance block is predicted according to the within-screen block copy mode or the within-screen template matching mode. An image decoding method, wherein the luminance block vector represents the difference between the position of the corresponding luminance block and the luminance sample reference area referred to in the prediction of the corresponding luminance block.

3. In paragraph 1, An image decoding method, wherein a chrominance block vector of the current chrominance block is determined from the luminance block vector based on the chrominance format of the current picture.

4. In paragraph 3, An image decoding method, wherein, when the chrominance format of the current picture is a chrominance format that determines chrominance samples by sub-sampling luminance samples, the chrominance block vector of the current chrominance block is determined by scaling the luminance block vector based on the chrominance format of the current picture.

5. In paragraph 3, An image decoding method, wherein, when the chrominance format of the current picture is a sampled chrominance format in which the sample ratios of the luminance component and the chrominance component are the same, the chrominance block vector of the current chrominance block is determined to be the same as the luminance block vector.

6. In paragraph 1, If the corresponding luminance block is predicted based on a luminance block vector candidate selected from among a plurality of luminance block vector candidates, The luminance block vector of the corresponding luminance block is determined as a luminance block vector candidate selected from among the plurality of luminance block vector candidates, A plurality of chrominance block vector candidates are derived from the plurality of luminance block vector candidates, An image decoding method, wherein the chrominance block vector of the current chrominance block is determined based on a comparison result between the current template of the current chrominance block and a reference template determined by the chrominance block vector candidate among the plurality of chrominance block vector candidates.

7. In paragraph 6, An image decoding method, wherein the result of comparison between the current template of the current chroma block and the reference template determined by the chroma block vector candidate is determined by template matching between the current template and the reference template based on a predetermined cost function.

8. In paragraph 7, The above given cost function is An image decoding method determined by either the sum of absolute differences (SAD) or the sum of square error (SSE).

9. In paragraph 7, According to the above comparison result, the cost value of each of the plurality of color difference block vector candidates is determined, An image decoding method in which a chrominance block vector candidate having a lowest cost value is determined as the chrominance block vector of the current chrominance block.

10. In paragraph 1, The above convolutional cross component model is, An image decoding method derived from luminance samples at predetermined locations in the luminance sample reference area and chrominance samples at predetermined locations in the chrominance sample reference area.

11. In paragraph 1, The chroma samples of the current chroma block above are, It is determined by applying a plurality of luminance samples corresponding to the above chrominance samples to the above convolution cross component model, The above convolutional cross component model is expressed by multiple filter coefficients, The above multiple filter coefficients are, A first filter coefficient for a first luminance sample corresponding to the above chrominance sample, A second filter coefficient for a second luminance sample above the first luminance sample, A third filter coefficient for a third luminance sample below the first luminance sample, A fourth filter coefficient for the fourth luminance sample to the right of the first luminance sample, A fifth filter coefficient for the fifth luminance sample to the left of the first luminance sample, The sixth filter coefficient for the nonlinear term derived from the first luminance sample, and An image decoding method comprising at least one of the seventh filter coefficients for a bias term of the above convolutional cross component model.

12. In paragraph 1, The above video decryption method is, Further comprising a step of determining whether the convolutional cross component model applied to the current chroma block is a single model or a multi-model; An image decoding method, wherein one or more convolutional cross component models are derived from the luminance sample reference area and the chrominance sample reference area according to the determination.

13. In paragraph 12, If the above convolutional cross-component model is a multi-model, Luminance samples of the above luminance sample reference area are classified into a first luminance sample group and a second luminance sample group according to a predetermined threshold value, A first convolution cross component model is derived from luminance samples of the first luminance sample group and chrominance samples of the chrominance sample reference area corresponding to the luminance samples of the first luminance sample group, An image decoding method, wherein a second convolution cross component model is derived from luminance samples of the second luminance sample group and chrominance samples of the chrominance sample reference area corresponding to the luminance samples of the second luminance sample group.

14. In paragraph 13, The above threshold value is, A method for decoding an image, wherein the luminance samples of the luminance sample reference area are one of an average value, a median value, a predetermined fixed value, or a value determined from information obtained from a bitstream.

15. In paragraph 1, The above video decryption method is, A step of determining a first prediction block by predicting the current chrominance block based on the convolutional cross component model; A step of determining a second prediction block by predicting the current chrominance block according to an intra-screen prediction method or an inter-screen prediction method that does not use the convolutional cross-component model; and An image decoding method further comprising the step of determining a final prediction block of the current chrominance block based on a weighted sum of each prediction sample of the first prediction block and the second prediction block.

16. In paragraph 1, The above video decryption method is, A step of obtaining a first syntax element indicating whether a convolutional cross component model derived from a block vector is allowed for an upper data unit of the current color difference block; and If the first syntax element indicates that a convolutional cross component model derived from a block vector is allowed for the upper data unit, the method further includes a step of obtaining a second syntax element indicating whether to apply a convolutional cross component model derived from a block vector to the current chroma block, An image decoding method, wherein each step of the first paragraph is performed when the second syntax element indicates that a convolutional cross component model derived as a block vector is applied to the current chrominance block.

17. In paragraph 1, The above video decryption method is, Further comprising a step of obtaining a third syntax element indicating whether to apply a convolutional cross component model to the current color difference block; If the corresponding luminance block of the current chrominance block is predicted in the within-screen template matching mode or the within-screen block copy mode, the luminance sample reference area and the chrominance sample reference area are determined based on one or more luminance block vectors of the corresponding luminance block, An image decoding method, wherein, if a corresponding luminance block of the current chrominance block is not predicted in an within-screen template matching mode or an within-screen block copy mode, the luminance sample reference area is determined based on an adjacent area of ​​the corresponding luminance block, and the chrominance sample reference area is determined based on an adjacent area of ​​the current chrominance block.

18. In a video encoding method, A step of determining a corresponding luminance block of the current chrominance block; A step of determining a luminance block vector from the corresponding luminance block; A step of determining a chrominance block vector of the current chrominance block from the luminance block vector; A step of deriving a convolutional cross-component model from a luminance sample reference region derived from the luminance block vector and a chrominance sample reference region derived from the chrominance block vector; and An image encoding method, comprising a step of predicting the current chrominance block based on the convolutional cross component model.

19. In a computer-readable recording medium storing a bitstream generated by a video encoding method, In a video encoding method, A step of determining a corresponding luminance block of the current chrominance block; A step of determining a luminance block vector from the corresponding luminance block; A step of determining a chrominance block vector of the current chrominance block from the luminance block vector; A step of deriving a convolutional cross-component model from a luminance sample reference region derived from the luminance block vector and a chrominance sample reference region derived from the chrominance block vector; and A recording medium comprising a step of predicting the current chrominance block based on the convolutional cross component model.

20. A bitstream transmission method for transmitting a bitstream generated by a video encoding method, A step of encoding an image based on the above image encoding method; and Comprising a step of transmitting a bitstream including the encoded image, The above image encoding method is, A step of determining a corresponding luminance block of the current chrominance block; A step of determining a luminance block vector from the corresponding luminance block; A step of determining a chrominance block vector of the current chrominance block from the luminance block vector; A step of deriving a convolutional cross-component model from a luminance sample reference region derived from the luminance block vector and a chrominance sample reference region derived from the chrominance block vector; and A bitstream transmission method comprising a step of predicting the current chrominance block based on the convolutional cross component model.

Citation Information

Patent Citations

  • A device, a method and a computer readable storage medium for industrial safety management

    KR1020240081730A

  • Shift control system and method for hybrid vehicle

    KR102719573B1

  • Video signal processing method and apparatus therefor

    WO2023096472A1

  • KR20200104251A