Image encoding / decoding method and apparatus, and recording medium storing bitstream
By using a cross-component nonlinear model in image encoding/decoding, model coefficients are derived and chroma prediction blocks are generated, the problem of low high-resolution image encoding/decoding efficiency in the prior art is solved, and more efficient image processing and cost-reducing effect is achieved.
Patent Information
- Application Number
- CN202380063750.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-05
- Filing Date
- 2023-09-04
- Publication Date
- 2025-03-28
AI Technical Summary
The prior art has low encoding/decoding efficiency when processing high-resolution, high-quality images, resulting in increased transmission and storage costs.
A cross-component nonlinear model is adopted to derive model coefficients through reference samples, generate chroma prediction blocks, and improve the efficiency of image encoding/decoding.
More efficient image encoding/decoding is achieved, allowing for more accurate prediction of chromaticity blocks, reducing transmission and storage costs.
Smart Images

Figure CN119732058A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an image encoding / decoding method and apparatus and a recording medium storing a bit stream. More particularly, the present invention relates to an image encoding / decoding method and apparatus using a cross-component nonlinear model and a recording medium storing a bit stream. Background Art
[0002] Recently, in various application fields, there is an increasing demand for high-resolution, high-quality images such as ultra-high-definition (UHD) images. As image data becomes higher in resolution and quality, the amount of data increases relatively compared to existing image data. Therefore, when image data is transmitted using a medium such as existing wired and wireless broadband lines or stored using existing storage media, transmission and storage costs increase. In order to solve these problems that arise as image data becomes higher in resolution and quality, efficient image encoding / decoding technology for images with higher resolution and quality is required.
[0003] A cross-component linear model (CCLM) can be used to predict the chrominance signal by removing the redundancy between the luminance component signal and the chrominance component signal.
[0004] However, if there is a nonlinear relationship as well as a linear relationship between the reconstructed luminance component and chrominance components, the chrominance signal prediction based on the cross-component linear model may have a problem that the accuracy may be low. Summary of the invention
[0005] Technical issues
[0006] An object of the present invention is to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.
[0007] In addition, an object of the present invention is to provide a recording medium storing a bit stream generated by the image decoding method or apparatus according to the present invention.
[0008] In addition, another object of the present invention is to provide a method for deriving a cross-component nonlinear model and a method for generating a chrominance prediction block based on the cross-component nonlinear model to solve the above-mentioned problems.
[0009] Technical Solution
[0010] According to an embodiment of the present invention, a target decoding method may include deriving cross-component nonlinear model coefficients using reference samples, deriving a cross-component nonlinear model based on the cross-component nonlinear model coefficients, and generating a chrominance prediction block based on the cross-component nonlinear model.
[0011] In the above-mentioned image decoding method, the cross-component nonlinear model may be any one of an upper left cross-component nonlinear model, an upper side cross-component nonlinear model and a left side cross-component nonlinear model.
[0012] In the image decoding method, when the cross-component nonlinear model is an upper-left cross-component nonlinear model, the reference samples may include reference samples located at the upper-left side of the chroma prediction block and reference samples located at the upper-left side of the corresponding luminance block of the chroma prediction block.
[0013] In the image decoding method, when the cross-component nonlinear model is an upper cross-component nonlinear model, the reference samples may include reference samples located on an upper side of a chroma prediction block and reference samples located on an upper side of a corresponding luminance block of the chroma prediction block.
[0014] In the image decoding method, when the cross-component nonlinear model is a left cross-component nonlinear model, the reference samples may include reference samples located on the left side of the chroma prediction block and reference samples located on the left side of the corresponding luminance block of the chroma prediction block.
[0015] In the image decoding method, the reference samples may include reference samples adjacent to the chroma prediction block and down-sampled adjacent reference samples of a luma block corresponding to the chroma prediction block.
[0016] The image decoding method further includes: acquiring model information representing a cross-component linear model and / or a cross-component non-linear model from a bit stream.
[0017] In the image decoding method, a cross-component nonlinear model may be derived based on the cross-component nonlinear model coefficients, the bit depth, and the median.
[0018] In the above-mentioned image decoding method, the cross-component nonlinear model coefficients may be derived based on any one of the decomposition methods of LU decomposition, LDL decomposition, and Cholesky decomposition.
[0019] An image encoding method according to an embodiment of the present invention may include deriving cross-component nonlinear model coefficients using reference samples, deriving a cross-component nonlinear model based on the cross-component nonlinear model coefficients, and generating a chrominance prediction block based on the cross-component nonlinear model.
[0020] According to an embodiment of the present invention, a non-temporary computer-readable recording medium can store a bit stream generated by an image encoding method, wherein the image encoding method includes: deriving cross-component nonlinear model coefficients using reference samples; deriving a cross-component nonlinear model based on the cross-component nonlinear model coefficients; and generating a chrominance prediction block based on the cross-component nonlinear model.
[0021] According to an embodiment of the present invention, a transmission method may include transmitting a bit stream, and may transmit a bit stream generated by an image encoding method, wherein the image encoding method includes deriving cross-component nonlinear model coefficients using reference samples, deriving a cross-component nonlinear model based on the cross-component nonlinear model coefficients, and generating a chrominance prediction block based on the cross-component nonlinear model.
[0022] The features briefly summarized above with respect to the present disclosure are merely exemplary aspects of the following detailed description of the present disclosure and do not limit the scope of the present disclosure.
[0023] Beneficial Effects
[0024] According to the present invention, it is possible to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.
[0025] Furthermore, according to the present invention, a method for deriving a cross-component nonlinear model and a method for generating a chrominance prediction block based on the cross-component nonlinear model can be provided.
[0026] In addition, according to the present invention, the chrominance block can be predicted more accurately.
[0027] It should be understood by those skilled in the art that the effects that can be achieved by the present disclosure are not limited to the effects specifically described above, and other advantages of the present disclosure will be more clearly understood from the detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1 is a block diagram showing the configuration of an encoding device according to an embodiment of the present invention.
[0029] Figure 2 is a block diagram showing the configuration of a decoding device according to an embodiment of the present invention.
[0030] Figure 3 is a diagram schematically showing a video encoding system to which the present invention is applicable.
[0031] Figure 4 is a diagram showing reference samples for deriving a nonlinear model of an upper left side span component according to an embodiment of the present invention.
[0032] Figure 5 is a diagram illustrating reference samples for deriving an upper side span component nonlinear model according to an embodiment of the present invention.
[0033] Figure 6 is a diagram illustrating reference samples for deriving a left-side cross-component nonlinear model according to an embodiment of the present invention.
[0034] Figure 7is a diagram illustrating a syntax structure of a chroma intra prediction mode using a cross-component nonlinear model according to an embodiment of the present invention.
[0035] Figure 8 is a diagram illustrating a syntax structure of a chroma intra prediction mode using a cross-component non-linear model and a cross-component linear model according to an embodiment of the present invention.
[0036] Fig. 9 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
[0037] Fig.10 A content streaming system applicable according to an embodiment of the present invention is exemplarily shown. DETAILED DESCRIPTION
[0038] The present invention may have various modifications and embodiments, and specific embodiments are shown 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 should be understood to include all modifications, equivalents or substitutes included in the spirit and scope of the present invention. In various aspects, similar reference numerals in the drawings indicate the same or similar functions. The shapes and sizes of the elements in the drawings can be provided by way of example for a clearer description. The detailed description of the exemplary embodiments described below refers to the 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 these embodiments. It should be understood that various embodiments are different from each other, but not necessarily mutually exclusive. For example, the specific shapes, structures and characteristics described herein can be implemented in other embodiments without departing from the spirit and scope of the present invention with respect to one embodiment. It should also be understood that the position or arrangement of each component in each disclosed embodiment can be changed without departing from the spirit and scope of the embodiments. Therefore, the specific embodiments set forth below are not intended to be restrictive, and the scope of the exemplary embodiments is limited only by the full range of equivalents to which the attached claims and these claims are entitled (if properly described).
[0039] In the present invention, the terms first, second, etc. may be used to describe various components, but these components should not be limited by these terms. These terms are only used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. The term is and / or includes a combination of multiple related descriptive items or any item among multiple related descriptive items.
[0040] Each component in the embodiment of the present invention is described independently to indicate different characteristic functions, and does not mean that each component is formed as a separate hardware or software configuration unit. That is, for ease of explanation, each component is listed and included as a separate component, and at least two components can be combined to form a single component, or a component can be divided into multiple components to perform functions, and embodiments in which components are integrated and embodiments in which each component is divided are also included in the scope of the present invention, as long as they do not deviate from the essence of the present invention.
[0041] The terms used in the present invention are only used to describe specific embodiments and are not intended to limit the present invention. Unless the context clearly indicates otherwise, singular expressions include plural expressions. In addition, some components of the present invention are not necessary components for performing the basic functions of the present invention, and may be optional components that are only used to improve performance. The present invention can be implemented by only including necessary components for realizing the essence of the present invention and not including components that are only used to improve performance, and the structure that only includes necessary components except optional components that are only used to improve performance is also included in the scope of the present invention.
[0042] In one embodiment, the term "at least one" may refer to one of a number greater than or equal to 1, such as 1, 2, 3, and 4. In one embodiment, the term "plurality" may refer to one of a number greater than or equal to 2, such as 2, 3, and 4.
[0043] Hereinafter, the embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the embodiments of the present specification, if it is determined that a detailed description of a related known configuration or function may obscure the subject of the present specification, the detailed description will be omitted, and the same reference numerals will be used for the same components in the accompanying drawings, and repeated description of the same components will be omitted.
[0044] Terminology Description
[0045] Hereinafter, "image" may refer to one picture constituting a video, and may also refer to the video itself. For example, "encoding and / or decoding of an image" may mean "encoding and / or decoding of a video", and may also mean "encoding and / or decoding of one of the images constituting a video".
[0046] Hereinafter, "motion picture" and "video" may be used with the same meaning and may be used interchangeably. In addition, the target image may be an encoding target image as an encoding target and / or a decoding target image as a decoding target. In addition, the target image may be an input image input to an encoding device, and may be an input image input to a decoding device. Here, the target image may have the same meaning as the current image.
[0047] Hereinafter, an encoder and an image encoding device may be used with the same meaning and may be used interchangeably.
[0048] Hereinafter, a decoder and an image decoding device may be used with the same meaning and may be used interchangeably.
[0049] Hereinafter, “image”, “picture”, “frame” and “screen” may be used with the same meaning and may be used interchangeably.
[0050] Hereinafter, a "target block" may be an encoding target block as an encoding target and / or a decoding target block as a decoding target. In addition, a target block may be a current block as a target of current encoding and / or decoding. For example, "target block" and "current block" may be used with the same meaning and may be used interchangeably.
[0051] Hereinafter, "block" and "unit" may be used with the same meaning and may be used interchangeably. In addition, "unit" may mean a block including a luma component block and a chroma component block corresponding thereto so as to distinguish it from a block. For example, a coding tree unit (CTU) may consist of one luma component (Y) coding tree block (CTB) and two chroma component (Cb, Cr) coding tree blocks associated therewith.
[0052] Hereinafter, "sample", "picture element" and "pixel" may be used in the same meaning and may be used interchangeably. Herein, a sample may mean a basic unit constituting a block.
[0053] Hereinafter, “inter” and “inter-screen” may be used with the same meaning and may be used interchangeably.
[0054] Hereinafter, “intra” and “in-screen” may be used with the same meaning and may be used interchangeably.
[0055] Figure 1 is a block diagram showing the configuration of an encoding device according to an embodiment of the present invention.
[0056] 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.
[0057] refer to Figure 1, the encoding device 100 may include an image segmentation unit 110, an intra-frame prediction unit 120, a motion prediction unit 121, a motion compensation unit 122, a switch 115, a subtractor 113, a transform unit 130, a quantization unit 140, an entropy encoding unit 150, a dequantization unit 160, an inverse transform unit 170, an adder 117, a filter unit 180 and a reference picture buffer 190.
[0058] In addition, the encoding apparatus 100 may generate a bitstream including information encoded by encoding the input image, and output the generated bitstream. The generated bitstream may be stored in a computer-readable recording medium, or may be streamed through a wired / wireless transmission medium.
[0059] The image segmentation unit 110 can segment the input image into various forms to improve 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, and then segmented into multiple CTUs (coding tree units) again. Alternatively, one picture can be first segmented into multiple sub-pictures defined as a group of rectangular slices, and each sub-picture can be further segmented into tiles / slices. Here, sub-pictures can be used to support the functions of partially independently encoding / decoding and sending images. Since multiple sub-pictures can be reconstructed separately, it has the advantage of being easy to edit in applications that configure multi-channel inputs into one picture. In addition, tiles can be divided horizontally to generate tiles. Here, tiles can be used as basic units for parallel processing within a picture. In addition, one CTU can be recursively segmented into a quadtree (QT), and the segmented terminal node can be defined as a CU (coding unit). CU can be segmented into PU (prediction unit) as a prediction unit and TU (transform unit) as a transform unit to perform prediction and segmentation. At the same time, the CU can be used as a prediction unit and / or a transform unit itself. Here, for flexible partitioning, each CTU can be recursively split into a multi-type tree (MTT) and a quadtree (QT). The division of the CTU into multi-type trees can start from the end node of the QT, and the MTT can be composed of a binary tree (BT) and a ternary tree (TT). For example, the MTT structure can be classified into a vertical binary split mode (SPLIT_BT_VER), a horizontal binary split mode (SPLIT_BT_HOR), a vertical ternary split mode (SPLIT_TT_VER), and a horizontal ternary split mode (SPLIT_TT_HOR). In addition, the minimum block size (MinQTSize) of the quadtree of the luminance block during segmentation 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 ternary 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 ternary tree can be specified as 4x4, and the maximum depth (MaxMttDepth) of the multi-type tree can be specified as 4. In addition, in order to improve the coding efficiency of the I slice, a dual tree that uses the CTU partition structure of the luminance component and the chrominance component differently can be applied. On the other hand, in 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.
[0060] The encoding device 100 may perform encoding on the input image in the intra mode and / or the inter mode. Optionally, 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 the inter mode. However, if the third mode has functional characteristics similar to the intra mode or the inter mode, the third mode may be classified as the intra mode or the inter mode for ease of explanation. In the present invention, the third mode is separately classified and described only when its specific description is required.
[0061] When the intra mode is used as the prediction mode, the switch 115 may be switched to the intra mode, and when the inter mode is used as the prediction mode, the switch 115 may be switched to the inter mode. Here, the intra mode may represent the intra prediction mode, and the inter mode may represent the inter prediction mode. The encoding device 100 may generate a prediction block for an input block of an input image. In addition, the encoding device 100 may encode the residual block using the residual of the input block and the prediction block after generating the prediction block. The input image may be referred to as the current image of the current encoding target. The input block may be referred to as the current block or the encoding target block as the current encoding target.
[0062] When the prediction mode is intra mode, the intra prediction unit 120 may use the samples of the blocks that have been encoded / decoded around the current block as reference samples. The intra prediction unit 120 may generate prediction samples of the input block by performing spatial prediction on the current block using the reference samples, or by spatial prediction. Here, intra prediction may refer to intra-picture prediction.
[0063] As the intra prediction method, a non-directional prediction mode and a directional prediction mode (for example, 65 directions) such as a DC mode and a planar mode may be applied. Here, the intra prediction method may be expressed as an intra prediction mode or an intra-screen prediction mode.
[0064] When the prediction mode is the inter mode, the motion prediction unit 121 may retrieve the area that best matches the input block from the reference image in the motion prediction process, and derive a motion vector by using the retrieved area. In this case, the search area may be used as the area. The reference image may be stored in the reference picture buffer 190. Here, when encoding / decoding for the reference image is performed, it may be stored in the reference picture buffer 190.
[0065] The motion compensation unit 122 may generate a prediction block of the current block by performing motion compensation using a motion vector. Here, inter prediction may refer to inter-picture prediction or motion compensation.
[0066] When the value of the motion vector is not an integer, the motion prediction unit 121 and the motion compensation unit 122 may generate a prediction block by applying an interpolation filter to a partial area of the reference picture. In order to perform inter-frame prediction or motion compensation, it may be determined whether the motion prediction and motion compensation mode of the prediction unit included in the coding unit is one of the skip mode, the merge mode, the advanced motion vector prediction (AMVP) mode, and the coding unit-based intra-block copy (IBC) mode, and the inter-frame prediction or motion compensation may be performed according to each mode.
[0067] In addition, based on the above inter-frame prediction method, the AFFINE mode based on sub-PU prediction, the SbTMVP (sub-block-based temporal motion vector prediction) mode, the MMVD (merged with MVD) mode based on PU prediction, and the GPM (geometric partitioning mode) mode can be applied. In addition, in order to improve the performance of each mode, HMVP (history-based MVP), PAMVP (paired average MVP), CIIP (combined intra / inter prediction), AMVR (adaptive motion vector resolution), BDOF (bidirectional optical flow), BCW (bidirectional prediction with CU weights), LIC (local illumination compensation), TM (template matching), OBMC (overlapping block motion compensation), etc. can be applied.
[0068] Among them, the AFFINE mode is a technology used in both AMVP and MERGE modes, and has high coding efficiency. In the existing video coding standard, because MC (motion compensation) is performed by considering only the parallel movement of blocks, it has the disadvantage that it cannot properly compensate for the actual motion that occurs, such as enlargement / reduction and rotation. To supplement this, a four-parameter affine motion model using two control point motion vectors (CPMV) and a six-parameter affine motion model using three control point motion vectors can be used and applied to inter-frame prediction. Here, CPMV is a vector representing an affine motion model of one of the upper left, upper right, and lower left of the current block.
[0069] The subtractor 113 may generate a residual block by using the difference between the input block and the prediction block. The residual block may be referred to as a residual signal. The residual signal may represent the difference between the original signal and the prediction signal. Alternatively, the residual signal may be a signal generated by transforming or quantizing, or transforming and quantizing the difference between the original signal and the prediction signal. The residual block may be a residual signal in units of blocks.
[0070] The transform unit 130 may generate a transform coefficient by performing a transform on the residual block, 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 skip the transform of the residual block.
[0071] A quantized level may be generated by applying quantization to a transform coefficient or a residual signal. Hereinafter, the quantized level may also be referred to as a transform coefficient in embodiments.
[0072] For example, a 4x4 luminance residual block generated by intra prediction is transformed using a discrete sine transform (DST) based basic vector, and the remaining residual block can be transformed using a discrete cosine transform (DCT) based basic vector. In addition, the transform block is partitioned into a quadtree shape for one block using the residual quadtree (RQT) technology, and after performing transformation and quantization on each transform block partitioned by the RQT, a coded block flag (CBF) can be sent when all coefficients become 0 to increase coding efficiency.
[0073] As another alternative, a multiple transform selection (MTS) technique that selectively uses multiple transform bases to perform transforms may be applied. That is, instead of partitioning the CU into TUs through RQT, a function similar to TU partitioning may be performed through a sub-block transform (SBT) technique. Specifically, SBT is only applied to inter-prediction blocks, and unlike RQT, the current block can be partitioned into ½ or ¼ sizes in the vertical or horizontal direction, and then the transform may be performed on only one of the blocks. For example, if it is partitioned vertically, the transform may be performed on the leftmost or rightmost block, and if it is partitioned horizontally, the transform may be performed on the topmost or bottommost block.
[0074] In addition, a low-frequency non-separable transform (LFNST) may be applied. LFNST is a secondary transform technique that further transforms a residual signal transformed into the frequency domain by DCT or DST. LFNST further transforms a 4x4 or 8x8 low-frequency region on the upper left side so that the residual coefficients can be concentrated on the upper left side.
[0075] The quantization unit 140 may generate a quantization level by quantizing the transform coefficient or the residual signal according to a quantization parameter (QP) and output the generated quantization level. Here, the quantization unit 140 may quantize the transform coefficient by using a quantization matrix.
[0076] For example, a quantizer using a QP value of 0 to 51 may be used. Alternatively, if the image size is large and high encoding efficiency is required, a QP of 0 to 63 may be used. In addition, a DQ (Dependent Quantization) method using two quantizers instead of one quantizer may be applied. DQ performs quantization using two quantizers (e.g., Q0 and Q1), but even without using signaling information about a specific quantizer, the quantizer to be used for the next transform coefficient may be selected based on the current state through a state transition model.
[0077] The entropy encoding unit 150 may generate a bitstream by performing entropy encoding on the value calculated by the quantization unit 140 or on the encoding parameter value calculated when performing encoding according to probability distribution, and output the bitstream. The entropy encoding unit 150 may perform entropy encoding of information about the sampling of the image and information for decoding the image. For example, the information for decoding the image may include a syntax element.
[0078] When entropy coding is applied, symbols are represented so that a smaller number of bits are allocated to symbols with a high probability of occurrence and a larger number of bits are allocated to symbols with a low probability of occurrence, and therefore, the size of the bitstream for the symbol to be encoded can be reduced. The entropy coding unit 150 may perform entropy coding using a coding method such as exponential Golomb, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), etc. For example, the entropy coding unit 150 may perform entropy coding by using a variable length coding / coding (VLC) table. In addition, the entropy coding unit 150 may derive a binarization method of a target symbol and a probability model of a target symbol / bin, and perform arithmetic coding by using the derived binarization method and context model.
[0079] In this regard, when CABAC is applied, in order to reduce the size of the probability table stored in the decoding device, the table probability update method can be changed to a table update method using a simple equation and applied. In addition, two different probability models can be used to obtain more accurate symbol probability values.
[0080] In order to encode the transform coefficient level (quantization level), the entropy encoding unit 150 may change the two-dimensional block form coefficient into a one-dimensional vector form through a transform coefficient scanning method.
[0081] The encoding parameters may include information (flag, index, etc.) encoded in the encoding device 100 and notified to the decoding device 200 by signal (such as syntax elements) and information derived in the encoding or decoding process, and may represent information required when encoding or decoding an image.
[0082] Here, signaling a flag or an index may mean that the corresponding flag or index is entropy encoded in an encoder and included in a bitstream, and may mean that the corresponding flag or index is entropy decoded from the bitstream in a decoder.
[0083] The encoded current image may be used as a reference image of another image to be processed later. Therefore, the encoding apparatus 100 may reconstruct or decode the encoded current image again and store the reconstructed or decoded image in the reference picture buffer 190 as a reference image.
[0084] The quantization level may be dequantized in the dequantization unit 160, or may be inversely transformed in the inverse transform unit 170. The inverse quantized and / or inversely transformed coefficient may be added to the prediction block by the adder 117. Here, the dequantized and / or inversely transformed coefficient may mean a coefficient on which at least one of dequantization and inverse transformation is performed, and may mean a reconstructed residual block. The dequantization unit 160 and the inverse transform unit 170 may be performed as inverse processes of the quantization unit 140 and the transform unit 130.
[0085] The reconstructed block may pass through the 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. to the reconstructed sample, the reconstructed block, or the reconstructed image using all or some filtering techniques. The filter unit 180 may be referred to as an in-loop filter. In this case, the loop filter is also used as a name excluding LMCS.
[0086] The deblocking filter can remove block distortion generated in the boundary between blocks. In order to determine whether to apply the deblocking filter, it can be determined whether to apply the deblocking filter to the current block based on the samples included in the number of rows or columns included in the block. When the deblocking filter is applied to the block, different filters can be applied according to the required deblocking filter strength.
[0087] In order to compensate for the encoding error using sample adaptive offset, an appropriate offset value may be added to the sample value. Sample adaptive offset can correct the offset of the deblocked image from the original image by sampling units. A method of dividing the samples included in the image into a predetermined number of regions, determining the regions to which the offset is applied, and applying the offset to the determined regions, or a method of applying the offset in consideration of edge information about each sample may be used.
[0088] The bilateral filter (BIF) can also correct the deviation from the original image on a sample-by-sample basis for the deblocked image.
[0089] The adaptive loop filter may perform filtering based on a comparison result of the reconstructed image and the original image. The samples included in the image may be divided into predetermined groups, the filter to be applied to each group may be determined, and differential filtering may be performed for each group. Information on whether the ALF is applied may be signaled by a coding unit (CU), and the form and coefficient of the adaptive loop filter to be applied to each block may be changed.
[0090] In Luma Mapping with Chroma Scaling (LMCS), Luma Mapping (LM) means remapping luma values by a piecewise linear model, and Chroma Scaling (CS) means a technique for scaling the residual values of chroma components according to the average luma value of a prediction signal. Specifically, LMCS can be used as a HDR correction technique that reflects the characteristics of a high dynamic range (HDR) image.
[0091] The reconstructed block or the reconstructed image that has passed through the filter unit 180 may be stored in the reference picture buffer 190. The reconstructed block that has passed through the filter unit 180 may be a part of the reference image. That is, the reference image is a reconstructed image composed of the reconstructed block that has passed through the filter unit 180. The stored reference image may be used later in inter-frame prediction or motion compensation.
[0092] Figure 2 is a block diagram showing the configuration of a decoding device according to an embodiment of the present invention.
[0093] The decoding device 200 may be a decoder, a video decoding device, or an image decoding device.
[0094] refer to Figure 2 , the decoding device 200 may include an entropy decoding unit 210, a dequantization unit 220, an inverse transform unit 230, an intra-frame prediction unit 240, a motion compensation unit 250, an adder 201, a switch 203, a filter unit 260 and a reference picture buffer 270.
[0095] The decoding device 200 may receive a bit stream output from the encoding device 100. The decoding device 200 may receive a bit stream stored in a computer-readable recording medium, or may receive a bit stream transmitted through a wired / wireless transmission medium stream. The decoding device 200 may decode the bit stream in an intra-frame mode or an inter-frame mode. In addition, the decoding device 200 may generate a reconstructed image or a decoded image generated by decoding, and output the reconstructed image or the decoded image.
[0096] When the prediction mode for decoding is the intra mode, the switch 203 may be switched to the intra mode. Alternatively, when the prediction mode for decoding is the inter mode, the switch 203 may be switched to the inter mode.
[0097] The decoding device 200 can obtain a reconstructed residual block by decoding the input bit stream and generate a prediction block. When the reconstructed residual block and the prediction block are obtained, the decoding device 200 can generate a reconstructed block that becomes a decoding target by adding the reconstructed residual block and the prediction block. The decoding target block can be referred to as a current block.
[0098] The entropy decoding unit 210 may generate symbols by entropy decoding the bit stream according to the probability distribution. The generated symbols may include symbols in the form of quantization levels. Here, the entropy decoding method may be an inverse process of the above entropy encoding method.
[0099] The entropy decoding unit 210 may change the coefficient of the one-dimensional vector shape into the coefficient of the two-dimensional block shape through a transform coefficient scanning method to decode the transform coefficient level (quantization level).
[0100] The quantization level may be dequantized in the dequantization unit 220 or inversely transformed in the inverse transform unit 230. The quantization level may be a result of dequantization and / or inverse transformation and may be generated as a reconstructed residual block. Here, the dequantization unit 220 may apply a quantization matrix to the quantized level. The dequantization unit 220 and the inverse transform unit 230 applied to the decoding device may apply the same technology as the dequantization unit 160 and the inverse transform unit 170 applied to the above-mentioned encoding device.
[0101] When the intra mode is used, the intra prediction unit 240 can generate a prediction block by performing spatial prediction on the current block using the sample values of the blocks decoded around the decoding target block. The intra prediction unit 240 applied to the decoding device can apply the same technology as the intra prediction unit 120 applied to the above-mentioned encoding device.
[0102] When the inter-frame mode is used, the motion compensation unit 250 may 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. When the value of the motion vector is not an integer value, the motion compensation unit 250 may generate a prediction block by applying an interpolation filter to a partial area within the reference image. In order to perform motion compensation, it may be determined based on the coding unit whether the motion compensation method of the prediction unit included in the corresponding coding unit is a skip mode, a merge mode, an AMVP mode, or a current picture reference mode, and motion compensation may be performed according to each mode. The motion compensation unit 250 applied to the decoding device may apply the same technology as the motion compensation unit 122 applied to the above-mentioned encoding device.
[0103] The adder 201 may generate a reconstructed block by adding the reconstructed residual block and the prediction block. The filter unit 260 may apply at least one of an inverse LMCS, a deblocking filter, a sample adaptive offset, and an adaptive loop filter to the reconstructed block or the reconstructed image. The filter unit 260 applied to the decoding device may apply the same filtering technique as the filtering technique applied to the filter unit 180 applied to the above-mentioned encoding device.
[0104] The filter unit 260 may output a reconstructed image. The reconstructed block or the reconstructed image may be stored in the reference picture buffer 270 and used for inter-frame prediction. The reconstructed block that has passed through the filter unit 260 may be a part of the reference image. That is, the reference image may be a reconstructed image composed of the reconstructed blocks that have passed through the filter unit 260. The stored reference image may be used later in inter-frame prediction or motion compensation.
[0105] Figure 3 is a diagram schematically showing a video encoding system to which the present invention is applicable.
[0106] The video encoding system according to an embodiment may include an encoding device 10 and a decoding device 20. The encoding device 10 may transmit the encoded video and / or image information or data to the decoding device 20 in the form of a file or stream through a digital storage medium or a network.
[0107] The encoding device 10 according to the embodiment may include a video source generating unit 11, an encoding unit 12, and a transmitting unit 13. The decoding device 20 according to the embodiment may include a receiving 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 transmitting unit 13 may be included in the encoding unit 12. The receiving unit 21 may be included in the decoding unit 22. The rendering unit 23 may include a display unit, and the display unit may be configured as a separate device or an external component.
[0108] The video source generation unit 11 can obtain the video / image by capturing, synthesizing or generating the video / image process. The video source generation unit 11 may include a video / image capture device and / or a video / image generation device. The video / image capture device may include (for example) one or more cameras, a video / image archive containing previously captured videos / images, etc. The video / image generation device may include, for example, a computer, a tablet computer, a smart phone, etc., and may (electronically) generate the video / image. For example, a virtual video / image may be generated by a computer, etc., in which case the video / image capture process may be replaced by a process of generating relevant data.
[0109] The encoding unit 12 may encode the input video / image. The encoding unit 12 may perform a series of processes for compression and encoding efficiency, such as prediction, transformation, and quantization. The encoding unit 12 may output encoded data (encoded video / image information) in the form of a bit stream. The detailed configuration of the encoding unit 12 may also be the same as described above. Figure 1 The encoding device 100 is configured in the same manner.
[0110] The sending unit 13 may send the encoded video / image information or data output in the form of a bit stream to the receiving unit 21 of the decoding device 20 in the form of a file or stream transmission through a digital storage medium or a network. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The sending unit 13 may include an element for generating a media file in a predetermined file format, and may include an element for sending through a broadcast / communication network. The receiving unit 21 may extract / receive a bit stream from a storage medium or a network and send it to the decoding unit 22.
[0111] The decoding unit 22 may decode the video / image by performing a series of processes corresponding to the operations of the encoding unit 12, such as dequantization, inverse transformation, and prediction. The detailed configuration of the decoding unit 22 may also be the same as that described above. Figure 2 The decoding device 200 is configured in the same manner.
[0112] The rendering unit 23 may render the decoded video / image. The rendered video / image may be displayed by the display unit.
[0113] In the following, reference Figures 4 to 9 , a method of deriving a cross-component nonlinear model and a method of generating a chroma prediction block using the cross-component nonlinear model according to an embodiment of the present invention will be described.
[0114] In the present invention, a 'cross-component non-linear model' refers to a non-linear model representing the correlation between samples of a chrominance signal and collocated reconstructed luminance component samples, and may be named a 'cross-component model using a non-linear model', a 'non-linear cross-component model', or a 'cross-component model using non-linear model parameters'.
[0115] Meanwhile, a cross-component linear model (CCLM) uses a linear model for calculating correlation between samples of a chrominance signal and collocated reconstructed luminance component samples to remove redundancy between the luminance signal and the chrominance signal.
[0116] Equation 1 shows a method of generating a chroma prediction block using a cross-component linear model.
[0117] [Equation 1]
[0118]
[0119] In Equation 1, pred C (i, j) may represent the chroma component sample predicted from the current coding unit (CU) block, rec' L(i, j) may represent downsampled samples of the luma component reconstructed from the current coding unit block. Here, the chroma component samples predicted from the coding unit block may be referred to as a 'chroma prediction block', and the luma component samples reconstructed from the coding unit block may be referred to as a 'luma reconstruction block'.
[0120] In addition, a linear minimum mean square error (LMMSE) method may be used to calculate the linear model parameters α and β of Equation 1, respectively. Specifically, the values of the linear model parameters α and β may be derived from adjacent samples.
[0121] If there is a nonlinear relationship as well as a linear relationship between the reconstructed luma component and chroma component, there may be limitations in generating an accurate chroma prediction block using a cross-component linear model. Therefore, a method that can generate a chroma prediction block by considering a nonlinear model as well as a linear model may be required.
[0122] Equation 2 shows a method of generating a chroma prediction block using a cross-component nonlinear model.
[0123] [Equation 2]
[0124]
[0125] In Equation 2, α0, α1, and α2 are model parameters and can be derived using a decomposition method.
[0126] The decomposition method is a reusable matrix decomposition method, and may be any of LU decomposition, LDL decomposition, and Cholesky decomposition. Using the above decomposition method, a linear system or a nonlinear system may be solved more efficiently.
[0127] Specifically, the decomposition method is a matrix decomposition method that decomposes an arbitrary matrix into a matrix product, and can be used to efficiently calculate matrices or various model parameters when solving a linear equation system.
[0128] LU decomposition is a method of decomposing a matrix into the product of a lower triangular matrix and an upper triangular matrix. Generally, LU decomposition has the advantage of fast calculation speed.
[0129] LDL decomposition is a method of decomposing a symmetric positive definite matrix into the product of a diagonal matrix and a lower triangular matrix. Generally, LDL decomposition is a more stable numerical calculation method than LU decomposition.
[0130] Cholesky decomposition is a method for decomposing a matrix into the product of a lower triangular matrix and the conjugate transposed matrix of the lower triangular matrix. In general, Cholesky decomposition can be twice as efficient as LU decomposition in solving linear equations or nonlinear systems of equations.
[0131] In Equation 2, bitDepth and midValue are the bit depth and midvalue. For example, for a video sequence using N-bit images, bitDepth and midValue can be set to N and 2, respectively. N ≫1 or 2 N-1 .
[0132] Equation 2 may consider reconstructing the linear and nonlinear relationships between the luma component and the chroma component, and thus may generate an accurate chroma prediction block.
[0133] According to the positions of reference samples used for model derivation, the cross-component nonlinear model according to the embodiment of the present invention can be classified into an upper left cross-component nonlinear model, an upper side cross-component nonlinear model, and a left side cross-component nonlinear model.
[0134] Figure 4 is a diagram illustrating reference samples for deriving an upper left side span component nonlinear model LT_CCM according to an embodiment of the present invention.
[0135] refer to Figure 4 , when the size of the chroma block 410 is W×H, the neighboring reference samples used to derive the cross-component nonlinear model parameters are the upper reference sample W′ and the left reference sample H′, and the upper reference sample may be set to W′=W and the left reference sample may be set to H′=H.
[0136] In addition, in order to reduce the computational complexity of the process of deriving the cross-component nonlinear model parameters, the adjacent chroma reference samples Rec′ of the chroma block 410 may be C 411 is sampled and selected, and the down-sampled luma reference sample Rec′ adjacent to the luma block 400 and corresponding to the same position of the chroma reference sample 411 may be selected. L 401 derives the cross-component nonlinear model parameters. That is, the upper left cross-component nonlinear model parameters can be derived based on the chroma reference sample 411 and the down-sampled luma reference sample 401 corresponding to the same position. Here, the sampling ratio can be determined arbitrarily.
[0137] Figure 5 is a diagram illustrating reference samples for deriving an upper side span component nonlinear model T_CCM according to an embodiment of the present invention.
[0138] refer to Figure 5 , when the size of the chroma block 510 is W×H, the neighboring reference sample used to derive the cross-component nonlinear model parameters is the upper reference sample W′, and the upper reference sample may be set to W′=W+H.
[0139] In addition, in order to reduce the computational complexity of the cross-component non-linear model factor derivation process, the adjacent chroma reference samples Rec′ of the chroma block 510 may be obtained. C 511 is sampled and selected, and the down-sampled luma reference sample Rec′ adjacent to the luma block 500 and corresponding to the same position of the chroma reference sample 511 may be selected. L 501 derives the cross-component nonlinear model coefficients. That is, the upper cross-component nonlinear model coefficients may be derived based on the chroma reference samples 511 and the down-sampled luma reference samples 501 corresponding to the same position. Here, the sampling ratio may be arbitrarily determined.
[0140] Meanwhile, the upper reference sample W' (as the adjacent reference sample for deriving the upper side span component nonlinear model coefficient) may be set to W' = W. That is, the adjacent reference sample for deriving the nonlinear model coefficient may be selected as an arbitrary adjacent reference sample.
[0141] Figure 6 is a diagram illustrating reference samples for deriving a left cross-component nonlinear model L_CCM according to an embodiment of the present invention.
[0142] refer to Figure 6 , when the size of the chroma block 610 is W×H, the adjacent reference sample used to derive the cross-component nonlinear model parameters is the left reference sample H′, and the left reference sample may be set to H′=W+H.
[0143] In addition, in order to reduce the computational complexity of the process of deriving the cross-component nonlinear model coefficients, the adjacent chroma reference samples Rec′ of the chroma block 610 may be C 611 is sampled and selected, and the down-sampled luma reference sample Rec′ adjacent to the luma block 600 and corresponding to the same position of the chroma reference sample 611 may be selected. L 601 derives the cross-component nonlinear model coefficients. That is, the left cross-component nonlinear model coefficients can be derived based on the chroma reference samples 611 and the down-sampled luma reference samples 601 corresponding to the same position. Here, the sampling ratio can be arbitrarily determined.
[0144] Meanwhile, the left reference sample H' (as the adjacent reference sample for deriving the left cross-component nonlinear model coefficient) may be set to H' = H. That is, the adjacent reference sample for deriving the nonlinear model coefficient may be selected as an arbitrary adjacent reference sample.
[0145] Figure 7is a diagram illustrating a syntax structure of a chroma intra prediction mode using a cross-component nonlinear model according to an embodiment of the present invention.
[0146] exist Figure 7 In the example, ccmEnabled is information indicating whether the cross-component nonlinear model is available. According to one embodiment, when the value of ccmEnabled is 1, it may indicate that the cross-component nonlinear model is available, and when the value of ccmEnabled is 0, it may indicate that the cross-component nonlinear model is not available. Meanwhile, when the value of ccmEnabled is 1, ccm_mode_flag may be signaled.
[0147] ccm_mode_flag is flag information indicating a chroma intra prediction mode based on a cross-component nonlinear model. According to an embodiment, when the value of ccm_mode_flag is 1, it may indicate a chroma intra prediction mode based on a cross-component nonlinear model, and when the value of ccm_mode_flag is 0, it may indicate a general chroma intra prediction mode not based on a cross-component nonlinear model. At the same time, when the value of ccm_mode_flag is 1, ccm_mode_idx may be transmitted, and when the value of ccm_mode_flag is 0, intra_chroma_pred_mode indicating the type of a general chroma intra prediction mode may be transmitted. Here, intra_chroma_pred_mode may indicate any one of direct mode (DM), planar mode, DC mode, vertical mode, and horizontal mode. At the same time, if ccm_mode_flag is not signaled, the value of ccm_mode_flag may be considered to be 0.
[0148] ccm_mode_idx is index information indicating the type of the cross-component nonlinear model, and may indicate one of an upper-left cross-component nonlinear model, an upper cross-component nonlinear model, and a left cross-component nonlinear model.
[0149] Figure 8 is a diagram illustrating a syntax structure of a chroma intra prediction mode using a cross-component non-linear model and a cross-component linear model according to an embodiment of the present invention.
[0150] exist Figure 8In the example, ccmEnabled is information indicating whether the cross-component model is available. According to an embodiment, when the value of ccmEnabled is 1, it may indicate that the cross-component model is available, and when the value of ccmEnabled is 0, it may indicate that the cross-component model is not available. Here, the cross-component model may include a cross-component linear model and a cross-component nonlinear model. At the same time, when the value of ccmEnabled is 1, ccm_mode_flag may be notified by a signal.
[0151] ccm_mode_flag is flag information indicating a chroma intra prediction mode based on a cross-component model. According to an embodiment, when the value of ccm_mode_flag is 1, it may indicate a chroma intra prediction mode based on a cross-component model, and when the value of ccm_mode_flag is 0, it may indicate a general chroma intra prediction mode not based on a cross-component model. At the same time, when the value of ccm_mode_flag is 1, ccm_linear_model_flag and ccm_mode_idx may be transmitted, and when the value of ccm_mode_flag is 0, intra_chroma_pred_mode indicating the type of a general chroma intra prediction mode may be transmitted. Here, intra_chroma_pred_mode may indicate any one of direct mode (DM), planar mode, DC mode, vertical mode, and horizontal mode. At the same time, if ccm_mode_flag is not signaled, the value of ccm_mode_flag may be considered to be 0.
[0152] ccm_linear_model_flag is flag information distinguishing a cross-component linear model from a cross-component nonlinear model. When the ccm_linear_model_flag value is 1, it indicates a cross-component linear model, and when the ccm_linear_model_flag value is 0, it indicates a cross-component nonlinear model.
[0153] ccm_mode_idx is index information indicating the type of a cross component model, and may indicate any one of an upper-left side cross component model, an upper side cross component model, and a left side cross component model.
[0154] For example, when the ccm_linear_model_flag value is 1, depending on the ccm_mode_idx value, any one of the upper left cross-component linear model, the upper cross-component linear model, and the left cross-component linear model can be used. In addition, when the ccm_linear_model_flag value is 0, one of the upper left cross-component nonlinear model, the upper cross-component nonlinear model, and the left cross-component nonlinear model can be used depending on the ccm_mode_idx value.
[0155] At the same time, Figure 8 In the example, ccm_linear_model_flag is signaled and then ccm_mode_idx is signaled, but the signaling order of the two syntax elements may be determined arbitrarily.
[0156] exist Figure 8 The syntax structure proposed in may derive a cross-component model for generating a chroma prediction block by variably selecting linear model coefficients and non-linear model coefficients at a coding unit (CU) block level according to a signaled syntax element.
[0157] Fig. 9 is a flowchart illustrating an image decoding method according to an embodiment of the present invention. Fig. 9 The image decoding method can be executed by an image decoding device.
[0158] The image decoding apparatus may derive cross-component nonlinear model coefficients using reference samples ( S910 ).
[0159] Here, the cross-component nonlinear model may be any one of an upper left cross-component nonlinear model, an upper side cross-component nonlinear model, and a left side cross-component nonlinear model.
[0160] Specifically, when the cross-component nonlinear model is an upper-left cross-component nonlinear model, the reference samples used to derive the cross-component nonlinear model coefficients may include a reference sample located at the upper-left side of the chroma prediction block and a reference sample located at the upper-left side of the corresponding luminance block of the chroma prediction block.
[0161] Meanwhile, when the cross-component nonlinear model is an upper cross-component nonlinear model, the reference samples used to derive the cross-component nonlinear model coefficients may include reference samples located on the upper side of the chroma prediction block and reference samples located on the upper side of the corresponding luminance block of the chroma prediction block.
[0162] Meanwhile, when the cross-component nonlinear model is a left cross-component nonlinear model, the reference samples used to derive the cross-component nonlinear model coefficients may include reference samples located on the left side of the chroma prediction block and reference samples located on the left side of the corresponding luminance block of the chroma prediction block.
[0163] Meanwhile, reference samples used to derive cross-component nonlinear model coefficients may include reference samples adjacent to the chroma prediction block and adjacent down-sampled reference samples of the luma block corresponding to the chroma prediction block.
[0164] In addition, the cross-component nonlinear model coefficients may be derived based on any one of the decomposition methods of LU decomposition, LDL decomposition, and Cholesky decomposition.
[0165] Already in Figures 4 to 6 An example of deriving cross-component nonlinear model coefficients in step S910 is described in detail.
[0166] Also, the image decoding apparatus may derive a cross-component nonlinear model based on the cross-component nonlinear model coefficients ( S920 ).
[0167] Specifically, a cross-component non-linear model may be derived based on the derived cross-component non-linear model coefficients, the bit depth, and the median.
[0168] An example of deriving the cross-component nonlinear model of step S920 is described in detail in Equation 2.
[0169] Furthermore, the image decoding apparatus may generate a chroma prediction block using a cross-component nonlinear model ( S930 ).
[0170] Meanwhile, the image decoding apparatus may obtain model information indicating any one of a cross-component linear model and a cross-component nonlinear model from the bitstream before step S910. The model information may be Figure 8 ccm_linear_model_flag.
[0171] At the same time, Fig. 9 The steps described in the above may be performed in the same manner in the image encoding method. In addition, the bit stream may be Fig. 9 The image encoding method of the steps described in the above is used to generate the bit stream. The bit stream can be stored in a non-transitory computer-readable recording medium and can also be transmitted (or stream-transmitted).
[0172] Fig.10 A content streaming system applicable according to an embodiment of the present invention is exemplarily shown.
[0173] like Fig.10 As shown, the content streaming system to which the embodiment of the present invention is applied may mainly include an encoding server, a streaming transmission server, a network server, a media storage, a user device and a multimedia input device.
[0174] The encoding server compresses the content received from the multimedia input device (such as a smart phone, camera, CCTV, etc.) into digital data to generate a bit stream and transmits it to the streaming server. As another example, if the multimedia input device (e.g., a smart phone, camera, CCTV, etc.) directly generates a bit stream, the encoding server can be omitted.
[0175] A bit stream may be generated by the image encoding method and / or the image encoding apparatus to which the embodiments of the present invention are applied, and in the process of transmitting or receiving the bit stream, the streaming media server may temporarily store the bit stream.
[0176] The streaming server transmits multimedia data to the user device via the web server based on the user request, and the web server can act as an intermediary to inform the user of any available services. When the user requests the desired service from the web server, the web server sends it to the streaming server, and the streaming server can send the multimedia data to the user. At this time, the content streaming system may include a separate control server, in which case the control server can control the command / response between the devices within the content streaming system.
[0177] The streaming server can receive content from a media storage and / or an encoding server. For example, when receiving content from an encoding server, the content can be received in real time. In this case, in order to provide a smooth streaming service, the streaming server can store the bitstream for a specific period of time.
[0178] Examples of user devices may include mobile phones, smart phones, laptop computers, digital broadcast terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, tablet PCs, tablet PCs, ultrabooks, wearable devices (e.g., smart watches, smart glasses, HMDs), digital TVs, desktop computers, digital signage, etc.
[0179] Each server in the above content streaming system may operate as a distributed server, in which case data received from each server may be distributed and processed.
[0180] The above embodiments may be performed in the encoding device and the decoding device in the same or corresponding manner. In addition, at least one of the above embodiments or a combination of at least one of the above embodiments may be used to encode / decode an image.
[0181] In the encoding device and the decoding device, the order of applying the above embodiments may be different. Alternatively, in the encoding device and the decoding device, the order of applying the above embodiments may be the same.
[0182] The above embodiments may be performed for each of the luminance and chrominance signals.Alternatively, the above embodiments for the luminance and chrominance signals may be performed identically.
[0183] In the above embodiments, the method is described based on a flow chart with a series of steps or units, but the present invention is not limited to the order of the steps, but some steps can be performed simultaneously with other steps or in a different order. In addition, it should be understood by those skilled in the art that the steps in the flow chart are not mutually exclusive, and other steps can be added to the flow chart or some steps can be deleted from the flow chart without affecting the scope of the present invention.
[0184] The embodiments may be implemented in the form of program instructions executable by various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include independent program instructions, data files, data structures, etc. or a combination of program instructions, data files, data structures, etc. The program instructions recorded in the computer-readable recording medium may be specially designed and constructed for the present invention, or may be well known to those of ordinary skill in the field of computer software technology.
[0185] The bit stream generated by the encoding method according to the above-described embodiment may be stored in a non-transitory computer-readable recording medium. In addition, the bit stream stored in the non-transitory computer-readable recording medium may be decoded by the decoding method according to the above-described embodiment.
[0186] Examples of computer-readable recording media include magnetic recording media such as hard disks, floppy disks, and magnetic tapes; optical data storage media such as CD-ROMs or DVD-ROMs; magnetic optimal media such as floppy disks; and hardware devices such as read-only memory (ROM), random access memory (RAM), flash memory, etc., which are specially constructed to store and implement program instructions. Examples of program instructions include not only machine language codes formatted by encoders, but also high-level language codes that can be implemented by computers using interpreters. Hardware devices can be configured to be operated by one or more software modules, and vice versa, to perform processing according to the present invention.
[0187] Although the present invention has been described with respect to specific items such as detailed elements and limited embodiments and drawings, these items are only provided to help a more comprehensive understanding of the present invention, and the present invention is not limited to the above embodiments. It will be appreciated by those skilled in the art that various modifications and changes may be made from the above description.
[0188] Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and the full scope of the appended claims and their equivalents will fall within the scope and spirit of the present invention.
[0189] Industrial Applicability
[0190] The present invention can be used for an apparatus for encoding / decoding an image and a recording medium for storing a bit stream.
Claims
1. An image decoding method, comprising: Use reference samples to derive cross-component nonlinear model coefficients; deriving a cross-component nonlinear model based on the cross-component nonlinear model coefficients; and A chroma prediction block is generated based on the cross-component non-linear model.
2. The image decoding method according to claim 1, wherein: The cross-component nonlinear model is any one of an upper-left cross-component nonlinear model, an upper-side cross-component nonlinear model, and a left-side cross-component nonlinear model.
3. The image decoding method according to claim 2, wherein: When the cross-component nonlinear model is the upper-left cross-component nonlinear model, the reference samples include reference samples located at the upper-left side of the chroma prediction block and reference samples located at the upper-left side of the luminance block corresponding to the chroma prediction block.
4. The image decoding method according to claim 2, wherein: When the cross-component nonlinear model is the upper cross-component nonlinear model, the reference samples include reference samples located on an upper side of the chroma prediction block and reference samples located on an upper side of a luminance block corresponding to the chroma prediction block.
5. The image decoding method according to claim 2, wherein: When the cross-component nonlinear model is the left cross-component nonlinear model, the reference samples include reference samples located on the left side of the chroma prediction block and reference samples located on the left side of a luma block corresponding to the chroma prediction block.
6. The image decoding method according to claim 1, wherein: The reference samples include reference samples adjacent to the chroma prediction block and adjacent down-sampled reference samples of a luma block corresponding to the chroma prediction block.
7. The image decoding method according to claim 1, further comprising: Model information indicating any one of a cross-component linear model and the cross-component non-linear model is obtained from a bitstream.
8. The image decoding method according to claim 1, wherein: The cross-component non-linear model is derived based on the cross-component non-linear model coefficients, a bit depth, and a median value.
9. The image decoding method according to claim 1, wherein: The cross-component nonlinear model coefficients are derived based on any one of LU decomposition, LDL decomposition, and Cholesky decomposition.
10. An image encoding method, comprising: Use reference samples to derive cross-component nonlinear model coefficients; deriving a cross-component nonlinear model based on the cross-component nonlinear model coefficients; and A chroma prediction block is generated based on the cross-component non-linear model.
11. A non-transitory computer-readable recording medium for storing a bit stream generated by an image encoding method, the image encoding method comprising: Use reference samples to derive cross-component nonlinear model coefficients; deriving a cross-component nonlinear model based on the cross-component nonlinear model coefficients; and A chroma prediction block is generated based on the cross-component non-linear model.
12. A method for transmitting a bit stream generated by an image encoding method, the method comprising: transmitting the bit stream, Wherein, the image encoding method comprises: Use reference samples to derive cross-component nonlinear model coefficients; deriving a cross-component nonlinear model based on the cross-component nonlinear model coefficients; and A chroma prediction block is generated based on the cross-component non-linear model.