Image encoding / decoding method and apparatus, and recording medium for storing bit stream

By using the decoder-side intra mode derivation generated intra prediction mode during image encoding and decoding, the problem of inefficiency of matrix-based intra prediction mode in high-resolution image encoding and decoding is solved, and more efficient is achieved encoding and decoding process.

CN119422377APending Publication Date: 2025-02-11HYUNDAI MOTOR CO LTD +1
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202380049121.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-08-16
Filing Date
2023-08-11
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

In the process of high resolution and high quality image encoding and decoding, it is difficult for the prior art to effectively utilize the matrix-based intra prediction mode, resulting in inefficient encoding and decoding.

Method used

By performing decoder-side intra-mode derivation (DIMD) on the current block, the derived intra-prediction mode is generated and stored and used in matrix-based intra-prediction (MIP) mode to determine the transform set and generate the frame List of candidates for intraprediction mode.

Benefits of technology

The efficiency of image encoding and decoding is improved, especially in MIP mode, intra prediction mode of chroma block can be determined more accurately, and the transformation efficiency and intra prediction accuracy can be improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119422377A_ABST
    Figure CN119422377A_ABST
Patent Text Reader

Abstract

Provided are an image encoding / decoding method, an image encoding / decoding device, a recording medium for storing a bitstream, and a transmission method. The image decoding method comprises the steps of: performing decoder-side intra mode derivation (DIMD) on a current block to generate a derived intra prediction mode; the derived intra prediction mode is stored. Here, the current block is a matrix-based intra prediction (MIP) mode.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an image encoding / decoding method and apparatus and a recording medium for storing a bitstream. More specifically, the present invention relates to a method for generating a derived intra-frame prediction mode in a matrix-based intra-frame prediction (MIP) mode, an image encoding / decoding method and apparatus using the derived intra-frame prediction mode and a recording medium for storing a bitstream. Background Art

[0002] Recently, in various application fields, the demand for high-resolution, high-quality images such as ultra-high definition (UHD) images is increasing. 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] In addition to the intra prediction process, the direction-based intra prediction mode can be used for the transform set determination process of the chroma block, the intra prediction mode candidate list generation process, and the intra prediction mode determination process. However, when the intra prediction mode is the MIP mode, the difference from the existing direction-based intra prediction mode is that the intra prediction is performed by matrix operation. Therefore, in the process using the intra prediction mode other than the intra prediction process, there is a problem that the MIP mode cannot be used without change. Summary of the invention

[0004] Technical issues

[0005] An object of the present invention is to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.

[0006] Another object of the present invention is to provide a recording medium for storing a bit stream generated by the image decoding method or apparatus according to the present invention.

[0007] Another object of the present invention is to provide a method for generating a derived intra prediction mode in MIP mode and a method for using the derived intra prediction mode to solve the above problems.

[0008] Technical Solution

[0009] The image decoding method according to an embodiment of the present invention may include: generating a derived intra prediction mode by performing decoder-side intra mode derivation (DIMD) on the current block, and storing the derived intra prediction mode. The current block may be in matrix-based intra prediction (MIP) mode.

[0010] In the image decoding method, DIMD may be performed using a gradient histogram of pixels.

[0011] In the image decoding method, generating the derived intra prediction mode may include generating the derived intra prediction mode by performing DIMD on a MIP prediction block of the current block.

[0012] In the image decoding method, generating the derived intra prediction mode may include generating the derived intra prediction mode by performing DIMD on a MIP down-sampled prediction block of the current block.

[0013] In the image decoding method, generating the derived intra prediction mode may include generating the derived intra prediction mode by performing DIMD on neighboring reference samples of the current block.

[0014] In the image decoding method, the stored derived intra prediction mode may be used to determine a transform set for a current block.

[0015] In the image decoding method, the stored derived intra prediction mode may be used to derive the intra prediction mode of the chrominance block of the current block.

[0016] In the image decoding method, the stored derived intra prediction mode may be used to generate an intra prediction mode candidate list of neighboring blocks of a current block.

[0017] The image encoding method according to an embodiment of the present invention may include: generating a derived intra prediction mode by performing decoder-side intra mode derivation (DIMD) on the current block, and storing the derived intra prediction mode. The current block may be in matrix-based intra prediction (MIP) mode.

[0018] A non-volatile computer-readable recording medium according to an embodiment of the present invention may store a bitstream generated by an image encoding method, the image encoding method comprising: generating a derived intra prediction mode by performing decoder-side intra mode derivation (DIMD) on a current block, and storing the derived intra prediction mode. The current block may be in a matrix-based intra prediction (MIP) mode.

[0019] A transmission method according to an embodiment of the present invention can transmit a bitstream generated by an image encoding method, the image encoding method comprising transmitting a bitstream. The encoding method comprises: generating a derived intra prediction mode by performing decoder-side intra mode derivation (DIMD) on a current block, and storing the derived intra prediction mode. The current block is in a matrix-based intra prediction (MIP) mode.

[0020] The features briefly summarized above with respect to the present invention are merely exemplary aspects of the following detailed description of the invention and do not limit the scope of the invention.

[0021] Beneficial Effects

[0022] According to the present invention, an image encoding / decoding method and apparatus with improved encoding / decoding efficiency can be provided.

[0023] In addition, according to the present invention, a method of generating a derived intra prediction mode in MIP mode and using the derived intra prediction mode can be provided.

[0024] In addition, according to the present invention, a more appropriate transformation set can be determined, thereby improving transformation efficiency.

[0025] In addition, according to the present invention, a more appropriate intra prediction mode candidate list can be generated, thereby improving the intra prediction accuracy.

[0026] In addition, according to the present invention, the intra prediction mode of the chroma block in the direct mode can be determined more accurately.

[0027] Those skilled in the art will understand that the effects that can be achieved by the present invention are not limited to the contents that have been specifically described above, and other advantages of the present invention 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 FIG. 1 is a schematic diagram schematically showing a video coding system to which the present invention can be applied.

[0031] Figures 4 to 6 is a schematic diagram for explaining a method of generating a derived intra prediction mode in a matrix-based intra prediction (MIP) mode according to an embodiment of the present invention.

[0032] Figure 7is a flowchart of a method for determining a transform set in MIP mode according to an embodiment of the present invention.

[0033] Figure 8 is a schematic diagram illustrating a transform set mapping table according to an embodiment of the present invention.

[0034] Fig. 9 is a flowchart of a method of generating an intra prediction mode candidate list when a neighboring block is in a MIP mode according to an embodiment of the present invention.

[0035] Fig.10 is a diagram for explaining neighboring blocks for generating an intra prediction mode candidate list according to an embodiment of the present invention.

[0036] Fig.11 is a flowchart of a method of deriving an intra prediction mode of a chroma block when a corresponding luminance block is in a MIP mode according to an embodiment of the present invention.

[0037] Fig.12 is a schematic diagram for explaining a corresponding luminance block of a chrominance block according to an embodiment of the present invention.

[0038] Fig.13 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.

[0039] Fig.14 A content streaming system to which an embodiment according to the present invention can be applied is exemplarily shown. DETAILED DESCRIPTION

[0040] The present invention may have various modifications and embodiments, and specific embodiments are shown in the drawings and described in detail in the detailed specification. However, this is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents or alternatives contained in the spirit and technical scope of the present invention. The same figure marks in the drawings indicate the same or similar functions in various aspects. For a clearer description, the shapes and sizes of the elements in the drawings can be provided by way of example. The detailed description of the exemplary embodiments described below refers to the drawings, which show specific embodiments by way of example. These embodiments are described in full detail to enable those skilled in the art to practice the embodiments. It should be understood that various embodiments are different from each other, but not necessarily mutually exclusive. For example, without departing from the spirit and scope of the present invention with reference to an embodiment, the specific shapes, structures and features described herein can be implemented in other embodiments. It should also be understood that without departing from the spirit and scope of the embodiment, the position or arrangement of each component in each disclosed embodiment can be changed. Accordingly, the detailed description set forth below is not intended to be restrictive, and the scope of the exemplary embodiments is limited only by the full range of equivalent forms assigned by the attached claims and these claims (if appropriately described).

[0041] In the present invention, the terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The 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 terms and / or include a combination of multiple related descriptive items or any item in multiple related descriptive items.

[0042] The components shown in the embodiments of the present invention are depicted independently to indicate different characteristic functions, and do not represent 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 of the components can be combined to form a single component, or one component can be divided into multiple components to perform functions, as long as it does not depart from the essence of the present invention, the embodiment in which the components are integrated and the embodiment in which each component is divided are also included in the scope of the present invention.

[0043] The terms used in the present invention are only used to describe specific embodiments and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In addition, some components of the present invention are not necessary components for performing necessary functions in the present invention, and can be optional components that are only used to improve performance. The present invention can be realized by only including necessary components for realizing the gist of the present invention and not including components that are only used to improve performance, and the structure that only includes necessary components and does not include optional components that are only used to improve performance is also included in the scope of the present invention.

[0044] In an 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 an embodiment, the term "plurality" may refer to one of a number greater than or equal to 2, such as 2, 3, and 4.

[0045] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. When describing the embodiments of the present specification, if it is determined that the detailed description of the related known configuration or function will obscure the subject of the present specification, the detailed description will be omitted, the same figure numerals will be used for the same components in the drawings, and the repeated description of the same components will be omitted.

[0046] Description of terms

[0047] Hereinafter, "image" may refer to a picture constituting a video, and may also refer to the video itself. For example, "encoding and / or decoding of an image" may refer to "encoding and / or decoding of a video", and may also refer to "encoding and / or decoding of one of the images constituting the video".

[0048] Hereinafter, "moving image" 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 a target of encoding and / or a decoding target image as a target of decoding. 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.

[0049] Hereinafter, an encoder and an image encoding device may be used with the same meaning and may be used interchangeably.

[0050] Hereinafter, a decoder and an image decoding device may be used with the same meaning and may be used interchangeably.

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

[0052] Hereinafter, a "target block" may be an encoding target block as a target of encoding and / or a decoding target block as a target of decoding. 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.

[0053] In the following, "block" and "unit" may be used with the same meaning and may be used interchangeably. In addition, a "unit" may be represented as 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 a luma component (Y) coding tree block (CTB) and two chroma component (Cb, Cr) coding tree blocks associated therewith.

[0054] Hereinafter, "sample", "picture element", and "pixel" may be used with the same meaning and may be used interchangeably. Herein, a sample may represent a basic unit constituting a block.

[0055] Hereinafter, “inter-frame” and “inter-screen” may be used with the same meaning and may be used interchangeably.

[0056] Hereinafter, “intra-frame” and “intra-screen” may be used with the same meaning and may be used interchangeably.

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

[0058] 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.

[0059] refer to Figure 1 The encoding device 100 may include: an image partitioning 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, an inverse quantization unit 160, an inverse transform unit 170, an adder 117, a filtering unit 180 and a reference picture buffer 190.

[0060] In addition, the encoding device 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.

[0061] The image partitioning unit 110 can partition the input image into various forms to improve the efficiency of video encoding / decoding. That is, the input video consists of multiple pictures, and for compression efficiency, parallel processing, etc., a picture can be hierarchically partitioned and processed. For example, a picture can be partitioned into one or more tiles or slices, and then partitioned into multiple codec tree units (CTUs) again. Alternatively, a picture can first be partitioned into multiple sub-pictures defined as rectangular slice groups, and each sub-picture can be partitioned into tiles / slices. Here, sub-pictures can be used to support the function of partially independently encoding / decoding and transmitting pictures. Since multiple sub-pictures can be reconstructed separately, this has the advantage of easy editing in applications where multi-channel inputs are configured as one picture. In addition, tiles can be divided horizontally to generate bricks. Here, bricks can be used as basic units for parallel processing within a picture. In addition, a CTU can be recursively partitioned into a quad tree (quad tree, QT), and the terminal node of the partition can be defined as a coding unit (Coding Unit, CU). The CU can be partitioned into a PU (Prediction Unit) as a prediction unit and a TU (Transform Unit) as a transform unit to perform prediction and partitioning. On the other hand, the CU can be used as a prediction unit and / or a transform unit itself. Here, for flexible partitioning, each CTU can be recursively partitioned into multi-type trees (MTT) and quadtrees (QT). Partitioning the CTU into multi-type trees can start from the terminal node of the QT, and the MTT can be composed of a binary tree (BT) and a triple 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, during partitioning, the minimum block size (MinQTSize) of the quadtree of the luma block can be set to 16×16, the maximum block size (MaxBtSize) of the binary tree can be set to 128×128, and the maximum block size (MaxTtSize) of the ternary tree can be set to 64×64. 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 4×4, 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 luma component and the chroma component differently can be applied.On the other hand, in P slices and B slices, the luma and chroma coding tree blocks (CTBs) within a CTU can be partitioned into a single tree that shares a coding tree structure.

[0062] 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 other than intra mode and inter mode (e.g., IBC mode, palette mode, etc.). However, if the third mode has functional characteristics similar to those of the intra mode or inter mode, it may be classified as the intra mode or inter mode for ease of explanation. In the present invention, the third mode is classified and described separately only when a specific description of the third mode is required.

[0063] When the intra mode is used as the prediction mode, the switch 115 can switch to the intra mode, and when the inter mode is used as the prediction mode, the switch 115 can switch to the inter mode. Here, the intra mode can represent the intra prediction mode, and the inter mode can represent the inter prediction mode. The encoding device 100 can generate a prediction block for an input block of an input image. In addition, the encoding device 100 can encode a residual block using the residual of the input block and the prediction block after generating the prediction block. The input image can be referred to as the current image as the current encoding target. The input block can be referred to as the current block or the encoding target block as the current encoding target.

[0064] When the prediction mode is intra mode, the intra prediction unit 120 may use samples of the already encoded / decoded blocks around the current block as reference samples. The intra prediction unit 120 may perform spatial prediction of the current block by utilizing the reference samples, or generate prediction samples of the input block by spatial prediction. In this article, intra prediction may refer to intra-picture prediction.

[0065] As the intra prediction method, non-directional prediction modes such as DC mode and planar mode and directional prediction modes (for example, 65 directions) may be applied. Here, the intra prediction method may be expressed as an intra prediction mode or an intra-screen prediction mode.

[0066] When the prediction mode is the inter mode, the motion prediction unit 121 can retrieve the area that best matches the input block from the reference image in the motion prediction process, and derive the motion vector by using the retrieved area. In this case, the search area can be used as the area. The reference image can be stored in the reference picture buffer 190. Here, when encoding / decoding of the reference image is performed, it can be stored in the reference picture buffer 190.

[0067] The motion compensation unit 122 may generate a prediction block of the current block by performing motion compensation using a motion vector. Herein, inter prediction may mean inter-picture prediction or motion compensation.

[0068] 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 based on the codec unit whether the motion prediction and motion compensation mode of the prediction unit included in the codec unit is one of the skip mode, merge mode, advanced motion vector prediction (AMVP) mode, and intra block copy (IBC) mode, and inter-frame prediction or motion compensation may be performed according to each mode.

[0069] In addition, based on the above-mentioned inter-frame prediction method, the affine (AFFINE) mode based on sub-PU prediction, the sub-block-based temporal motion vector prediction (SbTMVP) mode, the PU-based prediction and MVD merge (Merge with MVD, MMVD) mode and the geometric partitioning mode (Geometric Partitioning Mode, GPM) mode can be applied. In addition, in order to improve the performance of each mode, history based MVP (HMVP), paired average MVP (PAMVP), combined intra / inter prediction (CIIP), adaptive motion vector resolution (AMVR), bi-directional optical flow (BDOF), bi-predictive with CU Weights (BCW), local illumination compensation (LIC), template matching (TM), overlapped block motion compensation (OBMC), etc. can be applied.

[0070] Among them, the affine mode is a technology used in both AMVP and MERGE modes, and also has high coding efficiency. In existing video codec standards, since motion compensation (MC) is performed by considering only the parallel movement of blocks, it has the disadvantage of not being able to properly compensate for the motion that occurs in reality (e.g., zooming in / out 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 sides of the current block.

[0071] The subtractor 113 may generate a residual block by utilizing 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 of a block unit.

[0072] The transform unit 130 may generate a transform coefficient by performing a transform on the residual block, and output the generated transform coefficient. Herein, 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.

[0073] The quantization level may be generated by applying quantization to a transform coefficient or a residual signal. Hereinafter, the quantization level may also be referred to as a transform coefficient in an embodiment.

[0074] For example, a 4×4 luminance residual block generated by intra prediction is transformed using a base vector based on a discrete sine transform (DST), and the remaining residual block can be transformed using a base vector based on a discrete cosine transform (DCT). In addition, the transform block is partitioned into a quadtree shape of a block using a residual quad tree (RQT) technique, and after transforming and quantizing each transform block partitioned by the RQT, a coded block flag (cbf) can be transmitted when all coefficients become 0 to improve coding efficiency.

[0075] As another alternative, a Multiple Transform Selection (MTS) technique that selectively uses multiple transform bases to perform transforms can be applied. That is, instead of partitioning the CU into TUs through RQT, a function similar to TU partitioning can 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 a size of 1 / 2 or 1 / 4 in the vertical or horizontal direction, and then the transform can be performed only on one of the blocks. For example, if the current block is partitioned vertically, the transform can be performed on the leftmost or rightmost block, and if the current block is partitioned horizontally, the transform can be performed on the topmost or bottommost block.

[0076] In addition, a low frequency non-separable transform (LFNST) can be applied, which is a secondary transform technique that additionally transforms the transformed residual signal into the frequency domain by DCT or DST. LFNST additionally performs a transform on a 4×4 or 8×8 low frequency region on the upper left side so that the residual coefficients can be concentrated on the upper left side.

[0077] 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. Herein, the quantization unit 140 may quantize the transform coefficient by using a quantization matrix.

[0078] For example, a quantizer using a QP value of 0 to 51 may be used. Alternatively, if the image size is large and high coding efficiency is required, a QP of 0 to 63 may be used. In addition, a dependent quantization (DQ) method using two quantizers instead of one quantizer may be applied. DQ performs quantization using two quantizers (e.g., Q0 and Q1), but even if there is no signaling information about the use of a specific quantizer, the quantizer used for the next transform coefficient may be selected based on the current state through a state transition model.

[0079] The entropy encoding unit 150 may generate a bit stream by performing entropy encoding on the value calculated by the quantization unit 140 or the encoding parameter value calculated when encoding is performed according to the probability distribution, and output the bit stream. The entropy encoding unit 150 may perform entropy encoding on information about samples of an image and information for decoding an image. For example, the information for decoding an image may include a syntax element.

[0080] When entropy coding is applied, the symbol is represented so that a smaller number of bits are assigned to symbols with a high probability of occurrence and a larger number of bits are assigned to symbols with a low probability of occurrence, so the size of the bit stream for the symbol to be encoded can be reduced. The entropy coding unit 150 can use coding methods such as exponential Golomb, context-adaptive variable length coding (context-adaptive variable length coding, CAVLC), context-adaptive binary arithmetic coding (context-adaptive binary arithmetic coding, CABAC) for entropy coding. For example, the entropy coding unit 150 can perform entropy coding by using a variable length coding / code (variable length coding / code, VLC) table. In addition, the entropy coding unit 150 can derive a binarization method of the target symbol and a probability model of the target symbol / binary, and perform arithmetic coding and decoding by using the derived binarization method and context model.

[0081] 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.

[0082] In order to encode the transformation coefficient level (quantization level), the entropy encoding unit 150 may change the coefficients in a two-dimensional block form into a one-dimensional vector form through a transformation coefficient scanning method.

[0083] The coding and decoding parameters may include information (flags, indexes, etc.) encoded in the encoding device 100 and signaled to the decoding device 200, such as syntax elements, and information derived during the encoding or decoding process, and may represent information required when encoding or decoding an image.

[0084] Herein, signaling a flag or an index may mean that in an encoder, the corresponding flag or index is entropy encoded and included in a bitstream, and may mean that in a decoder, the corresponding flag or index is entropy decoded from the bitstream.

[0085] The encoded current image can be used as a reference image for another image to be processed later. Therefore, the encoding device 100 can 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.

[0086] The quantization level may be dequantized in the dequantization unit 160 or may be inversely transformed in the inverse transform unit 170. The dequantized and / or inversely transformed coefficients may be added to the prediction block by the adder 117. Herein, the dequantized and / or inversely transformed coefficients may represent coefficients on which at least one of dequantization and inverse transformation is performed, and may represent 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.

[0087] The reconstructed block may pass through the filtering unit 180. The filtering unit 180 may apply a deblocking filter, a sample adaptive offset (SAO) filter, an adaptive loop filter (ALF), a bilateral filter (BIF), a luma mapping with chroma scaling (LMCS) filter, etc. to the reconstructed sample, the reconstructed block, or the reconstructed image using all or some filtering techniques. The filtering unit 180 may be referred to as an in-loop filter. In this case, the in-loop filter may also be used as a name that does not include LMCS.

[0088] 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 samples included in several 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.

[0089] In order to compensate for the coding error using sample adaptive offset, an appropriate offset value may be added to the sample value. Sample adaptive offset can correct the offset from the original image in sample units for the deblocked image. A method of partitioning the samples included in the image into a predetermined number of regions, determining the region to which the offset is applied, and applying the offset to the determined region, or a method of applying the offset in consideration of edge information about each sample may be used.

[0090] The bilateral filter (BIF) can also correct the deviation from the original image on a sample-by-sample basis for the image on which deblocking has been performed.

[0091] The adaptive loop filter may perform filtering based on the comparison result of the reconstructed image with the original image. The samples included in the image may be partitioned into predetermined groups, the filter to be applied to each group may be determined, and differential filtering may be performed on each group. Information on whether the ALF is applied may be signaled by a codec unit (CU), and the form and coefficients of the adaptive loop filter to be applied to each block may vary.

[0092] 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. In particular, LMCS can be used as an HDR correction technique that reflects the characteristics of a High Dynamic Range (HDR) image.

[0093] The reconstructed block or the reconstructed image that has passed through the filtering unit 180 may be stored in the reference picture buffer 190. The reconstructed block that has passed through the filtering unit 180 may be part of the reference image. That is, the reference image is a reconstructed image composed of the reconstructed block that has passed through the filtering unit 180. The stored reference image may be used for inter-frame prediction or motion compensation later.

[0094] Figure 2 is a block diagram showing the configuration of a decoding device according to an embodiment of the present invention.

[0095] The decoding device 200 may be a decoder, a video decoding device, or an image decoding device.

[0096] refer to Figure 2 The decoding device 200 may include: an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an intra-frame prediction unit 240, a motion compensation unit 250, an adder 201, a switch 203, a filtering unit 260 and a reference picture buffer 270.

[0097] 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 streamed through a wired / wireless transmission medium. 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.

[0098] When the prediction mode for decoding is the intra mode, the switch 203 may switch to the intra mode. Alternatively, when the prediction mode for decoding is the inter mode, the switch 203 may switch to the inter mode.

[0099] 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 called a current block.

[0100] 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. In this article, the entropy decoding method may be an inverse process of the above entropy encoding method.

[0101] The entropy decoding unit 210 may change the coefficients of the one-dimensional vector shape into coefficients of the two-dimensional block shape through a transform coefficient scanning method to decode the transform coefficient level (quantization level).

[0102] The quantization level may be inversely quantized in the inverse quantization unit 220 or inversely transformed in the inverse transform unit 230. The quantization level may be a result of inverse quantization and / or inverse transformation and may be generated as a reconstructed residual block. Herein, the inverse quantization unit 220 may apply a quantization matrix to the quantization level. The inverse quantization unit 220 and the inverse transform unit 230 applied to the decoding device may apply the same technology as the inverse quantization unit 160 and the inverse transform unit 170 applied to the aforementioned encoding device.

[0103] When the intra mode is used, the intra prediction unit 240 can generate a prediction block by performing spatial prediction on the current block, which uses sample values ​​of blocks that have been 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 aforementioned encoding device.

[0104] When the inter-frame 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. When the value of the motion vector is not an integer value, the motion compensation unit 250 can generate a prediction block by applying an interpolation filter to a partial area within the reference image. In order to perform motion compensation, it can be determined based on the codec unit whether the motion compensation mode of the prediction unit included in the corresponding codec unit is a skip mode, a merge mode, an AMVP mode, or a current picture reference mode, 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 above-mentioned encoding device.

[0105] The adder 201 may generate a reconstructed block by adding the reconstructed residual block and the prediction block. The filtering 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 filtering unit 260 applied to the decoding device may apply the same filtering technique as the filtering unit 180 applied to the aforementioned encoding device.

[0106] The filtering 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 filtering unit 260 may be 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 filtering unit 260. The stored reference image may be used for inter-frame prediction or motion compensation later.

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

[0108] The video coding system according to the 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 streaming through a digital storage medium or a network.

[0109] 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.

[0110] 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 including 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 for generating relevant data.

[0111] The encoding unit 12 may encode the input video / image. For compression and encoding efficiency, the encoding unit 12 may perform a series of processes such as prediction, transformation, and quantization. The encoding unit 12 may output the 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.

[0112] 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 through a digital storage medium or a network in the form of a file or streaming. 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 transmission 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.

[0113] The decoding unit 22 can decode the video / image by performing a series of processes such as inverse quantization, inverse transformation, and prediction corresponding to the operations of the encoding unit 12. The detailed configuration of the decoding unit 22 can also be similar to Figure 2 The above-mentioned decoding device 200 is configured in the same manner.

[0114] The rendering unit 23 may render the decoded video / image. The rendered video / image may be displayed by the display unit.

[0115] In the following, reference Figures 4 to 13 , a method for generating a derived intra-frame prediction mode in MIP (matrix-based intra-frame prediction) mode, a method for determining a transform set in MIP mode, a method for generating an intra-frame prediction mode candidate list when a neighboring block is in MIP mode, and a method for deriving an intra-frame prediction mode of a chrominance block when a corresponding luminance block is in MIP mode according to an embodiment of the present invention will be described.

[0116] In the present invention, "derived intra prediction mode" may mean an intra prediction mode generated by decoder-side intra mode derivation (DIMD).

[0117] In the present invention, in matrix-based intra prediction (MIP), a prediction block for a current block can be generated by performing boundary averaging processing, matrix-vector multiplication processing, and linear interpolation processing using adjacent left reference pixels and upper reference pixels around the current block. Here, the boundary averaging processing can be performed by boundary downsampling, and the linear interpolation processing can be performed by prediction upsampling, respectively.

[0118] Figures 4 to 6 is a schematic diagram for explaining a method of generating a derived intra prediction mode in a MIP mode according to an embodiment of the present invention.

[0119] Figure 4 2 is a schematic diagram for explaining a method of deriving an intra prediction mode based on generation of a MIP prediction block according to an embodiment of the present invention. Here, the MIP prediction block may mean a prediction block generated by matrix-based intra prediction.

[0120] refer to Figure 4 , MIP boundary downsampling 410 and matrix-vector multiplication 420 may be performed on the current block 401 to generate a MIP downsampled prediction block 421. In addition, MIP prediction upsampling 430 may be performed on the MIP downsampled prediction block 421 to generate a MIP prediction block 431.

[0121] On the other hand, decoder-side intra mode derivation (DIMD) 440 may be performed based on the pixels of the MIP prediction block 431 to generate a derived intra prediction mode 450. Specifically, at least one boundary detection filter among a Sobel filter, a Roberts cross filter, a Prewitt filter, a Scharr filter, and a Laplacian filter may be applied to the pixels of the MIP prediction block 431 to calculate the gradient of the corresponding pixel, and a gradient histogram (Histogram of gradients, HoG) may be generated based on the gradient. A gradient having a maximum value may be selected from the gradient histogram and mapped to an intra prediction mode to generate a derived intra prediction mode.

[0122] On the other hand, when the gradient histogram is generated using the pixels of the MIP prediction block 431, in order to reduce complexity, sampling can be performed to select pixels at specific positions and use them, rather than using all the pixels in the MIP prediction block 431. For example, pixels can be selected by sampling x2 (in units of 2 pixels) or x4 (in units of 4 pixels) in the vertical direction, or by sampling x2 (in units of 2 pixels) or x4 (in units of 4 pixels) in the horizontal direction. Alternatively, pixels can be selected by sampling x2 (in units of 2 pixels) or x4 (in units of 4 pixels) in the vertical and horizontal directions. Although sampling x2 (in units of 2 pixels) or x4 (in units of 4 pixels) is mentioned in the present embodiment, pixels can be selected by performing any multiple of sampling.

[0123] Figure 51 is a schematic diagram for explaining a method of generating an intra prediction mode derived based on a MIP downsampled prediction block according to an embodiment of the present invention. Here, the MIP downsampled prediction block may mean a downsampled prediction block generated during a matrix-based intra prediction process.

[0124] refer to Figure 5 , MIP boundary downsampling 510 and matrix-vector multiplication 520 may be performed on the current block 501 to generate a MIP downsampled prediction block 521. In addition, MIP prediction upsampling 530 may be performed on the MIP downsampled prediction block 521 to generate a MIP prediction block 531.

[0125] On the other hand, a decoder-side intra mode derivation (DIMD) 540 may be performed based on the pixels of the MIP downsampled prediction block 521 to generate a derived intra prediction mode 550. Specifically, at least one boundary detection filter among a Sobel filter, a Roberts cross filter, a Prewitt filter, a Scharr filter, and a Laplacian filter may be applied to the pixels of the MIP downsampled prediction block 521 to calculate the gradient of the corresponding pixel, and a gradient histogram (HoG) may be generated based on the gradient. A gradient having a maximum value may be selected from the gradient histogram and mapped to an intra prediction mode to generate a derived intra prediction mode.

[0126] On the other hand, when the gradient histogram is generated using the pixels of the prediction block 521 downsampled by MIP, in order to reduce complexity, sampling can be performed to select pixels at specific positions and use them, rather than using all the pixels in the prediction block 521 downsampled by MIP. For example, pixels can be selected by sampling x2 (in units of 2 pixels) or x4 (in units of 4 pixels) in the vertical direction, or by sampling x2 (in units of 2 pixels) or x4 (in units of 4 pixels) in the horizontal direction. Alternatively, pixels can be selected by sampling x2 (in units of 2 pixels) or x4 (in units of 4 pixels) in the vertical and horizontal directions. Although sampling x2 (in units of 2 pixels) or x4 (in units of 4 pixels) is mentioned in the present embodiment, pixels can be selected by performing any multiple of sampling.

[0127] Figure 6 1 is a schematic diagram for explaining a method for generating an intra prediction mode based on neighboring reference samples of a current block according to an embodiment of the present invention. Here, the neighboring reference samples of the current block may include left reference samples and upper reference samples of the current block.

[0128] refer to Figure 6, MIP boundary downsampling 610 and matrix-vector multiplication 620 may be performed on the current block 601 to generate a MIP downsampled prediction block 621. In addition, MIP prediction upsampling 630 may be performed on the MIP downsampled prediction block 621 to generate a MIP prediction block 631.

[0129] On the other hand, a decoder-side intra mode derivation (DIMD) 640 may be performed based on the pixels of the left reference sample 602 and the upper reference sample 603 of the current block 601 to generate a derived intra prediction mode 650. Specifically, at least one boundary detection filter among a Sobel filter, a Roberts cross filter, a Prewitt filter, a Scharr filter, and a Laplacian filter may be applied to the pixels of the left reference sample 602 and the upper reference sample 603 of the current block 601 to calculate the gradients of the corresponding pixels, and a gradient histogram (HoG) may be generated based on the gradients. A gradient having a maximum value may be selected from the gradient histogram and mapped to an intra prediction mode to generate a derived intra prediction mode.

[0130] On the other hand, when the gradient histogram is generated using the pixels of the left reference sample 602 and the upper reference sample 603 of the current block 601, in order to reduce complexity, sampling can be performed to select and use pixels at specific positions instead of using all pixels in the left reference sample 602 and the upper reference sample 603 of the current block 601. For example, pixels can be selected by sampling x2 (in units of 2 pixels) or x4 (in units of 4 pixels) in the vertical direction, or by sampling x2 (in units of 2 pixels) or x4 (in units of 4 pixels) in the horizontal direction. Although sampling x2 (in units of 2 pixels) or x4 (in units of 4 pixels) is mentioned in the present embodiment, pixels can be selected by performing any multiple of sampling.

[0131] Figure 7 is a flowchart of a method for determining a transform set in MIP mode according to an embodiment of the present invention.

[0132] refer to Figure 7 , if the current block is in MIP mode (S710-Yes), DIMD may be performed on the current block to generate a derived intra prediction mode (S720). Then, a transform set of the current block may be determined based on the derived intra prediction mode (S730). On the other hand, if the current block is not in MIP mode (S710-No), a transform set of the current block may be determined based on the intra prediction mode of the current block (S740).

[0133] Can be Figures 4 to 6Step S720 is performed by using any one of the derived intra prediction mode generation methods. That is, if the current block is in the MIP mode, the derived intra prediction mode generated using the DIMD may be used to determine the transform set.

[0134] on the other hand, Figure 7 The transform set in can mean the transform kernel of the secondary transform.

[0135] Here, the secondary transform may mean a transform performed on the coefficients of the low-frequency region on the upper left side, for the primary transform coefficients (residual coefficients) generated by first performing a primary transform on the residual signal. The size of the low-frequency region to which the secondary transform is applied is determined according to the size of the primary transform block, and the type of secondary transform kernel applied may be determined according to the intra-frame prediction mode. Unlike the primary transform, the secondary transform uses an inseparable kernel instead of a horizontally and vertically separable kernel, so the secondary transform is called a low-frequency non-separable transform (LFNST).

[0136] According to an embodiment of the present invention, a total of four types of core sets may be mapped as secondary transform kernels according to intra prediction modes.

[0137] According to an embodiment of the present invention, when the intra prediction mode is a planar mode, a DC mode, and a cross-component linear model (CCLM) mode, a secondary transform kernel set 0 may be used.

[0138] Even if the intra prediction mode is the MIP mode, when the secondary transform is performed using the secondary transform kernel set 0, there may be a limitation in performing the secondary transform by reflecting characteristics of the current block (eg, directional information or boundary information).

[0139] Therefore, if Figure 7 As shown, when the current block is in the MIP mode, the secondary transform kernel set can be determined by utilizing the derived intra prediction mode generated based on the DIMD.

[0140] Figure 8 is a schematic diagram showing a transformation set mapping table according to an embodiment of the present invention. Figure 8 The secondary transform core set index may be information indicating the secondary transform core set.

[0141] Fig. 9 is a flowchart of a method of generating an intra prediction mode candidate list when a neighboring block is in a MIP mode according to an embodiment of the present invention.

[0142] In the process of deriving the intra prediction mode of the current block, the intra prediction mode of the current block can be derived using the intra prediction mode of the adjacent block. Specifically, an intra prediction mode candidate list is generated based on the intra prediction mode of the adjacent block, and any one of the generated intra prediction mode candidate lists can be selected to derive the intra prediction mode of the current block. Here, the intra prediction mode candidate list can be a Most Probable Mode (MPM) list.

[0143] refer to Fig. 9 , if the neighboring block is in MIP mode (S910-Yes), DIMD may be performed on the neighboring block to generate a derived intra prediction mode (S920). Then, an MPM list of the current block may be generated based on the derived intra prediction mode (S930). On the other hand, if the neighboring block is not in MIP mode (S910-No), an MPM list of the current block may be generated based on the intra prediction mode of the neighboring block (S940).

[0144] Can be Figures 4 to 6 Step S920 is performed by any one of the derived intra prediction mode generation methods. That is, when the neighboring block is in the MIP mode, the derived intra prediction mode of the neighboring block generated by using the DIMD can be used to generate the MPM list of the current block.

[0145] Fig.10 is a diagram for explaining neighboring blocks for generating an intra prediction mode candidate list according to an embodiment of the present invention.

[0146] refer to Fig.10 , the intra prediction mode of the left reference block 1010 and the intra prediction mode of the upper reference block 1020 of the current block 1000 can be used to generate an intra prediction mode candidate list (i.e., MPM list). If the left reference block 1010 or the upper reference block 1020 is in MIP mode, the following can be used: Fig. 9 The derived intra prediction mode generated by DIMD is used to generate the MPM list of the current block 1000 as shown in FIG.

[0147] Fig.11 is a flowchart of a method of deriving an intra prediction mode of a chroma block when a corresponding luminance block is in a MIP mode according to an embodiment of the present invention.

[0148] In the process of deriving the intra prediction mode of the chroma block, the intra prediction mode of the corresponding luminance block corresponding to the chroma block can be determined as the intra prediction mode of the chroma block. This intra prediction method of the chroma block is called a direct mode.

[0149] refer to Fig.11, if the corresponding luminance block of the current chrominance block is in the MIP mode (S1110-Yes), a derived intra-frame prediction mode may be generated by performing DIMD on the corresponding luminance block of the current chrominance block (S1120). Then, the intra-frame prediction mode of the current chrominance block may be derived based on the derived intra-frame prediction mode (S1130). On the other hand, if the corresponding luminance block is not in the MIP mode (S1110-No), the intra-frame prediction mode of the current chrominance block may be derived based on the intra-frame prediction mode of the corresponding luminance block (S1140).

[0150] Fig.12 is a schematic diagram for explaining a corresponding luminance block of a chrominance block according to an embodiment of the present invention.

[0151] refer to Fig.12 , the position of the corresponding luminance block 1210 in the luminance picture 1211 can be determined based on the position of the current chrominance block 1200 in the chrominance picture 1201.

[0152] When in the above Fig. 9 and Fig.11 When the intra prediction mode of the block (i.e., the adjacent block or the corresponding luminance block) referenced in the MPM list generation process described in and the process of deriving the intra prediction mode of the chrominance block is the MIP mode, a predefined intra prediction mode (e.g., planar mode) can be used without performing DIMD. However, when the predefined intra prediction mode is used without performing DIMD as described above, the directional information of the corresponding block cannot be accurately derived, thereby reducing the encoding efficiency.

[0153] Fig.13 is a flowchart illustrating an image decoding method according to an embodiment of the present invention. Fig.13 The image decoding method can be performed by an image decoding device.

[0154] If the current block is in the MIP (Matrix-based Intra Prediction) mode, the image decoding apparatus may perform decoder-side intra mode derivation (DIMD) on the current block to generate a derived intra prediction mode ( S1310 ).

[0155] Here, DIMD can be performed using a gradient histogram of pixels. Specifically, the image decoding device can apply at least one boundary detection filter of a Sobel filter, a Roberts cross filter, a Prewitt filter, a Scharr filter, and a Laplacian filter to pixels of a current block and adjacent reference pixels of the current block to calculate the gradient of the corresponding pixels, and generate a gradient histogram (HoG) based on the applied boundary detection filter. Then, the image decoding device can select a gradient with a maximum value from the gradient histogram and map it to an intra-frame prediction mode to generate a derived intra-frame prediction mode.

[0156] According to an embodiment of the present invention, the step of generating the derived intra prediction mode may include generating the derived intra prediction mode by performing DIMD on the MIP prediction block of the current block.

[0157] According to an embodiment of the present invention, the step of generating the derived intra prediction mode may include generating the derived intra prediction mode by performing DIMD on the MIP downsampled prediction block of the current block.

[0158] According to an embodiment of the present invention, the step of generating the derived intra prediction mode may include generating the derived intra prediction mode by performing DIMD on neighboring reference samples of the current block.

[0159] exist Figures 4 to 6 The method of generating the derived intra prediction mode by performing DIMD in step S1310 has been described in detail.

[0160] In addition, the image decoding device may store the derived intra prediction mode (S1320). Specifically, the image decoding device may store the derived intra prediction mode and use the stored derived intra prediction mode to determine the transform set of the current block, derive the intra prediction mode of the chroma block, or generate an intra prediction mode candidate list of the adjacent blocks.

[0161] exist Figures 7 to 12 The implementation scheme of utilizing the derived intra prediction mode in step S1320 has been described in detail.

[0162] On the other hand, it can be performed in the same manner as in the image encoding method Fig.13 Alternatively, you can include Fig.13 The image encoding method of the steps described in the above is used to generate a bit stream. The bit stream can be stored in a non-volatile computer-readable recording medium and can also be transmitted (or streamed).

[0163] Fig.14 A content streaming system to which an embodiment according to the present invention can be applied is exemplarily shown.

[0164] like Fig.14 As shown, the content streaming system to which the embodiment of the present invention is applied may mainly include an encoding server, a streaming server, a network server, a media storage device, a user device and a multimedia input device.

[0165] The encoding server compresses the content received from the multimedia input device such as a smartphone, a camera, a 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 such as a smartphone, a camera, a CCTV, etc. directly generates a bit stream, the encoding server can be omitted.

[0166] A bitstream may be generated by the image encoding method and / or the image encoding device to which the embodiments of the present invention are applied, and a streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.

[0167] The streaming server sends multimedia data to the user device based on a user request via the network server, and the network server can act as an intermediary to notify the user of any available services. When the user requests a desired service from the network server, the network 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, and in this case, the control server can control the command / response between the devices within the content streaming system.

[0168] The streaming server can receive content from a media storage device 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 stable streaming service, the streaming server can store the bitstream for a period of time.

[0169] 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 televisions, desktop computers, digital signage, etc.

[0170] Each server in the above-described content streaming system may operate as a distributed server, in which case data received from each server may be distributed and processed.

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

[0172] The order of applying the above-described embodiments may be different in the encoding device and the decoding device. Alternatively, the order of applying the above-described embodiments may be the same in the encoding device and the decoding device.

[0173] The above-described embodiments may be performed on each of the luminance signal and the chrominance signal. Alternatively, the above-described embodiments of the luminance signal and the chrominance signal may be performed identically.

[0174] In the above-mentioned embodiment, 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, on the contrary, some steps can be performed simultaneously with other steps or in different orders. In addition, it should be understood by those of ordinary skill 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.

[0175] The embodiments can be implemented in the form of program instructions, which can be executed 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 thereof. The program instructions recorded in the computer-readable recording medium may be specially designed and constructed for the present invention, or are well known to those of ordinary skill in the field of computer software technology.

[0176] The bit stream generated by the encoding method according to the above-mentioned embodiment can be stored in a non-volatile computer-readable recording medium. In addition, the bit stream stored in the non-volatile computer-readable recording medium can be decoded by the decoding method according to the above-mentioned embodiment.

[0177] 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; magneto-optical media such as floppy disks; and hardware devices such as read-only memory (ROM), random access memory (RAM), flash memory, etc., which are specially configured to store and execute program instructions. Examples of program instructions include not only machine language codes formatted by a compiler, but also high-level language codes that can be implemented by a computer using an interpreter. The hardware device can be configured to be operated by one or more software modules or vice versa to perform the process according to the present invention.

[0178] Although the present invention has been described in terms of specific items such as detailed elements and limited embodiments and drawings, they are provided only 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 can be made based on the above description.

[0179] 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.

[0180] Industrial Applicability

[0181] The present invention can be used in an apparatus for encoding / decoding an image and a recording medium for storing a bit stream.

Claims

1. An image decoding method, comprising: generating a derived intra prediction mode by performing a decoder-side intra mode derivation (DIMD) on the current block; as well as Store the derived intra prediction mode, The current block is in a matrix-based intra prediction (MIP) mode.

2. The image decoding method according to claim 1, wherein: DIMD is performed using the gradient histogram of the pixels.

3. The image decoding method according to claim 1, wherein: Generating the derived intra prediction mode includes generating the derived intra prediction mode by performing DIMD on the MIP prediction block of the current block.

4. The image decoding method according to claim 1, wherein: Generating the derived intra prediction mode includes generating the derived intra prediction mode by performing DIMD on the MIP downsampled prediction block of the current block.

5. The image decoding method according to claim 1, wherein: Generating the derived intra prediction mode includes generating the derived intra prediction mode by performing DIMD on neighboring reference samples of the current block.

6. The image decoding method according to claim 1, wherein: The stored derived intra prediction modes are used to determine a transform set for the current block.

7. The image decoding method according to claim 1, wherein: The stored derived intra prediction mode is used to derive the intra prediction mode of the chroma block of the current block.

8. The image decoding method according to claim 1, wherein: The stored derived intra prediction mode is used to generate an intra prediction mode candidate list of neighboring blocks of the current block.

9. An image encoding method, comprising: generating a derived intra prediction mode by performing a decoder-side intra mode derivation (DIMD) on the current block; as well as Store the derived intra prediction mode, The current block is in a matrix-based intra prediction (MIP) mode.

10. A non-volatile computer-readable recording medium storing a bit stream generated by an image encoding method, the image encoding method comprising: generating a derived intra prediction mode by performing a decoder-side intra mode derivation (DIMD) on the current block; as well as Store the derived intra prediction mode, The current block is in a matrix-based intra prediction (MIP) mode.

11. A method for transmitting a bit stream generated by an image encoding method, the method comprising: Transmit bit stream, The encoding methods include: generating a derived intra prediction mode by performing decoder-side intra mode derivation (DIMD) on the current block; and Store the derived intra prediction mode, The current block is in a matrix-based intra prediction (MIP) mode.

Citation Information

Cited By

  • Methods and apparatus of matrix based prediction improvement for video coding

    WO2026007663A1