Intra prediction method based on adaptive reference line selection
By configuring an intra prediction mode list and using a weighted sum of multiple reference lines for intra prediction, the method addresses inefficiencies in encoding and decoding high-resolution and stereoscopic video, enhancing compression performance.
Patent Information
- Application Number
- PCT/KR2025/008470
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-20
- Filing Date
- 2025-06-19
- Publication Date
- 2025-12-26
AI Technical Summary
Existing video compression technologies struggle to efficiently encode and decode high-resolution and stereoscopic video content, particularly in intra-prediction processes, leading to suboptimal compression performance.
The method involves configuring an intra prediction mode list for a current block based on its size, using reference line information from surrounding blocks, and performing intra prediction through a weighted sum of multiple reference lines, including adjacent and non-adjacent lines, to generate a prediction block.
This approach enhances compression performance by enabling more accurate prediction, improving the efficiency of video encoding and decoding processes for high-resolution and stereoscopic content.
Smart Images

Figure KR2025008470_26122025_PF_FP_ABST
Abstract
Description
An in-screen prediction method based on adaptive reference line selection
[0001] The present invention relates to an encoder and a decoder, and more particularly, to a method and device for encoding and decoding for in-screen prediction.
[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), which completed development of the HEVC (High Efficiency Video Coding) video compression standard in January 2013 and has been actively conducting research and development on next-generation compression standards.
[0003] Technologies applied to video compression can broadly include intra-prediction, inter-prediction, transform, quantization, entropy coding, and / or in-loop filters. Meanwhile, as demand for high-resolution video increases, so does the demand for stereoscopic video content as a new video service. Accordingly, active discussions are underway on video compression technologies to effectively provide high-resolution and ultra-high-resolution stereoscopic video content.
[0004] The present disclosure provides a method and device for configuring an intra prediction mode list of a current block.
[0005] The present disclosure provides a method and device for obtaining reference line information for intra prediction of a current block.
[0006] The present disclosure provides a method and device for determining a context model for obtaining reference line information of a current block.
[0007] The present disclosure provides a method and device for constructing a reference line list for obtaining reference line information of a current block.
[0008] The present disclosure provides a method and device for generating a prediction block of a current block through a prediction block generated based on a plurality of reference lines.
[0009] The video decoding method and device according to the present disclosure can configure an intra prediction mode list of a current block, determine an intra prediction mode of the current block based on the intra prediction mode list, generate a prediction block of the current block based on the intra prediction mode, and reconstruct the current block based on the prediction block.
[0010] In the video decoding method and device according to the present disclosure, the intra prediction mode list can be configured based on a comparison result between the size of the current block and a predetermined size.
[0011] In the image decoding method and device according to the present disclosure, when the size of the current block is greater than or equal to the predetermined size, the intra prediction mode list can be configured based on prediction information of a reference block restored by a directional prediction mode among surrounding reference blocks of the current block.
[0012] The video decoding method and device according to the present disclosure can, when the intra prediction mode of the current block is a directional prediction mode, obtain reference line information of the current block and perform intra prediction based on the reference line information to generate a prediction block of the current block.
[0013] In the video decoding method and device according to the present disclosure, reference line information of the current block can be obtained from a bitstream based on a context model of the current block. Here, the context model can be determined based on information of previously restored reference blocks surrounding the current block.
[0014] In the image decoding method and device according to the present disclosure, the information of the pre-restored reference block may include at least one of whether the pre-restored reference block uses a non-adjacent reference line, a positional relationship with the current block, or a directionality of a prediction mode.
[0015] In the image decoding method and device according to the present disclosure, the reference line information of the current block can be obtained based on a first flag indicating whether the current block uses reference line information of a surrounding reference block.
[0016] In the image decoding method and device according to the present disclosure, the reference line information of the current block can be obtained based on a first flag indicating that the current block does not use reference line information of the surrounding reference block, and a second flag indicating whether the distance between the current block and the left reference line and the distance between the current block and the upper reference line are different.
[0017] In the image decoding method and device according to the present disclosure, the reference line information of the current block can be obtained based on a reference line list of the current block, and the reference line list can be configured by rearranging a plurality of non-adjacent reference line candidates based on a template line of the current block.
[0018] In the image decoding method and device according to the present disclosure, when the obtained reference line information indicates a non-adjacent reference line, intra prediction of the current block can be performed through a weighted sum of a plurality of prediction blocks generated using each of a plurality of reference lines including adjacent reference lines and non-adjacent reference lines determined based on the reference line information.
[0019] In the image decoding method and device according to the present disclosure, intra prediction of the current block can be performed through a weighted sum of a prediction block generated based on a single reference line by a directional intra prediction mode of the current block and a prediction block generated based on the single reference line by a mode having a direction similar to the directional intra prediction mode.
[0020] In the image decoding method and device according to the present disclosure, intra prediction of the current block can be performed based on a new reference line generated based on the reference line information.
[0021] The video encoding method and device according to the present disclosure can configure an intra prediction mode list of a current block, determine an intra prediction mode of the current block based on the intra prediction mode list, and encode information regarding intra prediction of the current block. Here, the information regarding intra prediction can include at least one of intra prediction mode information of the current block or reference line information of the current block.
[0022] A computer-readable recording medium according to the present disclosure can store a bitstream encoded by the image encoding method.
[0023] The bitstream transmission method and device according to the present disclosure can transmit a bitstream generated by the image encoding method.
[0024] According to the present disclosure, by constructing an intra prediction mode list based on the block size of the current block, more efficient prediction is possible, thereby improving the compression performance of the encoder / decoder.
[0025] According to the present disclosure, by generating a prediction block of a current block using non-adjacent reference lines, more accurate prediction becomes possible, thereby improving the compression performance of a decoder / encoder.
[0026] According to the present disclosure, by generating a prediction block of a current block through a weighted sum of prediction blocks generated based on a plurality of reference lines, more accurate prediction is possible, thereby improving the compression performance of a decoder / encoder.
[0027] FIG. 1 is a block diagram showing an image encoding device according to the present disclosure.
[0028] FIG. 2 is a block diagram showing an image decoding device according to the present disclosure.
[0029] FIG. 3 is a flowchart illustrating a method for constructing an intra prediction mode list according to the present disclosure.
[0030] FIG. 4 is a diagram illustrating a reference line used for intra prediction according to the present disclosure.
[0031] FIG. 5 is a diagram showing examples of surrounding reference blocks used to derive reference line information according to the present disclosure.
[0032] FIG. 6 is a flowchart illustrating a method for obtaining reference line information of a current block according to the present disclosure.
[0033] FIG. 7 is a flowchart illustrating a method for constructing a reference line list of a current block according to the present disclosure.
[0034] 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.
[0035] 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.
[0036] 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 otherwise specifically stated.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] First, the terms used in this application are briefly explained as follows.
[0042] The decoding device (Video Decoding Apparatus) described below may be a device included in a server terminal such as a civilian security camera, a civilian security system, a military security camera, a military security system, a personal computer (PC), a laptop computer, a portable multimedia player (PMP), a wireless communication terminal, a smart phone, a TV application server, a service server, etc., and may refer to various devices including user terminals such as various devices, communication devices such as a communication modem for communicating with a wired or wireless communication network, a memory for storing various programs and data for decoding a video or predicting between or within a screen for decoding, and a microprocessor for executing a program for calculation and control.
[0043] In addition, an image encoded into a bitstream by an encoder can be transmitted to an image decoding device through wired or wireless communication networks such as the Internet, a local area network, a wireless LAN, a WiBro network, a mobile communication network, etc. in real time or non-real time, or through various communication interfaces such as a cable or a universal serial bus (USB), and can be decoded, restored into an image, and played back. Alternatively, the bitstream generated by the encoder can be stored in memory. The memory can include both volatile memory and non-volatile memory. In this specification, the memory can be expressed as a recording medium that stores a bitstream.
[0044] Typically, a video may be composed of a series of pictures, and each picture may be divided into coding units such as blocks. In addition, those skilled in the art to which this embodiment pertains will understand that the term "picture" described below may be replaced with other terms having equivalent meanings, such as "image" or "frame." In addition, those skilled in the art to which this embodiment pertains will understand that the term "coding unit" may be replaced with other terms having equivalent meanings, such as "unit block" or "block."
[0045] 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.
[0046] Fig. 1 is a block diagram illustrating a video encoding device according to the present invention. Referring to Fig. 1, a conventional 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 rearrangement 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).
[0047] 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). In the following embodiments of the present invention, the coding unit may be used to mean a unit that performs encoding or a unit that performs decoding.
[0048] 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.
[0049] The prediction unit (120, 125) may include an inter prediction unit (120) that performs inter prediction or inter-screen prediction, and an intra prediction unit (125) that performs intra prediction or intra-screen 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. However, when the motion information derivation technique on the decoder side according to the present invention is applied, the encoder does not generate the prediction mode information, motion vector information, etc., and therefore the corresponding information is not transmitted to the decoder. On the other hand, it is possible to signal and transmit information indicating that motion information is to be derived and used from the decoder side and information about the technique used to derive the motion information from the encoder.
[0050] 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.
[0051] 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.
[0052] The motion prediction unit can perform motion prediction based on a reference picture interpolated by the reference picture interpolation unit. Various methods can be used to derive a motion vector, such as FBMA (Full search-based Block Matching Algorithm), TSS (Three Step Search), and NTS (New Three-Step Search Algorithm). 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 can be used as motion prediction methods, such as the Skip method, the Merge method, the AMVP (Advanced Motion Vector Prediction) method, and the Intra Block Copy method.
[0053] 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.
[0054] 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).
[0055] 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.
[0056] 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).
[0057] The rearrangement unit (160) can perform rearrangement of coefficient values for quantized residual values.
[0058] 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.
[0059] 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 an encoding unit from the rearrangement unit (160) and the prediction units (120, 125). In addition, according to the present invention, it is possible to signal and transmit information indicating that motion information is derived and used from the decoder side and information on a technique used to derive motion information.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] Figure 2 is a block diagram illustrating an image decoding device according to the present invention. Referring to Figure 2, an image decoder (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).
[0064] When a video bitstream is input to a video encoder, the input bitstream can be decoded in the opposite procedure to that of the video encoder.
[0065] 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.
[0066] The entropy decoding unit (210) can decode information related to intra prediction and inter prediction performed in the encoder.
[0067] 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.
[0068] 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.
[0069] 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.
[0070] The prediction unit (230, 235) can generate a prediction block based on prediction block generation related information provided from the entropy decoding unit (210) and previously decoded block or picture information provided from the memory (245).
[0071] As described above, when performing intra prediction or intra-screen prediction in the same manner as the operation in the video 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.
[0072] 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 (23) performs prediction based on the information transmitted from the encoder (100).
[0073] 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 next picture of the current picture including the current prediction unit, using information necessary for inter prediction of the current prediction unit provided by the video encoder. In order to perform inter prediction, it can be determined based on the coding unit whether the motion prediction method of the prediction unit included in the corresponding coding unit is one of Skip Mode, Merge Mode, AMVP Mode, and Intra Block Copy Mode. Alternatively, the inter prediction unit (230) can perform inter prediction by deriving motion information on its own from information provided by the video encoder that instructs the decoder to use the motion information and information on a technique used to derive the motion information.
[0074] The intra prediction unit (235) can generate a prediction block based on pixel information in 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. The intra prediction unit (235) can include an AIS (Adaptive Intra Smoothing) 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 and apply whether to apply the filter according to 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 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.
[0075] 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.
[0076] 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.
[0077] Information about whether a deblocking filter has been applied to a corresponding block or picture can be received from the video encoder, 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.
[0078] 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.
[0079] 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.
[0080] The derivation of the intra prediction mode of the current block will be examined with reference to Fig. 3.
[0081] The determination of a predetermined reference line for intra prediction of the current block will be examined with reference to FIGS. 4 to 7.
[0082] FIG. 3 is a flowchart illustrating a method for constructing an intra prediction mode list according to the present disclosure.
[0083] Referring to FIG. 3, the image encoding / decoding method and device according to the present invention can configure an intra prediction mode list of the current block when the current block is predicted in intra mode.
[0084] For example, the intra prediction mode list may include a non-directional prediction mode. The non-directional prediction mode may be at least one of a DC mode, a smooth mode, a smooth vertical mode, a smooth horizontal mode, or a PAETH mode. Here, the DC mode is a method of generating a prediction block of the current block by using at least one of the average value of the reference samples adjacent to the upper side of the current block or the average value of the reference samples adjacent to the left side. In addition, the smooth vertical mode is a mode of generating a prediction value of the current pixel by using a reference sample located above and a reference sample located at the lower left side based on the position of the current sample through distance-based weighted interpolation, and the smooth horizontal mode is a mode of generating a prediction value of the current pixel by using a reference sample located at the left side and a reference sample located at the upper right side based on the position of the current sample through distance-based weighted interpolation. In addition, the smooth mode is a mode in which the average of the prediction values generated based on the smooth vertical mode and the smooth horizontal mode is used as the prediction value of the current pixel. Additionally, the PAETH mode is a mode that derives a prediction value of the current pixel based on the reference sample located above the current sample, the reference sample located to the left, and the upper left reference sample of the current block.
[0085] If a non-directional prediction mode is available for the current block, the non-directional prediction mode may be added to the intra prediction mode list in a pre-defined order. For example, the intra prediction mode list may be added in the following order: DC mode, smooth mode, smooth vertical mode, smooth horizontal mode, and PAETH mode.
[0086] In addition, it is possible to determine whether to construct an intra prediction mode list based on prediction information of pre-restored reference blocks around the current block by comparing the size of the current block with a predetermined size (NxM). At this time, N and M may each be integers greater than or equal to 1. Here, the pre-restored reference blocks are referred to as block A and block B. The block A refers to a block adjacent to the top of the current block, and the block adjacent to the top may be a concept including at least one of an upper reference block or an upper-right reference block. In addition, the block B refers to a block adjacent to the left of the current block, and the block adjacent to the left may be a concept including at least one of a left reference block or a lower-left reference block.
[0087] For example, if the size of the current block is smaller than NxM, a fixed mode may be added to the intra prediction mode list. The fixed mode may be an intra prediction mode applicable to the current block by considering at least one of the size of the current block or the ratio of the width and height. In addition, the fixed mode may be an intra prediction mode other than a non-directional prediction mode among the intra prediction modes applicable to the current block. The fixed mode may be added to the intra prediction mode list according to an order set in the same manner in the encoder and decoder. In this case, the NxM may be 8x8.
[0088] As another example, if the size of the current block is greater than or equal to NxM and both blocks A and B are not reference blocks restored in a directional prediction mode, a fixed mode may be added to the intra prediction mode list of the current block. Here, the fixed mode may be the same as the fixed mode described above.
[0089] Conversely, if the size of the current block is greater than or equal to NxM and at least one reference block among the A block or the B block is a reference block restored with a directional prediction mode, the directional prediction mode of the corresponding reference block may be added to the intra prediction mode list of the current block. Specifically, if both the A block and the B block are restored with a directional prediction mode, the directional prediction modes of the A block and the B block may be added to the intra prediction mode list. Alternatively, if only the B block is restored with a directional prediction mode, the directional prediction mode of the B block may be added to the intra prediction mode list, and if only the A block is restored with a directional prediction mode, the directional prediction mode of the A block may be added to the intra prediction mode list.
[0090] As another example, the pre-reconstructed reference blocks adjacent to the top of the current block may be searched for in an order identically set in the encoder and decoder, and an intra-prediction mode list may be constructed based on the prediction mode of the first reference block predicted in a directional prediction mode among the reference blocks. Alternatively, the pre-reconstructed reference blocks adjacent to the left of the current block may be searched for in an order identically set in the encoder and decoder, and an intra-prediction mode list may be constructed based on the prediction mode of the first reference block predicted in a directional prediction mode among the reference blocks. Here, the pre-reconstructed reference blocks adjacent to the top of the current block may include block A, and the pre-reconstructed reference blocks adjacent to the left of the current block may include block B.
[0091] In addition, a prediction mode having a directionality similar to that of the directional prediction mode of the reference block included in the intra prediction mode list may be additionally included. For example, when the directional prediction mode of the reference block is added to the intra prediction mode list, at least one of the directional prediction modes having a difference of +1, -1, +2, -2, +3, -3, +4, or -4 based on the directional prediction mode number may be additionally included in the intra prediction mode list in a predetermined order. Additionally, a predetermined fixed mode may be added to the intra prediction mode list. At this time, the fixed mode may be added after the directional prediction mode having a similar directionality is added, and may be added in an order set identically in the encoder and the decoder. Here, the fixed mode may be the same as the fixed mode described above.
[0092] As another example, if the size of the current block is smaller than a predetermined threshold size, the process of adding a prediction mode having a directionality similar to the directional prediction mode of the surrounding reference block to the intra prediction mode list may be omitted, and a fixed mode may be added to the intra prediction mode list in a predetermined order. At this time, a fixed mode that overlaps with candidates already added may not be added, the fixed mode may be the same as the fixed mode described above, and the predetermined order may be an order set identically in the encoder and decoder. Here, the size of the current block may be any one of the width, the height, the maximum / minimum values of the width and the height, or the product of the width and the height of the current block. In addition, the threshold size may be 64.
[0093] When intra prediction is applied to the current block, which prediction mode within the intra prediction mode list is used for prediction can be determined based on index information.
[0094] FIG. 4 is a diagram illustrating a reference line used for intra prediction according to the present disclosure.
[0095] Referring to FIG. 4, reference line 0 may mean a reference line adjacent to the current block, and reference line 1, reference line 2, reference line 3, etc., excluding reference line 0, may mean reference lines that are not adjacent to the current block.
[0096] If the intra prediction mode of the current block is determined to be a directional intra prediction mode, reference line information of the current block can be obtained. For example, the decoder can obtain the reference line information by parsing it from a bitstream. Specifically, a context model of the current block can be determined based on the reference line information of previously restored reference blocks surrounding the current block, and the reference line information of the current block can be obtained by parsing the bitstream based on the context model.
[0097] FIG. 5 is a diagram showing examples of surrounding reference blocks used to derive reference line information of a current block according to the present disclosure.
[0098] The decoder can sequentially search for some or all of the BL, AR, L, or A reference blocks of FIG. 5 in a predetermined order, and derive a context model of the current block based on whether the searched blocks use non-adjacent reference lines. At this time, the predetermined order may be, for example, BL, AR, L, A. For example, the context model of the current block may be derived based on the number of surrounding reference blocks for which prediction is performed based on non-adjacent reference lines. For example, different context models may be determined depending on whether the number of surrounding reference blocks is 2 or more, 1, or 0.
[0099] As another example, the context model of the current block may be determined by additionally considering the positional relationship between the surrounding reference blocks and the current block. Specifically, the context model of the current block may be determined based on at least one of the following: an upper reference block adjacent to the extension of the left boundary of the current block, or a left reference block adjacent to the extension of the upper boundary, among the surrounding reference blocks for which prediction was performed based on non-adjacent reference lines.
[0100] As another example, the context model of the current block can be determined by additionally considering the directionality of the intra prediction mode of the surrounding reference blocks. The directionality of the intra prediction mode is the prediction angle. If it is less than 135 degrees, it can be classified as vertical directionality, and if it is greater than or equal to 135 degrees, it can be classified as horizontal directionality. At this time, the directionality of the prediction mode of the reference block can mean the directionality according to the direction in which the actual prediction was performed. That is, if the prediction of the reference block is performed by wide angle intra prediction (WAIP), the directionality of the prediction mode in which the actual prediction was performed by mapping the prediction mode, rather than the directionality of the signaled prediction mode, can be considered when determining the context model of the current block. The mapping can be performed by rotating the prediction direction of the signaled prediction mode by a certain angle, and the certain angle can be 180 degrees.
[0101] For example, the context model of the current block may be determined based on a reference block that is reconstructed using a horizontal intra prediction mode among the upper reference blocks that are reconstructed based on a non-adjacent reference line and that touch the extension of the left boundary of the current block. Alternatively, the context model of the current block may be determined based on a reference block that is reconstructed using a vertical intra prediction mode among the left reference blocks that are reconstructed based on a non-adjacent reference line and that touch the extension of the upper boundary of the current block. In this case, the directionality of the intra prediction mode may mean the directionality of the directional prediction mode to which the prediction mode is mapped, not the directionality of the signaled prediction mode.
[0102] If the size of the current block is less than or equal to RxS, the current block can be predicted based on the nearest reference line, regardless of the acquired reference line information. In this case, R and S can each be 4.
[0103] FIG. 6 is a flowchart illustrating a method for obtaining reference line information of a current block according to the present disclosure.
[0104] If the intra prediction mode of the current block is determined to be a directional intra prediction mode, reference line information of the current block can be obtained. For example, the decoder can parse a first flag from the bitstream. The first flag can be a flag indicating whether the current block uses reference line information of a surrounding reference block. Specifically, if the first flag has a value of 1, the reference line of the current block can be determined based on the reference line information of the surrounding blocks. At this time, some or all of the BL, AR, L, or A reference blocks illustrated in FIG. 5 are searched for in an order defined in the same manner for the encoder and decoder, and the reference line information of the first reference block predicted based on a non-adjacent reference line among the searched reference blocks can be used as the reference line information of the current block.
[0105] Alternatively, when the first flag has a value of 1, some or all of the plurality of reference blocks illustrated in FIG. 5 may be searched in a pre-defined order, and reference line information of reference blocks predicted based on non-adjacent reference lines among the searched reference blocks may be configured as a list. At this time, the list may be configured based on at least one of the position of the reference block or the pre-defined order. The list may be used to obtain reference line information of the current block. For example, the reference line information of the current block may be determined based on a signaled index.
[0106] Conversely, when the first flag has a value of 0, the decoder can parse the second flag from the bitstream. The second flag may be a flag indicating whether the distance between the current block and the left reference line and the distance between the current block and the upper reference line are different. Specifically, when the second flag has a value of 1, the upper reference line and the left reference line of the current block may have different reference line indices. For example, the upper reference line of the current block may be determined as reference line 2, and the left reference line may be determined as reference line 3.
[0107] For example, the decoder can first parse the left reference line index from the bitstream, and then parse the upper reference line index based on the rearranged reference line index by excluding the left reference line index. As a more specific example, if the left reference line is determined as reference line 2, the indices for the remaining reference lines (e.g., reference lines 0, 1, 3, 4, etc.) can be rearranged to 0, 1, 2, 3, etc., and the upper reference line can be determined based on the rearranged indices.
[0108] As another example, the decoder may receive a signal for an upper reference line index after receiving a signal for a left reference line index. In this case, if the left reference line index is less than or equal to the upper reference line index, the final upper reference line index may be determined as a value obtained by adding 1 to the signaled upper reference line index.
[0109] As another example, the decoder may be signaled a left reference line index and determine the upper reference line index as the left reference line index plus 1.
[0110] As another example, the decoder can determine the left reference line index and the top reference line index based on the signaled single index by referring to a predetermined table. In this case, the predetermined table is a table that is defined identically in the encoder and the decoder, and for example, the reference line index pair corresponding to index 0 can be configured as (left: reference line 0, top: reference line 1), the pair corresponding to index 1 can be configured as (left: reference line 1, top: reference line 0), etc.
[0111] The examples described above can be equally applied to cases where the left reference line index is parsed first, as well as cases where the top reference line index is parsed first.
[0112] FIG. 7 is a flowchart illustrating a method for constructing a reference line list of a current block according to the present disclosure.
[0113] Referring to FIG. 7, the video encoding / decoding method and device according to the present invention can rearrange the reference line list of the current block based on a template line when the current block is predicted based on a directional intra prediction mode and a non-adjacent reference line. Here, the template line may mean a reference line adjacent to the current block (reference line 0), and the distance between the current block and the upper non-adjacent reference line and the distance between the current block and the left non-adjacent reference line may be the same.
[0114] For example, the rearrangement of the reference line list can be performed based on a template cost calculated through predicted samples within the template line based on the pre-reconstructed samples within the template line and the directional prediction mode of the current block and the non-adjacent reference lines applicable to the current block. The template cost can be calculated as at least one of a Mean Squared Error (MSE), a Mean Absolute Error (MAE), a Sum of Absolute Difference (SAD), or a Sum of Absolute Transformed Difference (SATD) between the pre-reconstructed samples and the predicted samples. In this case, the first item in the reconstructed reference line list can be a reference line adjacent to the current block (reference line 0), which can correspond to an index of 0.
[0115] The decoder can obtain reference line information of the current block from a reference line list reconstructed based on the signaled index. Alternatively, without reconstructing the reference line list, the reference line with the lowest template cost can be selected as the reference line of the current block.
[0116] Below, we will look at the step of generating a prediction block of the current block using multiple reference lines when the intra prediction mode of the current block is a directional prediction mode.
[0117] The current block can be predicted based on multiple reference lines. For example, each prediction block can be generated based on multiple signaled reference line indices, and the prediction block of the current block can be generated based on the prediction blocks. At this time, if the reference line index signaled first is less than or equal to the reference line index signaled later, the reference line index signaled later can be used after being corrected to a value that adds 1. The prediction block (pred) of the current block according to the above embodiment can be generated as shown in the following mathematical expression 1.
[0118]
[0119] In mathematical expression 1, p line1 can be a predicted block based on the first signaled reference line index, and p line2 can be a predicted block predicted based on the reference line index signaled later. In addition, w0 and w1 are p line1 and p line2 , and can satisfy the relationship w0+ w1= 1. The weight may be signaled or derived based on the distance between the current block and the reference line. Alternatively, the weight may be a fixed value that is identically pre-defined for the encoder and decoder. For example, the weights w0 and w1 The ratio can be 3:1.
[0120] As another example, a plurality of prediction blocks may be generated based on a signaled reference line index and a reference line index derived based on the index, and a prediction block of a current block may be generated based on the plurality of prediction blocks. At this time, the derived reference line index may correspond to a value obtained by adding p to the signaled reference line index. Here, p may be an integer including 0, and may be adaptively determined according to the signaled reference line index. The prediction block (pred) of the current block according to the above embodiment may be generated as in the following mathematical expression 2 or mathematical expression 3.
[0121]
[0122]
[0123] In Equation 2 or Equation 3, p line_a can be a predicted block based on the signaled reference line index, and p line_b can be a predicted block based on the derived reference line index, and w0 and w1 are p line_a and p line_b It can be a weight corresponding to. The above w0 and w1 can satisfy the relationship w0+ w1= 1 in mathematical expression 2, and w0+ w1= 2 in mathematical expression 3. a can satisfy the relationship. In addition, the weights may be signaled or derived based on the distance between the current block and the reference line. Alternatively, the weights may be fixed values that are identically pre-defined for the encoder and decoder. For example, the weights w0 and w1 The ratio can be 3:1 or 1:1.
[0124] As another example, when the signaled reference line index is not 0, a plurality of prediction blocks may be generated based on the reference line determined by the signaled reference line index and the adjacent reference line (reference line 0) of the current block, and a prediction block of the current block may be generated based on the plurality of prediction blocks. The prediction block (pred) of the current block according to the above embodiment may be generated as in the above mathematical expression 2 or mathematical expression 3. At this time, p line_a can be a predicted block based on the signaled reference line index, and p line_b may be a predicted block predicted based on the adjacent reference line (reference line 0) of the current block.
[0125] As another example, if at least one of the left boundary or the top boundary of the current block corresponds to the boundary of the tile currently being decoded, or if a Super Block (SB) is adjacent to the left or top of the current block, prediction can be performed using only the adjacent reference lines in that direction.
[0126] In the above embodiments, whether weighted summation is performed can be determined based on additionally signaled predetermined encoding information when the signaled reference line index is not 0.
[0127] As another example, a new reference line may be generated based on a plurality of surrounding reference lines of the current block, and prediction of the current block may be performed based on the new reference line. Specifically, a new reference line may be generated through a weighted sum of samples at the same position in a plurality of surrounding reference lines for the current block. Furthermore, an interpolation filter may be additionally applied to the new reference line. Prediction of the current block may be performed based on the generated (or interpolated) reference line. The new reference line (C[i]) according to the above embodiment may be generated as in the following mathematical expression 4.
[0128]
[0129] In mathematical expression 4, A[i] and B[i] may be reference lines around the current block. Here, i is an index indicating the position of each sample within the reference line and may be an integer greater than or equal to 0. In addition, w0 and w1 may be weights corresponding to A[i] and B[i], respectively, and may satisfy the relationship w0+ w1= 1. The weights may be signaled or derived based on the distance between the current block and the reference line. Alternatively, the weights may be fixed values that are identically pre-defined in the encoder and decoder. For example, the weights w0 and w1 The ratio can be 3:1. Whether or not to perform the above weighted sum can be determined by considering the directionality of the directional intra prediction mode of the current block.
[0130] Below, we will look at the step of generating a prediction block of the current block through a weighted sum of multiple prediction blocks predicted based on a single reference line when the intra prediction mode of the current block is a directional prediction mode.
[0131] The current block can be predicted based on a single reference line and multiple directional intra prediction modes having similar directionality. For example, the prediction block of the current block can be generated through a weighted sum of a prediction block generated based on the directional prediction mode of the current block and a prediction block generated based on a directional prediction mode having a similar directionality to the directional prediction mode. In this case, the multiple prediction blocks used in the weighted sum can be generated based on the same reference line. The prediction block (pred) of the current block according to the above embodiment can be generated as shown in the following mathematical expression 5.
[0132]
[0133] In mathematical equation 5, p directmay be a predicted block predicted based on the acquired reference line information and directional prediction mode of the current block, and p' direct may be a predicted block predicted based on the obtained reference line information and the directional prediction mode index corresponding to the value of adding or subtracting K from the index of the directional prediction mode. At this time, K may be a natural number such as 1, 2, 3, etc. In addition, w0 and w1 are each p direct and p' direct , and can satisfy the relationship w0+ w1= 1. The weight may be signaled or derived based on the distance between the current block and the reference line. Alternatively, the weight may be a fixed value that is identically pre-defined for the encoder and decoder. For example, the weights w0 and w1 The ratio can be 3:1.
[0134] Alternatively, the prediction block (pred) of the current block according to the above embodiment can be generated through a weighted sum between three prediction blocks as in the following mathematical expression 6.
[0135]
[0136] In Equation 6, p direct may be a predicted block predicted based on the acquired reference line information and directional prediction mode of the current block, and p' direct may be a predicted block predicted based on the obtained reference line information and the directional prediction mode index corresponding to the value obtained by adding I to the index of the directional prediction mode, and p'' direct may be a predicted block predicted based on the obtained reference line information and the directional prediction mode index corresponding to the value obtained by subtracting J from the index of the directional prediction mode. At this time, I and J may be natural numbers such as 1, 2, 3, etc., respectively. In addition, w0, w1, and w2 are each p direct , p' direct and p''direct , and can satisfy the relationship w0+ w1+ w2= 1. The weights may be signaled or derived based on the distance between the current block and the reference line. Alternatively, the weights may be fixed values that are identically pre-defined for the encoder and decoder. For example, the weights w0, w1, and w2 The ratio can be 2:1:1.
[0137] Below, we will look at a step of generating a prediction block of the current block based on prediction-related information of a luma component block corresponding to the chroma component block when the current block is a chroma component block and the prediction mode is an intra prediction mode.
[0138] For example, if the current block is a chrominance component block predicted through intra prediction, a prediction block of the current block can be generated using the intra prediction mode of a luminance component block corresponding to the current block. At this time, if the luminance component block is predicted based on a non-adjacent reference line, the current block can also be predicted based on the non-adjacent reference line. At this time, the non-adjacent reference line referred to by the current block can be determined based on the color format of the input video. For example, if the color format of the input video is YUV 4:2:0 and the distance to the non-adjacent reference line referred to by the luminance component block is 4, the distance to the non-adjacent reference line referred to by the current block can be determined as 2.
[0139] When the above luminance component block generates a prediction block through a weighted sum based on a plurality of non-adjacent reference lines or a plurality of directional intra prediction modes, the current block can generate a prediction block based on a non-adjacent reference line or directional intra prediction mode to which the highest weight is assigned in the weighted sum.
[0140] 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.
[0141] 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.
[0142] 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.
[0143] The present disclosure can be industrially utilized in the fields of methods, devices, and recording media for video encoding / decoding.
Claims
1. A step of constructing an intra prediction mode list of the current block; A step of determining an intra prediction mode of the current block based on the intra prediction mode list; A step of generating a prediction block of the current block based on the intra prediction mode; and An image decoding method, comprising a step of restoring the current block based on the predicted block.
2. In paragraph 1, A video decoding method, wherein the intra prediction mode list is configured based on a comparison result between the size of the current block and a predetermined size.
3. In paragraph 2, A video decoding method, wherein, when the size of the current block is greater than or equal to the predetermined size, the intra prediction mode list is configured based on prediction information of a reference block restored by a directional prediction mode among surrounding reference blocks of the current block.
4. In paragraph 1, If the intra prediction mode of the current block is a directional prediction mode, the step of generating a prediction block of the current block is: A step of obtaining reference line information of the current block; and An image decoding method, comprising a step of performing intra prediction based on the above reference line information.
5. In paragraph 4, The reference line information of the current block is obtained from the bitstream based on the context model of the current block, A method for decoding an image, wherein the context model is determined based on information of a pre-restored reference block surrounding the current block.
6. In paragraph 5, A method for decoding an image, wherein the information of the above-described restored reference block includes at least one of whether the above-described restored reference block uses a non-adjacent reference line, a positional relationship with the current block, or a directionality of a prediction mode.
7. In paragraph 4, An image decoding method, wherein the reference line information of the current block is obtained based on a first flag indicating whether the current block uses reference line information of a surrounding reference block.
8. In paragraph 7, A video decoding method, wherein the reference line information of the current block is obtained based on a first flag indicating that the current block does not use reference line information of the surrounding reference block, and a second flag indicating whether the distance between the current block and the left reference line and the distance between the current block and the upper reference line are different.
9. In paragraph 4, The reference line information of the current block is obtained based on the reference line list of the current block, A method for decoding an image, wherein the above reference line list is configured by rearranging a plurality of non-adjacent reference line candidates based on a template line of the current block.
10. In paragraph 4, If the above-mentioned acquired reference line information represents a non-adjacent reference line, Based on the above reference line information, a plurality of reference lines including adjacent reference lines and non-adjacent reference lines are determined, An image decoding method wherein the above intra prediction is performed through a weighted sum of a plurality of prediction blocks generated based on each of the plurality of reference lines.
11. In paragraph 4, A video decoding method, wherein the intra prediction is performed through a weighted sum of a prediction block generated based on a single reference line by a directional intra prediction mode of the current block and a prediction block generated based on the single reference line by a mode having a direction similar to the directional intra prediction mode.
12. In paragraph 4, An image decoding method wherein the above intra prediction is performed based on a new reference line generated based on the above reference line information.
13. Step of constructing an intra prediction mode list of the current block; A step of determining an intra prediction mode of the current block based on the intra prediction mode list; and A step of encoding information regarding intra prediction of the current block, A video encoding method, wherein the information regarding the intra prediction includes at least one of intra prediction mode information of the current block or reference line information of the current block.
14. A computer-readable storage medium for storing a bitstream generated by the image encoding method according to Article 13.
15. A method for transmitting a bitstream generated by a video encoding method according to Article 13.
Citation Information
Patent Citations
Composition Comprising Polyphenol
KR1020210056221A
Photosensitive composition and photoresist dry film made therefrom
KR1020220115069A
Powder type boiler compound and compound equipment
KR1020240049142A
Liquid electrolyte, and rechargeable lithium battery including the same
KR1020250019485A
Device for analysing bdoy
KR102186747B1