Image encoding / decoding method and device, and recording medium on which bitstream is stored
The image encoding/decoding method and apparatus address inefficiencies in high-resolution video encoding/decoding by deriving weighted sum coefficients in a regression-based geometric partitioning mode, improving efficiency and reducing data transmission/storage costs.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HYUNDAI MOTOR CO LTD
- Filing Date
- 2025-11-11
- Publication Date
- 2026-06-25
AI Technical Summary
Existing video encoding/decoding technologies fail to efficiently encode and decode high-resolution, high-quality video data, leading to increased transmission and storage costs due to increased data, and existing methods fail to address these issues.
An image encoding/decoding method and apparatus that utilizes regression-based geometric partitioning mode to derive weighted sum coefficients for improved encoding/decoding efficiency, using linear and non-linear models to minimize mean squared error.
Enhances encoding/decoding efficiency by generating prediction blocks through weighted sum coefficients, reducing data volume and transmission/storage costs for high-resolution, high-quality video.
Smart Images

Figure KR2025018511_25062026_PF_FP_ABST
Abstract
Description
Video encoding / decoding method, device, and recording medium storing a bitstream
[0001] The present disclosure relates to an image encoding / decoding method, an apparatus, and a recording medium storing a bitstream. Specifically, the present disclosure relates to an image encoding / decoding method, an apparatus, and a recording medium storing a bitstream based on prediction according to a regression-based geometric partitioning mode.
[0002] Recently, the demand for high-resolution, high-quality video, such as UHD (Ultra High Definition) video, has been increasing across various application fields. As video data becomes higher in resolution and quality, the relative volume of data increases compared to conventional video data; consequently, transmission and storage costs increase when video data is transmitted using existing wired or wireless broadband lines or stored using existing storage media. To address these issues arising from the increase in video data resolution and quality, high-efficiency video encoding and decoding technologies for video with higher resolution and quality are required.
[0003] Specifically, in the geometric partitioning mode of video encoding / decoding methods, a method for determining weights for each partitioned partition based on regression has been discussed. Specifically, various methods to improve the prediction accuracy of blocks are being discussed by increasing the methods for deriving the weights applied to the partitions.
[0004] The present disclosure aims to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.
[0005] According to one embodiment of the present disclosure, the purpose is to provide an image encoding / decoding method and apparatus for deriving weighted sum coefficients by various methods in a regression-based geometric partitioning mode.
[0006] According to one embodiment of the present disclosure, the purpose is to provide an image encoding / decoding method and apparatus for deriving weighted sum coefficients based on multiple models in a regression-based geometric partitioning mode.
[0007] According to one embodiment of the present disclosure, the purpose is to provide an image encoding / decoding method and apparatus that generates a prediction block of a regression-based geometric segmentation mode using weighted sum coefficients of multiple models.
[0008] According to one embodiment of the present disclosure, the purpose is to provide an image encoding / decoding method and apparatus that derives weighted sum coefficients using higher-order equations in a regression-based geometric partitioning mode.
[0009] In addition, the present disclosure aims to provide a recording medium storing a bitstream generated by an image decoding method or device according to the present disclosure.
[0010] A video decoding method according to one embodiment of the present disclosure may include: deriving a first prediction block for a first partition of a current block and a second prediction block for a second partition; determining a current template including a sample adjacent to the current block, a first template including a sample adjacent to the first prediction block, and a second template including a sample adjacent to the second prediction block; determining a model for deriving a weighted sum coefficient applied to the first prediction block and the second prediction block; deriving the weighted sum coefficient based on the current template, the first template, and the second template using the determined model; and generating a prediction block of the current block by weighting the first prediction block and the second prediction block based on the weighted sum coefficient.
[0011] In the above image decoding method, the first prediction block and the second prediction block may be characterized by being derived by inter-prediction.
[0012] In the above-described image decoding method, the first prediction block may be derived by inter-prediction, and the second prediction block may be derived by intra-prediction.
[0013] In the above image decoding method, the first prediction block and the second prediction block may be characterized by being derived by intra prediction.
[0014] In the above image decoding method, the step of determining the current template, the first template, and the second template may be characterized by determining the shapes of the current template, the first template, and the second template among a plurality of template shape candidates.
[0015] In the above image decoding method, the plurality of template shape candidates may be characterized by including a first template shape including samples adjacent to the left of the current block, a second template shape including samples adjacent to the top of the current block, and a third template shape including samples adjacent to the left of the current block and samples adjacent to the top of the current block.
[0016] In the above image decoding method, the determined model is a linear model, and the coefficients of the linear model may be derived to values that minimize the mean squared error between the result value of inputting the first template and the second template into the linear model and the current template.
[0017] In the above image decoding method, the determined model is a plurality of linear models, and among the plurality of linear models, the coefficient of the first linear model may be derived to a value that minimizes the mean squared error between the result of inputting a part of the first template and a part of the second template into the first linear model and a part of the current template.
[0018] In the above image decoding method, a portion of the first template may be characterized by being determined based on the result of a comparison between the pixel value of the first template and a predetermined threshold value.
[0019] In the above image decoding method, the predetermined threshold value may be characterized by being determined based on at least one sample value among the first template, the second template, and the current template.
[0020] In the above image decoding method, a weighted sum coefficient derived based on the first linear model may be applied to a part of the first prediction block, which is distinguished based on the comparison result between the pixel value of the first prediction block and a predetermined threshold value.
[0021] In the above image decoding method, the first prediction block may be characterized by being determined based on the coding parameters of the first prediction block and the second prediction block.
[0022] In the above image decoding method, the determined model is a single non-linear model, and the coefficients of the single non-linear model may be derived to values that minimize the mean squared error between the result value of inputting the first template and the second template into the single non-linear model and the current template.
[0023] In the above image decoding method, the determined model is a plurality of nonlinear models, and among the plurality of nonlinear models, the coefficient of the first nonlinear model may be derived to a value that minimizes the mean squared error between the result of inputting a part of the first template and a part of the second template into the first nonlinear model and a part of the current template.
[0024] A video encoding method according to one embodiment of the present disclosure may include: deriving a first prediction block for a first partition of a current block and a second prediction block for a second partition; determining a current template including a sample adjacent to the current block, a first template including a sample adjacent to the first prediction block, and a second template including a sample adjacent to the second prediction block; determining a model for deriving a weighted sum coefficient applied to the first prediction block and the second prediction block; deriving the weighted sum coefficient based on the current template, the first template, and the second template using the determined model; and generating a prediction block of the current block by weighting the first prediction block and the second prediction block based on the weighted sum coefficient.
[0025] A bitstream transmission method according to one embodiment of the present disclosure includes the step of transmitting the bitstream, and the image encoding method may transmit a bitstream generated by the image encoding method, the method comprising the steps of: deriving a first prediction block for a first partition of a current block and a second prediction block for a second partition; determining a current template including a sample adjacent to the current block, a first template including a sample adjacent to the first prediction block, and a second template including a sample adjacent to the second prediction block; determining a model for deriving a weighted sum coefficient applied to the first prediction block and the second prediction block; deriving the weighted sum coefficient based on the current template, the first template, and the second template using the determined model; and generating a prediction block of the current block by weighting the first prediction block and the second prediction block based on the weighted sum coefficient.
[0026] The features briefly summarized above regarding the present disclosure are merely exemplary aspects of the detailed description of the present disclosure that follows and do not limit the scope of the present disclosure.
[0027] According to the present disclosure, an image encoding / decoding method and apparatus with improved encoding / decoding efficiency may be provided.
[0028] Additionally, according to one embodiment of the present disclosure, an image encoding / decoding method and apparatus may be provided for deriving weighted sum coefficients and prediction blocks by various methods in a regression-based geometric partitioning mode.
[0029] The effects obtainable from the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art to which the present disclosure belongs from the description below.
[0030] FIG. 1 is a block diagram showing the configuration according to one embodiment of an encoding device to which the present disclosure applies.
[0031] FIG. 2 is a block diagram showing the configuration according to one embodiment of a decoding device to which the present disclosure is applied.
[0032] FIG. 3 is a schematic diagram illustrating a video coding system to which the present disclosure can be applied.
[0033] Figure 4 shows a combination of inter-predictions and intra-predictions that can occur in geometric partitioning mode.
[0034] Figure 5 is a diagram illustrating a prediction method using geometric division modes.
[0035] Figure 6 is a diagram illustrating a prediction method using a geometric partitioning mode based on intra / inter prediction.
[0036] Figure 7 is a diagram illustrating a prediction method using a spatial geometric partitioning mode.
[0037] FIG. 8 is a diagram illustrating a prediction method using a regression-based geometric partitioning mode according to one embodiment of the present disclosure.
[0038] FIG. 9 is a flowchart illustrating an image decoding method according to one embodiment of the present disclosure.
[0039] FIG. 10 is a drawing illustrating an exemplary content streaming system to which an embodiment according to the present disclosure can be applied.
[0040] The present invention is susceptible to various modifications and may have various embodiments; specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present disclosure to specific embodiments, and it should be understood that it includes all modifications, equivalents, and substitutions that fall within the spirit and scope of the present disclosure. Similar reference numerals in the drawings refer to the same or similar functions across various aspects. The shapes and sizes of elements in the drawings may be provided illustratively for clearer explanation. The detailed description of the exemplary embodiments described below refers to the accompanying drawings, which illustrate specific embodiments. These embodiments are described in sufficient detail to enable those skilled in the art to practice the embodiments. It should be understood that various embodiments are different but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the present disclosure in relation to one embodiment. Furthermore, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the embodiment. Accordingly, the following detailed description is not intended to be taken in a limiting sense, and the scope of the exemplary embodiments is limited only by the appended claims, together with all equivalents to those claimed therein, provided they are properly described.
[0041] In this disclosure, terms such as first, second, etc. may be used to describe various components, but said components should not be limited by said terms. Such terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of this disclosure, the first component may be named the second component, and similarly, the second component may be named the first component. The term "and / or" includes a combination of a plurality of related described items or any of a plurality of related described items.
[0042] The components shown in the embodiments of the present disclosure are depicted independently to represent different characteristic functions and do not imply that each component consists of separate hardware or a single software unit. That is, each component is listed and included as a separate component for convenience of explanation; however, at least two of the components may be combined to form a single component, or a single component may be divided into multiple components to perform a function, and such integrated and separated embodiments of each component are included within the scope of the rights of the present disclosure as long as they do not deviate from the essence of the present disclosure.
[0043] The terms used in this disclosure are used merely to describe specific embodiments and are not intended to limit this disclosure. Singular expressions include plural expressions unless the context clearly indicates otherwise. Additionally, some components of this disclosure may not be essential components performing an essential function in this disclosure, but may be optional components merely for enhancing performance. This disclosure may be implemented by including only the components essential to embody the essence of this disclosure, excluding components used merely for performance enhancement, and a structure including only the essential components, excluding optional components used merely for performance enhancement, is also included within the scope of this disclosure.
[0044] In the embodiments, the term "at least one" may mean one of a number of 1 or more, such as 1, 2, 3, and 4. In the embodiments, the term "a plurality of" may mean one of a number of 2 or more, such as 2, 3, and 4.
[0045] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In describing the embodiments of this specification, if it is determined that a detailed description of related known configurations or functions may obscure the gist of this specification, such detailed description is omitted, and the same reference numerals are used for identical components in the drawings, and redundant descriptions of identical components are omitted.
[0046] Glossary
[0047] In the following, “image” may refer to a single picture constituting a video, or it may refer to the video itself. For example, “encoding and / or decoding of an image” may mean “encoding and / or decoding of an image”, and may also mean “encoding and / or decoding of one of the images constituting the video”.
[0048] In the following, "video" and "video" may be used interchangeably with the same meaning. Additionally, the target image may be an image to be encoded and / or an image to be decoded. Furthermore, the target image may be an input image fed into an encoding device and an input image fed into a decoding device. Here, the target image may have the same meaning as the current image.
[0049] In the following, the terms encoder and image encoding device may be used interchangeably.
[0050] In the following, the decoder and the image decoder may be used interchangeably with each other.
[0051] In the following, "image," "picture," "frame," and "screen" may be used interchangeably with the same meaning.
[0052] In the following, “target block” may be an encoding target block that is the target of encoding and / or a decoding target block that is the target of decoding. Additionally, the target block may be a current block that is the target of current encoding and / or decoding. For example, “target block” and “current block” may be used interchangeably.
[0053] In the following description, "block" and "unit" may be used interchangeably. Additionally, to distinguish it from a block, "unit" may refer to a block containing a luminance (Luma) component block and a corresponding chroma (Chroma) component block. For example, a Coding Tree Unit (CTU) may consist of a single luminance component (Y) coding tree block (CTB) and two chroma component (Cb, Cr) coding tree blocks associated with it.
[0054] In the following, “sample,” “pixel,” and “pixel” may be used interchangeably with the same meaning. Here, a sample may represent a basic unit constituting a block.
[0055] In the following, “inter” and “inter-screen” may be used interchangeably with the same meaning.
[0056] In the following, “intra” and “in-screen” may be used interchangeably with the same meaning.
[0057]
[0058] FIG. 1 is a block diagram showing the configuration according to one embodiment of an encoding device to which the present disclosure applies.
[0059] The encoding device (100) may be an encoder, a video encoding device, or an image encoding device. The video may include one or more images. The encoding device (100) may sequentially encode one or more images.
[0060] Referring to FIG. 1, the encoding device (100) may include an image segmentation unit (110), an intra prediction unit (120), a motion prediction unit (121), a motion compensation unit (122), a switch (115), a subtractor (113), a converter (130), a quantization unit (140), an entropy encoding unit (150), an inverse quantization unit (160), an inverse converter (170), an adder (117), a filter unit (180), and a reference picture buffer (190).
[0061] Additionally, the encoding device (100) can generate a bitstream containing encoded information through encoding of an input image and can output the generated bitstream. The generated bitstream can be stored on a computer-readable recording medium or streamed via a wired / wireless transmission medium.
[0062] The video segmentation unit (110) can divide the input video into various forms to increase the efficiency of video encoding / decoding. That is, the input video consists of multiple pictures, and a single picture can be processed by hierarchically dividing it for compression efficiency, parallel processing, etc. For example, a single picture can be divided into one or more tiles or slices and then divided again into multiple CTUs (Coding Tree Units). Alternatively, a single picture can first be divided into multiple sub-pictures defined as groups of rectangular slices, and each sub-picture can be divided into the said tiles / slices. Here, the sub-pictures can be utilized to support the function of partially and independently encoding / decoding and transmitting the picture. Since multiple sub-pictures can each be restored individually, they have the advantage of being easy to edit in applications that configure multi-channel inputs into a single picture. In addition, the tiles can be divided horizontally to create bricks. Here, a brick can be utilized as the basic unit of parallel processing within a picture. Additionally, a single CTU can be recursively partitioned into a Quadtree (QT), and the terminal node of the partition can be defined as a Coding Unit (CU). The CU can be divided into a Prediction Unit (PU) and a Transform Unit (TU) to perform prediction and partitioning. Meanwhile, the CU can be utilized as the prediction unit and / or the transformation unit itself. Here, for flexible partitioning, each CTU can be recursively partitioned into a Multi-Type Tree (MTT) as well as a Quadtree (QT). The partitioning of the CTU into a Multi-Type Tree can begin at 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 vertical binary splitting mode (SPLIT_BT_VER), horizontal binary splitting mode (SPLIT_BT_HOR), vertical ternary splitting mode (SPLIT_TT_VER), and horizontal ternary splitting mode (SPLIT_TT_HOR). Additionally, when splitting, the minimum block size (MinQTSize) of the quad tree for the luminance block can be set to 16x16, the maximum block size (MaxBtSize) of the binary tree to 128x128, and the maximum block size (MaxTtSize) of the triple tree to 64x64. Furthermore, the minimum block size (MinBtSize) of the binary tree and the minimum block size (MinTtSize) of the triple tree can be set to 4x4, and the maximum depth (MaxMttDepth) of the multi-type tree can be set to 4. Additionally, to increase the encoding efficiency of the I slice, a dual tree can be applied that uses different CTU splitting structures for the luminance and chrominance components. On the other hand, in P and B slices, the luminance and color difference CTBs (Coding Tree Blocks) within the CTU can be divided into a single tree that shares a coding tree structure.
[0063] The encoding device (100) may perform encoding on an input image in an intra mode and / or inter mode. Alternatively, the encoding device (100) may perform encoding on an input image in a third mode other than the intra mode and inter mode (e.g., IBC mode, Palette mode, etc.). However, if the third mode has functional characteristics similar to the intra mode or inter mode, it may be classified as an intra mode or inter mode for convenience of explanation. In this disclosure, the third mode will be classified and described separately only when a specific description of the third mode is required.
[0064] When intra mode is used as the prediction mode, the switch (115) can be switched to intra, and when inter mode is used as the prediction mode, the switch (115) can be switched to inter. Here, intra mode may mean an intra-frame prediction mode, and inter mode may mean an inter-frame prediction mode. The encoding device (100) can generate a prediction block for an input block of an input image. Additionally, after the prediction block is generated, the encoding device (100) can encode a residual block using the residual of the input block and the prediction block. The input image may be referred to as the current image that is the subject of current encoding. The input block may be referred to as the current block that is the subject of current encoding or the encoding target block.
[0065] When the prediction mode is an intra mode, the intra prediction unit (120) may use a sample of a block that has already been encoded / decoded around the current block as a reference sample. The intra prediction unit (120) may perform spatial prediction for the current block using the reference sample and generate prediction samples for the input block through spatial prediction. Here, intra prediction may mean intra-frame prediction.
[0066] In the intra prediction method, non-directional prediction modes such as DC mode and Planar mode, and directional prediction modes (e.g., 65 directions) may be applied. Here, the intra prediction method can be expressed as an intra prediction mode or an intra-frame prediction mode.
[0067] When the prediction mode is an inter mode, the motion prediction unit (121) can search for the region that best matches the input block from the reference image during the motion prediction process and derive a motion vector using the searched region. At this time, the search region can be used as the region. The reference image can be stored in the reference picture buffer (190). Here, the reference image can be stored in the reference picture buffer (190) when encoding / decoding of the reference image is processed.
[0068] The motion compensation unit (122) can generate a prediction block for the current block by performing motion compensation using a motion vector. Here, inter-prediction may mean inter-frame prediction or motion compensation.
[0069] The motion prediction unit (121) and motion compensation unit (122) can generate a prediction block by applying an interpolation filter to a portion of the reference image when the value of the motion vector does not have an integer value. To perform inter-frame prediction or motion compensation, based on the encoding unit, it can determine whether the motion prediction and motion compensation method of the prediction unit included in the corresponding encoding unit is a Skip Mode, Merge Mode, Advanced Motion Vector Prediction (AMVP) Mode, or Intra Block Copy (IBC) Mode, and can perform inter-frame prediction or motion compensation according to each mode.
[0070] In addition, based on the above-mentioned inter-frame prediction method, the AFFINE mode of sub-PU-based prediction, the SbTMVP (Subblock-based Temporal Motion Vector Prediction) mode, and the MMVD (Merge with MVD) mode and GPM (Geometric Partitioning Mode) mode of PU-based prediction may be applied. Furthermore, to improve the performance of each mode, HMVP (History based MVP), PAMVP (Pairwise Average MVP), CIIP (Combined Intra / Inter Prediction), AMVR (Adaptive Motion Vector Resolution), BDOF (Bi-Directional Optical-Flow), BCW (Bi-predictive with CU Weights), LIC (Local Illumination Compensation), TM (Template Matching), OBMC (Overlapped Block Motion Compensation), etc. may be applied.
[0071] Among these, AFFINE mode is a technology used in both AMVP and MERGE modes and also offers high encoding efficiency. Conventional video coding standards have the disadvantage of failing to properly compensate for real-world movements, such as zoom in / out and rotation, because they perform Motion Compensation (MC) by considering only the translation of blocks. To address this, a 4-parameter affine motion model using two control point motion vectors (CPMV) and a 6-parameter affine motion model using three control point motion vectors can be applied to inter-prediction. Here, CPMV is a vector representing one of the affine motion models of the top-left, top-right, or bottom-left corners of the current block.
[0072] The subtractor (113) can generate a residual block using the difference between the input block and the prediction block. The residual block may also 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, quantizing, or both transforming and quantizing the difference between the original signal and the prediction signal. The residual block may be a residual signal in block units.
[0073] The transformation unit (130) can generate a transform coefficient by performing a transform on the remaining block and output the generated transform coefficient. Here, the transform coefficient may be a coefficient value generated by performing a transform on the remaining block. When a transform skip mode is applied, the transformation unit (130) may skip the transform on the remaining block.
[0074] A quantized level can be generated by applying quantization to a conversion coefficient or a residual signal. In the following embodiments, the quantized level may also be referred to as a conversion coefficient.
[0075] For example, a 4x4 luminance residual block generated through intra-frame prediction can be transformed using a Discrete Sine Transform (DST)-based basis vector, while the remaining residual blocks can be transformed using a Discrete Cosine Transform (DCT)-based basis vector. Additionally, the transformation blocks for a single block can be divided into a quad tree form using Residual Quad Tree (RQT) technology, and after performing transformation and quantization on each transformation block divided by RQT, a coded block flag (cbf) can be transmitted to increase coding efficiency in the case where all coefficients become zero.
[0076] As another alternative, the Multiple Transform Selection (MTS) technique can be applied to perform transformations using multiple transformation bases selectively. In other words, instead of splitting a CU into TUs via RQT, a function similar to TU splitting can be performed using the Sub-block Transform (SBT) technique. Specifically, SBT is applied only to inter-frame prediction blocks and, unlike RQT, can split the current block into ½ or ¼ sizes in the vertical or horizontal direction and perform a transformation on only one of the blocks. For example, if split vertically, a transformation can be performed on the leftmost or rightmost block, and if split horizontally, a transformation can be performed on the topmost or bottommost block.
[0077] In addition, Low Frequency Non-Separable Transform (LFNST), a secondary transform technique that further transforms the residual signal converted to the frequency domain through DCT or DST, can also be applied. LFNST performs additional transformation on the 4x4 or 8x8 low-frequency region in the upper left corner, thereby allowing the residual coefficients to be concentrated in the upper left corner.
[0078] The quantization unit (140) can generate a quantized level by quantizing a transformation coefficient or residual signal according to a quantization parameter (QP, Quantization parameter) and can output the generated quantized level. At this time, the quantization unit (140) can quantize the transformation coefficient using a quantization matrix.
[0079] For example, a quantizer using QP values from 0 to 51 can be used. Alternatively, if the image size is larger and higher coding efficiency is required, QP values from 0 to 63 can be used. Additionally, a Dependent Quantization (DQ) method using two quantizers instead of a single one can be applied. DQ performs quantization using two quantizers (e.g., Q0, Q1), but can be applied so that the quantizer to be used for the next transform coefficient is selected based on the current state through a state transition model, even without signaling information regarding the use of a specific quantizer.
[0080] The entropy encoding unit (150) can generate a bitstream and output a bitstream by performing entropy encoding according to a probability distribution on values calculated by the quantization unit (140) or coding parameter values calculated during the encoding process. The entropy encoding unit (150) can perform entropy encoding on information regarding a sample of an image and information for decoding an image. For example, information for decoding an image may include syntax elements, etc.
[0081] When entropy coding is applied, a small number of bits are allocated to symbols with a high probability of occurrence and a large number of bits are allocated to symbols with a low probability of occurrence, thereby representing the symbols and reducing the size of the bit sequence for the symbols to be encoded. The entropy coding unit (150) may use encoding methods such as exponential Golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding) for entropy coding. For example, the entropy coding unit (150) may perform entropy coding using a Variable Length Coding (VLC) table. In addition, the entropy encoding unit (150) may perform arithmetic encoding using the derived binarization method, probability model, and context model after deriving a binarization method of the target symbol and a probability model of the target symbol / bin.
[0082] In this regard, when applying CABAC, in order to reduce the size of the probability table stored in the decoder, the table probability update method may be changed to a table update method using a simple formula. In addition, two different probability models may be used to obtain more accurate symbol probability values.
[0083] The entropy encoding unit (150) can convert a 2-dimensional block form coefficient into a 1-dimensional vector form through a transform coefficient scanning method to encode a transform coefficient level (quantized level).
[0084] Coding parameters may include information (flags, indexes, etc.) that is encoded in the encoding device (100) and signaled to the decoding device (200), such as syntax elements, as well as information derived during the encoding process or decoding process, and may refer to information required when encoding or decoding images.
[0085] Here, signaling a flag or index may mean that in an encoder, the corresponding flag or index is entropy encoded and included in a bitstream, and in a decoder, the corresponding flag or index is entropy decoded from the bitstream.
[0086] The encoded current image can be used as a reference image for other images processed later. Accordingly, the encoding device (100) can restore or decode the encoded current image again, and can store the restored or decoded image as a reference image in the reference picture buffer (190).
[0087] The quantized level can be dequantized in the dequantization unit (160) and inverse transformed in the inverse transform unit (170). The dequantized and / or inverse transformed coefficients can be added to the prediction block through the adder (117). A reconstructed block can be generated by adding the dequantized and / or inverse transformed coefficients and the prediction block. Here, the dequantized and / or inverse transformed coefficients refer to coefficients for which at least one of dequantization and inverse transformation has been performed, and may refer to the reconstructed residual block. The dequantization unit (160) and the inverse transform unit (170) can be performed as the reverse process of the quantization unit (140) and the transformation unit (130).
[0088] The restoration block may pass through a filter section (180). The filter section (180) may apply a deblocking filter, Sample Adaptive Offset (SAO), Adaptive Loop Filter (ALF), Bilateral filter (BIF), LMCS (Luma Mapping with Chroma Scaling), etc., to the restoration sample, restoration block, or restoration image as a whole or part of the filtering technique. The filter section (180) may also be referred to as an in-loop filter. In this case, the term in-loop filter is also used as a name that excludes LMCS.
[0089] Deblocking filters can remove block distortion occurring at the boundaries between blocks. To determine whether to perform deblocking, the decision to apply the filter to the current block can be made based on samples contained in a few columns or rows within the block. When applying a deblocking filter to a block, different filters can be applied depending on the required deblocking filtering intensity.
[0090] To compensate for encoding errors using a sample adaptive offset, an appropriate offset value can be added to the sample value. The sample adaptive offset can correct the offset from the original image on a sample-by-sample basis for the deblocked image. One method may be to divide the samples included in the image into a certain number of regions, determine the region to be offset, and apply the offset to that region, or to apply the offset by considering the edge information of each sample.
[0091] A bilateral filter (BIF) can also correct the offset from the original image on a sample-by-sample basis for the deblocked image.
[0092] An adaptive loop filter can perform filtering based on a comparison of the reconstructed image and the original image. After dividing the samples included in the image into predetermined groups, a filter to be applied to each group can be determined, thereby performing filtering differently for each group. Information regarding whether to apply an adaptive loop filter can be signaled per coding unit (CU), and the shape and filter coefficients of the adaptive loop filter to be applied may vary depending on each block.
[0093] In LMCS (Luma Mapping with Chroma Scaling), Luma mapping (LM) refers to remapping luminance values through a piece-wise linear model, and Chroma scaling (CS) refers to a technique that scales the residual values of the chrominance component according to the average luminance value of the predicted signal. In particular, LMCS can be utilized as an HDR correction technique that reflects the characteristics of HDR (High Dynamic Range) video.
[0094] The restored block or restored image that has passed through the filter unit (180) can be stored in the reference picture buffer (190). The restored block that has passed through the filter unit (180) may be part of the reference image. That is to say, the reference image may be a restored image composed of the restored blocks that have passed through the filter unit (180). The stored reference image may subsequently be used for inter-frame prediction or motion compensation.
[0095] FIG. 2 is a block diagram showing the configuration according to one embodiment of a decoding device to which the present disclosure is applied.
[0096] The decoding device (200) may be a decoder, a video decoding device, or an image decoding device.
[0097] Referring to FIG. 2, the decoding device (200) may include an entropy decoding unit (210), an inverse quantization unit (220), an inverse transformation unit (230), an intra prediction unit (240), a motion compensation unit (250), an adder (201), a switch (203), a filter unit (260), and a reference picture buffer (270).
[0098] The decoding device (200) can receive a bitstream output from the encoding device (100). The decoding device (200) can receive a bitstream stored in a computer-readable recording medium or a bitstream stream streamed through a wired / wireless transmission medium. The decoding device (200) can perform decoding on the bitstream in intra mode or inter mode. Additionally, the decoding device (200) can generate a restored image or a decoded image through decoding and can output the restored image or the decoded image.
[0099] If the prediction mode used for decoding is intra mode, the switch (203) can be switched to intra. If the prediction mode used for decoding is inter mode, the switch (203) can be switched to inter.
[0100] The decoding device (200) can decode the input bitstream to obtain a reconstructed residual block and generate a prediction block. Once the reconstructed residual block and the prediction block are obtained, the decoding device (200) can generate a reconstructed block to be decoded by adding the reconstructed residual block and the prediction block. The block to be decoded may be referred to as the current block.
[0101] The entropy decoding unit (210) can generate symbols by performing entropy decoding according to the probability distribution of the bitstream. The generated symbols may include symbols in the form of quantized levels. Here, the entropy decoding method may be the inverse process of the entropy encoding method described above.
[0102] The entropy decoding unit (210) can convert a one-dimensional vector-shaped coefficient into a two-dimensional block-shaped coefficient through a conversion coefficient scanning method to decode a conversion coefficient level (quantized level).
[0103] The quantized level can be dequantized in the dequantization unit (220) and inversely transformed in the inverse transformation unit (230). The quantized level can be generated as a restored residual block as a result of performing dequantization and / or inverse transformation. At this time, the dequantization unit (220) can apply a quantization matrix to the quantized level. The dequantization unit (220) and the inverse transformation unit (230) applied to the decoding device can apply the same technology as the dequantization unit (160) and the inverse transformation unit (170) applied to the aforementioned encoding device.
[0104] When an intra mode is used, the intra prediction unit (240) can generate a prediction block by performing a spatial prediction on the current block using sample values of already decoded blocks around the block to be decoded. The intra prediction unit (240) applied to the decoding device can apply the same technology as the intra prediction unit (120) applied to the aforementioned encoding device.
[0105] When an inter mode is used, the motion compensation unit (250) can generate a prediction block by performing motion compensation on the current block using a motion vector and a reference image stored in the reference picture buffer (270). The motion compensation unit (250) can generate a prediction block by applying an interpolation filter to a portion of the reference image when the value of the motion vector does not have an integer value. To perform motion compensation, it can be determined whether the motion compensation method of the prediction unit included in the corresponding encoding unit is a skip mode, merge mode, AMVP mode, or current picture reference mode based on the encoding unit, and motion compensation can be performed according to each mode. The motion compensation unit (250) applied to the decoder can apply the same technology as the motion compensation unit (122) applied to the aforementioned encoding unit.
[0106] The adder (201) can generate a restored block by adding the restored residual block and the prediction block. The filter unit (260) can apply at least one of the following to the restored block or the restored image: an inverse-LMCS, a deblocking filter, a sample adaptive offset, and an adaptive loop filter. The filter unit (260) applied to the decoder can apply the same filtering technology as the filter unit (180) applied to the aforementioned encoding device.
[0107] The filter unit (260) can output a restored image. The restored block or the restored image can be stored in a reference picture buffer (270) and used for inter-frame prediction. The restored block that has passed through the filter unit (260) may be part of the reference image. That is to say, the reference image may be a restored image composed of the restored blocks that have passed through the filter unit (260). The stored reference image may subsequently be used for inter-frame prediction or motion compensation.
[0108] FIG. 3 is a schematic diagram illustrating a video coding system to which the present disclosure can be applied.
[0109] A video coding system according to one embodiment may include an encoding device (10) and a decoding device (20). The encoding device (10) may transmit encoded video and / or image information or data to the decoding device (20) via a digital storage medium or network in the form of a file or streaming.
[0110] An encoding device (10) according to one embodiment may include a video source generation unit (11), an encoding unit (12), and a transmission unit (13). A decoding device (20) according to one embodiment may include a receiving unit (21), a decoding unit (22), and a rendering unit (23). The encoding unit (12) may be called a video / image encoding unit, and the decoding unit (22) may be called a video / image decoding unit. The transmission unit (13) may be included in the encoding unit (12). The receiving unit (21) may be included in the decoding unit (22). The rendering unit (23) may include a display unit, and the display unit may be composed of a separate device or an external component.
[0111] The video source generation unit (11) can acquire video / image through a process of capturing, synthesizing, or generating video / image. 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 video / image, etc. The video / image generation device may include, for example, a computer, a tablet, and a smartphone, etc., and can generate video / image (electronically). For example, a virtual video / image may be generated through a computer, etc., in which case the video / image capture process may be replaced by a process of generating related data.
[0112] The encoding unit (12) can encode the input video / image. The encoding unit (12) can perform a series of procedures such as prediction, conversion, and quantization for compression and encoding efficiency. The encoding unit (12) can output the encoded data (encoded video / image information) in the form of a bitstream. The detailed configuration of the encoding unit (12) can also be configured in the same way as the encoding device (100) of FIG. 1 described above.
[0113] The transmission unit (13) can transmit encoded video / image information or data output in the form of a bitstream to the receiving unit (21) of the decoding device (20) via a digital storage medium or 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 transmission unit (13) may include elements for creating a media file through a predetermined file format and elements for transmission via a broadcasting / communication network. The receiving unit (21) can extract / receive the bitstream from the storage medium or network and transmit it to the decoding unit (22).
[0114] The decoding unit (22) can decode a video / image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding unit (12). The detailed configuration of the decoding unit (22) can also be configured to be identical to the decoding device (200) of FIG. 2 described above.
[0115] The rendering unit (23) can render the decoded video / image. The rendered video / image can be displayed through the display unit.
[0116]
[0117] To explain the prediction method proposed in this disclosure, a geometric partitioning mode (GPM) is described.
[0118] The geometric partitioning mode may be a prediction mode that independently generates prediction blocks for two regions partitioned from a single coding unit (CU) block (e.g., the current block) and generates a final prediction block by weighting the prediction blocks. Here, the two regions may be regions partitioned by a straight line partitioning boundary.
[0119]
[0120] Figure 4 shows a combination of inter-predictions and intra-predictions that can occur in geometric partitioning mode.
[0121] Referring to Fig. 4, the two partitions divided according to the geometric partitioning mode can each be independently predicted by intra prediction or inter prediction.
[0122] In the block (402) of FIG. 4, an inter-prediction and a combination of inter-prediction may be applied. According to the prediction combination, two partitions may be predicted independently based on different motion information. At this time, unidirectional motion compensation or bidirectional motion compensation may be performed for each partition.
[0123] A combination of intra prediction and inter prediction may be applied to blocks (404) and (406) of FIG. 4. According to the prediction combination, one of the two partitions is predicted according to intra prediction, and the other is predicted according to inter prediction. At this time, unidirectional motion compensation or bidirectional motion compensation is performed for the partition using inter prediction, and the partition using intra prediction is predicted based on the intra prediction mode.
[0124] A prediction mode that generates prediction blocks for two regions using intra prediction and inter prediction can be referred to as a geometric partitioning mode based on intra / inter prediction (GPM with inter / intra prediction).
[0125] In the block (408) of FIG. 4, an intra prediction and a combination of intra predictions may be applied. According to the prediction combination, two partitions are predicted independently based on different intra prediction modes.
[0126] A prediction mode that generates prediction blocks for two regions using intra-prediction can be referred to as a spatial geometric partitioning mode (SGPM).
[0127] Here, the intra prediction mode may include a regular intra prediction mode, an intra template matching mode, and an intra block copy mode. The regular intra prediction mode may include a DC mode, a planar mode, a directional mode, etc., which utilize a reference sample adjacent to the current block.
[0128] According to one embodiment, prediction using a geometric partitioning mode based on intra / inter prediction can be implemented as a combination of a normal intra prediction mode and an inter prediction mode, a combination of an intra template matching mode and an inter prediction mode, or a combination of an intra block copy mode and an inter prediction mode.
[0129] According to one embodiment, prediction using a spatial geometric partitioning mode can be implemented as a combination of different normalized intra prediction modes, a combination of intra-block copy modes based on different block vectors, a combination of intra-template matching modes based on different templates, a combination of a normalized intra prediction mode and an intra-block copy mode, a combination of a normalized intra prediction mode and an intra-template matching mode, or a combination of an intra-block copy mode and an intra-template matching mode.
[0130]
[0131] Prediction using geometric partitioning modes, geometric partitioning modes based on intra / inter prediction, and spatial geometric partitioning modes can be performed as follows.
[0132]
[0133] Figure 5 is a diagram illustrating a prediction method using geometric division modes.
[0134] Referring to FIG. 5, the current picture (500) may include a current block (502). The current block (502) may be divided into a first partition (504) and a second partition (506). According to one embodiment, the first partition (504) and the second partition (506) may each be unidirectionally predicted.
[0135] Based on the movement information of surrounding blocks, the movement vector MV0 (522) in the L0 direction and MV1 (542) in the L1 direction for the current block (502) applied to the geometric partition mode can be obtained. MV0 (522) can indicate a first reference block (524) corresponding to the first partition (504) in the reference picture (520) of the reference picture list L0. And MV1 (542) can indicate a second reference block (544) corresponding to the second partition (506) in the reference picture (540) of the reference picture list L1.
[0136] The first reference block (524) can be used as a first prediction block, which is a prediction block for the first partition (504). And, the second reference block (544) can be used as a second prediction block, which is a prediction block for the second partition (506). By weighting the first prediction block and the second prediction block, a prediction block of the current block based on the geometric partition mode can be generated.
[0137] In FIG. 5, the unidirectional movement vector of the first partition (504) is described as being in the L0 direction and the unidirectional movement vector of the second partition (506) is described as being in the L1 direction; however, according to the embodiment, the unidirectional movement vector of the first partition (504) can be determined in the L1 direction and the unidirectional movement vector of the second partition (506) can be determined in the L0 direction.
[0138]
[0139] Figure 6 is a diagram illustrating a prediction method using a geometric partitioning mode based on intra / inter prediction.
[0140] Referring to FIG. 6, the current picture (600) may include a current block (602) and a reference sample adjacent to the current block. The current block (602) may be divided into a first partition (604) and a second partition (606). According to one embodiment, the first partition (604) may be intra-predicted and the second partition (606) may be inter-predicted.
[0141] Intra-prediction mode information for the first partition (604) may be obtained from a bitstream or derived from reference samples adjacent to the current block. Then, by performing intra-prediction based on the intra-prediction mode information of the current block and / or reference samples adjacent to the current block, a first prediction block, which is a prediction block for the first partition (604) of the current block (602), may be generated.
[0142] Based on the movement information of surrounding blocks, a movement vector MV1 (642) for the current block (602) can be obtained. MV1 (642) can indicate a reference block (644) corresponding to the second partition (606). The reference block (644) can be used as a second prediction block, which is a prediction block for the second partition (606).
[0143] And, by weighting the first prediction block and the second prediction block, the prediction block of the current block can be generated.
[0144] Although it was explained in FIG. 6 that the first partition (604) is intra-predicted and the second partition (606) is inter-predicted, according to the embodiment, conversely, the first partition (604) may be inter-predicted and the second partition (606) may be intra-predicted.
[0145]
[0146] Figure 7 is a diagram illustrating a prediction method using a spatial geometric partitioning mode.
[0147] Referring to FIG. 7, the current picture may include a current block (702) and surrounding reference pixels (710). The current block (702) may be divided into a first partition (704) and a second partition (706) by a predetermined dividing boundary. The surrounding reference pixels (710) may be used as a template and may be divided into a left template containing left reference pixels and a top template containing top reference samples.
[0148] When the current block (702) is predicted by a spatial geometric partitioning mode, the first partition (704) and the second partition (706) of the current block can be predicted intra-geometrically.
[0149] In order to intra-predict the first partition (704) and the second partition (706), a first intra-predict mode, which is the intra-predict mode of the first partition (704), and a second intra-predict mode, which is the intra-predict mode of the second partition (706), may be determined. The first intra-predict mode and the second intra-predict mode may be derived from intra-predict mode information parsed from a bitstream or from surrounding reference pixels (710).
[0150] Intra prediction can be performed based on first intra prediction mode information and / or surrounding reference pixels (710) to generate a first prediction block, which is a prediction block for the first partition (704) of the current block (702). Then, intra prediction can be performed based on second intra prediction mode information and / or surrounding reference pixels (710) to generate a second prediction block, which is a prediction block for the second partition (706) of the current block (702).
[0151] And, by weighting the first prediction block and the second prediction block, the prediction block of the current block can be generated.
[0152]
[0153] Among geometric partitioning modes, the regression-based geometric partitioning mode (Regression-based GPM) may be a prediction mode that generates a final prediction block by applying a blending matrix (weighted sum coefficient) derived based on the template region of the current block and the template region of each prediction block to each prediction signal.
[0154] Meanwhile, a spatial geometric partitioning mode utilizing a blending matrix derived based on the template region of the current block and the template region of each prediction block can be referred to as a regression-based spatial geometric partitioning mode.
[0155] Meanwhile, a geometric partitioning mode based on intra / inter prediction using a blending matrix derived based on the template region of the current block and the template region of each prediction block can be referred to as a geometric partitioning mode based on regression-based intra / inter prediction.
[0156]
[0157] A method for generating prediction blocks using a regression-based geometric partitioning mode may be as described below. Here, the regression-based geometric partitioning mode may further include a regression-based spatial geometric partitioning mode and a regression-based geometric partitioning mode based on intra / inter prediction.
[0158]
[0159] FIG. 8 is a diagram illustrating a prediction method using a regression-based geometric partitioning mode according to one embodiment of the present disclosure.
[0160] Referring to FIG. 8, for the current block, different prediction blocks, P0 prediction block (P0 predictor) and P1 prediction block (P1 predictor), can be generated. A blending matrix can be derived using a current template adjacent to the current block, a reference template adjacent to the P0 prediction block, a P0 reference template, and a reference template adjacent to the P1 prediction block, a P1 reference template. Then, a regression-based GPM prediction block can be generated by applying the blending matrix and performing a weighted sum of the P0 prediction block (P0 predictor) and the P1 prediction block (P1 predictor).
[0161] That is, as shown in Fig. 8, the regression-based geometric partitioning mode can derive the coefficients a, b, and c of the plane equation of Equation 1 from mean square error minimization (MSE minimization) using the current template of the current block, the P0 reference template of the P0 prediction block, and the P1 reference template of the P1 prediction block.
[0162]
[0163] According to Equation 1, weighted sum coefficients (coefficients (W0, W1) of the blending matrix) for pixels within the current block can be derived from the plane equation. And, the prediction block (Pred) of the final regression-based geometric segmentation mode RGPM ) can be generated as shown in Equation 2 based on the weighted sum coefficients.
[0164]
[0165] According to the present disclosure, a method for deriving weighted sum coefficients using various reference templates in a prediction based on a regression-based geometric partitioning mode may be provided.
[0166] According to one embodiment, the coefficients a, b, and c of the plane equation can be derived using a top template, a left template, or a top-left template (a combination of the top template and the left template). Here, the size and shape of the template can be determined arbitrarily.
[0167] For example, when using only the top template, the coefficients a, b, and c of the plane equation can be derived through a mean squared error minimization method using the top template of the current block, the top template (P0) of the P0 predictor, and the top template (P1) of the P1 predictor. Then, using the derived plane equation, the weighted sum coefficients (coefficients (W0, W1) of the blending matrix) can be derived.
[0168] According to another example, when only the left template is used, the coefficients a, b, and c of the plane equation can be derived through a mean squared error minimization method using the left template of the current block, the left template (P0) of the P0 predictor, and the left template (P1) of the P1 predictor. Then, the weighted sum coefficients (coefficients (W0, W1) of the blending matrix) can be derived using the derived plane equation.
[0169] According to another example, the weighted sum coefficients (coefficients (W0, W1) of the blending matrix) can be derived using the left template and the top template.
[0170] In one embodiment, the shape of the template used can be determined by referring to at least one of the information among the size (width) of the current block, the height of the current block, the width of the current block, the aspect ratio of the current block, and the gradient (or slope) extracted from the template. That is, the shape of the template can be determined as one of the upper template, left template, and upper-left template based on at least one of the information among the size (width) of the current block, the height of the current block, the width of the current block, the aspect ratio of the current block, and the gradient (or slope) extracted from the template. Alternatively, the shape of the template can be determined as one of the upper template, left template, and upper-left template based on explicitly signaled information.
[0171] Meanwhile, according to another embodiment, the coefficients a, b, and c of the plane equation can be derived using a downsampled template. The coefficients a, b, and c of the plane equation can be derived by performing mean squared error minimization on the pixels of the downsampled template. Then, the weighted sum coefficients (coefficients (W0, W1) of the blending matrix) can be derived using the derived plane equation. Here, whether the template is downsampled can be determined by any method. For example, whether the template is downsampled can be determined based on information such as the size (width) of the current block, the height of the current block, the width of the current block, and the aspect ratio of the current block. Alternatively, whether the template is downsampled can be determined based on explicitly signaled information. Here, the signaled information may include information indicating whether the template is downsampled, the downsampling ratio, etc.
[0172] Alternatively, coefficients a, b, and c of the plane equation can be derived by performing mean squared error minimization on pixels of any specific region of the template. Then, weighted sum coefficients (coefficients (W0, W1) of the blending matrix) can be derived using the derived plane equation.
[0173] Meanwhile, according to another embodiment, the coefficients a, b, and c of the plane equation can be derived using an extended template. Here, whether the size of the template region is extended can be determined by any method. For example, when deriving the coefficients a, b, and c of the plane equation from mean square error minimization (MSE minimization) using a template, if the mean square error (MSE) value does not fall below a specific threshold value, the coefficients of the plane equation can be derived using an extended template. Alternatively, whether the size of the template region is extended can be determined based on explicitly signaled information. Here, the signaled information may include information indicating whether the size of the template region is extended, the size of the extended template region, etc.
[0174]
[0175] According to the present disclosure, a method for deriving weighted sum coefficients using multiple models in a prediction based on a regression-based geometric partitioning mode may be provided.
[0176] In one embodiment, multiple sum coefficients (coefficients (W0, W1) of the blending matrix) can be derived from N plane equations. Here, N is a positive integer greater than or equal to 2. Specifically, the template can be classified (divided, separated) into N groups (regions), and mean square error minimization (MSE minimization) can be applied to each of the template groups to derive coefficients a, b, and c for the N plane equations, respectively. Then, N weighted sum coefficients (coefficients (W00, W01), (W10, W11), ···, (W N-1 0, W N-1 1)) can be derived. In this case, the weighted sum coefficients W00 + W01 = 1, W10 + W11 = 1, ···, W N-1 0 + W N-1 1 = 1.
[0177] The threshold value used to classify the template into N groups can be determined using the following method.
[0178] For example, the threshold value can be determined by the average value of the pixels within the current template of the current block.
[0179] Alternatively, the threshold value may be determined by the average value of pixels within the reference templates (P0 reference template and / or P1 reference template) of the prediction block.
[0180] Alternatively, the threshold value may be determined by the average value of the pixels in the current template of the current block and the pixels in the reference template (P0 reference template and / or P1 reference template) of the prediction block.
[0181] Alternatively, the threshold value can be determined as an arbitrary value predefined in the encoder and decoder.
[0182]
[0183] For example, if N is 2, the pixels of the template can be divided into two groups. Specifically, pixels whose pixel values of the template are below a threshold value can be divided into a first group, and pixels whose pixel values of the template exceed a threshold value can be divided into a second group.
[0184]
[0185] Whether to derive weighted sum coefficients (coefficients of the blending matrix) based on multiple models in a regression-based geometric partitioning mode can be determined through information explicitly signaled at upper layers such as SPS (sequence parameter set), PPS (picture parameter set), picture header, and slice header, or at lower layers such as coding tree unit (CTU), coding unit (CU), and prediction unit (PU).
[0186] In one embodiment, whether weighted sum coefficients are derived based on multiple models in a regression-based geometric partitioning mode can be signaled via a flag transmitted at the level of a coding unit (CU) block (e.g., the current block). In this case, the flag at the level of the coding unit block may be signaled dependently on or independently of the regression-based geometric partitioning mode method and / or the geometric partitioning mode method.
[0187] Alternatively, whether to derive weighted sum coefficients (coefficients of the blending matrix) based on multiple models in a regression-based geometric partitioning mode may be implicitly determined. For example, whether to derive weighted sum coefficients based on multiple models in a regression-based geometric partitioning mode may be determined based on at least one of the following information: the height of the current block, the width of the current block, the aspect ratio of the current block, and the gradient extracted from the template.
[0188]
[0189] According to the present disclosure, a method for generating prediction blocks using multiple models in a prediction based on a regression-based geometric partitioning mode may be provided.
[0190] According to one embodiment, a weighted sum coefficient (a coefficient of the blending matrix) to be applied to a pixel can be determined by comparing a pixel within the P0 prediction block with a threshold value.
[0191] For example, a P0 prediction block may be divided into a first group and a second group based on pixel values. The first group separated from the P0 prediction block may include pixels of the P0 prediction block having values below a threshold value, and the second group may include pixels of the P0 prediction block having values exceeding the threshold value.
[0192] In addition, a prediction block can be generated by applying a first weighted sum coefficient derived using the template of the first group to the P0 prediction block of the first group, and applying a second weighted sum coefficient derived using the template of the second group to the P0 prediction block of the second group. Through the above method, a regression-based GPM prediction block can be generated.
[0193] According to another embodiment, a weighted sum coefficient (a coefficient of the blending matrix) to be applied to a pixel can be determined by comparing the pixel within the P1 prediction block with a threshold value.
[0194] For example, a P1 prediction block may be divided into a first group and a second group based on pixel values. The first group separated from the P1 prediction block may include pixels of the P1 prediction block having values below a threshold value, and the second group may include pixels of the P1 prediction block having values exceeding the threshold value.
[0195] In addition, a prediction block can be generated by applying a first weighted sum coefficient derived using the template of the first group to the P1 prediction block of the first group, and applying a second weighted sum coefficient derived using the template of the second group to the P1 prediction block of the second group. Through the above method, a regression-based GPM prediction block can be generated.
[0196] According to another embodiment, the average value of a pixel in the P0 prediction block and a pixel in the P1 prediction block and the threshold value can be compared to determine the weighted sum coefficient (coefficient of the blending matrix) to be applied to the corresponding pixel.
[0197] For example, the P0 prediction block and the P1 prediction block can be divided into a first group and a second group based on pixel values.
[0198] The first group may include pixels of a prediction block at a location where the average value of the P0 prediction block and the P1 prediction block is less than or equal to a threshold value, and the second group may include pixels of a prediction block at a location where the average value of the P0 prediction block and the P1 prediction block is greater than or equal to a threshold value.
[0199] In addition, a prediction value can be generated based on a first weighted sum coefficient derived using a template of the first group for the pixels of the prediction blocks of the first group, and a prediction value can be generated based on a second weighted sum coefficient derived using a template of the second group for the pixels of the prediction blocks of the second group.
[0200]
[0201] That is, to determine the weighted sum coefficients of multiple models (coefficients of the blending matrix), a threshold value can be compared with the pixel values within the P0 prediction block, the pixel values within the P1 prediction block, or the average value of the pixel values within the P0 prediction block and the pixel values within the P1 prediction block. Here, the pixel value compared with the threshold value can be selected from the pixel values within the P0 prediction block, the pixel values within the P1 prediction block, or the average value of the pixel values within the P0 prediction block and the pixel values within the P1 prediction block according to the method below.
[0202] According to one embodiment, the pixel value compared with the threshold value can be determined by considering the distance between the current frame and the reference frame. That is, the weighted sum coefficients of multiple models (coefficients of the blending matrix) can be determined based on the pixel value of the prediction block of the reference frame that is close to the current frame.
[0203] Alternatively, the weighted sum coefficients of multiple models (coefficients of the blending matrix) can be determined by comparing the pixel values of the prediction blocks determined based on the motion vector indicating the P0 prediction block and the motion vector indicating the P1 prediction block with a threshold value.
[0204] Alternatively, the pixel value compared with the threshold value may be determined based on the weighted sum of the pixels in the P0 prediction block and the pixels in the P1 prediction block. Here, the weight values applied to the P0 prediction block and the P1 prediction block can be determined arbitrarily.
[0205] Alternatively, if two regions divided by geometric division mode are predicted by intra prediction and inter prediction, respectively, the weighted sum coefficient of multiple models (coefficient of the blending matrix) can be determined by comparing the inter-predicted pixel value with a threshold value.
[0206] Alternatively, if two regions divided by geometric division mode are predicted by intra prediction and inter prediction, respectively, the weighted sum coefficient of multiple models (coefficient of the blending matrix) can be determined by comparing the intra-predicted pixel value with a threshold value.
[0207] Alternatively, if two regions divided by a geometric division mode are each predicted by intra prediction and inter prediction, and the intra-predicted region is predicted by a block vector, the weighted sum coefficients of multiple models (coefficients of the blending matrix) can be determined by comparing the pixel values of the prediction blocks determined based on the motion vector and the block vector with a threshold value.
[0208] Alternatively, when two regions divided by a geometric division mode are intra-predicted, the weighted sum coefficients of multiple models (coefficients of the blending matrix) can be determined based on the pixel values of a single prediction block determined based on the intra-prediction mode of each prediction block. Here, the single prediction block can be determined as the prediction block derived based on the intra-prediction mode having the higher priority among the two prediction blocks. Here, the priority may be a predetermined order, an order of smaller index values of the intra-prediction mode, an order of larger index values of the intra-prediction mode, an order of proximity to the predetermined mode, etc.
[0209] Alternatively, the weighted sum coefficients of multiple models (coefficients of the blending matrix) can be determined based on the P0 prediction block or the P1 prediction block under arbitrary conditions predefined in the encoder and decoder.
[0210] A prediction block of a regression-based geometric partitioning mode can be generated based on the value of the prediction block determined through one of the methods described above.
[0211]
[0212] According to the present disclosure, a method for deriving weighted sum coefficients using a nonlinear equation (e.g., a higher-order equation) in a prediction based on a regression-based geometric partitioning mode may be provided.
[0213] According to one embodiment, in order to improve the accuracy of the weighted sum coefficient (coefficient of the blending matrix), the coefficient of the higher-order equation can be derived from the minimization of the mean squared error according to Equation 3.
[0214]
[0215] Here, n is a positive integer greater than or equal to 2. Also, from the higher-order equation of Equation 3, the weighted sum coefficients for the pixels within the current block (coefficients (W0, W1) of the blending matrix) can be derived. And, the prediction block (Pred) of the regression-based geometric segmentation mode RGPM ) can be generated based on weighted sum coefficients as shown in the mathematical formula below.
[0216]
[0217] In one embodiment, a regression-based geometric partitioning mode utilizing weighted sum coefficients (coefficients of a blending matrix) derived using higher-order equations may utilize various forms of templates. Alternatively, a regression-based geometric partitioning mode utilizing weighted sum coefficients (coefficients of a blending matrix) derived using higher-order equations may utilize multiple models. Furthermore, a prediction block of the regression-based geometric partitioning mode may be generated through the weighted sum coefficients derived using multiple models.
[0218]
[0219] A prediction-based image decoding method using a regression-based geometric partitioning mode may be as described below.
[0220]
[0221] FIG. 9 is a flowchart illustrating an image decoding method according to an embodiment of the present disclosure. The image decoding method of FIG. 9 can be performed by an image decoding device.
[0222] Referring to FIG. 9, the image decoder can derive a first prediction block for a first partition of the current block and a second prediction block for a second partition (S910). Here, the first prediction block and the second prediction block may be derived by inter-prediction. Alternatively, the first prediction block may be derived by inter-prediction and the second prediction block may be derived by intra-prediction. Alternatively, the first prediction block and the second prediction block may be derived by intra-prediction.
[0223] The image decoder can determine a current template including a sample adjacent to the current block, a first template including a sample adjacent to the first prediction block, and a second template including a sample adjacent to the second prediction block (S920). Here, among a plurality of template shape candidates, the shapes of the current template, the first template, and the second template can be determined.
[0224] Here, a plurality of template shape candidates may include a first template shape including samples adjacent to the left of the current block, a second template shape including samples adjacent to the top of the current block, and a third template shape including samples adjacent to the left of the current block and samples adjacent to the top of the current block.
[0225] The image decoder can determine a model for deriving weighted sum coefficients applied to the first prediction block and the second prediction block (S930).
[0226] The image decoder can derive a weighted sum coefficient based on the current template, the first template, and the second template using the determined model (S940). Here, the determined model is a linear model, and the coefficient of the linear model can be derived as a value that minimizes the mean squared error between the result of inputting the first template and the second template into the linear model and the current template.
[0227] Meanwhile, the determined model is a plurality of linear models, and among the plurality of linear models, the coefficients of the first linear model may be characterized by being derived as values that minimize the mean squared error between the result of inputting a part of the first template and a part of the second template into the first linear model and a part of the current template.
[0228] Here, a portion of the first template may be determined based on the result of a comparison between the pixel value of the first template and a predetermined threshold value. Here, the first prediction block may be determined based on the coding parameters of the first prediction block and the second prediction block. And, the predetermined threshold value may be determined based on at least one sample value among the first template, the second template, and the current template.
[0229] In addition, a weighted sum coefficient derived based on a first linear model may be applied to a part of the first prediction block, which is distinguished based on the comparison result between the pixel value of the first prediction block and a predetermined threshold value.
[0230] Meanwhile, the determined model is a single nonlinear model, and the coefficients of the single nonlinear model can be derived to values that minimize the mean squared error between the result of inputting the first template and the second template into the single nonlinear model and the current template.
[0231] Meanwhile, the determined model is a plurality of nonlinear models, and among the plurality of nonlinear models, the coefficient of the first nonlinear model may be characterized by being derived as a value that minimizes the mean squared error between the result of inputting a part of the first template and a part of the second template into the first nonlinear model and a part of the current template.
[0232] The image decoder can generate a prediction block of the current block by weighting the first prediction block and the second prediction block based on the weighted sum coefficient (S950).
[0233] Meanwhile, the steps described in FIG. 9 can be performed in the same way in a video encoding method. Additionally, a bitstream can be generated by a video encoding method including the steps described in FIG. 9. The bitstream can be stored on a non-transient computer-readable recording medium and can also be transmitted (or streamed).
[0234]
[0235] FIG. 10 is a drawing illustrating an exemplary content streaming system to which an embodiment according to the present disclosure can be applied.
[0236] As illustrated in FIG. 10, a content streaming system to which an embodiment of the present disclosure is applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
[0237] The encoding server described above compresses content input from multimedia input devices, such as smartphones, cameras, and CCTVs, into digital data to generate a bitstream and transmits it to the streaming server. As another example, if multimedia input devices, such as smartphones, cameras, and CCTVs, generate the bitstream directly, the encoding server may be omitted.
[0238] The bitstream above may be generated by a video encoding method and / or video encoding device to which an embodiment of the present disclosure is applied, and the streaming server may temporarily store the bitstream during the process of transmitting or receiving the bitstream.
[0239] The streaming server transmits multimedia data to a user device based on a user request through a web server, and the web server can act as a medium to inform the user of available services. When a user requests a desired service from the web server, the web server transmits it to the streaming server, and the streaming server can transmit multimedia data to the user. At this time, the content streaming system may include a separate control server, and in this case, the control server can perform the role of controlling commands and responses between each device within the content streaming system.
[0240] The streaming server can receive content from a media storage and / or an encoding server. For example, when receiving content from the encoding server, the content can be received in real time. In this case, to provide a seamless streaming service, the streaming server can store the bitstream for a certain period of time.
[0241] Examples of the above user devices may include mobile phones, smartphones, laptop computers, digital broadcasting terminals, PDAs (personal digital assistants), PMPs (portable multimedia players), navigation systems, slate PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, HMDs (head-mounted displays)), digital TVs, desktop computers, digital signage, etc.
[0242] Each server within the above-mentioned content streaming system can be operated as a distributed server, and in this case, data received from each server can be processed in a distributed manner.
[0243]
[0244] The above embodiments may be performed in the same or a corresponding way in the encoding device and the decoding device. Additionally, an image may be encoded / decoded using at least one of the above embodiments or a combination of at least one.
[0245] The order in which the above embodiments are applied may differ between the encoding device and the decoder. Alternatively, the order in which the above embodiments are applied may be the same between the encoding device and the decoder.
[0246] 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 in the same way.
[0247] In the above embodiments, methods are described based on flowcharts as a series of steps or units; however, the present disclosure is not limited to the order of steps, and some steps may occur in a different order or simultaneously with other steps as described above. Furthermore, those skilled in the art will understand that the steps shown in the flowcharts are not exclusive, other steps may be included, or one or more steps of the flowcharts may be omitted without affecting the scope of the present disclosure.
[0248] The above embodiments may be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., either alone or in combination. The program instructions recorded on the computer-readable recording medium may be those specifically designed and configured for the present disclosure, or they may be those known and available to those skilled in the art of computer software.
[0249] The bitstream generated by the encoding method according to the above embodiment may be stored in a non-transient computer-readable recording medium. Additionally, the bitstream stored in the non-transient computer-readable recording medium may be decoded by the decoding method according to the above embodiment.
[0250] Herein, examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, and flash memory. Examples of program instructions include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices may be configured to operate as one or more software modules to perform processing according to the present disclosure, and vice versa.
[0251] Although the present disclosure has been described above with specific details such as specific components, limited embodiments, and drawings, this is provided only to aid in a more comprehensive understanding of the present disclosure and is not limited to the above embodiments, and a person skilled in the art to which the present disclosure belongs can make various modifications and variations from this description.
[0252] Accordingly, the scope of the present disclosure is not limited to the embodiments described above, and all things equivalent or equivalently modified to the claims set forth below, as well as the claims set forth below, shall be considered to be within the scope of the scope of the present disclosure.
[0253] The present invention can be used in a device for encoding / decoding images and a recording medium storing a bitstream.
Claims
1. In a video decoding method, A step of deriving a first prediction block for the first partition of the current block and a second prediction block for the second partition; A step of determining a current template including a sample adjacent to the current block, a first template including a sample adjacent to the first prediction block, and a second template including a sample adjacent to the second prediction block; A step of determining a model for deriving weighted sum coefficients applied to the first prediction block and the second prediction block; A step of deriving the weighted sum coefficient based on the current template, the first template, and the second template using the determined model; and An image decoding method comprising the step of generating a prediction block of the current block by weighting the first prediction block and the second prediction block based on the weighted sum coefficients.
2. In Paragraph 1, An image decoding method characterized in that the first prediction block and the second prediction block are derived by inter-prediction.
3. In Paragraph 1, The above first prediction block is derived by inter-prediction, and A video decoding method characterized in that the above-mentioned second prediction block is derived by intra-prediction.
4. In Paragraph 1, An image decoding method characterized in that the first prediction block and the second prediction block are derived by intra prediction.
5. In Paragraph 1, The step of determining the current template, the first template, and the second template is An image decoding method characterized by determining the shapes of the current template, the first template, and the second template among a plurality of template shape candidates.
6. In Paragraph 5, The above plurality of template shape candidates are, An image decoding method characterized by including a first template shape including samples adjacent to the left of the current block, a second template shape including samples adjacent to the top of the current block, and a third template shape including samples adjacent to the left of the current block and samples adjacent to the top of the current block.
7. In Paragraph 1, The above-determined model is a single linear model, and An image decoding method characterized in that the coefficients of the above-mentioned linear model are derived to values that minimize the mean squared error between the result value of inputting the above-mentioned first template and the above-mentioned second template into the above-mentioned linear model and the current template.
8. In Paragraph 1, The above-determined model is a plurality of linear models, and An image decoding method characterized in that, among the plurality of linear models above, the coefficients of the first linear model are derived to a value that minimizes the mean squared error between the result of inputting a part of the first template and a part of the second template into the first linear model and a part of the current template.
9. In Paragraph 8, An image decoding method characterized in that a portion of the first template is determined based on the result of a comparison between the pixel value of the first template and a predetermined threshold value.
10. In Paragraph 9, The above predetermined threshold value is, A video decoding method characterized by being determined based on at least one sample value among the first template, the second template, and the current template.
11. In Paragraph 8, An image decoding method characterized by applying a weighted sum coefficient derived based on the first linear model to a part of the first prediction block, which is distinguished based on the comparison result between the pixel value of the first prediction block and a predetermined threshold value.
12. In Paragraph 11, The above first prediction block is, An image decoding method characterized by being determined based on the coding parameters of the first prediction block and the second prediction block.
13. In Paragraph 1, The above-determined model is a single non-linear model, and An image decoding method characterized in that the coefficients of the above-mentioned nonlinear model are derived to values that minimize the mean squared error between the result value of inputting the above-mentioned first template and the above-mentioned second template into the above-mentioned nonlinear model and the above-mentioned current template.
14. In Paragraph 1, The above-determined models are multiple nonlinear models, and An image decoding method characterized in that, among the plurality of nonlinear models, the coefficients of the first nonlinear model are derived to a value that minimizes the mean squared error between the result of inputting a part of the first template and a part of the second template into the first nonlinear model and a part of the current template.
15. In a video encoding method, A step of deriving a first prediction block for the first partition of the current block and a second prediction block for the second partition; A step of determining a current template including a sample adjacent to the current block, a first template including a sample adjacent to the first prediction block, and a second template including a sample adjacent to the second prediction block; A step of determining a model for deriving weighted sum coefficients applied to the first prediction block and the second prediction block; A step of deriving the weighted sum coefficient based on the current template, the first template, and the second template using the determined model; and A video encoding method comprising the step of generating a prediction block of the current block by weighting the first prediction block and the second prediction block based on the weighted sum coefficients.
16. A method for transmitting a bitstream generated by a video encoding method, The above transmission method includes the step of transmitting the bitstream, and The above image encoding method is, A step of deriving a first prediction block for the first partition of the current block and a second prediction block for the second partition; A step of determining a current template including a sample adjacent to the current block, a first template including a sample adjacent to the first prediction block, and a second template including a sample adjacent to the second prediction block; A step of determining a model for deriving weighted sum coefficients applied to the first prediction block and the second prediction block; A step of deriving the weighted sum coefficient based on the current template, the first template, and the second template using the determined model; and A transmission method comprising the step of generating a prediction block of the current block by weighting the first prediction block and the second prediction block based on the weighted sum coefficients.