Video decoding method, video encoding method, and recording medium
By adaptively determining the application of filters to reference and prediction values based on surrounding block information, the method enhances video encoding performance in intra-prediction, addressing the challenges faced by existing video coding technologies.
Patent Information
- Application Number
- JP2025030361
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2011-04-08
- Filing Date
- 2025-02-27
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2031-04-11
AI Technical Summary
Existing video coding technologies, such as the H.264/AVC standard, face challenges in determining whether to apply filters during intra-prediction, which can affect video coding performance.
The proposed method involves determining whether to apply a first adaptive filter to reference pixel values and a second adaptive filter to prediction values based on information from surrounding blocks, prediction modes, and block sizes, thereby optimizing intra-prediction in video encoding.
This approach effectively improves video encoding performance by adaptively applying filters, leading to better prediction of luminance or chrominance signal blocks and enhanced encoding efficiency.
Smart Images

Figure 2025081705000001_ABST
Abstract
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 pixel values around a block to be predicted or predicted pixel values of a current block.
Background Art
[0002] In recent years, with the advent of digital TVs and the like, technologies in the fields of broadcast television and home entertainment have been rapidly evolving. Technologies in such fields have been commercialized through the standardization of video compression technology. For video compression, the ITU-T (International Telecommunications Union - Telecommunication) H.263 standard is widely used, and MPEG-4, which is the next standard of MPEG (Motion Picture Experts Group), is used for internet-based video applications.
[0003] After the completion of the H.263 standard, the ITU-T VCEG (Video Coding Experts Group) has been competing between a short-term goal of adding additional features to the H.263 standard and a long-term goal of developing a new standard for low bitrate visual communication. In 2001, the JVT (Joint Video Team) composed of experts from MPEG and VCEG was formed, and the standardization work of ITU-T H.264 / MPEG-4 part 10, a new standard for video coding, has been progressing by the JVT. The H.264 standard can also be called AVC (Advanced Video Coding). The technical goals of H.264 / AVC are a significant improvement in coding efficiency, a robust coding technology against loss and error, a network-friendly coding technology, a low latency capability, and an accurate match decoding, etc.
[0004] Peripheral pixels within the video, etc., have mostly similar values, which is also the case for 4×4 blocks or 16×16 blocks, which are the minimum block sizes of the H.264 / AVC standard. Thus, prediction for the video can be performed using the similarity such as the values between blocks, and the difference from the original video can be encoded. This is called intra-prediction, and the efficiency of video coding can be increased by intra-prediction.
[0005] Also, when performing intra-prediction, a filter can be applied before the intra-prediction is executed. Usually, when performing intra-prediction in the H.264 / AVC standard, after applying a filter to reference pixel values, etc., the values to which the filter has been applied are used for intra-prediction. However, in some cases, the video coding performance can be higher when performing intra-prediction without applying a filter rather than performing intra-prediction after applying a filter.
[0006] Thereby, a method for determining whether to apply a filter during the execution of intra prediction can be proposed. SUMMARY OF THE INVENTION PROBLEMS TO BE SOLVED BY THE INVENTION
[0007] A technical problem of the present invention is to provide a method and an apparatus for performing intra-prediction by applying an adaptive filter to the surrounding pixel values of a block to be predicted in video encoding or the predicted pixel values of the current block. More specifically, after applying an adaptive pre-filter to the reference pixel values such as the reference pixel values of the current block for performing intra prediction, prediction is performed, and an adaptive post-filter is also applied to the pixel values of the predicted current block or the like to calculate a residual signal. MEANS FOR SOLVING THE PROBLEM
[0008] In one aspect, a method for performing intra-prediction is provided. The intra-prediction execution method includes: determining whether to apply a first filter to reference pixel values based on information of surrounding 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 prediction values for each prediction mode of the current block predicted by the intra-prediction execution based on the information of the surrounding blocks; and applying the second filter to the prediction values for each prediction mode of the current block when it is determined to apply the second filter.
[0009] Whether the first filter can be applied can be determined based on the prediction mode of the current block determined based on the information of the surrounding blocks.
[0010] Whether the first filter can be applied can be determined based on the size of the current block.
[0011] Whether the first filter can be applied can be specified in advance based on the prediction mode of the current block and the size of the current block.
[0012] Whether the first filter can be applied can be determined based on whether the surrounding blocks are intra-frame encoded or inter-frame encoded.
[0013] The first filter can use at least one of a 3-tap filter or a 2-tap filter.
[0014] Whether the second filter can be applied can be determined based on the prediction mode of the current block determined based on the information of the surrounding blocks.
[0015] Whether the second filter can be applied can be determined based on whether the surrounding blocks are intra-frame encoded or inter-frame encoded.
[0016] The second filter can be applied to the predicted values of the pixels adjacent to the boundary of the reference pixel values.
[0017] The second filter can use at least one of a 3-tap filter or a 2-tap filter.
[0018] In another aspect, an encoder is provided. The encoder includes a processor and a memory coupled to the processor and storing information for driving the processor. The processor determines whether to apply a first filter to a reference pixel value based on information of peripheral blocks of a current block. When it is determined to apply the first filter, the first filter is applied to the reference pixel value, intra prediction for the current block is performed based on the reference pixel value, and it is determined whether to apply a second filter to prediction values for each prediction mode of the current block predicted by the intra prediction based on information of the peripheral blocks. When it is determined to apply the second filter, the second filter is configured to be applied to the prediction values for each prediction mode of the current block.
[0019] In yet another aspect, a decoder is provided. The decoder includes a processor and a memory coupled to the processor and storing information for driving the processor. The processor determines whether to apply a first filter to a reference pixel value based on information of peripheral blocks of a current block. When it is determined to apply the first filter, the first filter is applied to the reference pixel value, intra prediction for the current block is performed based on the reference pixel value, and it is determined whether to apply a second filter to prediction values for each prediction mode of the current block predicted by the intra prediction based on information of the peripheral blocks. When it is determined to apply the second filter, the second filter is configured to be applied to the prediction values for each prediction mode of the current block.
Advantages of the Invention
[0020] Effectively predict the luminance or chrominance signal block to be encoded to improve the encoding performance.
Brief Description of the Drawings
[0021]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Mode for Carrying Out the Invention
[0022] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those having ordinary knowledge in the technical field to which the present invention pertains can easily implement them. However, the present invention can be realized in various different forms and is not limited to the embodiments described herein. And in the drawings, in order to clearly explain the present invention, parts not related to the explanation are omitted, and similar reference numerals are given to similar parts throughout the specification. Also, descriptions of parts that can be easily understood by those skilled in the art are omitted even if detailed descriptions are omitted.
[0023] Throughout the specification and claims, when a part states that a certain component "includes", unless otherwise stated to the contrary, this does not mean excluding other components, but rather means that other components can be further included.
[0024] FIG. 1 is a block diagram of an encoder of the H.264 / AVC (Advanced Video Coding) standard.
[0025] As shown in FIG. 1, the encoder includes two paths of data flow. One is the forward path, and the other one is the reconstruction path.
[0026] First, the forward path will be described. The input frame F n is encoded in units of macro blocks. A macro block has a size of 16×16 pixels in the original image. Intra-prediction or inter-prediction is performed for each input frame. Intra-prediction performs prediction using similarities such as block values within the frame, encodes the difference from the original video, and inter-prediction performs prediction using similarities such as block values between frames, and encodes the difference from the original video. When performing intra-prediction or inter-prediction, a prediction macro block P is formed based on the reconstructed frame. During intra-prediction, P is the currently encoded frame, the decoded current frame, or the reconstructed current frame uF ncan be formed from the samples within. When P is formed from the currently reconstructed frame, unfiltered samples can be used. During inter prediction, P can be formed by performing motion compensation or motion prediction from one or more reference frames. In FIG. 1, the reference frames are the previously encoded frames F n-1 ’ and assume that it is. However, it is not limited to this, and each prediction macroblock can be formed from one or two previously encoded or reconstructed frames or one or two subsequent frames.
[0027] P is the residual or difference macroblock D n is subtracted from the current macroblock to generate. D n is transformed (T, transformed) using a block transform and quantized (Q, quantized) to generate X. X is a set such as encoded coefficients. The encoded coefficients etc. are reordered and entropy coded, and the entropy coded coefficients etc. form a compressed bitstream together with the information necessary to decode the macroblock. The compressed bitstream is sent to the NAL (Network Abstraction Layer) for transmission or storage.
[0028] Now, the reconstruction path will be described. X, which is the quantized macroblock coefficient, is decoded to generate a reconstruction frame used for encoding other macroblocks etc. X is inverse quantized (Q -1 ) and inverse transformed (T -1 , Inverse Transformed) to obtain the difference macroblock Dn generates '. The difference macroblock D generated in the reconstruction path n ' is the difference macroblock generated in the forward path, D n is not the same. Loss occurs due to quantization, and as a result, D n ' may be a distorted form of D n . The prediction macroblock P is added to D n ', and the reconstructed macroblock uF n ' is generated. The reconstructed macroblock uF n ' may also be a distorted form of the original macroblock Fn. A filter may be applied to reduce the blocking distortion for uF n ', and the reconstructed frame can be formed from a plurality of reconstructed macroblocks to which the filter has been applied.
[0029] Figure 2 is a block diagram of a decoder of 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 generate a set X such as quantized coefficients. Inverse quantization and inverse transformation are performed on X to generate D n ', and the decoder uses the header information decoded in the bitstream to generate the same prediction macroblock P as the prediction macroblock generated by the encoder. P is added to D n ' to generate uF n ', and uF n ' can be filtered to generate the decoded macroblock F n '.
[0031] Next, intra prediction will be described.
[0032] When intra prediction is performed on a block (or macroblock), a prediction block (or macroblock) P can be formed based on, for example, an encoded block (or macroblock) or a reconstructed block (or macroblock). P is subtracted from the original video, and the difference value obtained by subtracting P is encoded and transmitted. Intra prediction can be performed by a luma prediction mode or a chroma prediction mode. Intra prediction can be performed in units of 4×4 sub-blocks or 16×16 macroblocks in the luma prediction mode. In the 4×4 luma prediction mode, a total of 9 additional prediction modes exist, and in the 16×16 luma prediction mode, a total of 4 additional prediction modes exist. The unit on which intra prediction is performed is not limited to sub-blocks or macroblocks and can be performed in units of various sizes. The unit of pixels on which intra prediction is performed can be called a coding unit (CU) or a prediction unit (PU), etc., and the size of the CU or PU can be the same as the size of the sub-block or macroblock as described above.
[0033] Figure 3 shows an example of labeling prediction samples in the 4×4 luma prediction mode. As shown in Figure 3, the prediction block P is calculated based on samples labeled A to H or I to L.
[0034] Figure 4 shows nine prediction modes within the 4×4 luma prediction mode.
[0035] The encoder can select any one of the nine prediction modes for each block in order to minimize the difference between the prediction block P and the block to be encoded. The nine prediction modes are as follows.
[0036] 1) Mode 0 (vertical): Samples A to D, such as the upper samples of the prediction block, are extrapolated vertically.
[0037] 2) Mode 1 (horizontal): Samples I to L, such as the left samples of the prediction block, are extrapolated horizontally.
[0038] 3) Mode 2 (DC): All samples in P are predicted by the average of A to D and I to L.
[0039] 4) Mode 3 (Diagonal Down-Left): Samples in P, etc., are interpolated at a 45° angle between the lower-left and upper-right sides.
[0040] 5) Mode 4 (Diagonal Down-Right): Samples in P, etc., are extrapolated at a 45° angle in the lower-right direction.
[0041] 6) Mode 5 (Vertical-Right): Samples in P, etc., are extrapolated or interpolated at an angle of approximately 26.6° from the vertical axis to the right.
[0042] 7) Mode 6 (Horizontal-Down): Samples in P, etc., are extrapolated at an angle of approximately 26.6° from the horizontal axis downward.
[0043] 8) Mode 7 (Vertical-Left): Samples in P, etc., are extrapolated at an angle of approximately 26.6° from the vertical axis to the left.
[0044] 9) Mode 8 (Horizontal-Up): Samples in P, etc., are interpolated at an angle of approximately 26.6° from the horizontal axis upward.
[0045] In FIG. 4, the arrows indicate the directions in which predictions are made within each mode. On the other hand, for modes 3 to 8, samples within the prediction block, etc., are formed from the weighted average of prediction samples A to H, or I to L. For example, in mode 4, it can be predicted by a sample (d = round(B / 4 + C / 2 + D / 4)) located at the upper right of the prediction block. The encoder calculates the sum of absolute errors (SAE; Sum of Absolute Errors) for each prediction block generated by each prediction mode, and performs intra prediction by the prediction mode with the smallest SAE.
[0046] FIG. 5 shows an example of a method of applying a filter before intra prediction is performed.
[0047] Generally, after applying a filter to samples such as those used in the H.264 / AVC standard, intra prediction is performed. The samples can also be called reference pixel values. In the example of FIG. 5, it is assumed that the filter is a low-pass filter and 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 reference pixel values.
[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 the value calculated by applying a filter to Z. As shown in Equation 1, the filter coefficients (1, 2, 1) are applied and filtering is performed on the reference pixel values, and intra prediction using nine prediction modes is performed based on the filtered reference pixel values (h[A] to h[Z]). The filter can also be applied in the decoding process as in the encoding process.
[0051] When performing filtering before intra prediction, the encoding performance may be improved when filtering is not performed. Thus, a method of adaptively applying a filter to perform intra prediction can be proposed.
[0052] FIG. 6 shows an 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 a filter can be applied to the reference pixel values. When determining whether a filter can be applied, the encoder can use information on surrounding blocks or determine whether a filter can be applied by a rate-distortion optimization (RDO) method.
[0054] When determining whether to apply a filter to a reference pixel value by using the information of surrounding blocks, the prediction mode of the current block can be determined based on the prediction mode information (MPM; Most Probable Mode) of the surrounding blocks, and whether to apply a filter to the reference pixel value can be determined according to the determined prediction mode of the current block. For example, assuming that the current block is "C", the upper block is "A", and the 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. Or, when the prediction mode of the current block is other than the prediction mode of "A" or the prediction mode of "B", the prediction mode is encoded and transmitted. Whether to apply a filter to the reference pixel value can be determined according to the prediction mode of the current block determined in this way. Even when the sizes of the current block and the upper block or the left block are different, the prediction mode of the current block can be determined according to the prediction mode of the surrounding blocks.
[0055] Or, when determining whether to apply a filter to a reference pixel value by using the information of surrounding blocks, whether to apply a filter can be determined based on the change amount of the surrounding reference pixel values. For example, if the reference pixel value to which the filter is to be applied is p[n], the difference value between the surrounding reference pixel values p[n - 1] and p[n + 1] is calculated and compared with a specific threshold value to determine whether to apply a filter.
[0056] Or, in addition to the prediction mode of the current block, whether to apply a filter to the reference pixel value can be determined according to the size of the current block. At this time, whether to apply a filter according to the prediction mode 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.
[0057] Table 1 is a table that specifies whether a filter can be applied based 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 may be applied.
[0059] Also, whether a filter can be applied to the reference pixel values can be determined according to whether the surrounding blocks can be intra-frame encoded or inter-frame encoded. For example, in the case of performing constrained intra-prediction, when the surrounding blocks are inter-frame encoded, the values encoded inter-frame should satisfy the values of the intra-frame encoded surrounding blocks, etc. At this time, filtering cannot be applied.
[0060] If it is determined to apply a filter to the reference pixel values, at step S202, the encoder applies a filter to the reference pixel values. The filter to be applied can be a commonly used filter. For example, the 3-tap in Equation 1 can be used, or a 2-tap filter can also 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) can be used. The reference pixel values to which the filter has been applied can be used when applying the filter to other reference pixel values. Also, when applying a filter to the reference pixel values, the filter can be applied to all the reference pixel values, or the filter can be applied only to some of the reference pixel values.
[0061] In step S203, the encoder performs intra prediction based on the reference pixel values with or without the filter applied.
[0062] In step S204, the encoder determines whether a filter can be applied to the predicted value for each prediction mode predicted by the intra prediction execution for encoding the current block. Here, each prediction mode can be one of nine prediction modes of the 4×4 luma prediction mode. When determining whether a filter can be applied to the predicted value for each prediction mode, information on surrounding blocks can be used, or whether a filter can be applied can be determined by the RDO method.
[0063] When determining whether to apply a filter to a predicted value using information of surrounding blocks, the prediction mode of a current block can be determined based on the prediction mode information (MPM) of the surrounding blocks, and whether to apply a filter to the predicted value can be determined according to the determined prediction mode of the current block. For example, assuming that the current block is "C", the upper block is "A", and the 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. Or, 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 prediction mode is encoded and transmitted. At this time, 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 can be relatively larger than that in other prediction modes. For example, there may be a case where the difference between the reference pixel value and the predicted value in the planar prediction mode is relatively large compared to other prediction modes. The predicted value in the planar prediction mode can be calculated as the average of a first predicted value obtained by horizontally linearly interpolating each row and a second predicted value obtained by vertically linearly interpolating each column. When horizontally linearly interpolating, the right value is the same as the value located in the upper right direction among the reference pixel values (that is, H in FIG. 3), and when vertically linearly interpolating, the lower value is the same as the value located in the lower left direction among the reference pixel values (that is, I in FIG. 3). Since the predicted value is not immediately obtained from the reference pixel value, there may be a case where the difference between the reference pixel value and the predicted value is relatively large. In such a case, a filter can be applied to the predicted value to improve the efficiency of intra prediction. Whether to apply a filter to the predicted value can be determined according to the prediction mode of the current block determined in this way. Even when the sizes of the current block and the upper block or the left block are different, the prediction mode of the current block can be determined according to the prediction mode of the surrounding blocks.
[0064] Alternatively, in addition to the prediction mode of the current block, it is possible to determine whether to apply a filter to the predicted value according to the size of the current block. At this time, the applicability of filter application according to the prediction mode and the size of the current block is specified in advance, and the applicability of filter application is adaptively determined according to the prediction mode or the size. Alternatively, the applicability of filter application to the predicted value may be determined according to whether the surrounding blocks can be intra-coded or inter-coded.
[0065] When it is determined to apply a filter to the predicted value, in step S205, the encoder applies a filter to the predicted value. Thereby, the prediction of the current block is completed, and the encoder calculates a residual signal and performs entropy coding.
[0066] FIG. 7 shows a case where a filter is applied to a predicted value by the proposed intra-prediction execution method using an adaptive filter.
[0067] As shown in FIG. 7, when the prediction mode of the current block is the non-directional mode, the difference between the reference pixel value and the predicted value may be relatively large compared to other prediction modes. Therefore, the filter can be applied only to the predicted values of the pixels adjacent to the boundary with the restored reference pixel values in the periphery. For example, in FIG. 3, filtering can be performed on the predicted values corresponding to the pixels a1 to a8 and b1, c1, d1, e1, f1, g1, h1 that are in one row located at the boundary. Alternatively, the filter can be applied to the predicted values corresponding to the pixels a1 to a8, b1 to b8 and c1 to c2, d1 to d2, e1 to e2, f1 to f2, g1 to g2, h1 to h2 that are in two rows located at the boundary. The filter applied at this time can be a commonly used filter. For example, the 3-tap in Equation 1 can be used, or a 2-tap filter can 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) can be used. Alternatively, depending on the position of the pixel, either one of the 2-tap filter or the 3-tap filter can be selected and used.
[0068] In a similar manner, when the prediction mode of the current block is a prediction mode that uses reference pixel values corresponding to A to P, such as mode 0, mode 3, or mode 7, the filter can be applied to the predicted values corresponding to a1 to a8 where the difference between the reference pixel value and the predicted value is relatively large. Also, when the prediction mode of the current block is a prediction mode that uses reference pixel values corresponding to Q to X, such as mode 1 or mode 8, the filter can be applied to the predicted values corresponding to a1, b1, c1, d1, e1, f1, g1, and h1 where the difference between the reference pixel value and the predicted value is relatively large.
[0069] Equation 2 is an example of an equation representing the filter applied to the predicted value when selecting and using a 2-tap filter or a 3-tap filter depending on the position of the 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 the value obtained by applying a filter to the predicted value a1, and A and Q represent 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 still another example of an equation representing the filter applied to the predicted value when the filter is applied to the predicted value by the proposed adaptive filter-based intra prediction execution method.
[0073] <Equation 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 can be used when applying an adaptive filter based on a method of 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 executed for two directions, vertical and horizontal. First, the filter is applied in the vertical direction, and based on the value to which the filter is applied, the filter is further applied in the horizontal direction. The predicted value to which the filter is applied can be used when applying the filter to other predicted values.
[0075] On the other hand, when the RDO method is applied, the intra prediction execution method described in FIG. 6 can be repeatedly executed.
[0076] FIG. 8 is a block diagram of an encoder and a decoder in which an embodiment of the present invention is realized.
[0077] The encoder 800 includes a processor (810; processor) and a memory (820; memory). The processor 810 realizes the proposed functions, processes, and / or methods. The processor 810 determines whether to apply a first filter to the reference pixel value based on information of neighboring blocks of the current block, and when it is determined to apply the first filter, applies the first filter to the reference pixel value, performs an intra prediction for the current block based on the reference pixel value, determines whether to apply a second filter to the predicted value for each prediction mode of the current block predicted by the intra prediction execution based on the information of the neighboring blocks, and when it is determined to apply the second filter, is configured to apply the second filter to the predicted value for each prediction mode of the current block. The memory 829 is connected to the processor 810 and stores various information for driving the processor 810.
[0078] Decoder 900 includes a processor 910 and a memory 920. The processor 910 implements the proposed functions, processes, and / or methods. The processor 910 determines whether to apply a first filter to a reference pixel value based on information of peripheral blocks of the current block, and when it is determined to apply the first filter, applies the first filter to the reference pixel value, performs intra prediction on the current block based on the reference pixel value, determines whether to apply a second filter to the predicted value for each prediction mode of the current block predicted by the intra prediction based on the information of the peripheral blocks, and when it is determined to apply the second filter, is configured to apply the second filter to the predicted value for each prediction mode of the current block. The memory 920 is connected to the processor 910 and stores various information for driving the processor 910.
[0079] The processors 810, 910 can include an ASIC (application-specific integrated circuit), other chip sets, logic circuits, and / or data processing devices. The memories 820, 920 can include a ROM (read-only memory), a RAM (random access memory), a flash memory, a memory card, a storage medium, and / or other storage media. When the embodiments are realized by software, the above-described techniques can be realized by modules (processes, functions, etc.) that perform the above-described functions. The modules can be stored in the memories 820, 920 and executed by the processors 810, 910. The memories 820, 920 can be inside or outside the processors 810, 910 and can be connected to the processors 810, 910 by various well-known means.
[0080] In the exemplary system described above, methods and the like are described based on a sequence diagram as a series of steps or blocks. However, the present invention is not limited to the order of steps and the like. A certain step can occur in an order different from that of steps different from those described above, or simultaneously. Also, those skilled in the art will understand that the steps shown in the sequence diagram are not exclusive, and that other steps may be included, or one or more steps of the sequence diagram may be deleted without affecting the scope of the present invention.
[0081] The above-described embodiments and the like include examples of various aspects. It is not possible to describe all possible combinations for representing various aspects and the like, but those having ordinary knowledge 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 falling 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 horizontal mode, the filtered prediction value is generated by applying the second filter to the topmost 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 horizontal mode, the second filter is applied using a left reference pixel value, a top reference pixel value, and a top left corner reference pixel value, the left reference pixel value corresponding to the left side of the leftmost pixel on the top side of the current block, and the top reference pixel value corresponding to the top side of the topmost 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 horizontal mode, a filtered prediction value is generated by applying the second filter to the topmost pixel of the current block among the 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 horizontal mode, a filtered prediction value is generated by applying the second filter to the topmost 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
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