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

KR1020260138546APending Publication Date: 2026-09-18DONG A UNIV RES FOUND FOR IND ACAD COOP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
KR1020267025989
Authority / Receiving Office
KR · KR
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-09
Filing Date
2025-01-06
Publication Date
2026-09-18

Smart Images

  • Figure P1020267025989_ABST
    Figure P1020267025989_ABST
Patent Text Reader

Abstract

The image encoding / decoding method and apparatus according to the present disclosure can generate a candidate list for a current block, derive motion information of the current block based on the candidate list, and perform inter prediction for the current block based on the motion information of the current block. Here, the motion information of the current block may be stored in at least one of an HMVP list for a row of a coding tree unit to which the current block belongs or a CHMVP list for a column of a coding tree unit to which the current block belongs.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to a video signal processing method and apparatus. Background Technology

[0002] Market demand for high-resolution video is increasing, and consequently, there is a need for technology that can efficiently compress high-resolution video. In response to these market demands, the Moving Picture Expert Group (MPEG) of ISO / IEC and the Video Coding Expert Group (VCEG) of ITU-T jointly formed the Joint Collaborative Team on Video Coding (JCT-VC), completed the development of the High Efficiency Video Coding (HEVC) video compression standard in January 2013, and have been actively conducting research and development on next-generation compression standards.

[0003] Video compression is broadly composed of intra-frame prediction (or intra prediction), inter-frame prediction (or inter prediction), transformation, quantization, entropy coding, and in-loop filter. Among these, inter prediction refers to a technique that generates a prediction block for the current block based on adjacent frames that have been encoded or decoded. The encoder encodes the inter prediction mode used for inter prediction, and the decoder decodes the encoded inter prediction mode to perform inter prediction. The problem to be solved

[0004] The present disclosure aims to provide a method and apparatus for performing inter-prediction.

[0005] The present disclosure aims to provide a method and apparatus for generating a candidate list for inter prediction.

[0006] The present disclosure aims to provide a method and apparatus for storing / managing motion information for history-based merge candidates. means of solving the problem

[0007] The image decoding method and apparatus according to the present disclosure can generate a candidate list for a current block, derive motion information of the current block based on the candidate list, and perform inter prediction for the current block based on the motion information of the current block. Here, the motion information of the current block may be stored in at least one of an HMVP list for a coding tree unit row (CTU row) to which the current block belongs or a CHMVP list for a coding tree unit column (CTU column) to which the current block belongs.

[0008] In the image decoding method and apparatus according to the present disclosure, the CHMVP list may be generated when starting the decoding of the first CTU column in the current picture.

[0009] In the image decoding method and apparatus according to the present disclosure, when the current block belongs to the first CTU column, the movement information of the current block may be stored in the CHMVP list.

[0010] In the image decoding method and apparatus according to the present disclosure, the HMVP list may be initialized in units of CTU rows.

[0011] In the image decoding method and apparatus according to the present disclosure, motion information belonging to the CHMVP list may be stored in the HMVP list.

[0012] In the image decoding method and apparatus according to the present disclosure, the CHMVP list can be generated independently for each CTU column in the current picture.

[0013] In the image decoding method and apparatus according to the present disclosure, an HMVP candidate derived from the HMVP list and a CHMVP candidate derived from the CHMVP list may be added to the candidate list as independent merge candidates.

[0014] In the image decoding method and apparatus according to the present disclosure, the candidate list may be generated by selectively using either the HMVP list or the CHMVP list.

[0015] The image encoding method and apparatus according to the present disclosure can generate a candidate list for a current block, derive motion information of the current block based on the candidate list, and perform inter prediction for the current block based on the motion information of the current block. Here, the motion information of the current block may be stored in at least one of an HMVP list for a coding tree unit row (CTU row) to which the current block belongs or a CHMVP list for a coding tree unit column (CTU column) to which the current block belongs.

[0016] A computer-readable recording medium according to the present disclosure can store a bitstream encoded by the image encoding method. Effects of the invention

[0017] By using the candidate list according to the present disclosure, the accuracy of the inter prediction can be improved.

[0018] According to the present disclosure, image encoding efficiency can be improved by making history-based merge candidates available even when the HMVP list is initialized. Brief explanation of the drawing

[0019] FIG. 1 is a block diagram showing an image encoding device according to the present disclosure. FIG. 2 is a block diagram showing an image decoding device according to the present disclosure. FIG. 3 illustrates an inter-prediction method performed in a decoding / encoding unit as an embodiment according to the present disclosure. Specific details for implementing the invention

[0020] Best form for carrying out the invention

[0021] The image decoding method and apparatus according to the present disclosure can generate a candidate list for a current block, derive motion information of the current block based on the candidate list, and perform inter prediction for the current block based on the motion information of the current block. Here, the motion information of the current block may be stored in at least one of an HMVP list for a coding tree unit row (CTU row) to which the current block belongs or a CHMVP list for a coding tree unit column (CTU column) to which the current block belongs.

[0022] In the image decoding method and apparatus according to the present disclosure, the CHMVP list may be generated when starting the decoding of the first CTU column in the current picture.

[0023] In the image decoding method and apparatus according to the present disclosure, when the current block belongs to the first CTU column, the movement information of the current block may be stored in the CHMVP list.

[0024] In the image decoding method and apparatus according to the present disclosure, the HMVP list may be initialized in units of CTU rows.

[0025] In the image decoding method and apparatus according to the present disclosure, motion information belonging to the CHMVP list may be stored in the HMVP list.

[0026] In the image decoding method and apparatus according to the present disclosure, the CHMVP list can be generated independently for each CTU column in the current picture.

[0027] In the image decoding method and apparatus according to the present disclosure, an HMVP candidate derived from the HMVP list and a CHMVP candidate derived from the CHMVP list may be added to the candidate list as independent merge candidates.

[0028] In the image decoding method and apparatus according to the present disclosure, the candidate list may be generated by selectively using either the HMVP list or the CHMVP list.

[0029] The image encoding method and apparatus according to the present disclosure can generate a candidate list for a current block, derive motion information of the current block based on the candidate list, and perform inter prediction for the current block based on the motion information of the current block. Here, the motion information of the current block may be stored in at least one of an HMVP list for a coding tree unit row (CTU row) to which the current block belongs or a CHMVP list for a coding tree unit column (CTU column) to which the current block belongs.

[0030] A computer-readable recording medium according to the present disclosure can store a bitstream encoded by the image encoding method.

[0031] Form for carrying out the invention

[0032] Embodiments of the present invention are described in detail with reference to the drawings attached to this specification so that those skilled in the art can easily implement the invention. However, the present invention may be embodied in various different forms and is not limited to the embodiments described herein. Furthermore, in order to clearly explain the invention in the drawings, parts unrelated to the explanation have been omitted, and similar parts throughout the specification are denoted by similar reference numerals.

[0033] Throughout this specification, when a part is described as being 'connected' to another part, this includes not only cases where they are directly connected, but also cases where they are electrically connected with other elements in between.

[0034] Furthermore, throughout this specification, when a part is described as 'comprising' a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.

[0035] Additionally, terms such as "first," "second," etc., may be used to describe various components, but said components should not be limited by said terms. These terms are used solely for the purpose of distinguishing one component from another.

[0036] Additionally, in the embodiments relating to the device and method described herein, some components of the device or some steps of the method may be omitted. Also, the order of some components of the device or some steps of the method may be changed. Additionally, other components or other steps may be inserted into some components of the device or some steps of the method.

[0037] In addition, some components or steps of the first embodiment of the present invention may be added to or replace some components or steps of the second embodiment of the present invention.

[0038] Furthermore, the components shown in the embodiments of the present invention 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, for convenience of explanation, each component is described by listing it as a separate component, and 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. Such integrated and separated embodiments of each component are also included within the scope of the present invention as long as they do not deviate from the essence of the invention.

[0039] In this specification, a block may be expressed in various ways such as a unit, region, unit, partition, etc., and a sample may be expressed in various ways such as a pixel, pel, pixel, etc.

[0040] Hereinafter, embodiments of the present invention will be described in more detail with reference to the attached drawings. In describing the present invention, redundant descriptions of identical components are omitted.

[0041] FIG. 1 is a block diagram showing an image encoding device according to the present disclosure.

[0042] Referring to FIG. 1, the image encoding device (100) may include a picture splitting unit (110), a prediction unit (120, 125), a conversion unit (130), a quantization unit (135), a reordering unit (160), an entropy encoding unit (165), an inverse quantization unit (140), an inverse conversion unit (145), a filter unit (150), and a memory (155).

[0043] The picture splitting unit (110) can split 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). In the embodiments of the present disclosure below, the term "coding unit" may be used to mean a unit that performs coding or a unit that performs decoding.

[0044] A prediction unit may be divided into at least one square or rectangle of the same size within a single coding unit, or it may be divided such that one of the prediction units within a single coding unit has a different shape and / or size from another prediction unit. When generating a prediction unit that performs intra prediction based on a coding unit, if it is not the minimum coding unit, intra prediction can be performed without dividing into multiple prediction units NxN.

[0045] 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 perform intra prediction for a prediction unit, and determine specific information according to each prediction method (e.g., intra prediction mode, motion vector, reference picture, etc.). The residual value (residual block) between the generated prediction block and the original block may be input to the conversion unit (130). In addition, the prediction mode information, motion vector information, etc. used for prediction may be encoded together with the residual value in the entropy encoding unit (165) and transmitted to the decoder.

[0046] The inter prediction unit (120) may predict a prediction unit based on information of at least one picture among the previous picture or the subsequent picture of the current picture, and in some cases, may predict a prediction unit based on information of a partially encoded area 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.

[0047] In the reference picture interpolation unit, reference picture information is received from memory (155), and pixel information of integer pixels or less can be generated 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 of integer pixels or less in 1 / 4 pixel units. In the case of chrominance signals, a DCT-based 4-tap interpolation filter with different filter coefficients can be used to generate pixel information of integer pixels or less in 1 / 8 pixel units.

[0048] 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 calculate motion vectors. Based on the interpolated pixels, the motion vector can have motion vector values ​​in units of 1 / 2 or 1 / 4 pixels. 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.

[0049] The intra prediction unit (125) can generate a prediction unit based on reference pixel information around the current block, which is pixel information within the current picture. If the surrounding block of the current prediction unit is a block that has performed inter prediction, and the reference pixel is a pixel that has performed inter prediction, the reference pixel included in the block that has performed inter prediction can be replaced with the reference pixel information of the surrounding intra prediction block. That is, if the reference pixel is not available, the unavailable reference pixel information can be replaced with at least one of the available reference pixels.

[0050] Additionally, a residual block can be generated that includes 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. The generated residual block can be input to the conversion unit (130).

[0051] In the transformation unit (130), the residual block containing 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.

[0052] The quantization unit (135) can quantize the values ​​converted into the frequency domain in the conversion unit (130). The quantization coefficient may vary depending on the block or the importance of the image. The values ​​produced by the quantization unit (135) may be provided to the inverse quantization unit (140) and the reordering unit (160).

[0053] The reordering unit (160) can perform reordering of coefficient values ​​for quantized residual values.

[0054] The reordering unit (160) can convert two-dimensional block-shaped coefficients into one-dimensional vector forms through a coefficient scanning method. For example, the reordering unit (160) can convert the coefficients from DC to high-frequency range coefficients into one-dimensional vector forms by scanning using a Zig-Zag Scan method. Depending on the size of the conversion unit and the intra-prediction mode, a vertical scan that scans two-dimensional block-shaped coefficients in the column direction or a horizontal scan that scans two-dimensional block-shaped coefficients in the row direction may be used instead of the Zig-Zag Scan. That is, depending on the size of the conversion unit and the intra-prediction mode, it can be determined whether to use a Zig-Zag Scan, a vertical scan, or a horizontal scan.

[0055] The entropy encoding unit (165) can perform entropy encoding based on values ​​calculated by the reordering unit (160). Entropy encoding can use various encoding methods, such as, for example, Exponential Golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding). In this regard, the entropy encoding unit (165) can encode residual value coefficient information of the encoding unit from the reordering unit (160) and the prediction unit (120, 125). Additionally, according to the present disclosure, it is possible to signal and transmit information indicating that motion information is derived and used in the decoder side, and information regarding the technique used for deriving motion information.

[0056] In the inverse quantization unit (140) and inverse transformation unit (145), the values ​​quantized in the quantization unit (135) are inverse quantized, and the values ​​transformed in the transformation unit (130) are inverse transformed. The residual value generated in the inverse quantization unit (140) and inverse transformation unit (145) can be combined with the prediction unit 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.

[0057] The filter unit (150) may include at least one of a deblocking filter, an offset correction unit, and an Adaptive Loop Filter (ALF). The deblocking filter can remove block distortion caused by boundaries between blocks in the restored picture. The offset correction unit can correct the offset from the original image on a pixel-by-pixel basis for the image that has undergone deblocking. To perform offset correction for a specific picture, a method may be used in which pixels included in the image are divided into a certain number of regions, the region to be offset is determined, and the offset is applied to that region, or a method may be used in which the offset is applied by considering the edge information of each pixel. Adaptive Loop Filtering (ALF) 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, a filter to be applied to that group is determined, and filtering may be performed differentially for each group.

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

[0059] FIG. 2 is a block diagram showing an image decoding device according to the present disclosure.

[0060] Referring to FIG. 2, the image decoding device (200) may include an entropy decoding unit (210), a reordering 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).

[0061] When a video bitstream is input to a video encoding device, the input bitstream can be decoded by the reverse procedure of the video encoding device.

[0062] The entropy decoding unit (210) can perform entropy decoding in the opposite procedure to that which the entropy encoding unit of the image encoder performed. For example, various methods such as Exponential Golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding) can be applied in correspondence with the method performed in the image encoder.

[0063] The entropy decoding unit (210) can decode information related to intra-prediction and inter-prediction performed in the encoder.

[0064] The reordering unit (215) can perform reordering based on the method of reordering the entropy-decoded bitstream in the encoding unit in the entropy decoding unit (210). The coefficients expressed in the form of a one-dimensional vector can be reordered by restoring them to the form of two-dimensional block coefficients.

[0065] The inverse quantization unit (220) can perform inverse quantization based on the coefficient values ​​of the rearranged block and the quantization parameters provided by the encoder.

[0066] The inverse transform unit (225) can perform inverse transforms, i.e., inverse DCT, inverse DST, and inverse KLT, on the transforms, i.e., DCT, DST, and KLT, performed by the transform unit 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 transformation technique (e.g., DCT, DST, KLT) can be selectively performed according to multiple pieces of information such as a prediction method, the size of the current block, and the prediction direction.

[0067] The prediction unit (230, 235) can generate a prediction block based on the prediction block generation information provided by the entropy decoding unit (210) and the previously decoded block or picture information provided by the memory (245).

[0068] As described above, when performing intra prediction or intra prediction identical to the operation in the video encoder, if the size of the prediction unit and the size of the transform unit are the same, intra prediction for the prediction unit is performed based on the pixels to the left of the prediction unit, the pixels to the top left, and the pixels to the top; however, if the size of the prediction unit and the size of the transform unit are different when performing intra prediction, intra prediction can be performed using reference pixels based on the transform unit. Additionally, intra prediction using NxN partitioning only for the minimum encoding unit may also be used.

[0069] 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 receives various information, such as prediction unit information input from the entropy decoding unit (210), prediction mode information of the intra prediction method, and motion prediction related information of the inter prediction method, distinguishes the prediction unit in the current encoding unit, and determines 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 derived and used from the decoder side and information regarding the technique used for deriving 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).

[0070] The inter prediction unit (230) can perform inter prediction for the current prediction unit based on information included in at least one picture, either a previous picture or a subsequent picture, of the current picture containing the current prediction unit, using information required for inter prediction of the current prediction unit provided by the video encoder. To perform inter prediction, based on the encoding unit, it can determine whether the motion prediction method of the prediction unit included in the corresponding encoding unit is a Skip Mode, Merge Mode, AMVP Mode, Affine Mode, or Affine Merge Mode.

[0071] 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, it can perform intra prediction based on the intra prediction mode information of the prediction unit provided by the image encoder.

[0072] 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 part 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. AIS filtering can be performed on the reference pixels of the current block using the prediction mode of the prediction unit and AIS filter information 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.

[0073] The reference pixel interpolation unit can generate a reference pixel of an integer value or less by interpolating the reference pixel 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. If 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 DC mode.

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

[0075] Information regarding whether a deblocking filter has been applied to the corresponding block or picture can be received from the video encoding device, and if a deblocking filter has been applied, information regarding whether a strong filter or a weak filter has been applied. The deblocking filter of the video decoder receives information related to the deblocking filter provided by the video encoder and can perform deblocking filtering on the corresponding block.

[0076] The offset correction unit can perform offset correction on the restored image based on the type of offset correction and offset value information applied to the image during encoding. ALF can be applied to the encoding unit based on information on whether ALF is applied and ALF coefficient information provided by the encoder. This ALF information can be provided included in a specific parameter set.

[0077] The memory (245) can store the 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 the output unit.

[0078] FIG. 3 illustrates an inter-prediction method performed in a decoding / encoding unit as an embodiment according to the present disclosure.

[0079] When the inter-prediction mode is applied to the current block, the prediction block of the current block can be generated using the base-decoded / base reference picture. In the case of the inter-prediction mode, a motion vector indicating the block with the optimal rate-distortion cost within the reference picture can be transmitted to the decoder. The decoder can generate the prediction block based on the transmitted motion vector and the reference picture. The reference picture may be located in at least two directions, either the previous direction (L0 direction) or the subsequent direction (L1 direction), in chronological order relative to the current block. Below, we will examine the execution process of the inter-prediction mode.

[0080] A Motion Vector Predictor (MVP) can be set based on the motion vectors of surrounding blocks of the current block in a reference picture. Based on the MVP, a Motion Vector Difference (MVD) can be derived by searching for the block most similar to the current block in one or more reference pictures. Information regarding the reference picture to which the most similar block belongs, the MVP, and the MVD can be transmitted to a decoder.

[0081] The encoder may support a merge mode that performs inter-prediction using information from surrounding blocks of the current block to reduce the amount of information transmitted to the decoder. The merge mode can generate predicted blocks based on movement information of surrounding blocks without performing the process of searching for similar blocks in a reference picture.

[0082] Specifically, a candidate list can be generated for the current block (S300). The candidate list may include multiple merge candidates. Here, the multiple merge candidates may include spatial candidates. Spatial candidates may be candidates derived based on movement information of surrounding blocks. Here, surrounding blocks may include at least one of a left surrounding block, an upper surrounding block, a lower-left surrounding block, an upper-right surrounding block, or an upper-left surrounding block. Up to four blocks from the aforementioned surrounding blocks may be used to derive merge candidates.

[0083] The above multiple merge candidates may further include temporal candidates. A temporal candidate may be a candidate derived based on movement information of a call block that belongs to a picture different from the current block and has the same location as the current block. The call block may belong to a picture encoded immediately prior to the picture to which the current picture belongs. Alternatively, an index may be signaled to specify the picture to which the call block belongs among the reference pictures in the reference picture list.

[0084] The above plurality of merge candidates may further include history-based merge candidates (hereinafter referred to as HMVP candidates). Movement information of blocks encoded / decoded prior to the current block may be stored in a buffer of a predetermined size or in an HMVP list. An HMVP candidate may be derived based on the block movement information stored in the HMVP list. Blocks encoded / decoded prior to the current block may include one or more blocks that are not adjacent to the current block. For example, up to nine HMVP candidates may be included in the candidate list.

[0085] A merge candidate derived based on a combination of merge candidates already added to the candidate list (hereinafter referred to as the derived candidate) may be added to the candidate list. For example, a motion vector of the derived candidate can be generated based on a combination (e.g., the average) of a motion vector with index 0 and a motion vector with index 1 within the candidate list.

[0086] If the candidate list is not filled through the aforementioned process, a zero vector candidate may be added to the candidate list.

[0087] The HMVP list can be initialized after the encoding of the last CTU in a single CTU row is finished, taking into account the spatial characteristics with respect to the current block. That is, the HMVP list can be initialized on a unit basis of CTU rows. However, when encoding / decoding for a new CTU row begins, the HMVP list is initialized, so the HMVP candidate cannot be used in the process of generating the candidate list. Accordingly, the present disclosure proposes a method for storing the HMVP list to improve the accuracy of the prediction block.

[0088] Example 1

[0089] When starting the decoding of the first CTU column (or the 0th CTU column) in the current picture, a CHMVP (Column History based Motion Vector Predictor) list can be generated. During the process of decoding the blocks belonging to the first CTU column in the current picture, the CHMVP list can be generated and updated.

[0090] If the current block is encoded / decoded by inter-prediction, the movement information of the current block can be stored in the aforementioned HMVP list and CHMVP list, respectively. If the current block belongs to the first CTU column, the movement information of the current block can be stored in the CHMVP list. The CHMVP list has a size of N and can store only the movement information of the 0th CTU column. N can be an integer greater than or equal to 1. The size of the CHMVP list may represent the maximum number of blocks stored in the CHMVP list.

[0091] The CHMVP list can be managed in a FIFO (First In First Out) manner. Before storing new motion information in the CHMVP list, a redundancy check between the motion information already stored in the CHMVP list and the new motion information may be performed. If there is motion information in the CHMVP list that overlaps with the new motion information, the duplicate motion information may be removed from the CHMVP list and the new motion information may be stored instead.

[0092] Alternatively, the CHMVP list can be managed in a LIFO (Last In First Out) manner. Before storing new motion information in the CHMVP list, a redundancy check can be performed between the motion information already stored in the CHMVP list and the new motion information. If there is motion information that duplicates the new motion information in the CHMVP list, the new motion information is not stored in the CHMVP list, and the duplicate motion information can be retained in the CHMVP list.

[0093] When the decoding / encoding of a new CTU row begins, the HMVP list is initialized, and the movement information of the CHMVP list can be stored in the HMVP list.

[0094] Example 2

[0095] When the current block is encoded / decoded by inter-prediction, movement information of the current block can be stored in the HMVP list for the CTU row to which the current block belongs and the CHMVP list for the CTU column to which the current block belongs, respectively.

[0096] A CHMVP list can be created and managed independently for each CTU column within a picture. For example, for a single picture, as many CHMVP lists as there are CTU columns belonging to that picture can be created. For each CTU column, the CHMVP list can be updated during the process of decoding / encoding the blocks belonging to that CTU column. The CHMVP list has a size of N, where N can be an integer greater than or equal to 1.

[0097] The CHMVP list can be managed in a FIFO (First In First Out) manner. Before storing new motion information in the CHMVP list, a redundancy check between the motion information already stored in the CHMVP list and the new motion information may be performed. If there is motion information in the CHMVP list that overlaps with the new motion information, the duplicate motion information may be removed from the CHMVP list and the new motion information may be stored instead.

[0098] Alternatively, the CHMVP list can be managed in a LIFO (Last In First Out) manner. Before storing new motion information in the CHMVP list, a redundancy check can be performed between the motion information already stored in the CHMVP list and the new motion information. If there is motion information that duplicates the new motion information in the CHMVP list, the new motion information is not stored in the CHMVP list, and the duplicate motion information can be retained in the CHMVP list.

[0099] The aforementioned CHMVP list can be used independently or dependently with the HMVP list.

[0100] For example, in the process of generating a candidate list for merge mode, HMVP candidates derived from the HMVP list and CHMVP candidates derived from the CHMVP list may be added to the candidate list as independent merge candidates.

[0101] Alternatively, in the process of generating a candidate list for merge mode, either the HMVP list or the CHMVP list may be optionally used. Either the HMVP candidate derived from the HMVP list or the CHMVP candidate derived from the CHMVP list may be optionally added to the candidate list.

[0102] Alternatively, movement information of the blocks stored in the CHMVP list may also be stored together in the HMVP list. In this case, the CHMVP list stored in the HMVP list may be the CHMVP list for the first CTU column (or the 0th CTU column). Alternatively, the CHMVP list stored in the HMVP list may be the CHMVP list for the last CTU column.

[0103] Referring to FIG. 3, movement information of the current block can be derived based on the candidate list (S310).

[0104] The encoder can generate a predicted block using the movement information of each merge candidate in the generated candidate list and determine the optimal merge candidate based on the rate-distortion cost. The encoder can encode a merge index indicating the determined merge candidate and transmit it to the decoder. The decoder can generate a candidate list in the same way. Based on the signaled merge index, the decoder can specify one of the multiple merge candidates in the candidate list and derive the movement information of the current block based on the movement information of the specified merge candidate.

[0105] Referring to FIG. 3, an inter prediction can be performed for the current block based on the movement information of the current block (S320).

[0106] The various embodiments of the present disclosure are not intended to list all possible combinations but to describe representative aspects of the present disclosure, and the matters described in the various embodiments may be applied independently or in combination of two or more.

[0107] In addition, various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. In the case of implementation by hardware, it 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.

[0108] The scope of the present disclosure includes software or machine-executable instructions (e.g., operating system, application, firmware, program, etc.) that enable an operation according to a method of various embodiments to be executed on a device or computer, and a non-transitory computer-readable medium on which such software or instructions, etc. are stored and executable on a device or computer.

Claims

Claim 1 A video decoding method comprising: a step of generating a candidate list for a current block; a step of deriving motion information of the current block based on the candidate list; and a step of performing inter prediction for the current block based on the motion information of the current block, wherein the motion information of the current block is stored in at least one of an HMVP list for a coding tree unit row (CTU row) to which the current block belongs or a CHMVP list for a coding tree unit column (CTU column) to which the current block belongs. Claim 2 In claim 1, the image decoding method, wherein the CHMVP list is generated when starting the decoding of the first CTU column in the current picture. Claim 3 A video decoding method according to paragraph 2, wherein if the current block belongs to the first CTU column, the motion information of the current block is stored in the CHMVP list. Claim 4 A video decoding method according to claim 1, wherein the HMVP list is initialized in units of CTU rows. Claim 5 In paragraph 4, the motion information belonging to the above CHMVP list is stored in the above HMVP list, a video decoding method. Claim 6 A video decoding method according to claim 1, wherein the CHMVP list is generated independently for each CTU column in the current picture. Claim 7 A video decoding method according to claim 1, wherein an HMVP candidate derived from the HMVP list and a CHMVP candidate derived from the CHMVP list are added to the candidate list as independent merge candidates. Claim 8 A video decoding method according to claim 1, wherein the candidate list is generated by selectively using either the HMVP list or the CHMVP list. Claim 9 A video encoding method comprising: a step of generating a candidate list for a current block; a step of deriving motion information of the current block based on the candidate list; and a step of performing inter prediction for the current block based on the motion information of the current block, wherein the motion information of the current block is stored in at least one of an HMVP list for a coding tree unit row (CTU row) to which the current block belongs or a CHMVP list for a coding tree unit column (CTU column) to which the current block belongs. Claim 10 A computer-readable recording medium that stores a bitstream generated based on the image encoding method of claim 9.