Video encoding / decoding method and device, and recording medium on which bitstream is stored
The use of HIPM-based intra prediction mode candidates, including DIMD, TIMD, and SGPM, addresses the inefficiencies in high-resolution video compression by enhancing prediction accuracy and reducing complexity, thus improving video encoding and decoding efficiency.
Patent Information
- Application Number
- PCT/KR2025/003532
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-22
- Filing Date
- 2025-03-18
- Publication Date
- 2025-09-25
AI Technical Summary
Existing video compression technologies face challenges in efficiently compressing high-resolution images, particularly in generating accurate prediction blocks for intra prediction, leading to high computational and memory complexity.
A method and device for generating a list of intra prediction mode candidates using HIPM (History-based Intra Prediction Mode) to improve prediction accuracy and reduce complexity, incorporating DIMD (Decoder-side Intra Mode Derivation), TIMD (Template-based Intra Mode Derivation), and SGPM (Spatial Geometric Partitioning Mode) candidates, and storing these candidates efficiently in buffers.
This approach enhances compression efficiency by reducing computational and memory complexity while improving the accuracy of prediction blocks, thereby optimizing video encoding and decoding processes.
Smart Images

Figure KR2025003532_25092025_PF_FP_ABST
Abstract
Description
Video encoding / decoding method and device and recording medium storing bitstream
[0001] The present invention relates to a video signal processing method and device.
[0002] The market demand for high-resolution video is growing, necessitating technologies capable of efficiently compressing high-resolution images. To address this market need, 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). They completed development of the HEVC (High Efficiency Video Coding) video compression standard in January 2013 and have been actively conducting research and development on next-generation compression standards.
[0003] Video compression largely consists of intraprediction, interprediction, transform, quantization, entropy coding, and in-loop filtering. Among these, intraprediction refers to a technique that generates a prediction block for the current block using reconstructed pixels surrounding the current block. The encoder encodes the intraprediction mode used for intraprediction, and the decoder performs intraprediction by reconstructing the encoded intraprediction mode.
[0004] The present disclosure provides a method and apparatus for performing HIPM-based intra prediction.
[0005] The present disclosure provides a method and device for generating a list of intra prediction mode candidates for each intra mode based on HIPM.
[0006] The present disclosure provides a method and device for generating a list of integrated intra prediction mode candidates based on HIPM.
[0007] The present disclosure provides a method and device for storing candidates when generating a list of intra prediction mode candidates.
[0008] A video decoding method and device according to the present disclosure comprises the steps of: generating a list of intra prediction mode candidates for a current block; and performing intra prediction on the current block based on at least one candidate among a plurality of candidates included in the list of intra prediction mode candidates, wherein the list of intra prediction mode candidates can be generated based on an HIPM.
[0009] In the video decoding method and device according to the present disclosure, the intra prediction mode candidate list can be generated for each intra mode.
[0010] In the image decoding method and device according to the present disclosure, the intra prediction candidate list can be generated to include at least two or more of a DIMD candidate, a TIMD candidate, or an SGPM candidate.
[0011] In the image decoding method and device according to the present disclosure, the at least one candidate may be a DIMD candidate.
[0012] In the image decoding method and device according to the present disclosure, the at least one candidate may be a TIMD candidate.
[0013] In the image decoding method and device according to the present disclosure, the at least one candidate may be an SGPM candidate.
[0014] In the video decoding method and device according to the present disclosure, the at least one candidate may be sequentially stored in a plurality of buffers in the intra prediction mode candidate list.
[0015] In the video decoding method and device according to the present disclosure, the at least one candidate may be stored in one buffer within the intra prediction mode candidate list.
[0016] In the video decoding method and device according to the present disclosure, the at least two candidates may be stored in a plurality of buffers in the intra prediction mode candidate list, respectively.
[0017] In the image decoding method and device according to the present disclosure, an intra prediction mode may be stored among the information of at least one candidate.
[0018] In the image decoding method and device according to the present disclosure, an intra prediction mode may be stored among the information of at least two candidates.
[0019] A video encoding method and device according to the present disclosure comprises the steps of: generating a list of intra prediction mode candidates for a current block; and performing intra prediction on the current block based on at least one candidate among a plurality of candidates included in the list of intra prediction mode candidates, wherein the list of intra prediction mode candidates can be generated based on an HIPM.
[0020] A computer-readable recording medium according to the present disclosure can store a bitstream encoded by the image encoding method.
[0021] According to the present disclosure, a method and device for performing HIPM-based intra prediction can be provided, thereby reducing computational complexity and improving compression efficiency.
[0022] The present disclosure provides a method and device for generating an intra prediction mode candidate list for each intra mode based on HIPM, thereby improving compression efficiency by increasing the accuracy of a prediction block.
[0023] The present disclosure provides a method and device for generating a list of integrated intra prediction mode candidates based on HIPM, thereby improving compression efficiency by increasing the accuracy of a prediction block.
[0024] The present disclosure provides a method and device for storing candidates when generating an intra prediction mode candidate list, thereby reducing memory complexity and improving compression efficiency.
[0025] FIG. 1 is a block diagram showing an image encoding device according to the present disclosure.
[0026] FIG. 2 is a block diagram showing an image decoding device according to the present disclosure.
[0027] FIG. 3 illustrates an intra prediction method as an embodiment according to the present disclosure.
[0028] A video decoding method and device according to the present disclosure comprises the steps of: generating a list of intra prediction mode candidates for a current block; and performing intra prediction on the current block based on at least one candidate among a plurality of candidates included in the list of intra prediction mode candidates, wherein the list of intra prediction mode candidates can be generated based on an HIPM.
[0029] In the video decoding method and device according to the present disclosure, the intra prediction mode candidate list can be generated for each intra mode.
[0030] In the image decoding method and device according to the present disclosure, the intra prediction candidate list can be generated to include at least two or more of a DIMD candidate, a TIMD candidate, or an SGPM candidate.
[0031] In the image decoding method and device according to the present disclosure, the at least one candidate may be a DIMD candidate.
[0032] In the image decoding method and device according to the present disclosure, the at least one candidate may be a TIMD candidate.
[0033] In the image decoding method and device according to the present disclosure, the at least one candidate may be an SGPM candidate.
[0034] In the video decoding method and device according to the present disclosure, the at least one candidate may be sequentially stored in a plurality of buffers in the intra prediction mode candidate list.
[0035] In the video decoding method and device according to the present disclosure, the at least one candidate may be stored in one buffer within the intra prediction mode candidate list.
[0036] In the video decoding method and device according to the present disclosure, the at least two candidates may be stored in a plurality of buffers in the intra prediction mode candidate list, respectively.
[0037] In the image decoding method and device according to the present disclosure, an intra prediction mode may be stored among the information of at least one candidate.
[0038] In the image decoding method and device according to the present disclosure, an intra prediction mode may be stored among the information of at least two candidates.
[0039] A video encoding method and device according to the present disclosure comprises the steps of: generating a list of intra prediction mode candidates for a current block; and performing intra prediction on the current block based on at least one candidate among a plurality of candidates included in the list of intra prediction mode candidates, wherein the list of intra prediction mode candidates can be generated based on an HIPM.
[0040] A computer-readable recording medium according to the present disclosure can store a bitstream encoded by the image encoding method.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] FIG. 1 is a block diagram showing an image encoding device according to the present disclosure.
[0051] 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).
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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).
[0060] 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.
[0061] 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).
[0062] The rearrangement unit (160) can perform rearrangement of coefficient values for quantized residual values.
[0063] 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.
[0064] 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.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] FIG. 2 is a block diagram showing an image decoding device according to the present disclosure.
[0069] 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).
[0070] 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.
[0071] 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.
[0072] The entropy decoding unit (210) can decode information related to intra prediction and inter prediction performed in the encoder.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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).
[0077] 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.
[0078] 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).
[0079] 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.
[0080] 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.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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.
[0085] 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.
[0086] 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.
[0087] First, the types of intra modes used in this application are briefly explained as follows.
[0088] The HIPM (History-based Intra Prediction Mode) according to the present disclosure may be a method for generating a candidate list of intra prediction modes for a current block from information of neighboring blocks whose decoding has been completed and performing intra prediction. Here, the information may refer to all sub / decoding information required for intra prediction. The information may include intra prediction information used for intra prediction of neighboring blocks. For example, the intra prediction information may include at least one of an intra prediction mode, amplitude information, weight information, or segmentation information.
[0089] The Decoder-side Intra Mode Derivation (DIMD) according to the present disclosure may be a method for deriving an intra prediction mode and performing intra prediction based on the gradient of sample values between reference samples belonging to a surrounding area of a current block. A predetermined filter may be used to calculate the gradient.
[0090] Based on the calculated variation, amplitude information can be derived for each intra prediction mode. The amplitude information is the horizontal variation (gradient x, Gx, G) calculated for reference samples belonging to the surrounding area. hor ) and the change in the vertical direction (gradient y, Gy, G ver ) can mean the sum of the absolute values.
[0091] The top N intra prediction modes can be selected in descending order of the above-described amplitude information, and intra prediction can be performed based on the selected intra prediction modes. N can be an integer greater than or equal to 1. For example, if two intra prediction modes are selected, two prediction blocks can be generated based on the two intra prediction modes, and the final prediction block can be generated by weighting the two prediction blocks based on predetermined weight information.
[0092] TIMD (Template-based Intra Mode Derivation) according to the present disclosure may be a method for deriving an intra prediction mode based on a template region of a current block and performing intra prediction. The template may be a region adjacent to the current block and may be a region 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.
[0093] For example, if two intra prediction modes are derived, two prediction blocks can be generated based on the two intra prediction modes, and a final prediction block can be generated by weighting the two prediction blocks based on predetermined weight information.
[0094] The Spatial Geometric Partitioning Mode (SGPM) according to the present disclosure may be a method of dividing a current block into multiple partitions based on geometric partitioning and performing prediction by applying an intra mode to all partitions of the current block. The partitioning information for the geometric partitioning may be signaled through a bitstream. The Geometric Partitioning Mode may be classified as an inter mode, but the SGPM may also be classified as an intra mode in that it applies the intra mode to all partitions belonging to the current block.
[0095] FIG. 3 illustrates an intra prediction method according to the present disclosure.
[0096] Referring to FIG. 3, a list of intra prediction mode candidates for the current block can be generated (S310).
[0097] A list of intra prediction mode candidates can be generated to perform intra prediction on the current block.
[0098] The number of candidates included in the intra prediction mode candidate list may be N, where N may be an integer greater than or equal to 1.
[0099] One or more candidates included in the intra prediction mode candidate list according to the present disclosure may be stored in the intra prediction mode candidate list according to a predetermined method. For example, the predetermined method may be a First-in First-out (FIFO) method.
[0100] One or more candidates included in the intra prediction mode candidate list according to the present disclosure may be stored in a predetermined structure. For example, the predetermined structure may include a multidimensional array. The multidimensional array may be, for example, a two-dimensional array.
[0101] A list of intra prediction mode candidates according to the present disclosure can be generated based on HIPM.
[0102] For example, according to the present disclosure, an intra prediction mode candidate list can be generated based on an HIPM for each intra mode. Alternatively, according to the present disclosure, an intra prediction mode candidate list can be generated based on an HIPM for at least two intra modes. Below, the method for generating intra mode-specific and / or integrated intra prediction mode candidate lists proposed in the present disclosure will be described in detail.
[0103] Generate candidate list by intra mode
[0104] According to one embodiment of the present disclosure, an intra prediction mode candidate list may be generated for each pre-defined intra mode. Here, the pre-defined intra mode may include at least one of the aforementioned DIMD, TIMD, or SGPM. The intra prediction mode candidate list may include M candidates. Here, M may be an integer greater than or equal to 1.
[0105] For example, the intra prediction mode candidate list may include one or more DIMD candidates. Here, the DIMD candidates may be derived based on blocks previously encoded / decoded using DIMD prior to the current block. That is, the DIMD candidates may contain information used for intra prediction of the corresponding block.
[0106] Here, the information may include at least one of an intra prediction mode, amplitude information, or weight information derived based on DIMD. For example, one DIMD candidate may include five intra prediction modes and / or five amplitude information corresponding thereto. The number of DIMD candidates may be M1. Here, M1 may be an integer greater than or equal to 1.
[0107] For example, the intra prediction mode candidate list may include a TIMD candidate. Here, the TIMD candidate may be derived based on a block that has been encoded / decoded using TIMD before the current block. That is, the TIMD candidate may have information used for intra prediction of the corresponding block. Here, the information may include at least one of an intra prediction mode, cost, or weight information derived based on TIMD. For example, one TIMD candidate may include two intra prediction modes and / or two pieces of weight information corresponding thereto. Alternatively, the number of TIMD candidates may be M2. Here, M2 may be an integer greater than or equal to 1.
[0108] For example, one or more intra prediction mode candidate lists may include SGPM candidates. Here, the SGPM candidates may be derived based on blocks encoded / decoded with SGPM prior to the current block. That is, the SGPM candidates may have information used for intra prediction of the corresponding block. Here, the information may include at least one of an intra prediction mode derived based on SGPM or segmentation information. For example, one SGPM candidate may include two intra prediction modes and / or segmentation information. The number of SGPM candidates may be M3. Here, M3 may be an integer greater than or equal to 1.
[0109] However, the intra prediction mode candidate list may be generated for other intra modes pre-defined in the video encoding / decoding device, not limited to the intra mode disclosed above. In addition, the numerical values and intra prediction information disclosed above are merely examples and are not limited thereto.
[0110] Create a unified list of candidates
[0111] According to one embodiment of the present disclosure, the intra prediction mode candidate list may be configured to include at least two of the aforementioned DIMD candidates, TIMD candidates, or SGPM candidates. The intra prediction mode candidate list may include P candidates, where P may be an integer greater than or equal to 2.
[0112] For example, the first candidate included in the intra prediction mode candidate list according to the present disclosure may be a DIMD candidate, and the second candidate may be a TIMD candidate.
[0113] For example, the first candidate included in the intra prediction mode candidate list according to the present disclosure may be a DIMD candidate, and the second candidate may be an SGPM candidate.
[0114] For example, the first candidate included in the intra prediction mode candidate list according to the present disclosure may be a TIMD candidate, and the second candidate may be an SGPM candidate.
[0115] For example, the first candidate included in the intra prediction mode candidate list according to the present disclosure may be a DIMD candidate, the second candidate may be a TIMD candidate, and the third candidate may be an SGPM candidate.
[0116] However, the above-described candidates are only one example and are not limited thereto.
[0117] According to the method for generating a list of intra-mode and / or integrated intra prediction mode candidates proposed in the present disclosure, a video encoding / decoding device can improve prediction accuracy and enhance compression performance by increasing the information that can be referenced.
[0118] Meanwhile, this disclosure proposes a method for storing candidates in an intra prediction mode candidate list. Below, the method proposed in this disclosure will be examined in detail.
[0119] How to save candidates
[0120] According to one embodiment of the present disclosure, candidates included in the intra prediction mode candidate list may be sequentially stored in the intra prediction mode candidate list. More specifically, they may be sequentially stored in a plurality of buffers within the intra prediction mode candidate list.
[0121] Each buffer may store information about the candidate (e.g., at least one of intra prediction mode, amplitude information, or weight information).
[0122] Alternatively, each buffer may store some information about that candidate.
[0123] For example, each buffer may be configured to store the intra prediction mode among the information of the DIMD candidate, and not store at least one of the amplitude information or the weight information.
[0124] For example, assume that the surrounding blocks of the current block are blocks encoded / decoded based on DIMD, and modes 12, 15, 20, 35, and 43 are derived for the surrounding blocks. In this case, DIMD candidates can be derived from the surrounding blocks, and the derived DIMD candidates can have modes 12, 15, 20, 35, and 43. Modes 12, 15, 20, 35, and 43 of the DIMD candidates can be sequentially stored in multiple buffers within the intra prediction mode candidate list. Specifically, mode 12 can be sequentially stored in the 0th buffer, mode 15 in the 1st buffer, mode 20 in the 2nd buffer, mode 35 in the 3rd buffer, and mode 43 in the 4th buffer.
[0125] For example, each buffer may be configured to store the intra prediction mode among the information of the TIMD candidate, and not store at least one of the cost or weight information.
[0126] For example, each buffer may be configured to store the intra prediction mode information of the SGPM candidate, but not the segmentation information.
[0127] Alternatively, according to one embodiment of the present disclosure, candidates included in the intra prediction mode candidate list may be stored in one buffer.
[0128] For example, modes 12, 15, 20, 35, and 43 of the aforementioned DIMD candidates may be stored together in any one of a plurality of buffers in the intra prediction mode candidate list.
[0129] For example, when multiple DIMD candidates are derived for the current block, the multiple DIMD candidates may be stored in multiple buffers within the intra prediction mode candidate list, respectively. Each buffer may store information about the corresponding DIMD candidate (e.g., at least one of the intra prediction mode, amplitude information, or weight information). Alternatively, the buffer may be configured such that the intra prediction mode among the information of the DIMD candidate is stored, and at least one of the amplitude information or weight information is not stored.
[0130] For example, when multiple TIMD candidates are derived for the current block, the multiple TIMD candidates may be stored in multiple buffers within the intra prediction mode candidate list, respectively. Each buffer may store information about the corresponding TIMD candidate (e.g., at least one of the intra prediction mode, cost, or weight information). Alternatively, the buffer may be configured such that the intra prediction mode among the information of the TIMD candidate is stored, and at least one of the cost or weight information is not stored.
[0131] For example, if multiple SGPM candidates are derived for the current block, the multiple SGPM candidates may be stored in multiple buffers within the intra prediction mode candidate list, respectively. Each buffer may store information about the corresponding SGPM candidate (e.g., at least one of the intra prediction mode and segmentation information). Alternatively, the buffer may be configured such that the intra prediction mode among the information about the SGPM candidate is stored, but segmentation information is not stored.
[0132] The intra prediction mode candidate list may be configured to include at least two of DIMD candidates, TIMD candidates, or SGPM candidates. In this case, at least two of the DIMD candidates, TIMD candidates, or SGPM candidates included in the intra prediction mode candidate list may be stored in multiple buffers within the intra prediction mode candidate list, respectively.
[0133] For example, within the intra prediction mode candidate list, the 0th buffer may store a DIMD candidate, the 1st buffer may store a TIMD candidate, and the 2nd buffer may store an SGPM candidate. As described above, each buffer may of course store all or part of the information of the corresponding candidate.
[0134] Referring to FIG. 3, intra prediction can be performed for a current block based on at least one candidate among a plurality of candidates included in an intra prediction mode candidate list (S320).
[0135] Here, the intra prediction mode candidate list may be an intra prediction mode candidate list generated for each intra mode or an integrated intra prediction mode candidate list.
[0136] An image encoding device can encode index information specifying at least one of a plurality of candidates into a bitstream. An image decoding device can specify at least one of the plurality of candidates based on index information signaled through the bitstream. Intra prediction information for the current block can be derived based on the specified candidate. Intra prediction can be performed based on the derived intra prediction information.
[0137] The intra prediction method according to the present disclosure can be performed identically in an image encoding device and an image decoding device.
[0138] 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.
[0139] 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.
[0140] 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 generating a list of intra prediction mode candidates for the current block; and A step of performing intra prediction on the current block based on at least one candidate among a plurality of candidates included in the intra prediction mode candidate list, A method for decoding an image, wherein the intra prediction mode candidate list is generated based on HIPM.
2. In paragraph 1, A method for decoding an image, wherein the above intra prediction mode candidate list is generated for each intra mode.
3. In paragraph 1, A method for decoding an image, wherein the intra prediction candidate list is generated to include at least two candidates among DIMD candidates, TIMD candidates, or SGPM candidates.
4. In paragraph 2, A method for decoding an image, wherein at least one of the above candidates is a DIMD candidate.
5. In paragraph 2, A method for decoding an image, wherein at least one of the above candidates is a TIMD candidate.
6. In paragraph 2, A method for decoding an image, wherein at least one of the above candidates is an SGPM candidate.
7. In paragraph 2, A video decoding method, wherein at least one of the above candidates is sequentially stored in a plurality of buffers within the intra prediction mode candidate list.
8. In paragraph 2, A method for decoding an image, wherein at least one candidate is stored in one buffer within the intra prediction mode candidate list.
9. In paragraph 3, A video decoding method, wherein the at least two candidates are each stored in a plurality of buffers within the intra prediction mode candidate list.
10. In paragraph 8, A video decoding method, wherein an intra prediction mode is stored among information of at least one candidate.
11. In paragraph 9, A video decoding method, wherein an intra prediction mode is stored among information of at least two candidates.
12. A step of generating a list of intra prediction mode candidates for the current block; and A step of performing intra prediction on the current block based on at least one candidate among a plurality of candidates included in the intra prediction mode candidate list, A method for encoding an image, wherein the intra prediction mode candidate list is generated based on HIPM.
13. A computer-readable recording medium storing a bitstream generated based on the image encoding method according to Article 12.
Citation Information
Patent Citations
Spreading apparatus
KR1020200081343A
A cationic compound having aggregation-induced emission properties and uses thereof
KR1020240014570A
Microspeaker
KR1020240161880A
A coating device of molding sand for detailed mold
KR102463069B1
Method and apparatus for blending prediction in video coding system
WO2024017188A1