Image encoding / decoding method and device, and recording medium storing bitstream
By dividing blocks into partitions and applying diverse prediction methods, the method enhances video encoding and decoding efficiency and quality for high-resolution and stereoscopic content.
Patent Information
- Application Number
- PCT/KR2024/018122
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-15
- Filing Date
- 2024-11-15
- Publication Date
- 2025-07-24
AI Technical Summary
Existing video compression technologies struggle to efficiently handle high-resolution and stereoscopic image content, particularly in accurately predicting and encoding/decoding blocks, leading to inefficiencies in compression and quality.
The method involves dividing a current block into multiple partitions and applying different prediction methods, such as intra and inter prediction, with corrections to motion vectors or control point vectors, using various modes like Planar, TIMD, and affine merge modes, to enhance prediction accuracy.
This approach allows for more accurate prediction blocks, improving the efficiency and quality of video encoding and decoding processes, especially for high-resolution and stereoscopic content.
Smart Images

Figure KR2024018122_24072025_PF_FP_ABST
Abstract
Description
Video encoding / decoding method and device, and recording medium storing bitstream
[0001] The present invention relates to a method and device for processing an image signal.
[0002] The market demand for high-resolution video is growing, necessitating technologies capable of efficiently compressing high-resolution images. In response to this market demand, the ISO / IEC's Moving Picture Expert Group (MPEG) and the ITU-T's Video Coding Expert Group (VCEG) jointly formed the Joint Collaborative Team on Video Coding (JCT-VC), which completed development of the HEVC (High Efficiency Video Coding) video compression standard in January 2013 and has been actively conducting research and development on next-generation compression standards.
[0003] Video compression is broadly comprised of intra-frame prediction (or intra-prediction), inter-frame prediction (or inter-prediction), transform, quantization, entropy coding, and in-loop filtering. Meanwhile, as demand for high-resolution video grows, so does the demand for stereoscopic video content as a new video service. Discussions are underway on video compression technologies to effectively deliver high-resolution and ultra-high-resolution stereoscopic video content.
[0004] The present disclosure provides a method and device for predicting a current block composed of a plurality of partitions.
[0005] The present disclosure seeks to provide a method and device for correcting a motion vector or a control point vector for inter prediction.
[0006] The video decoding method and device according to the present disclosure can divide a current block into a plurality of partitions and decrypt the plurality of partitions. Here, the step of decrypting the plurality of partitions can include the step of predicting a first partition among the plurality of partitions based on a first prediction method and the step of predicting a second partition among the plurality of partitions based on a second prediction method.
[0007] In the image decoding method and device according to the present disclosure, the first prediction method may be intra prediction, and the second prediction method may be inter prediction.
[0008] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on an intra prediction mode having a horizontal direction or an intra prediction mode having a vertical direction.
[0009] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on a planar mode.
[0010] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on the DIMD mode.
[0011] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on the TIMD mode.
[0012] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on the Intra TMP mode.
[0013] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on the IBC mode.
[0014] In the image decoding method and device according to the present disclosure, the inter prediction can be performed based on a merge mode or an affine merge mode.
[0015] In the video decoding method and device according to the present disclosure, the motion vector or control point vector for inter prediction of the second partition can be corrected based on a predetermined motion vector difference (MVD).
[0016] In the image decoding method and device according to the present disclosure, the first prediction method and the second prediction method may be intra prediction.
[0017] In the image decoding method and device according to the present disclosure, the first prediction method and the second prediction method may be inter prediction.
[0018] The video encoding method and device according to the present disclosure can divide a current block into a plurality of partitions and encode the plurality of partitions. Here, the step of encoding the plurality of partitions can include the step of predicting a first partition among the plurality of partitions based on a first prediction method and the step of predicting a second partition among the plurality of partitions based on a second prediction method.
[0019] A computer-readable recording medium according to the present disclosure can store a bitstream encoded by the image encoding method.
[0020] According to the present disclosure, more accurate prediction blocks can be generated by applying different prediction methods to blocks divided based on GPM.
[0021] According to the present disclosure, a more accurate prediction block can be generated by correcting a motion vector or a control point vector for inter prediction.
[0022] FIG. 1 is a block diagram showing an image encoding device according to the present disclosure.
[0023] FIG. 2 is a block diagram showing an image decoding device according to the present disclosure.
[0024] FIG. 3 is an example of a method for encoding / decoding a current block according to the present disclosure.
[0025] The video decoding method and device according to the present disclosure can divide a current block into a plurality of partitions and decrypt the plurality of partitions. Here, the step of decrypting the plurality of partitions can include the step of predicting a first partition among the plurality of partitions based on a first prediction method and the step of predicting a second partition among the plurality of partitions based on a second prediction method.
[0026] In the image decoding method and device according to the present disclosure, the first prediction method may be intra prediction, and the second prediction method may be inter prediction.
[0027] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on an intra prediction mode having a horizontal direction or an intra prediction mode having a vertical direction.
[0028] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on a planar mode.
[0029] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on the DIMD mode.
[0030] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on the TIMD mode.
[0031] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on the Intra TMP mode.
[0032] In the image decoding method and device according to the present disclosure, the intra prediction can be performed based on the IBC mode.
[0033] In the image decoding method and device according to the present disclosure, the inter prediction can be performed based on a merge mode or an affine merge mode.
[0034] In the video decoding method and device according to the present disclosure, the motion vector or control point vector for inter prediction of the second partition can be corrected based on a predetermined motion vector difference (MVD).
[0035] In the image decoding method and device according to the present disclosure, the first prediction method and the second prediction method may be intra prediction.
[0036] In the image decoding method and device according to the present disclosure, the first prediction method and the second prediction method may be inter prediction.
[0037] The video encoding method and device according to the present disclosure can divide a current block into a plurality of partitions and encode the plurality of partitions. Here, the step of encoding the plurality of partitions can include the step of predicting a first partition among the plurality of partitions based on a first prediction method and the step of predicting a second partition among the plurality of partitions based on a second prediction method.
[0038] A computer-readable recording medium according to the present disclosure can store a bitstream encoded by the image encoding method.
[0039] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings attached to this specification so that those skilled in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in the drawings, parts irrelevant to the description have been omitted to clearly explain the present invention, and similar parts have been designated with similar reference numerals throughout the specification.
[0040] Throughout this specification, when a part is said to be 'connected' to another part, this includes not only cases where they are directly connected, but also cases where they are electrically connected with another element in between.
[0041] Additionally, whenever a part throughout this specification is said to "include" a component, this does not mean that other components are excluded, but rather that other components may be included, unless specifically stated otherwise.
[0042] Additionally, while terms such as "first," "second," etc. may be used to describe various components, these components should not be limited by these terms. These terms are used solely to distinguish one component from another.
[0043] Additionally, in the embodiments of the devices and methods described herein, some components of the devices or some steps of the methods may be omitted. Furthermore, the order of some components of the devices or some steps of the methods may be changed. Furthermore, other components or other steps may be inserted into some components of the devices or some steps of the methods.
[0044] Additionally, some components or some steps of the first embodiment of the present invention may be added to the second embodiment of the present invention, or some components or some steps of the second embodiment may be replaced.
[0045] In addition, the components shown in the embodiments of the present invention are independently depicted to represent different characteristic functions, and this does not mean that each component is composed of separate hardware or a single software component. That is, each component is described by listing each component for convenience of explanation, and at least two components among each component may be combined to form a single component, or a single component may be divided into multiple components to perform a function. Such integrated and separate embodiments of each component are also included in the scope of the present invention as long as they do not deviate from the essence of the present invention.
[0046] In this specification, a block can be variously expressed as a unit, an area, a unit, a partition, etc., and a sample can be variously expressed as a pixel, a pel, a pixel, etc.
[0047] Hereinafter, embodiments of the present invention will be described in more detail with reference to the attached drawings. In describing the present invention, duplicate descriptions of identical components will be omitted.
[0048] FIG. 1 is a block diagram showing an image encoding device according to the present disclosure.
[0049] Referring to FIG. 1, a video encoding device (100) may include a picture segmentation unit (110), a prediction unit (120, 125), a transformation unit (130), a quantization unit (135), a reordering unit (160), an entropy encoding unit (165), an inverse quantization unit (140), an inverse transformation unit (145), a filter unit (150), and a memory (155).
[0050] The picture segmentation unit (110) can segment the input picture into at least one processing unit. At this time, the processing unit may be a prediction unit (PU), a transform unit (TU), or a coding unit (CU). Hereinafter, in the embodiments of the present disclosure, the coding unit may be used to mean a unit that performs encoding or a unit that performs decoding.
[0051] A prediction unit may be divided into at least one square or rectangular shape of the same size within a single coding unit, or may be divided such that one prediction unit among the divided prediction units within a single coding unit has a different shape and / or size from another prediction unit. When a prediction unit that performs intra prediction based on a coding unit is generated and is not the minimum coding unit, intra prediction can be performed without being divided into a plurality of NxN prediction units.
[0052] The prediction unit (120, 125) may include an inter prediction unit (120) that performs inter prediction or inter prediction, and an intra prediction unit (125) that performs intra prediction or intra prediction. It may determine whether to use inter prediction or intra prediction for a prediction unit, and determine specific information (e.g., intra prediction mode, motion vector, reference picture, etc.) according to each prediction method. A residual value (residual block) between the generated prediction block and the original block may be input to the transformation unit (130). In addition, prediction mode information, motion vector information, etc. used for prediction may be encoded together with the residual value by the entropy encoding unit (165) and transmitted to the decoder.
[0053] The inter prediction unit (120) may predict a prediction unit based on information of at least one picture among the previous or subsequent pictures of the current picture, and in some cases, may predict a prediction unit based on information of a portion of an encoded region within the current picture. The inter prediction unit (120) may include a reference picture interpolation unit, a motion prediction unit, and a motion compensation unit.
[0054] The reference picture interpolation unit can receive reference picture information from the memory (155) and generate pixel information less than an integer pixel from the reference picture. In the case of luminance pixels, a DCT-based 8-tap interpolation filter with different filter coefficients can be used to generate pixel information less than an integer pixel in units of 1 / 4 pixels. In the case of a chrominance signal, a DCT-based 4-tap interpolation filter with different filter coefficients can be used to generate pixel information less than an integer pixel in units of 1 / 8 pixels.
[0055] The motion prediction unit can perform motion prediction based on a reference picture interpolated by the reference picture interpolation unit. Various methods such as FBMA (Full search-based Block Matching Algorithm), TSS (Three Step Search), and NTS (New Three-Step Search Algorithm) can be used to derive a motion vector. The motion vector can have a motion vector value in units of 1 / 2 or 1 / 4 pixels based on the interpolated pixel. The motion prediction unit can predict the current prediction unit by using different motion prediction methods. Various methods such as Skip Mode, Merge Mode, AMVP Mode, Affine Mode, and Affine Merge Mode can be used as motion prediction methods.
[0056] The intra prediction unit (125) can generate a prediction unit based on reference pixel information surrounding the current block, which is pixel information within the current picture. If the surrounding block of the current prediction unit is a block on which inter prediction has been performed and the reference pixel is a pixel on which inter prediction has been performed, the reference pixel included in the block on which inter prediction has been performed can be replaced and used with reference pixel information of the surrounding block on which intra prediction has been performed. That is, if the reference pixel is not available, the unavailable reference pixel information can be replaced and used with at least one reference pixel among the available reference pixels.
[0057] Additionally, a residual block containing residual value information, which is the difference between the prediction unit that performed the prediction based on the prediction unit generated in the prediction unit (120, 125) and the original block of the prediction unit, can be generated. The generated residual block can be input to the transformation unit (130).
[0058] In the transformation unit (130), the residual block including the residual value information of the prediction unit generated through the original block and the prediction unit (120, 125) can be transformed using a transformation method such as DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), or KLT. Whether to apply DCT, DST, or KLT to transform the residual block can be determined based on the intra prediction mode information of the prediction unit used to generate the residual block.
[0059] The quantization unit (135) can quantize values converted to the frequency domain by the transformation unit (130). The quantization coefficients can vary depending on the block or the importance of the image. The values produced by the quantization unit (135) can be provided to the dequantization unit (140) and the reordering unit (160).
[0060] The rearrangement unit (160) can perform rearrangement of coefficient values for quantized residual values.
[0061] The rearrangement unit (160) can change a two-dimensional block-shaped coefficient into a one-dimensional vector form through a coefficient scanning method. For example, the rearrangement unit (160) can change the two-dimensional block-shaped coefficient into a one-dimensional vector form by scanning from the DC coefficient to the coefficient of the high-frequency region using a zig-zag scan method. Depending on the size of the transformation unit and the intra prediction mode, a vertical scan that scans the two-dimensional block-shaped coefficient in the column direction or a horizontal scan that scans the two-dimensional block-shaped coefficient in the row direction may be used instead of the zig-zag scan. That is, depending on the size of the transformation unit and the intra prediction mode, it is possible to determine which scan method among the zig-zag scan, the vertical scan, and the horizontal scan is to be used.
[0062] The entropy encoding unit (165) can perform entropy encoding based on the values produced by the rearrangement unit (160). Entropy encoding can use various encoding methods such as, for example, Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC). In this regard, the entropy encoding unit (165) can encode residual value coefficient information of the encoding unit from the rearrangement unit (160) and the prediction units (120, 125). In addition, according to the present disclosure, it is possible to signal and transmit information indicating that motion information is derived and used on the decoder side and information on a technique used to derive motion information.
[0063] The inverse quantization unit (140) and the inverse transformation unit (145) inversely quantize the values quantized in the quantization unit (135) and inversely transform the values transformed in the transformation unit (130). The residual values generated in the inverse quantization unit (140) and the inverse transformation unit (145) can be combined with the predicted prediction units predicted through the motion estimation unit, motion compensation unit, and intra prediction unit included in the prediction unit (120, 125) to generate a reconstructed block.
[0064] The filter unit (150) may include at least one of a deblocking filter, an offset correction unit, and an ALF (Adaptive Loop Filter). The deblocking filter may remove block distortion caused by boundaries between blocks in a restored picture. The offset correction unit may correct the offset from the original image on a pixel-by-pixel basis for the image on which deblocking has been performed. In order to perform offset correction for a specific picture, a method may be used in which the pixels included in the image are divided into a certain number of regions, the regions to be offset are determined, and the offset is applied to the regions, or the offset is applied by considering edge information of each pixel. The ALF (Adaptive Loop Filtering) may be performed based on a value obtained by comparing the filtered restored image with the original image. After dividing the pixels included in the image into a predetermined group, one filter to be applied to the group is determined, and filtering may be performed differentially for each group.
[0065] The memory (155) can store a restored block or picture produced through the filter unit (150), and the stored restored block or picture can be provided to the prediction unit (120, 125) when performing inter prediction.
[0066] FIG. 2 is a block diagram showing an image decoding device according to the present disclosure.
[0067] Referring to FIG. 2, the image decoding device (200) may include an entropy decoding unit (210), a rearrangement unit (215), an inverse quantization unit (220), an inverse transformation unit (225), a prediction unit (230, 235), a filter unit (240), and a memory (245).
[0068] When a video bitstream is input to a video encoding device, the input bitstream can be decoded in the opposite procedure to that of the video encoding device.
[0069] The entropy decoding unit (210) can perform entropy decoding in a procedure opposite to that of the entropy encoding unit of the video encoder. For example, various methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) can be applied in response to the method performed in the video encoder.
[0070] The entropy decoding unit (210) can decode information related to intra prediction and inter prediction performed in the encoder.
[0071] The reordering unit (215) can perform reordering based on the method by which the bitstream entropy-decoded by the entropy decoding unit (210) is reordered by the encoding unit. The coefficients expressed in the form of a one-dimensional vector can be reordered by restoring them back to coefficients in the form of a two-dimensional block.
[0072] The inverse quantization unit (220) can perform inverse quantization based on the quantization parameters provided by the encoder and the coefficient values of the rearranged block.
[0073] The inverse transform unit (225) can perform inverse transform, i.e., inverse DCT, inverse DST, and inverse KLT, on the transforms performed by the transform unit, i.e., DCT, DST, and KLT, on the quantization result performed by the image encoder. The inverse transform can be performed based on the transmission unit determined by the image encoder. In the inverse transform unit (225) of the image decoder, a transform technique (e.g., DCT, DST, KLT) can be selectively performed according to a plurality of pieces of information, such as a prediction method, the size of the current block, and the prediction direction.
[0074] The prediction unit (230, 235) can generate a prediction block based on the prediction block generation related information provided by the entropy decoding unit (210) and the previously decoded block or picture information provided by the memory (245).
[0075] As described above, when performing intra prediction or intra prediction in the same manner as the operation in the image encoder, if the size of the prediction unit and the size of the transformation unit are the same, intra prediction for the prediction unit is performed based on the pixels on the left side of the prediction unit, the pixels on the upper left side, and the pixels on the upper side. However, when performing intra prediction, if the size of the prediction unit and the size of the transformation unit are different, intra prediction can be performed using reference pixels based on the transformation unit. In addition, intra prediction using NxN division only for the minimum coding unit can be used.
[0076] The prediction unit (230, 235) may include a prediction unit determination unit, an inter prediction unit, and an intra prediction unit. The prediction unit determination unit may receive various information such as prediction unit information input from the entropy decoding unit (210), prediction mode information of an intra prediction method, and motion prediction-related information of an inter prediction method, and may distinguish a prediction unit from a current encoding unit and determine whether the prediction unit performs inter prediction or intra prediction. On the other hand, if the encoder (100) does not transmit motion prediction-related information for the inter prediction, but instead transmits information indicating that motion information is to be derived and used on the decoder side and information on a technique used to derive motion information, the prediction unit determination unit determines whether the inter prediction unit (230) performs prediction based on the information transmitted from the encoder (100).
[0077] The inter prediction unit (230) can perform inter prediction on the current prediction unit based on information included in at least one picture among the previous picture or the subsequent picture of the current picture including the current prediction unit, using information required for inter prediction of the current prediction unit provided by the image encoder. In order to perform inter prediction, it can be determined based on the encoding unit whether the motion prediction method of the prediction unit included in the corresponding encoding unit is one of Skip Mode, Merge Mode, AMVP Mode, Affine Mode, and Affine Merge Mode.
[0078] The intra prediction unit (235) can generate a prediction block based on pixel information within the current picture. If the prediction unit is a prediction unit that has performed intra prediction, intra prediction can be performed based on intra prediction mode information of the prediction unit provided by the image encoder.
[0079] The intra prediction unit (235) may include an Adaptive Intra Smoothing (AIS) filter, a reference pixel interpolation unit, and a DC filter. The AIS filter is a unit that performs filtering on the reference pixels of the current block and can determine whether to apply the filter based on the prediction mode of the current prediction unit and apply it. AIS filtering can be performed on the reference pixels of the current block using the prediction mode and AIS filter information of the prediction unit provided by the image encoder. If the prediction mode of the current block is a mode that does not perform AIS filtering, the AIS filter may not be applied.
[0080] The reference pixel interpolation unit can interpolate the reference pixel to generate a reference pixel of a pixel unit less than an integer value when the prediction mode of the prediction unit is a prediction unit that performs intra prediction based on the pixel value interpolated from the reference pixel. When the prediction mode of the current prediction unit is a prediction mode that generates a prediction block without interpolating the reference pixel, the reference pixel may not be interpolated. The DC filter can generate a prediction block through filtering when the prediction mode of the current block is the DC mode.
[0081] The restored block or picture may be provided to a filter unit (240). The filter unit (240) may include a deblocking filter, an offset correction unit, and an ALF.
[0082] Information about whether a deblocking filter has been applied to a corresponding block or picture can be received from a video encoding device, and if a deblocking filter has been applied, information about whether a strong or weak filter has been applied. The deblocking filter of the video decoder can receive information related to the deblocking filter provided by the video encoder, and the video decoder can perform deblocking filtering on the corresponding block.
[0083] The offset correction unit can perform offset correction on the restored image based on the type of offset correction applied to the image during encoding and information on the offset value. ALF can be applied to the encoding unit based on information on whether ALF is applied and ALF coefficient information provided from the encoder. This ALF information can be provided by being included in a specific parameter set.
[0084] The memory (245) can store a restored picture or block so that it can be used as a reference picture or reference block, and can also provide the restored picture to an output unit.
[0085] FIG. 3 is an example of a method for encoding / decoding a current block according to the present disclosure.
[0086] Referring to FIG. 3, the current block can be divided into multiple partitions (S300).
[0087] Specifically, the current block can be divided into multiple partitions by one or more dividing lines. Here, the dividing lines can include at least one of a vertical line, a horizontal line, or a line having a predetermined angle (e.g., a diagonal line, etc.). At this time, information about at least one of a start point, an end point, the number of lines, the line angle, or the line direction of the dividing line can be signaled through the bitstream. Alternatively, information about at least one of a start point, an end point, the number of lines, the line angle, or the line direction of the dividing line can be implicitly derived by the encoding / decoding device according to the intra-prediction mode, the inter-prediction mode, the positions of available merge candidates, etc. of the current block.
[0088] Through the division of the current block, the plurality of partitions may have a rectangular shape. Alternatively, through the division of the current block, at least one of the plurality of partitions may have a triangular shape.
[0089] Referring to FIG. 3, each partition of the current block can be encoded / decoded (S310). Intra-prediction and / or inter-prediction can be performed for each partition.
[0090] Example 1
[0091] Both the first and second partitions can be encoded / decoded based on intra prediction.
[0092] The above intra prediction can be performed based on an intra prediction mode having a horizontal directionality.
[0093] Alternatively, the intra prediction may be performed based on an intra prediction mode having a vertical direction.
[0094] Alternatively, the intra prediction may be performed based on a non-directional mode. Here, the non-directional mode may be a Planar mode or a DC mode.
[0095] Alternatively, the intra prediction may be performed based on a decoder-side intra mode derivation (DIMD) mode. The DIMD mode may be a method of deriving an intra prediction mode based on the gradient of sample values between reference samples belonging to a surrounding area of the current block. A predetermined filter may be used to calculate the gradient. The filter may have a predetermined size of NxM, and N and M may be positive integers. N and M may have the same value or different values.
[0096] Alternatively, the intra prediction may be performed based on a template-based intra mode derivation (TIMD) mode. The TIMD mode may be a method of deriving an intra prediction mode based on a template region of a current block. The template may be an area adjacent to the current block and may be an area encoded / decoded before the current block. A plurality of intra prediction modes may be applied to the template region to calculate a cost (e.g., SAD, SATD) for each intra prediction mode. One or more intra prediction modes may be derived based on the calculated cost. Intra prediction may be performed based on the derived one or more intra prediction modes. The operation of the above-described TIMD may be performed identically in an encoder and a decoder.
[0097] Alternatively, the intra prediction may be performed based on an Intra TMP (template matching prediction) mode. The Intra TMP mode may generate a block vector list by performing template matching based on a template of a current block within a predetermined search range. Prediction may be performed based on at least one of a plurality of block vectors belonging to the block vector list. However, the Intra TMP mode may be classified as an intra prediction in that prediction is performed based on a pre-restored reference region belonging to the same picture as the current block, but may also be classified as an inter prediction in that prediction is performed based on a reference region specified by a block vector.
[0098] Alternatively, the intra prediction may be performed based on an intra block copy (IBC) mode. The IBC mode may generate a block vector list based on block vectors of blocks previously sub-encoded / decoded before the current block. The blocks previously sub-encoded / decoded before the current block may be neighboring blocks adjacent to the current block. Here, the neighboring blocks may include at least one of an upper neighboring block, a left neighboring block, an upper-left neighboring block, a lower-left neighboring block, or an upper-right neighboring block. Alternatively, the neighboring blocks may further include blocks that are not adjacent to the current block. Prediction may be performed based on at least one of a plurality of block vectors included in the block vector list. However, the IBC mode may be classified as intra prediction in that prediction is performed based on a pre-reconstructed reference region included in the same picture as the current block, but may also be classified as inter prediction in that prediction is performed based on a reference region specified by a block vector.
[0099] The first partition can be encoded / decoded based on any one of the intra prediction methods described above, and the second partition can be encoded / decoded based on a different intra prediction method than the first partition.
[0100] Example 2
[0101] The first partition can be encoded / decoded based on intra prediction, and the second partition can be encoded / decoded based on inter prediction.
[0102] Here, intra prediction of the first partition can be performed based on any one of the intra prediction methods described above. That is, intra prediction of the first partition can be performed based on any one of an intra prediction mode having a horizontal directionality, an intra prediction mode having a vertical directionality, a non-directional mode, a DIMD mode, a TIMD mode, an Intra TMP mode, or an IBC mode.
[0103] Inter prediction of the second partition can be performed based on merge mode or affine merge mode.
[0104] Specifically, when the second partition is encoded / decoded in merge mode, a first merge candidate list for the second partition can be generated. The first merge candidate list can include a plurality of merge candidates. The plurality of merge candidates can include at least one of a spatial merge candidate, a temporal merge candidate, a history-based merge candidate, a pair-wise merge candidate, or a zero merge candidate. Each merge candidate has motion information, and the motion information can include at least one of prediction direction information, a motion vector, and a reference picture index.
[0105] A second merge candidate list can be generated based on the first merge candidate list. Merge candidates in the second merge candidate list can be derived based on merge candidates with the same index in the first merge candidate list. At this time, merge candidates with even indices such as 0, 2, and 4 in the second merge candidate list can have motion information in the L0 direction among the motion information of merge candidates with the same index in the first merge candidate list. If a merge candidate with the same index in the first merge candidate list only has motion information in the L1 direction, the corresponding merge candidate in the second merge candidate list can be set to have motion information in the L1 direction. Meanwhile, merge candidates with odd indices such as 1, 3, and 5 in the second merge candidate list can have motion information in the L1 direction among the motion information of merge candidates with the same index in the first merge candidate list. If a merge candidate with the same index in the first merge candidate list only has motion information in the L0 direction, the corresponding merge candidate in the second merge candidate list can be set to have motion information in the L0 direction.
[0106] Motion information of the second partition can be derived based on at least one of the plurality of merge candidates included in the second merge candidate list. Inter prediction can be performed on the second partition based on the derived motion information.
[0107] Alternatively, the second partition may be encoded / decoded in affine merge mode. The affine merge mode may be a method of deriving control point vectors (CPMV) for at least two of the upper left corner, the upper right corner, the lower left corner, or the lower right corner of the current block, deriving motion vectors for each sub-block within the current block based on the derived CPMVs, and performing prediction based on the derived motion vectors. Here, the affine merge mode may be a 4-parameter mode using two control point vectors (CPMVs) or a 6-parameter mode using three control point vectors (CPMVs). In the 4-parameter mode, control point vectors may be defined for the upper left corner and the upper right corner of the current block, respectively. In the 6-parameter mode, control point vectors may be defined for the upper left corner, the upper right corner, and the lower left corner of the current block, respectively.
[0108] A first affine merge candidate list can be generated for the second partition. The first affine merge candidate list can include multiple affine merge candidates. The multiple affine merge candidates can include at least one of a sub-block-based temporal motion vector prediction (SbTMVP) candidate, a candidate inherited from an adjacent block, a candidate inherited from a non-adjacent block, a candidate constructed based on a motion vector of an adjacent block, a candidate constructed based on a motion vector of a non-adjacent block, or a zero-affine candidate.
[0109] A second affine merge candidate list can be generated based on the first affine merge candidate list. An affine merge candidate in the second affine merge candidate list can be derived based on an affine merge candidate with the same index in the first affine merge candidate list. At this time, an affine merge candidate with an even index, such as 0, 2, or 4, in the second affine merge candidate list can have a CPMV in the L0 direction among the CPMVs of the affine merge candidates with the same index in the first affine merge candidate list. If an affine merge candidate with the same index in the first affine merge candidate list only has a CPMV in the L1 direction, the corresponding affine merge candidate in the second affine merge candidate list can be set to have a CPMV in the L1 direction. Meanwhile, in the second affine merge candidate list, an affine merge candidate with an odd index such as 1, 3, or 5 may have a CPMV in the L1 direction among the CPMVs of the affine merge candidates with the same index in the first affine merge candidate list. If an affine merge candidate with the same index in the first affine merge candidate list only has a CPMV in the L0 direction, the corresponding affine merge candidate in the second affine merge candidate list may be set to have the CPMV in the L0 direction.
[0110] A CPMV of the second partition can be derived based on at least one of the plurality of affine merge candidates included in the second affine merge candidate list. Inter prediction can be performed on the second partition based on the derived CPMV.
[0111] The motion vector (or CPMV) derived for the second partition through the above-described method can be corrected based on a predetermined motion vector difference (MVD). Here, the MVD can be derived based on at least one of a first index indicating a direction of the MVD or a second index indicating a distance of the MVD. For example, the MVD direction according to the value of the first index can be defined as in Table 1 below. The MVD distance according to the value of the second index can be defined as in Table 2 below. The offset in Table 2 can be an offset in units of luminance samples.
[0112] Direction01234567x-axis+1-100+1-1+1-1y-axis00+1-1+1-1-1+1
[0113] Distance012345678Offset1 / 41 / 212346816
[0114] Example 3
[0115] The first partition can be encoded / decoded based on inter prediction, and the second partition can be encoded / decoded based on intra prediction. Here, the inter prediction of the first partition can be performed based on a merge mode or an affine merge mode, as discussed in Embodiment 2. The intra prediction of the second partition can be performed based on any one of an intra prediction mode having a horizontal directionality, an intra prediction mode having a vertical directionality, a non-directional mode, a DIMD mode, a TIMD mode, an Intra TMP mode, or an IBC mode, as discussed in Embodiment 1.
[0116] Example 4
[0117] Both the first and second partitions can be decoded / encoded based on inter prediction. Here, inter prediction can be performed based on merge mode or affine merge mode, as discussed in Example 2. However, the first partition can be decoded / encoded based on a different inter prediction method from the second partition. For example, either the first or second partition can be decoded / encoded using merge mode, and the other can be decoded / encoded using affine merge mode.
[0118] The various embodiments of the present disclosure are not intended to list all possible combinations but rather to illustrate representative aspects of the present disclosure, and the matters described in the various embodiments may be applied independently or in combinations of two or more.
[0119] Additionally, various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. In the case of hardware implementation, the embodiments may be implemented by one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), general processors, controllers, microcontrollers, microprocessors, etc.
[0120] The scope of the present disclosure includes software or machine-executable instructions (e.g., operating systems, applications, firmware, programs, etc.) that cause operations according to the methods of various embodiments to be executed on a device or a computer, and a non-transitory computer-readable medium having such software or instructions stored thereon and executable on the device or computer.
Claims
1. A step of dividing the current block into multiple partitions; and Including a step of decrypting the above multiple partitions, The step of decrypting the above multiple partitions is: A step of predicting a first partition among the above plurality of partitions based on a first prediction method; and An image decoding method, comprising a step of predicting a second partition among the plurality of partitions based on a second prediction method.
2. In paragraph 1, The above first prediction method is intra prediction, A method for decoding an image, wherein the second prediction method is inter prediction.
3. In paragraph 2, An image decoding method, wherein the above intra prediction is performed based on an intra prediction mode having a horizontal directionality or an intra prediction mode having a vertical directionality.
4. In paragraph 2, The above intra prediction is an image decoding method performed based on the Planar mode.
5. In paragraph 2, An image decoding method wherein the above intra prediction is performed based on the DIMD mode.
6. In paragraph 2, An image decoding method in which the above intra prediction is performed based on the TIMD mode.
7. In paragraph 2, An image decoding method, wherein the above intra prediction is performed based on the Intra TMP mode.
8. In paragraph 2, An image decoding method in which the above intra prediction is performed based on the IBC mode.
9. In paragraph 2, An image decoding method, wherein the above inter prediction is performed based on merge mode or affine merge mode.
10. In paragraph 9, A method for decoding an image, wherein a motion vector or a control point vector for inter prediction of the second partition is corrected based on a predetermined motion vector difference (MVD).
11. In paragraph 1, An image decoding method, wherein the first prediction method and the second prediction method are intra prediction.
12. In paragraph 1, An image decoding method, wherein the first prediction method and the second prediction method are inter prediction.
13. A step of dividing the current block into multiple partitions; and Including a step of encoding the above plurality of partitions, The step of encoding the above multiple partitions is: A step of predicting a first partition among the above plurality of partitions based on a first prediction method; and An image encoding method, comprising a step of predicting a second partition among the plurality of partitions based on a second prediction method.
14. Step of dividing the current block into multiple partitions; A step of generating a bitstream by encoding the above plurality of partitions; and Including the step of transmitting the above bitstream, The step of encoding the above multiple partitions is: A step of predicting a first partition among the above plurality of partitions based on a first prediction method; and A transmission method, comprising a step of predicting a second partition among the plurality of partitions based on a second prediction method.
Citation Information
Patent Citations
Manufacturing method of backside protective sheet for double-sided photovoltaic module with improved reflectance by forming grid pattern layer
KR1020240163369A
Dark count calibration apparatus and method for optical sensor
KR1020250080416A
Self-loader
KR102586221B1
KR20230043747A