Video decoding method, video encoding method, and recording medium

JP7644860B2Active Publication Date: 2025-03-12ELECTRONICS & TELECOMM RES INST
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024076616
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2011-04-08
Filing Date
2024-05-09
Publication Date
2025-03-12
Estimated Expiration
2031-04-11

AI Technical Summary

Benefits of technology

【0020】 符号化しようとする輝度または色差信号ブロックを効果的に予測して符号化性能を向上させる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007644860000002
    Figure 0007644860000002
  • Figure 0007644860000003
    Figure 0007644860000003
  • Figure 0007644860000004
    Figure 0007644860000004
Patent Text Reader

Abstract

To provide a method and a device that perform intra-prediction using an adaptive filter.SOLUTION: A method for performing intra prediction includes the steps of determining whether to apply a first filter to a reference pixel value based on information of neighboring blocks of a current block, applying the first filter to the reference pixel values when it is determined to apply the first filter, performing intra prediction for the current block on the basis of the reference pixel value, determining whether to apply a second filter to a predicted value for each prediction mode of the current block predicted by performing intra prediction on the basis of information of the neighboring blocks, and applying the second filter to the predicted value for each prediction mode of the current block when it is determined to apply the second filter.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to video coding, and more particularly to a method and apparatus for performing intra-prediction by applying an adaptive filter to neighboring pixel values ​​of a block to be predicted or predicted pixel values ​​of a current block. [Background technology]

[0002] In recent years, with the advent of digital TVs, technologies in the fields of broadcast television and home entertainment have undergone rapid development. Technologies in these fields have been commercialized through the standardization of video compression techniques. For video compression, the International Telecommunications Union-Telecommunication (ITU-T) H.263 standard is widely used, and the next standard of the Motion Picture Experts Group (MPEG), MPEG-4, is being used for internet-based video applications.

[0003] After the completion of the H.263 standard, ITU-T VCEG (Video Coding Experts Group) has been competing with the short-term goal of adding additional features to the H.263 standard and the long-term goal of developing a new standard for low bitrate visual communication. In 2001, MPEG and VCEG experts formed the Joint Video Team (JVT), which has been working on the standardization of ITU-T H.264 / MPEG-4 part 10, a new standard for video coding. The H.264 standard is also called AVC (Advanced Video Coding). The technical goals of H.264 / AVC are significant improvement in coding efficiency, loss and error robust coding technology, network friendliness coding technology, low latency capability, and accurate match decoding.

[0004] Nearby pixels in an image tend to have similar values, and this is true for 4x4 blocks or 16x16 blocks, which are the minimum block sizes in the H.264 / AVC standard. In this way, prediction is performed on an image using similarities in values ​​between blocks, and the difference from the original image can be encoded. This is called intra-prediction, and intra-prediction can improve the efficiency of image coding.

[0005] In addition, when performing intra prediction, a filter may be applied before performing intra prediction. Typically, when performing intra prediction in the H.264 / AVC standard, a filter is applied to a reference pixel value, etc., and the value to which the filter is applied is used for intra prediction. However, in some cases, video coding performance may be higher when performing intra prediction without applying a filter than when performing intra prediction after applying a filter.

[0006] This makes it possible to propose a method for determining whether or not to apply a filter when performing intra prediction. Summary of the Invention [Problem to be solved by the invention]

[0007] The technical object of the present invention is to provide a method and apparatus for performing intra-prediction by applying an adaptive filter to neighboring pixel values ​​of a block to be predicted in video encoding or predicted pixel values ​​of a current block. More specifically, after applying an adaptive filter (pre-filter) to reference pixel values ​​of a current block for performing intra-prediction, prediction is performed, and an adaptive filter (post-filter) is also applied to pixel values ​​of the predicted current block to calculate a residual signal. [Means for solving the problem]

[0008] In one aspect, a method for performing intra-prediction is provided, the method for performing intra-prediction includes determining whether to apply a first filter to reference pixel values ​​based on information of neighboring blocks of a current block, applying the first filter to the reference pixel values ​​when it is determined to apply the first filter, performing intra-prediction on the current block based on the reference pixel values, determining whether to apply a second filter to predicted values ​​for each prediction mode of the current block predicted by performing the intra-prediction based on information of the neighboring blocks, and applying the second filter to predicted values ​​for each prediction mode of the current block when it is determined to apply the second filter.

[0009] Whether or not to apply the first filter may be determined based on a prediction mode of the current block determined based on information of the neighboring blocks.

[0010] Whether or not to apply the first filter may be determined based on the size of the current block.

[0011] Whether or not the first filter is applied may be specified in advance based on a prediction mode of the current block and a size of the current block.

[0012] Whether or not to apply the first filter may be determined based on whether the neighboring blocks are intra-frame coded or inter-frame coded.

[0013] The first filter can use at least one of a 3-tap filter and a 2-tap filter.

[0014] Whether or not to apply the second filter may be determined based on a prediction mode of the current block determined based on information of the neighboring blocks.

[0015] Whether or not to apply the second filter may be determined based on whether the neighboring blocks are intra-coded or inter-coded.

[0016] The second filter may be applied to predicted values ​​of pixels adjacent to a boundary of the reference pixel values.

[0017] The second filter can use at least one of a 3-tap filter and a 2-tap filter.

[0018] In another aspect, an encoder is provided, the encoder including: a processor; and a memory coupled to the processor and configured to store information for driving the processor, the processor being configured to determine whether to apply a first filter to a reference pixel value based on information of a neighboring block of a current block, and if it is determined to apply the first filter, to apply the first filter to the reference pixel value, to perform intra prediction on the current block based on the reference pixel value, to determine whether to apply a second filter to a prediction value for each prediction mode of the current block predicted by performing the intra prediction based on information of the neighboring block, and to apply the second filter to the prediction value for each prediction mode of the current block when it is determined to apply the second filter.

[0019] In yet another aspect, a decoder is provided, comprising: a processor; and a memory coupled to the processor and configured to store information for driving the processor, the processor being configured to determine whether to apply a first filter to reference pixel values ​​based on information of neighboring blocks of a current block, and if it is determined to apply the first filter, to apply the first filter to the reference pixel values, to perform intra prediction on the current block based on the reference pixel values, to determine whether to apply a second filter to a prediction value for each prediction mode of the current block predicted by the intra prediction based on information of the neighboring blocks, and to apply the second filter to the prediction value for each prediction mode of the current block when it is determined to apply the second filter. Effect of the Invention

[0020] To effectively predict a luminance or chrominance signal block to be coded, thereby improving coding performance. [Brief description of the drawings]

[0021] [Figure 1] 1 is a block diagram of an encoder according to the H.264 / AVC (Advanced Video Coding) standard. [Diagram 2] FIG. 1 is a block diagram of a decoder of the H.264 / AVC standard. [Diagram 3] FIG. 13 is a diagram showing an example of labeling prediction samples in a 4×4 luma prediction mode. [Figure 4] FIG. 1 illustrates nine prediction modes within the 4×4 luma prediction mode. [Diagram 5] FIG. 13 is a diagram illustrating an example of a method for applying a filter before performing intra prediction. [Figure 6] FIG. 1 illustrates an embodiment of the proposed method for performing intra prediction using adaptive filters. [Figure 7] FIG. 1 illustrates a filter being applied to the predicted values ​​depending on the proposed method for performing intra prediction using adaptive filters. [Figure 8] FIG. 2 is a block diagram of an encoder and a decoder in which embodiments of the present invention may be implemented; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0022] Hereinafter, the embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains can easily carry out the embodiments. However, the present invention may be realized in various different forms and is not limited to the embodiments described herein. In the drawings, in order to clearly explain the present invention, parts that are not related to the description are omitted, and similar parts are denoted by similar reference numerals throughout the specification. In addition, the description of parts that can be easily understood by those skilled in the art even if detailed description is omitted is omitted.

[0023] Throughout the specification and claims, when a part is said to "comprise" a certain element, this does not mean to exclude other elements, but means that it can further include other elements, unless specifically stated to the contrary.

[0024] FIG. 1 is a block diagram of an encoder conforming to the H.264 / AVC (Advanced Video Coding) standard.

[0025] As shown in Figure 1, the encoder includes two paths of data flow: one is a forward path and the other is a reconstruction path.

[0026] First, we describe the forward path. n Encoding is performed on a macroblock basis for each input frame. A macroblock has a size of 16x16 pixels in the original image. Intra-prediction or inter-prediction is performed on each input frame. Intra-prediction performs prediction using similarity between block values ​​within a frame and encodes the difference from the original image, while inter-prediction performs prediction using similarity between block values ​​between frames and encodes the difference from the original image. During intra-prediction or inter-prediction, a prediction macro block P is formed based on a reconstructed frame. During intra-prediction, P is generated based on a previously encoded current frame, a decoded current frame, or a reconstructed current frame uF. nWhen P is formed from the reconstructed current frame, unfiltered samples may be used. During inter prediction, P may be formed by performing motion compensation or motion prediction from one or more reference frames. In FIG. 1, the reference frame is a previously encoded frame F. n-1 However, without being limited thereto, each predicted macroblock may be formed from one or two previous frames or one or two subsequent frames that have already been encoded or reconstructed.

[0027] P is the residual or difference macroblock D n is subtracted from the current macroblock to generate D n is transformed (T) using a block transform and quantized (Q) to produce X, which is a set of encoded coefficients. The encoded coefficients are reordered and entropy coded, and the entropy coded coefficients along with the information necessary to decode the macroblock form a compressed bitstream. The compressed bitstream is sent to the Network Abstraction Layer (NAL) for transmission or storage.

[0028] We now describe the reconstruction path. The quantized macroblock coefficients, X, are decoded to generate a reconstructed frame that is used to encode other macroblocks, etc. X is then dequantized (Q -1 ) and inversely transformed (T -1 , Inverse Transformed) and the difference macroblock Dn ' is generated. The difference macroblock D generated in the reconstruction path n ' is the difference macroblock generated in the forward pass, D n Quantization introduces losses, which makes D n ' is D n If the predicted macroblock P is D n ' and the reconstructed macroblock uF n ' is generated. The reconstructed macroblock uF n uF' may also be a distorted form of the original macroblock Fn. n A filter may be applied to reduce blocking distortion on the reconstructed macroblocks, and a reconstructed frame may be formed from a number of reconstructed macroblocks to which the filter has been applied.

[0029] FIG. 2 is a block diagram of a decoder according to the H.264 / AVC standard.

[0030] As shown in Figure 2, the decoder receives the compressed bitstream from the NAL. The received data is entropy decoded and rearranged to produce X, a set of quantized coefficients, etc. X is then inverse quantized and inverse transformed to produce D. n The decoder generates a predicted macroblock P that is the same as the predicted macroblock generated by the encoder using the header information decoded in the bitstream. n ' is added to uF n ' is generated, and uF n ' is a macroblock F decoded through a filter. n ' may be generated.

[0031] Intra prediction will be described below.

[0032] When intra prediction is performed on a block (or macroblock), a prediction block (or macroblock) P may be formed based on an encoded block (or macroblock) or a reconstructed block (or macroblock). P is subtracted from an original image, and a difference value from which P is subtracted is encoded and transmitted. Intra prediction may be performed by a luma prediction mode or a chroma prediction mode. In the luma prediction mode, intra prediction may be performed in units of a sub-block of 4×4 size or a macroblock of 16×16 size, and in the 4×4 luma prediction mode, there are a total of nine additional prediction modes, and in the 16×16 luma prediction mode, there are a total of four additional prediction modes. The unit in which intra prediction is performed is not limited to a sub-block or a macroblock, and may be performed in units of various sizes. The unit of pixels on which intra prediction is performed may be called a coding unit (CU) or a prediction unit (PU), and the size of a CU or PU may be the same as the size of a subblock or macroblock, as described above.

[0033] 3 shows an example of labeling prediction samples in a 4×4 luma prediction mode. As shown in FIG 3, a prediction block P is calculated based on samples labeled A to H or I to L.

[0034] FIG. 4 shows nine prediction modes within the 4×4 luma prediction mode.

[0035] The encoder can select one of nine prediction modes for each block to minimize the difference between the predicted block P and the block to be encoded. The nine prediction modes are as follows:

[0036] 1) Mode 0 (vertical): The top samples of the prediction block, A through D, are extrapolated vertically.

[0037] 2) Mode 1 (horizontal): The left samples of the prediction block, i.e., I through L, are extrapolated horizontally.

[0038] 3) Mode 2 (DC): Every sample in P is predicted by the average of A through D and I through L.

[0039] 4) Mode 3 (Diagonal Down-Left): Samples in P etc. are interpolated at a 45° angle between the bottom-left and top-right.

[0040] 5) Mode 4 (Diagonal Down-Right): Samples in P are extrapolated at a 45° angle downward and to the right.

[0041] 6) Mode 5 (Vertical-Right): Samples in P etc. are extrapolated or interpolated at an angle of approximately 26.6° to the right from the vertical axis.

[0042] 7) Mode 6 (Horizontal-Down): Samples in P are extrapolated downward at an angle of approximately 26.6° from the horizontal axis.

[0043] 8) Mode 7 (Vertical-Left): Samples in P etc. are extrapolated at an angle of approximately 26.6° to the left from the vertical axis.

[0044] 9) Mode 8 (Horizontal-Up): Samples in P etc. are interpolated at an angle of approximately 26.6° upward from the horizontal axis.

[0045] In FIG. 4, the arrows indicate the direction in which prediction is performed in each mode. Meanwhile, for modes 3 to 8, samples in a prediction block are formed from a weighted average of prediction samples A to H or I to L. For example, in mode 4, prediction may be performed using a sample located at the upper right side of the prediction block (d=round(B / 4+C / 2+D / 4)). The encoder calculates the Sum of Absolute Errors (SAE) for each prediction block generated by each prediction mode, and performs intra prediction according to the prediction mode with the smallest SAE.

[0046] FIG. 5 shows an example of a method for applying a filter before performing intra prediction.

[0047] Typically, intra prediction is performed after applying a filter to samples such as those used in the H.264 / AVC standard. The samples may also be referred to as reference pixel values. In the example of FIG. 5, it is assumed that the filter is a low-pass filter and that the filter is applied only to 8×8 blocks.

[0048] Equation 1 is an example of an equation representing a 3-tap filter applied to the reference pixel value.

[0049] <Number 1> h[Z]=(A+2×Z+Q) / 4 h[A]=(Z+2×A+B) / 4 ... h[P]=(O+3×P) / 4 h[Q]=(Z+2×Q+R) / 4 ... h[X]=(W+3×X) / 4

[0050] h[Z] represents a value calculated by applying a filter to Z. As shown in Equation 1, the filter coefficient (1,2,1) is applied to filter the reference pixel value, and intra prediction is performed according to nine prediction modes based on the reference pixel value (h[A] to h[Z]) that has undergone the filtering. Filters can be applied in the decoding process as well as in the encoding process.

[0051] In performing filtering before performing intra prediction, it is possible that the encoding performance can be improved when filtering is not performed, and therefore a method of performing intra prediction by adaptively applying a filter can be proposed.

[0052] FIG. 6 illustrates one embodiment of a method for performing intra prediction using the proposed adaptive filter.

[0053] As shown in Fig. 6, in step S201, the encoder determines whether to apply a filter to a reference pixel value. When determining whether to apply a filter, the encoder may use information about neighboring blocks or may determine whether to apply a filter by using a rate-distortion optimization (RDO) method.

[0054] When determining whether to apply a filter to a reference pixel value using information on a neighboring block, a prediction mode of a current block is determined based on prediction mode information (MPM; Most Probable Mode) of the neighboring block, and whether to apply a filter to a reference pixel value can be determined according to the determined prediction mode of the current block. For example, assuming that a current block is 'C', an upper block is 'A', and a left block is 'B', if the prediction mode of the current block is the same as the prediction mode of 'A', the prediction mode of 'A' can be determined as the prediction mode of the current block, and if the prediction mode of the current block is the same as the prediction mode of 'B', the prediction mode of 'B' can be determined as the prediction mode of the current block. Alternatively, if the prediction mode of the current block is another prediction mode other than the prediction mode of 'A' or the prediction mode of 'B', the corresponding prediction mode is encoded and transmitted. Whether to apply a filter to a reference pixel value can be determined according to the prediction mode of the current block determined in this manner. Even if the size of the current block is different from that of the upper block or the left block, the prediction mode of the current block can be determined according to the prediction mode of the neighboring block.

[0055] Alternatively, when determining whether to apply a filter to a reference pixel value using information on neighboring blocks, the filter can be applied based on the amount of change in neighboring reference pixel values. For example, if a reference pixel value to which a filter is to be applied is p[n], a difference between neighboring reference pixel values ​​p[n-1] and p[n+1] can be calculated and compared with a specific threshold to determine whether to apply a filter.

[0056] Alternatively, whether or not to apply a filter to reference pixel values ​​may be determined according to the size of the current block in addition to the prediction mode of the current block. In this case, whether or not to apply a filter according to the prediction mode of the current block and the size of the current block is specified in advance, and whether or not to apply a filter is adaptively determined according to the prediction mode or the size.

[0057] Table 1 indicates whether or not a filter can be applied depending on the prediction mode of the current block and the size of the current block. [Table 1]

[0058] Referring to Table 1, "0" means that the filter is not applied, and "1" means that the filter is applied. For example, when the size of the current block is 4×4, if the prediction mode of the current block is 1, the filter is not applied, and if the prediction mode of the current block is 3, the filter is applied.

[0059] In addition, whether to apply a filter to a reference pixel value may be determined depending on whether the neighboring block is intra-frame coded or inter-frame coded. For example, in the case of constrained intra-prediction, when the neighboring block is inter-frame coded, the inter-frame coded value is satisfied using the value of the neighboring block coded within the frame, and in this case, filtering may not be applied.

[0060] If it is determined that a filter is to be applied to the reference pixel values, the encoder applies the filter to the reference pixel values ​​in step S202. The filter to be applied may be a commonly used filter. For example, the 3-tap in Equation 1 may be used, or a 2-tap filter may be used. When a 2-tap filter is used, various filter coefficients such as (1 / 8, 7 / 8), (2 / 8, 6 / 8), and (3 / 8, 5 / 8) may be used. The reference pixel values ​​to which the filter has been applied may be used when applying the filter to other reference pixel values. In addition, when applying a filter to the reference pixel values, the filter may be applied to all reference pixel values, or the filter may be applied to only some reference pixel values.

[0061] In step S203, the encoder performs intra prediction based on filtered or unfiltered reference pixel values.

[0062] In step S204, the encoder determines whether to apply a filter to a prediction value for each prediction mode predicted by performing the intra prediction for encoding the current block, where each prediction mode may be one of nine prediction modes, such as a 4×4 luma prediction mode. When determining whether to apply a filter to a predicted value for each prediction mode, information on neighboring blocks may be used or the RDO method may be used to determine whether to apply a filter.

[0063] When determining whether to apply a filter to a predicted value using information of a neighboring block, a prediction mode of a current block is determined based on prediction mode information (MPM) of the neighboring block, and whether to apply a filter to a predicted value can be determined according to the determined prediction mode of the current block. For example, assuming that a current block is 'C', an upper block is 'A', and a left block is 'B', if the prediction mode of the current block is the same as the prediction mode of 'A', the prediction mode of 'A' can be determined as the prediction mode of the current block, and if the prediction mode of the current block is the same as the prediction mode of 'B', the prediction mode of 'B' can be determined as the prediction mode of the current block. Alternatively, if the prediction mode of the current block is another prediction mode other than the prediction mode of 'A' or the prediction mode of 'B', the corresponding prediction mode is encoded and transmitted. In this case, if the prediction mode of the current block is a specific prediction mode (DC or planar), the difference between the reference pixel value and the predicted value may be relatively large compared to other prediction modes. For example, the difference between the reference pixel value and the predicted value in the planar prediction mode may be relatively large compared to other prediction modes. In the planar prediction mode, a predicted value may be calculated as an average of a first predicted value obtained by performing horizontal linear interpolation on each row and a second predicted value obtained by performing vertical linear interpolation on each column. When performing horizontal linear interpolation, the right side value is the same as the value located in the upper right direction among the reference pixel values ​​(i.e., H in FIG. 3), and when performing vertical linear interpolation, the lower side value is the same as the value located in the lower left direction among the reference pixel values ​​(i.e., I in FIG. 3). Since the predicted value is not directly obtained from the reference pixel value, the difference between the reference pixel value and the predicted value may be relatively large. In this case, efficiency of intra prediction may be improved by applying a filter to the predicted value. Whether or not to apply a filter to the predicted value may be determined according to the prediction mode of the current block determined in this manner. Even if the size of the current block is different from that of an upper block or a left block, the prediction mode of the current block may be determined according to the prediction mode of a neighboring block.

[0064] Alternatively, whether to apply a filter to a predicted value may be determined according to the size of the current block in addition to the prediction mode of the current block. In this case, whether to apply a filter according to the prediction mode of the current block and the size of the current block is specified in advance, and whether to apply a filter is adaptively determined according to the prediction mode or the size. Alternatively, whether to apply a filter to a predicted value may be determined according to whether a neighboring block is intra-frame coded or inter-frame coded.

[0065] If it is determined to apply the filter to the predicted value, the encoder applies the filter to the predicted value in step S205, which completes the prediction of the current block, and the encoder calculates the residual signal and performs entropy coding.

[0066] FIG. 7 illustrates the case where a filter is applied to the predicted value by the proposed method for performing intra prediction using an adaptive filter.

[0067] As shown in FIG. 7, when the prediction mode of the current block is a non-directional mode, the difference between the reference pixel value and the predicted value may be relatively large compared to other prediction modes, so that the filter may be applied only to the predicted value of the pixel adjacent to the boundary with the surrounding restored reference pixel value. For example, in FIG. 3, the filtering may be performed on the predicted values ​​corresponding to a1 to a8 and b1, c1, d1, e1, f1, g1, and h1, which are pixels in one row located at the boundary. Alternatively, the filter may be applied to the predicted values ​​corresponding to a1 to a8, b1 to b8, c1 to c2, d1 to d2, e1 to e2, f1 to f2, g1 to g2, and h1 to h2, which are pixels in two rows located at the boundary. The filter applied at this time may be a commonly used filter. For example, the 3-tap filter of Equation 1 may be used, or a 2-tap filter may be used. When a 2-tap filter is used, various filter coefficients such as (1 / 8, 7 / 8), (2 / 8, 6 / 8), (3 / 8, 5 / 8), etc. may be used. Alternatively, either the 2-tap filter or the 3-tap filter may be selected and used depending on the position of the pixel.

[0068] In a similar manner, when the prediction mode of the current block is a prediction mode using reference pixel values ​​corresponding to A to P, such as mode 0, mode 3, or mode 7, the filter may be applied to predicted values ​​corresponding to a1 to a8, which have a relatively large difference between the reference pixel value and the predicted value. Also, when the prediction mode of the current block is a prediction mode using reference pixel values ​​corresponding to Q to X, such as mode 1 or mode 8, the filter may be applied to predicted values ​​corresponding to a1, b1, c1, d1, e1, f1, g1, and h1, which have a relatively large difference between the reference pixel value and the predicted value.

[0069] Equation 2 is an example of an equation representing a filter applied to a predicted value when a 2-tap filter or a 3-tap filter is selected and used according to the position of a pixel.

[0070] <Number 2> f[a1]=(2×A+4×a1+2×Q) / 8 f[b1]=(2×B+6×b1) / 8 f[c1]=(2×C+6×c1) / 8 ... f[a2]=(2×R+6×a2) / 8 f[a3]=(2×S+6×a3) / 8 ...

[0071] In Equation 2, f[a1] is a value obtained by applying a filter to the predicted value a1, and A and Q are reference pixel values. Referring to Equation 2, it can be seen that a 3-tap filter is applied to the predicted value of the pixel located at a1, and a 2-tap filter is applied to the predicted values ​​of the remaining pixels.

[0072] Equation 3 is yet another example of an equation representing a filter applied to a predicted value when the filter is applied to the predicted value according to the proposed method for performing intra prediction using an adaptive filter.

[0073] <Number 3> 1. Vertical low-pass filter v[a1]=(A+2×a1+a2) / 4 v[a2]=(v[a1]+2×a2+a3) / 4 ... v[a8]=(v[a7]+3×a8) / 4 v[b1]=(B+2×b1+b2) / 4 ... 2.Horizontal low-pass filter h[a1]=(Q+2×v[a1]+v[b1]) / 4 h[b1]=(h[a1]+2×v[b1]+v[c1]) / 4 ... h[h1]=(h[g1]+3×v[h1]) / 4 h[a2]=(R+2×v[a2]+v[b2]) / 4 ...

[0074] The filter of Equation 3 may be used when applying an adaptive filter based on a method using information of neighboring blocks for each prediction mode or an RDO method. Referring to Equation 3, a low-pass filter with filter coefficients (1,2,1) is sequentially performed in two directions, vertical and horizontal. First, a filter is applied in the vertical direction, and a filter is further applied in the horizontal direction based on the value to which the filter is applied. The predicted value to which the filter is applied may be used when applying a filter to another predicted value.

[0075] On the other hand, when the RDO method is applied, the intra prediction execution method described in FIG. 6 may be repeatedly executed.

[0076] FIG. 8 is a block diagram of an encoder and a decoder in which an embodiment of the present invention may be implemented.

[0077] The encoder 800 includes a processor (810) and a memory (820). The processor 810 realizes the proposed functions, processes, and / or methods. The processor 810 is configured to determine whether to apply a first filter to a reference pixel value based on information of a neighboring block of a current block, apply the first filter to the reference pixel value when it is determined to apply the first filter, perform intra prediction on the current block based on the reference pixel value, determine whether to apply a second filter to a prediction value for each prediction mode of the current block predicted by performing the intra prediction based on information of the neighboring block, and apply the second filter to a prediction value for each prediction mode of the current block when it is determined to apply the second filter. The memory 829 is connected to the processor 810 and stores various information for driving the processor 810.

[0078] The decoder 900 includes a processor 910 and a memory 920. The processor 910 realizes the proposed functions, processes, and / or methods. The processor 910 is configured to determine whether to apply a first filter to a reference pixel value based on information of a neighboring block of a current block, apply the first filter to the reference pixel value when it is determined to apply the first filter, perform intra prediction on the current block based on the reference pixel value, determine whether to apply a second filter to a prediction value for each prediction mode of the current block predicted by performing the intra prediction based on information of the neighboring block, and apply the second filter to a prediction value for each prediction mode of the current block when it is determined to apply the second filter. The memory 920 is connected to the processor 910 and stores various information for driving the processor 910.

[0079] The processor 810, 910 may comprise an application-specific integrated circuit (ASIC), other chipset, logic circuit, and / or data processing device. The memory 820, 920 may comprise a read-only memory (ROM), random access memory (RAM), flash memory, a memory card, a storage medium, and / or other storage medium. When the embodiment is implemented in software, the techniques described above may be implemented with modules (processes, functions, etc.) performing the functions described above. The modules may be stored in the memory 820, 920 and executed by the processor 810, 910. The memory 820, 920 may be internal or external to the processor 810, 910 and may be coupled to the processor 810, 910 by various means known in the art.

[0080] In the exemplary system described above, the method is described based on a flowchart as a series of steps or blocks, but the present invention is not limited to the order of steps, and some steps may occur in a different order or simultaneously with those described above. In addition, those skilled in the art will understand that the steps shown in the flowchart are not exclusive, and other steps may be included, or one or more steps in the flowchart may be deleted without affecting the scope of the present invention.

[0081] The above-described embodiments include examples of various aspects. It is not possible to describe all possible combinations for expressing the various aspects, but a person having ordinary skill in the art will recognize that other combinations are possible. Therefore, it can be said that the present invention includes all other alternatives, modifications, and variations that fall within the scope of the following claims.

Claims

1. determining whether to apply a first filter to reference pixel values ​​of the current block based on at least one of an intra prediction mode of the current block and a size of the current block; performing intra prediction of the current block using the reference pixel values ​​of the current block and the intra prediction mode, thereby generating a prediction value of the current block; determining whether to apply a second filter to the prediction value of the current block based on at least one of an intra prediction mode of the current block and a size of the current block, thereby generating a filtered prediction value; Equipped with A video decoding method, in which, when the intra prediction mode of the current block is a vertical mode, the filtered prediction value is generated by applying the second filter to the leftmost pixel of the current block among the predicted pixels of the current block adjacent to the reference pixel value.

2. 2. The video decoding method of claim 1, wherein when the intra prediction mode of the current block is the vertical mode, the second filter is applied using a top reference pixel value, a left reference pixel value and an upper left corner reference pixel value, the top reference pixel value corresponding to the upper side of the leftmost pixel on the upper side of the current block, and the left reference pixel value corresponding to the left side of the leftmost pixel of the current block.

3. encoding information regarding whether a first filter is applied to a reference pixel value of a current block and whether a second filter is applied to a predicted value of the current block; The information relates to at least one of an intra-prediction mode of the current block and a size of the current block, the predicted value is generated by performing intra prediction of the current block using the reference pixel values ​​of the current block and the intra prediction mode; A video encoding method, in which, when the intra prediction mode of the current block is a vertical mode, a filtered prediction value is generated by applying the second filter to a leftmost pixel of the current block among predicted pixels of the current block adjacent to the reference pixel value.

4. 1. A method for transmitting a bitstream generated by a video encoding method, comprising: The video encoding method includes: encoding information regarding whether a first filter is applied to a reference pixel value of a current block and whether a second filter is applied to a predicted value of the current block; The information relates to at least one of an intra-prediction mode of the current block and a size of the current block, the predicted value is generated by performing intra prediction of the current block using the reference pixel values ​​of the current block and the intra prediction mode; A method in which, when the intra prediction mode of the current block is a vertical mode, a filtered prediction value is generated by applying the second filter to the leftmost pixel of the current block among the predicted pixels of the current block adjacent to the reference pixel value.

Citation Information

Patent Citations

  • Apparatus and method for intra-spatial prediction of image data and encoding apparatus and method using same, and apparatus and method for compensation for intra-spatial prediction of image data and decoding apparatus, and method using same

    JP2007288785A

  • Image encoding apparatus and encoding method

    JP2008061044A

  • Moving image encoding apparatus, moving image decoding apparatus, moving image encoding method and moving image decoding method

    JP2009284298A

  • Method and apparatus for encoding video, and method and apparatus for decoding video

    WO2011021839A2

  • Method for decoding image in intra prediction mode

    WO2012134085A2