Image encoding / decoding method and device

By selecting multiple reference pixel lines and applying adaptive interpolation methods, the method improves intra prediction efficiency and image quality by reducing errors and discontinuities in image encoding/decoding.

JP2025111733AActive Publication Date: 2025-07-30IND ACAD CO OPERATION FOUNDATION OF SEJONG UNIV
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2025075389
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2017-09-29
Filing Date
2025-04-30
Publication Date
2025-07-30
Estimated Expiration
2037-10-12

AI Technical Summary

Technical Problem

Conventional intra prediction methods in image encoding/decoding suffer from inefficiencies due to the use of a single reference pixel line and require significant information to encode the intra prediction mode, leading to errors and discontinuities between prediction blocks and peripheral regions.

Method used

The method involves selecting multiple reference pixel lines, applying various interpolation methods, and deriving intra prediction modes based on already restored pixel regions to improve prediction accuracy and reduce discontinuities.

Benefits of technology

This approach enhances compression efficiency and image quality by optimizing intra prediction using multiple reference pixel lines and interpolation methods, reducing errors and improving the continuity of prediction blocks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025111733000001_ABST
    Figure 2025111733000001_ABST
Patent Text Reader

Abstract

To provide an encoding / decoding method and device for improving the efficiency of intra prediction.SOLUTION: A decoding method includes selecting at least one reference pixel line from a plurality of reference pixel lines, and deriving a predicted value of one pixel in the current block on the basis of at least one pixel value included in the selected at least one reference pixel line, deriving an intra prediction mode of a reconstructed pixel region on the basis of a reference pixel region of at least one pixel region that has already been reconstructed, deriving an intra prediction mode of the current block on the basis of the derived intra prediction mode of the reconstructed pixel region, obtaining an intra prediction block of the current block using the derived intra prediction mode, and reconstructing the current block by adding the obtained intra prediction block and a residual block of the current block.SELECTED DRAWING: Figure 14
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an image signal encoding / decoding method and apparatus, and more particularly, to an image encoding / decoding method and apparatus using improved intra prediction.

Background Art

[0002] Recently, on the Internet, the demand for multimedia data such as moving images has been increasing rapidly. However, the speed at which the bandwidth of a channel develops cannot keep up with the rapidly increasing amount of multimedia data. To solve such a problem, the VCEG (Video Coding Expert Group) of ITU-T and the MPEG (Moving Picture Expert Group) of ISO / IEC, which are international standardization organizations, are steadily researching a more improved moving image compression standard through joint research.

[0003] Moving image compression mainly consists of intra prediction, inter prediction, transformation, quantization, entropy coding, and in-loop filtering. Among these, intra prediction refers to a technique for generating a prediction block for a current block using restored pixels existing around the current block.

[0004] Conventional intra prediction generates pixels at fractional positions through an interpolation process using reference pixels at integer positions, and generates a prediction block using the pixels at fractional positions thus generated. At this time, the error between the original pixel value and its predicted value is affected by which reference pixels at integer positions are used and which interpolation method is applied.

[0005] In addition, in order for a conventional intra prediction technique to inform an image decoding apparatus which intra prediction mode among a number of intra prediction modes is used for intra prediction of an input image, a considerable amount of information regarding the prediction mode must be encoded.

Summary of the Invention

Problems to be Solved by the Invention

[0006] The main object of the present invention is to improve the efficiency of intra prediction by performing intra prediction using a plurality of reference pixel lines when encoding / decoding an image.

[0007] The main object of the present invention is to improve the efficiency of intra prediction by inducing an intra prediction block using an interpolation method selected from a plurality of interpolation methods when encoding / decoding an image.

[0008] The main object of the present invention is to provide a filtering method capable of reducing the discontinuity between an intra prediction block and a peripheral region when performing intra prediction using a plurality of reference pixel lines when encoding / decoding an image.

[0009] The main object of the present invention is to improve the efficiency of intra prediction by inducing an intra prediction mode of an image to be encoded or decoded using a pixel region that has already been restored when encoding / decoding an image.

Means for Solving the Problems

[0010] An image decoding method and apparatus according to an embodiment of the present invention can select at least one reference pixel line from a plurality of reference pixel lines and derive a predicted value of one pixel in the current block based on at least one pixel value included in the selected at least one reference pixel line.

[0011] An image decoding method and apparatus according to an embodiment of the present invention can obtain reference pixel line index information from an input bit stream and select the at least one reference pixel line from the plurality of reference pixel lines based on the reference pixel line index information.

[0012] The image decoding method and apparatus according to an embodiment of the present invention can select at least one reference pixel line for each pixel in the current block based on the position of each pixel in the current block.

[0013] The image decoding method and apparatus according to an embodiment of the present invention can select any one of a plurality of interpolation methods, and use the selected interpolation method to perform interpolation using at least one pixel included in the selected at least one reference pixel line, thereby obtaining the predicted value. The selected interpolation method can be selected based on index information indicating any one of the plurality of interpolation methods.

[0014] The image decoding method and apparatus according to an embodiment of the present invention can derive predicted values for all pixels of the current block to obtain a predicted block of the current block, and can filter the predicted block.

[0015] The image decoding method and apparatus according to an embodiment of the present invention can filter a predetermined region of the current block according to the size of the current block or the intra prediction mode of the current block.

[0016] The image encoding method and apparatus according to an embodiment of the present invention can select at least one reference pixel line from a plurality of reference pixel lines, and obtain a predicted value of one pixel in the current block based on at least one pixel value included in the selected at least one reference pixel line.

[0017] The image encoding method and apparatus according to an embodiment of the present invention can encode reference pixel line index information indicating the selected at least one reference pixel line, and include the encoded reference pixel line index information in a bit stream.

[0018] The image encoding method and apparatus according to an embodiment of the present invention can select at least one reference pixel line for each pixel in the current block based on the position of each pixel in the current block.

[0019] The image encoding method and apparatus according to an embodiment of the present invention can select at least one reference pixel line for each pixel in the current block based on the intra prediction mode of the current block.

[0020] The image encoding method and apparatus according to an embodiment of the present invention can select any one of a plurality of interpolation methods, and perform interpolation using at least one pixel included in the selected at least one reference pixel line using the selected interpolation method, thereby obtaining the predicted value.

[0021] The image encoding method and apparatus according to an embodiment of the present invention can encode index information indicating any one of the plurality of interpolation methods and include it in a bitstream.

[0022] After deriving the predicted values of all pixels in the current block to obtain a predicted block of the current block, the image encoding method and apparatus according to an embodiment of the present invention can filter the predicted block.

[0023] The image encoding method and apparatus according to an embodiment of the present invention can filter a predetermined region of the current block according to the size of the current block or the intra prediction mode of the current block.

[0024] The image encoding / decoding method and apparatus according to an embodiment of the present invention induce an intra prediction mode of a restored pixel region based on a reference pixel region of at least one pixel region that has already been restored, induce an intra prediction mode of the current block based on the induced intra prediction mode of the restored pixel region, obtain an intra prediction block of the current block using the induced intra prediction mode, and add the obtained intra prediction block and the residual block of the current block to restore the current block.

[0025] The image decoding method and apparatus according to an embodiment of the present invention obtain information indicating a method for inducing an intra prediction mode from an input bitstream, and can select whether to induce an intra prediction mode of a restored pixel region according to the information indicating the method for inducing the intra prediction mode.

[0026] The image decoding method and apparatus according to an embodiment of the present invention obtain available intra prediction mode information for specifying the number of available intra prediction modes or a list of the available intra prediction modes from an input bitstream, and can induce an intra prediction mode of the current block based on the available intra prediction mode information.

[0027] The image encoding method and apparatus according to an embodiment of the present invention encode information indicating a method for inducing an intra prediction mode of a current block and then include it in a bitstream. An image decoding apparatus that receives the input of the bitstream can selectively perform a step of inducing an intra prediction mode of the restored pixel region according to the information indicating the method for inducing the intra prediction mode of the current block.

Advantages of the Invention

[0028] According to the present invention, by applying a more effective intra prediction technique, it is possible to improve the compression efficiency of an image and the image quality of the reproduced image. Further, by applying a filtering method according to the present invention that can reduce the discontinuity between an intra prediction block and a peripheral region, the image quality of the reproduced image can be improved.

Brief Description of the Drawings

[0029]

Fig. 1

Fig. 2

Fig. 3

Fig. 4

Fig. 5

Fig. 6

Fig. 7a - 7b

Fig. 8

Fig. 9

Fig. 10

Fig. 11

Fig. 12

Fig. 13

Fig. 14

Fig. 15

Fig. 16

Fig. 17

Fig. 18

Fig. 19

Fig. 20

Fig. 21

Fig. 22a - 22d

Fig. 23

Fig. 24

Fig. 25

Fig. 26

Fig. 27

Fig. 28

Fig. 29

Fig. 30

Fig. 31a - 31b

Fig. 32

Fig. 33

Fig. 34

Fig. 35

Best Mode for Carrying Out the Invention

[0030] The present invention can be modified in various ways and can have various embodiments. Therefore, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this does not limit the present invention to specific embodiments, and it should be understood that it includes all modifications, equivalents, and alternatives included in the spirit and technical scope of the present invention. While explaining each drawing, similar reference numerals are used for similar components.

[0031] The terms "first", "second", etc. can be used to describe various components, but these components should not be limited by the above terms. These terms are only used for the purpose of distinguishing one component from another. For example, unless it deviates from the scope of the rights of the present invention, the first component can be named the second component, and similarly, the second component can also be named the first component. The term "and / or" includes a combination of a plurality of related described items or any of the plurality of related described items.

[0032] When it is said that a certain component is "connected to" or "connected with" another component, it should be understood that it may be directly connected or connected to the other component, but there may also be another component intervening between them. In contrast, when it is said that a certain component is "directly connected to" or "directly connected with" another component, it should be understood that there is no other component intervening between them.

[0033] The terms used in the present invention are merely used to describe specific embodiments and do not limit the present invention. Singular expressions include plural expressions unless the context clearly indicates a different meaning. In the present invention, terms such as "including" or "having" are used to specify the existence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and it should be understood that the existence or addition possibility of one or more other features, numbers, steps, operations, components, parts, or combinations thereof is not precluded in advance.

[0034] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.

[0035] FIG. 1 is a block diagram showing an image encoding apparatus according to an embodiment of the present invention.

[0036] Referring to FIG. 1, the image encoding apparatus 100 can include an image division unit 101, an intra-picture prediction unit 102, an inter-picture prediction unit 103, a subtraction unit 104, a conversion unit 105, a quantization unit 106, an entropy encoding unit 107, an inverse quantization unit 108, an inverse conversion unit 109, an addition unit 110, a filter unit 111, and a memory 112.

[0037] Each component shown in FIG. 1 is independently illustrated for showing different characteristic functions in the image encoding apparatus, and does not mean that each component consists of separate hardware or one software configuration unit. That is, each component is listed as each component for convenience of explanation, and at least two of the components can be combined to form one component, or one component can be divided into a plurality of components to perform functions. Such integrated and separated 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.

[0038] Also, some components may not be essential components for performing essential functions in the present invention, but may be optional components for simply improving performance. The present invention can be realized by including only the essential components necessary for realizing the essence of the present invention, excluding the components used only for performance improvement, and a structure including only the essential components excluding the optional components used only for performance improvement is also included in the scope of the present invention.

[0039] The image segmentation unit 100 can divide the input image into at least one block. At this time, the input image can have various shapes and sizes, such as pictures, slices, tiles, segments, etc. The block can mean a coding unit (CU), a prediction unit (PU), or a transform unit (TU). The division can be performed based on at least one of a quad tree and a binary tree. A quad tree is a method of dividing a higher-level block into four lower-level blocks with a width and height that are half of the higher-level block. A binary tree is a method of dividing a higher-level block into two lower-level blocks where either the width or the height is half of the higher-level block. By the above-described binary tree-based division, the block can have not only a square shape but also a non-square shape.

[0040] Hereinafter, in the embodiments of the present invention, the coding unit may be used in the sense of a unit for performing coding and may also be used in the sense of a unit for performing decoding.

[0041] The prediction units 102 and 103 can include an inter-prediction between-screen prediction unit 103 that performs inter-prediction and an intra-prediction within-screen prediction unit 102 that performs intra-prediction. It is possible to determine whether to use inter-prediction or perform intra-prediction for a prediction unit, and to determine specific information (for example, intra-prediction mode, motion vector, reference picture, etc.) according to each prediction method. At this time, the processing unit for which prediction is performed and the processing unit for which the prediction method and specific content are determined may be different from each other. For example, the prediction method and prediction mode, etc. may be determined in the prediction unit, and the execution of the prediction may be performed in the transform unit.

[0042] The residual value (residual block) between the generated prediction block and the original block can be input to the transform unit 105. Also, prediction mode information, motion vector information, etc. used for prediction can be encoded by the entropy coding unit 107 together with the residual value and transmitted to the decoder. When using a specific coding mode, it is also possible to directly encode the original block and transmit it to the decoding unit without generating a prediction block via the prediction units 102 and 103.

[0043] The in-picture prediction unit 102 determines the intra prediction mode of the current block, and can generate one or more prediction blocks using reference pixels according to the determined intra prediction mode. When the prediction mode of the peripheral block of the current block where intra prediction is performed is inter prediction, the reference pixels included in the peripheral block to which inter prediction is applied can be replaced with the reference pixels in other peripheral blocks to which intra prediction is applied. That is, when the reference pixels are not available, the unavailable reference pixel information can be replaced and used with at least one of the available reference pixels.

[0044] The prediction mode in intra prediction can have a directional prediction mode that uses reference pixel information according to the prediction direction and a non-directional mode that does not use direction information during prediction execution. The mode for predicting luminance information and the mode for predicting chrominance information are different from each other, and in order to predict chrominance information, the intra prediction mode information used to predict luminance information or the predicted luminance signal information can be utilized.

[0045] The in-picture prediction unit 102 can include an AIS (Adaptive Intra Smoothing) filter, a reference pixel interpolation unit, and a DC filter. The AIS filter is a filter that performs filtering on the reference pixels of the current block, and can adaptively determine whether to apply the filter according to the prediction mode of the current prediction unit. When the prediction mode of the current block is a mode that does not perform AIS filtering, the AIS filter may not be applied.

[0046] When the reference pixel interpolation unit of the in-picture prediction unit 102 is a prediction unit that performs intra prediction based on the pixel value obtained by interpolating reference pixels in the intra prediction mode of the prediction unit, it can interpolate the reference pixels to generate reference pixels at fractional unit positions. When the prediction mode of the current prediction unit is a prediction mode that generates a prediction block without interpolating reference pixels, the reference pixels 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.

[0047] A residual block including residual value (Residual) information, which is the difference value between the prediction block generated by the prediction units 102 and 103 and the original block of the prediction block, can be generated. The generated residual block can be input to the conversion unit 105 for conversion.

[0048] FIG. 2 is a diagram for explaining an example of the intra prediction mode. The intra prediction mode shown in FIG. 2 has a total of 35 modes. Mode 0 is the Planar mode, mode 1 is the DC mode, and modes 2 to 34 are the Angular mode.

[0049] FIG. 3 is a diagram for explaining the Planar mode. To generate the predicted value of the first pixel P1 in the current block, the restored pixel at the same position on the Y-axis and the restored pixel T existing at the upper right end of the current block are linearly interpolated as shown in the figure. Similarly, to generate the predicted value of the second pixel P2, the restored pixel at the same position on the X-axis and the restored pixel L existing at the lower left end of the current block are linearly interpolated as shown in the figure. The value obtained by averaging the two predicted pixels P1 and P2 becomes the final predicted pixel. In the Planar mode, the predicted block of the current block is generated by inducing the predicted pixel in the above-described manner.

[0050] FIG. 4 is a diagram for explaining the DC mode. After calculating the average of the restored pixels around the current block, the average value is used as the predicted value for all the pixels in the current block.

[0051] FIG. 5 is a diagram for explaining an example of generating a prediction block using the 10th mode (horizontal mode) and the 26th mode (vertical mode) of FIG. 2. When using the 10th mode, each reference pixel adjacent to the left side of the current block is copied to the right to generate a prediction block of the current block. Similarly, in the 26th mode, each reference pixel adjacent to the upper side of the current block is copied downward to generate a prediction block of the current block.

[0052] Referring back to FIG. 1, the inter-picture prediction unit 103 can also predict a prediction unit based on information of at least one picture among the previous picture or the subsequent picture of the current picture, and in some cases, can also predict a prediction unit based on information of a partially encoded area within the current picture. The inter-picture prediction unit 103 can include a reference picture interpolation unit, a motion prediction unit, and a motion compensation unit.

[0053] The reference picture interpolation unit can receive the reference picture information from the memory 112 and generate pixel information below the integer pixel in 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 below the integer pixel in units of 1 / 4 pixels. In the case of chrominance signals, a DCT-based 4-tap interpolation filter with different filter coefficients can be used to generate pixel information below the integer pixel in units of 1 / 8 pixels.

[0054] The motion prediction unit can perform motion prediction based on the reference picture interpolated by the reference picture interpolation unit. As methods for calculating motion vectors, various methods such as FBMA (Full search-based Block Matching Algorithm), TSS (Three Step Search), and NTS (New Three-Step Search Algorithm) can be used. The motion vector can have a motion vector value in units of 1 / 2 or 1 / 4 pixels based on the interpolated pixels. In the motion prediction unit, the current prediction unit can be predicted using different motion prediction methods. As motion prediction methods, various methods such as the Skip method, the Merge method, and the AMVP (Advanced Motion Vector Prediction) method can be used.

[0055] The subtraction unit 104 subtracts the block to be currently encoded and the predicted block generated by the intra prediction unit 102 or the inter prediction unit 103 to generate the residual block of the current block.

[0056] In the conversion unit 105, the residual block including the residual data can be converted using conversion methods such as DCT, DST, and KLT (Karhunen Loeve Transform). At this time, the conversion method can be determined based on the intra prediction mode of the prediction unit used to generate the residual block. For example, depending on the intra prediction mode, DCT can be used in the horizontal direction and DST can be used in the vertical direction.

[0057] The quantization unit 106 can quantize the value converted into the frequency domain by the conversion unit 105. The quantization coefficient can vary according to the block or the importance of the image. The value calculated by the quantization unit 106 can be provided to the inverse quantization unit 108 and the entropy encoding unit 107.

[0058] The conversion unit 105 and / or the quantization unit 106 may be selectively included in the image encoding device 100. That is, the image encoding device 100 can perform at least one of conversion or quantization on the residual data of the residual block, or skip both conversion and quantization to encode the residual block. Even if neither conversion nor quantization is performed in the image encoding device 100, or even if both conversion and quantization are not performed, the block input to the entropy encoding unit 107 is generally called a conversion block. The entropy encoding unit 107 performs entropy encoding on the input data. Entropy encoding can use various encoding methods such as, for example, Exponential Golomb, CAVLC (Context-Adaptive Variable Length Coding), CABAC (Context-Adaptive Binary Arithmetic Coding).

[0059] The entropy encoding unit 107 can encode various information such as residual value coefficient information, block type information, prediction mode information, division unit information, prediction unit information, transmission unit information, motion vector information, reference frame information, block interpolation information, and filtering information of the encoding unit from the prediction units 102 and 103. In the entropy encoding unit 107, the coefficients of the transform block can be encoded in units of partial blocks within the transform block through various types of flags indicating coefficients that are not zero, coefficients whose absolute value is greater than 1 or 2, the signs of the coefficients, and the like. Coefficients that are not encoded only by the flags can be encoded through the absolute value of the difference between the coefficients encoded through the flags and the coefficients of the actual transform block. In the inverse quantization unit 108 and the inverse transform unit 109, the values quantized by the quantization unit 106 are inverse quantized, and the values transformed by the transform unit 105 are inverse transformed. The residual values (Residual) generated by the inverse quantization unit 108 and the inverse transform unit 109 can be combined with the prediction units predicted through the motion estimation unit, the motion compensation unit, and the intra-prediction unit 102 included in the prediction units 102 and 103 to generate a reconstructed block (Reconstructed Block). The adder 110 adds the prediction block generated by the prediction units 102 and 103 and the residual block generated through the inverse transform unit 109 to generate a reconstructed block.

[0060] The filter unit 111 can include at least one of a deblocking filter, an offset correction unit, and an ALF (Adaptive Loop Filter).

[0061] The deblocking filter can remove the block distortion caused by the boundaries between blocks in the restored picture. To determine whether to perform deblocking, it is possible to determine whether to apply the deblocking filter to the current block based on the pixels included in several columns or rows included in the block. When applying the deblocking filter to a block, a strong filter or a weak filter can be applied according to the required deblocking filter strength. Also, when applying the deblocking filter, when performing vertical filtering and horizontal filtering, the horizontal filtering and the vertical filtering can be made to be processed in parallel.

[0062] The offset correction unit can correct the offset from the original image for each pixel in the image that has undergone deblocking. To perform offset correction for a specific picture, after dividing the pixels included in the image into a certain number of regions, a method of determining the region to which the offset is to be applied and applying the offset to the corresponding region, or a method of applying the offset in consideration of the edge information of each pixel can be used.

[0063] ALF (Adaptive Loop Filtering) can be performed based on the value obtained by comparing the filtered restored image with the original image. After dividing the pixels included in the image into predetermined groups, one filter to be applied to the corresponding group can be determined, and filtering can be performed differentially for each group. Information related to whether to apply ALF can be transmitted for each coding unit (CU) of the luminance signal, and the shape and filter coefficients of the ALF filter applied according to each block can vary. Also, an ALF filter of the same form (fixed form) may be applied regardless of the characteristics of the block to be applied.

[0064] The memory 112 can store the reconstructed blocks or pictures calculated through the filter unit 111, and the stored reconstructed blocks or pictures can be provided to the prediction units 102 and 103 when performing inter prediction.

[0065] FIG. 6 is a block diagram showing an image decoding device 600 according to an embodiment of the present invention.

[0066] Referring to FIG. 6, the image decoding device 600 may include an entropy decoding unit 601, an inverse quantization unit 602, an inverse transform unit 603, an adder unit 604, a filter unit 605, a memory 606, and prediction units 607 and 608.

[0067] When the image bitstream generated by the image encoding device 100 is input to the image decoding device 600, the input bitstream can be decoded in the reverse order of the process performed by the image encoding device 100.

[0068] The entropy decoding unit 601 may perform entropy decoding in the reverse order of the entropy encoding performed by the entropy encoding unit 107 of the image encoding device 100. For example, various methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) may be applied in accordance with the method used in the image encoder. The entropy decoding unit 601 may decode coefficients of a transform block in subblock units within the transform block based on various types of flags indicating coefficients that are not zero, coefficients whose absolute values are greater than 1 or 2, and coefficient signs. Coefficients that are not represented by flags alone may be decoded using the sum of the coefficients represented by the flags and the signaled coefficients.

[0069] The entropy decoding unit 601 can decode information related to intra prediction and inter prediction performed by the encoder. The inverse quantization unit 602 performs inverse quantization on the quantized transform block to generate a transform block. It operates substantially the same as the inverse quantization unit 108 in FIG. 1.

[0070] The inverse transform unit 603 performs an inverse transform on the transform block to generate a residual block. At this time, the transform method can be determined based on information such as the prediction method (inter or intra prediction), the size and / or shape of the block, and the intra prediction mode. It operates substantially the same as the inverse transform unit 109 in FIG. 1.

[0071] The addition unit 604 adds the prediction block generated by the in-picture prediction unit 607 or the inter-picture prediction unit 608 and the residual block generated via the inverse transform unit 603 to generate a restored block. It operates substantially the same as the addition unit 110 in FIG. 1.

[0072] The filter unit 605 reduces various types of noise generated in the restored block.

[0073] The filter unit 605 can include a deblocking filter, an offset correction unit, and an ALF.

[0074] From the image encoding apparatus 100, it is possible to receive information regarding whether to apply a deblocking filter to the corresponding block or picture, and information regarding whether a strong filter or a weak filter is applied when the deblocking filter is applied. The deblocking filter of the image decoding apparatus 600 receives the provision of deblocking filter-related information provided from the image encoding apparatus 100, and can perform deblocking filtering on the corresponding block in the image decoding apparatus 600.

[0075] The offset correction unit can perform offset correction on the restored image based on information such as the type of offset correction applied to the image during encoding and the offset value.

[0076] ALF can be applied to an encoding unit based on the ALF application presence / absence information, ALF coefficient information, etc. provided from the image encoding apparatus 100. Such ALF information may be provided included in a specific parameter set. The filter unit 605 operates substantially in the same manner as the filter unit 111 in FIG. 1.

[0077] The memory 606 stores the restored block generated by the addition unit 604. It operates substantially in the same manner as the memory 112 in FIG. 1.

[0078] The prediction units 607 and 608 can generate a prediction block based on the prediction block generation related information provided from the entropy decoding unit 601 and the previously decoded block or picture information provided from the memory 606.

[0079] The prediction units 607 and 608 can include an intra-picture prediction unit 607 and an inter-picture prediction unit 608. Although not separately illustrated, the prediction units 607 and 608 can further include a prediction unit determination unit. The prediction unit determination unit receives inputs of various information such as the prediction unit information input from the entropy decoding unit 601, the prediction mode information of the intra prediction method, and the motion prediction related information of the inter prediction method, classifies the prediction unit in the current encoding unit, and can determine whether the prediction unit performs inter prediction or intra prediction. The inter-picture prediction unit 608 can perform inter prediction on the current prediction unit based on the information included in at least one of the previous picture or the subsequent picture of the current picture in which the current prediction unit is included, using the information necessary for the inter prediction of the current prediction unit provided from the image encoding apparatus 100. Alternatively, inter prediction can also be performed based on the information of a partially restored area within the current picture in which the current prediction unit is included.

[0080] In order to perform inter prediction, based on the coding unit, it is possible to determine which of the motion prediction methods of the prediction units included in the corresponding coding unit is the Skip Mode, Merge Mode, or AMVP Mode.

[0081] The intra prediction unit 607 generates a prediction block using the already restored pixels located around the block to be currently coded.

[0082] The intra prediction unit 607 can include an AIS (Adaptive Intra Smoothing) filter, a reference pixel interpolation unit, and a DC filter. The AIS filter is a filter that filters the reference pixels of the current block, and can adaptively determine whether to apply the filter according to the prediction mode of the current prediction unit. Using the prediction mode of the prediction unit provided by the image coding apparatus 100 and the AIS filter information, AIS filtering can be performed on the reference pixels of the current block. When the prediction mode of the current block is a mode that does not perform AIS filtering, the AIS filter may not be applied.

[0083] The reference pixel interpolation unit of the intra prediction unit 607 can interpolate the reference pixels to generate reference pixels at fractional unit positions when the prediction mode of the prediction unit is a prediction unit that performs intra prediction based on the pixel values obtained by interpolating the reference pixels. The generated reference pixels at fractional unit positions can be used as the predicted pixels of the pixels within the current block. When the prediction mode of the current prediction unit is a prediction mode that generates a prediction block without interpolating the reference pixels, the reference pixels 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.

[0084] The intra prediction unit 607 operates substantially in the same manner as the intra prediction unit 102 in FIG. 1.

[0085] The inter-picture prediction unit 608 generates an inter-prediction block using the reference picture and motion information stored in the memory 606. The inter-picture prediction unit 608 operates substantially in the same manner as the inter-picture prediction unit 103 in FIG. 1.

[0086] The present invention relates particularly to intra prediction. Hereinafter, various embodiments of the present invention will be described in more detail with reference to the drawings.

[0087] < Interpolation for Intra Prediction> FIGS. 7a and 7b are diagrams for explaining a method of deriving an intra-prediction pixel using interpolation. Assuming that the prediction angle of the m-th mode, which is one of the intra-prediction modes in FIG. 2, is as shown in FIG. 7a, when intra-prediction is performed using the m-th mode, the reference pixel X used for prediction does not exist at an integer pixel position. Therefore, by performing interpolation using the reference pixels A and B that exist at the integer pixel positions on the left and right sides of the reference pixel X, the reference pixel X at the fractional pixel position is generated. The generated reference pixel X is used as the predicted pixel of the pixel at the P position in the current block.

[0088] FIG. 7b is a diagram for explaining the relationship between the pixels X, A, and B. Referring to FIG. 7b, the distance between the pixel X and A is S1, and the distance between the pixel B and X is S2. Depending on the ratio of the distances S1 and S2, pixel X can be derived using various interpolation methods. At this time, various interpolation methods such as linear interpolation, cubic convolution interpolation, and B-spline interpolation can be applied to the interpolation method used.

[0089] As a method for the image decoding device 100 to know which interpolation method among a plurality of available interpolation methods was applied or which interpolation coefficient set was used, there are various methods. The first method is a method in which the image encoding device 100 transmits index information indicating which interpolation method among a plurality of available interpolation methods was applied to the image decoding device 600. At this time, the image encoding device 100 can also set the index information indicating the interpolation method in units of blocks or via a higher-level header. Here, setting via a higher-level header means setting using a header in a unit larger than the unit of blocks such as a slice segment header, a picture parameter set, or a sequence parameter set. The index information indicating the interpolation method included in the higher-level header can be encoded by the image encoding device 100 and transmitted to the image decoding device 600.

[0090] As another method, the encoding device 100 and the decoding device 600 can store the same plurality of already-set interpolation coefficient sets, and the interpolation coefficient index information indicating which set was selected and used for encoding can be notified to the decoding device 600 in units of blocks or via a higher-level header.

[0091] As another method, instead of the image encoding device 100 transmitting the index information indicating the interpolation method described above or the interpolation coefficient index information indicating which interpolation coefficient set is used to the image decoding device 600, the image encoding device 100 and the image decoding device 600 can induce the interpolation coefficients in the same way in an implicit manner.

[0092] Specifically, the image encoding apparatus 100 and the image decoding apparatus 600 can derive interpolation coefficients in the same manner using the already restored pixels. For example, R reference pixels (i.e., already restored pixels) are used to expand or contract by R×K (K is an arbitrary real number) times through one interpolation filter. Then, the original R reference pixels are restored through the reverse process using the same interpolation filter. The optimal interpolation filter can be determined based on how much the values of the restored R reference pixels differ from the original reference pixel values.

[0093] FIG. 8 is a diagram for explaining another method in which the image encoding apparatus 100 or the image decoding apparatus 600 selects an interpolation method and / or interpolation coefficients in an implicit manner. Referring to FIG. 8 for explanation, the 4×4 block containing the pixel P corresponds to the current block decoded through intra prediction. A plurality of reference pixel lines composed of already restored pixels located around the current block are used for determining the interpolation method or interpolation coefficients. As shown in FIG. 8, each reference pixel line can include a predetermined number of pixels in one row in the horizontal direction and a predetermined number of pixels in one column in the vertical direction. Alternatively, the reference pixel line may be composed of a predetermined number of pixels in one row in the horizontal direction or a predetermined number of pixels in one column in the vertical direction.

[0094] Referring to FIG. 8 again, the pixels in reference pixel line 0 are predicted using the pixels in reference pixel line 1. At this time, the Nth directional mode same as the intra prediction mode of the current block is used for prediction. For example, since the reference pixel X corresponding to the predicted pixel of the pixel R in reference pixel line 0 is not a pixel at an integer position, the reference pixel X can be derived through interpolation using two integer position reference pixels as shown in FIGS. 7a and 7b. In this case, a specific interpolation method and interpolation coefficients are used.

[0095] In such a manner, a predicted value of a pixel within the reference pixel line 0 is generated, and after calculating a difference value between each predicted value and each original pixel value, each difference value is summed up. The above process is repeatedly performed using an interpolation method and an interpolation coefficient that can be used in the image encoding apparatus 100 or the image decoding apparatus 600, and finally, the interpolation method and / or the interpolation coefficient when the sum of each difference value becomes minimum is selected.

[0096] The interpolation described above can be performed by a reference pixel interpolation unit included in each of the in-picture prediction unit 102 of the image encoding apparatus 100 and the in-picture prediction unit 607 of the image decoding apparatus 600.

[0097] FIG. 9 is a flowchart for explaining a process in which an optimal intra prediction mode is selected by the image encoding apparatus 100. At this time, it is assumed that the interpolation method is set by a block unit or a higher-level header or the like.

[0098] Referring to FIG. 9 for explanation, a variable m indicating an intra prediction mode number is initialized to 0, and a variable COST_BEST for storing an optimal cost value is initialized to MAX_VALUE (S901). Here, MAX_VALUE is the maximum value that can be stored in the COST_BEST variable, and is a very large value that cannot be actually obtained during cost calculation. The total number of the already set intra prediction modes is set in the variable M (S901). BEST_INTRA_MODE indicating the optimal intra prediction mode for the current block is initialized to 0 (S901).

[0099] After that, according to the intra prediction mode m, an interpolation position corresponding to each pixel position of the prediction block is searched, and after generating an interpolation value using any one of the already set interpolation methods or a number of interpolation methods set in the upper header, a prediction block is generated (S902). Using the generated prediction block, a COST_m which is a cost value corresponding to m is calculated (S903). Here, COST_m can be calculated using the number of bits required for encoding the intra mode and the difference between the prediction block and the current block. If COST_m is smaller than or equal to COST_BEST (S904), m is stored in BEST_INTRA_MODE which is a variable for storing the optimal intra prediction mode, cost_m is stored in the COST_BEST variable, and m is incremented by 1 (S905). If COST_m is larger than COST_BEST, only m is incremented by 1 (S906). Finally, if m reaches the maximum number of intra prediction modes, it ends, and if not, it returns to S902 and repeats. Here, when using the method already set in the image encoding device 100 or the image decoding device 600 as the interpolation method, S1 and S2 are set using the methods of FIGS. 7 and 8, and a pixel X is generated using the already set interpolation method. The same method is used to generate the prediction block for all pixels in the prediction block. Alternatively, when a number of interpolation methods are used, the content of step S902 can be changed.

[0100] Also, a number of interpolation methods can be adaptively applied for each prediction block. At this time, the content of step S902 among the steps shown in FIG. 9 is changed.

[0101] FIG. 10 is a flowchart for explaining the process in which any one of a plurality of interpolation methods is selected by the image encoding device 100.

[0102] Referring to FIG. 10, in the image encoding apparatus 100, a variable i indicating an interpolation method index is initialized to 0, and a variable COST_BEST_i for storing the optimal cost value is initialized to MAX_VALUE. Here, MAX_VALUE is the maximum value that can be stored in the COST_BEST_i variable, and is a very large value that cannot be actually obtained during cost calculation. The variable i is set to the total number of available interpolation methods that have already been set. A variable BEST_INTERPOLATION for storing the optimal interpolation method used for the current block is initialized to 0 (S1001). Then, based on the interpolation method index i, after generating interpolation values corresponding to each pixel position of the prediction block, a prediction block is generated (S1002). Using the generated prediction block, a COST_i which is the cost value corresponding to i is calculated (S1003). Here, COST_i is calculated using the number of bits required for encoding the interpolation method index and the difference between the prediction block and the current block. If COST_i is less than or equal to COST_BEST_i (S1004), i is stored in a variable BEST_INTERPOLATION for storing the optimal interpolation method, cost_i is stored in the COST_BEST_i variable, and i is incremented by 1 (S1005). If COST_i is greater than COST_BEST_i, only i is incremented by 1 (S1006). Finally, if i reaches the maximum number of available interpolation methods, it ends, and if not, it returns to S1002 and repeats. When such a method is used, the number of bits of the intra prediction mode encoded in step S903 shown in FIG. 9 is further added with the number of bits for encoding the interpolation method index to calculate COST_m.

[0103] FIG. 11 is a flowchart for explaining a process of encoding interpolation method index information when a number of interpolation methods are adaptively applied for each prediction block by the image encoding apparatus 100. First, it is encoded whether prediction is performed in the intra prediction mode for each prediction block (S1101). After that, after determining whether prediction has been performed (S1102), if prediction has been performed, an index indicating which candidate has been selected from the prediction candidates in the intra prediction mode generated in the surrounding blocks is encoded (S1103). If not, the remaining modes are rearranged excluding the prediction candidates in the intra prediction mode generated in the surrounding blocks, and after binarizing the currently selected intra prediction mode, it is encoded (S1104). After that, the interpolation method index used is encoded (S1105), and the process ends.

[0104] FIG. 12 is a flowchart for explaining a process of decoding interpolation method index information by the image decoding apparatus 600. First, it is decoded whether prediction is performed in the intra prediction mode for each prediction block (S1201). After that, after determining whether prediction has been performed (S1202), if prediction has been performed, an index indicating which candidate has been selected from the prediction candidates in the intra prediction mode generated in the surrounding blocks is decoded (S1203). If not, the remaining modes are rearranged excluding the prediction candidates in the intra prediction mode generated in the surrounding blocks, and the currently selected intra prediction mode is decoded (S2104). After that, the interpolation method index used by the encoder is decoded (S1205), and the process ends.

[0105] <Induction of Intra Prediction Pixels Using a Plurality of Reference Pixel Lines> Hereinafter, the induction of intra prediction pixels using a plurality of reference pixel lines according to another embodiment of the present invention will be described.

[0106] FIG. 13 is a diagram for explaining the induction of intra prediction pixels using a plurality of reference pixel lines according to an embodiment of the present invention.

[0107] In conventional intra prediction, one reference pixel line was used. The reference pixel line 0 shown in FIG. 13 is it. The reference pixel line 0 consists of a predetermined number of reference pixels in contact with the upper side of the current block and a predetermined number of reference pixels in contact with the left side of the current block. The present invention can improve the accuracy of intra prediction by deriving a predicted pixel or a predicted block using various reference pixel lines and reference pixels belonging to the reference pixel lines. This embodiment can be similarly performed by the in-picture prediction unit 102 of the image encoding device 100 and the in-picture prediction unit 607 of the image decoding device 600, respectively.

[0108] Hereinafter, it will be described on the assumption that a total of three lines are used as the reference pixel lines. However, any N reference pixel lines can be used. Here, the number N of the reference pixel lines can also be included in block units or in the upper header and notified to the decoding device 600. Alternatively, without encoding the number N of the reference pixel lines, it is also possible for the encoding device 100 and the decoding device 600 to use a predetermined N reference pixel lines.

[0109] Referring to FIG. 13 for explanation, a 4×4 block including the pixel P corresponds to the current block to be encoded or decoded using intra prediction. Three reference pixel lines 0, 1, and 2 are located around the current block.

[0110] When the intra prediction mode of the current block is the m-th directional mode, the predicted pixels that can be used as the predicted pixel of the current pixel P using the three reference pixel lines 0, 1, and 2 can be X, Y, and Z. At this time, a predicted block can be generated using each of the three reference pixel lines, and an optimal reference pixel line can be determined. The encoding device 100 can encode the reference pixel line index information indicating the optimal reference pixel line determined in this way. The reference pixel line index can be assigned a low index number to a reference pixel line close to the current block, for example, as shown in FIG. 13.

[0111] FIG. 14 is a flowchart for explaining a process of deriving an intra-predicted pixel value according to an embodiment of the present invention. Referring to FIG. 14, at least one reference pixel line used for intra prediction of a current block is selected from a plurality of reference pixel lines (S1301). The plurality of reference pixel lines exist in the same image as the current block to be decoded using intra prediction. The at least one selected reference pixel line can be indicated by the reference pixel line index described above. As another alternative, at least one reference pixel line used for intra prediction of the current block may be selected using a common method in the image encoding device 100 and the image decoding device 600 by an implicit method described later.

[0112] Also, the at least one selected reference pixel line can be selected for each prediction block. This will be described later with reference to FIG. 15. Alternatively, it may be adaptively selected for each pixel in the prediction block. This will be described later with reference to FIGS. 18 and 19.

[0113] The image encoding device 100 or the image decoding device 600 can obtain a predicted value of one pixel in the current block based on at least one pixel value included in the at least one selected reference pixel line (S1303). The image encoding device 100 or the image decoding device 600 can derive a prediction block of the current block by repeating all or part of the steps of step S1301 or S1303.

[0114] FIG. 15 is a flowchart for explaining a process of adaptively determining a reference pixel line used for intra prediction for each prediction block. At this time, step S902 shown in FIG. 9 can be replaced by the step shown in FIG. 15.

[0115] Referring to FIG. 15, a variable n indicating the reference pixel line index is initialized to 0, and a variable COST_BEST_n for storing the optimal cost value is initialized to MAX_VALUE. Here, MAX_VALUE is the maximum value that can be stored in the COST_BEST_n variable, and it is a very large value that cannot be obtained during actual cost calculation. The variable N is set to the total number of pixel lines that have already been set. BEST_n indicating the optimal reference pixel line index for the current block is initialized to 0 (S1401). Then, according to the reference pixel line index n, an interpolation position corresponding to each pixel position of the prediction block is searched, and the prediction block is generated (S1402). Using the generated prediction block, a cost value COST_n corresponding to n is calculated (S1403). Here, COST_n is calculated using the number of bits required for encoding the reference pixel line n and the difference between the prediction block and the current block. If COST_n is less than or equal to COST_BEST_n (S1404), n is stored in BEST_n, which is a variable for storing the optimal reference pixel line, and cost_n is stored in the COST_BEST_n variable, and n is incremented by 1 (S1405). If COST_n is greater than COST_BEST_n, only n is incremented by 1 (S1406). Finally, if n reaches the maximum number of reference pixel lines, it ends, and if not, it returns to S1402 and repeats.

[0116] FIG. 16 is a flowchart showing a process in which, when a reference pixel line is adaptively selected for each prediction block, reference pixel line index information indicating the selected reference pixel line is encoded by the encoding apparatus 100. First, it is encoded whether or not prediction in the intra prediction mode is performed for each prediction block (S1501). After that, after determining whether or not prediction has been performed (S1502), if prediction has been performed, an index indicating which candidate has been selected from the prediction candidates in the intra prediction mode generated in the peripheral blocks is encoded (S1503). If not, the remaining modes excluding the prediction candidates in the intra prediction mode generated in the peripheral blocks are rearranged, the currently selected intra prediction mode is binarized, and then encoded (S1504). After that, the used reference pixel line index is encoded (S1505), and the process ends.

[0117] FIG. 17 is a flowchart showing a process in which, when a reference pixel line is adaptively selected for each prediction block, reference pixel line index information indicating the selected reference pixel line is decoded by the decoding apparatus 600. First, it is decoded whether or not prediction in the intra prediction mode is performed for each prediction block (S1601). After that, after determining whether or not prediction has been performed (S1602), if prediction has been performed, an index indicating which candidate has been selected from the prediction candidates in the intra prediction mode generated in the peripheral blocks is decoded (S1603). If not, the remaining modes excluding the prediction candidates in the intra prediction mode generated in the peripheral blocks are rearranged, and the currently selected intra prediction mode is decoded (S1604). After that, the used reference pixel line index is decoded (S1605), and the process ends.

[0118] Next, with reference to FIGS. 18 and 19, a method for adaptively determining a reference pixel line for each pixel position of a prediction block without transmission of a reference pixel line index will be described.

[0119] For each pixel within the prediction block, the accuracy of the position of the predicted pixel obtained by interpolation within each reference pixel column can vary. Therefore, among the predicted pixels obtained by interpolation within each reference pixel line, the predicted pixel closest to the integer pixel position can be selected as the predicted pixel for the current pixel P. At this time, the above process can be applied to N predetermined reference pixel lines.

[0120] If there are multiple predicted pixels at integer pixel positions, a predicted pixel closer to the current block can also be selected as the final predicted pixel.

[0121] FIG. 19 is a reference diagram for explaining a method of adaptively selecting a reference pixel line without transmission of a reference pixel line index. As shown in FIG. 19, for each prediction block, a prediction pixel line can be adaptively selected by prioritizing lines where many predicted pixels exist at integer positions. Assuming that the accuracy and frequency of the interpolated pixels used when generating a prediction block using each reference pixel line are as shown in FIG. 19, lines can be selected by weighting according to the accuracy of each pixel position.

[0122] Referring to FIG. 19 again, when generating a prediction block using line 1, 5 predicted pixels at integer positions, 3 predicted pixels at 1 / 2 positions, 4 predicted pixels at 1 / 4 positions, 2 predicted pixels at 1 / 8 positions, 1 predicted pixel at 1 / 16 positions, and 1 predicted pixel at 1 / 32 positions were selected. Therefore, the total number of pixels within the prediction block is 16. The same explanation can be made for reference pixel line 2 and reference pixel line 3.

[0123] When only giving priority to integer pixel positions, it is also possible to select line 1 with the most integer positions as the reference pixel line. Alternatively, after weighting each position and calculating the sum of the weight and the frequency, it is also possible to select the line with the largest calculated value as the reference pixel line. Alternatively, after weighting each line and calculating the sum of the weight and the frequency, it is also possible to select the line with the largest calculated value as the reference pixel line. Alternatively, after weighting both each line and each position and calculating the sum of the weight and the frequency, it is also possible to select the line with the largest calculated value as the reference pixel line.

[0124] As another embodiment, it is also possible to weight each line and generate a prediction block using the weighted sum of pixels. For example, when there are pixel values at the X, Y, and Z positions in FIG. 13, it is also possible to further weight the closer ones to the block and select the weighted sum value as the predicted pixel at the P position. Alternatively, it is also possible to further weight the closer ones to the integer pixel position and select the weighted sum value as the predicted pixel at the P position. Alternatively, in addition to the method of inducing the predicted pixel using the weighted sum, i.e., the weighted average, it is also possible to induce the value of the predicted pixel using the arithmetic average, the median, etc.

[0125] Alternatively, encoding can be performed using the reference pixel line index, and it is also possible to use one that excludes any one of the N lines. For example, when the reference pixel line index is set to 1, N - 1 lines excluding line 1 are used. At this time, when interpolating the predicted value using the m-th mode, the priority can be set higher for the closer ones to the integer pixel position, or the priority can be set differently according to the accuracy of the position to be interpolated. According to such a predetermined arbitrary priority, it is also possible to generate the predicted value using other lines excluding line 1 in pixel units without dividing the lines.

[0126] Alternatively, in the block unit or the upper header, the encoding device 100 can also encode which method of directly encoding the reference pixel line index and the method of not encoding is used and transmit it to the decoding device 600.

[0127] <Smoothing between the prediction block and the reference pixel line> Hereinafter, as another embodiment of the present invention, smoothing between the prediction block and the reference pixel line will be described.

[0128] When the prediction block is derived using a predetermined pixel in the reference pixel line, discontinuities may exist between the reference pixel line not used for the derivation of the prediction block and the prediction block, or between the region adjacent to the prediction block and the prediction block. In order to reduce such discontinuities, smoothing can be used. Smoothing can correspond to a kind of low-pass filter.

[0129] The smoothing according to the embodiment of the present invention can be performed by the in-picture prediction unit 102 of the image encoding device 100 and the in-picture prediction unit 607 of the image decoding device 600, respectively.

[0130] FIG. 20 is a diagram for explaining smoothing between the prediction block and the reference pixel line.

[0131] Hereinafter, the intra prediction mode used will be described by taking as an example the mode in which intra prediction is performed in the 45-degree up-right direction. Also, it is assumed that the reference pixel line 1 is selected for intra prediction. Further, smoothing using pixels A to E as the pixels to which smoothing is applied will be described, but the same can be applied to other pixels.

[0132] In the example of FIG. 20, since intra prediction is performed in the 45-degree up-right direction, smoothing can be performed in the 45-degree down-left direction, which is the opposite direction of the intra prediction direction. At this time, according to the size or shape of the prediction block of the current block, the area of the prediction block to which smoothing is applied can be determined. In FIG. 20, the pixels belonging to half of the area of the prediction block are smoothed. That is, smoothing can be applied only to the pixels in the left half portion that are darkly displayed. Alternatively, according to the size of the prediction block and / or the intra prediction mode, a predetermined area or ratio can also be used. For example, smoothing can be applied only to 1 / 4 of the area of the prediction block, and other ratios are also possible.

[0133] Since reference pixel line 1 in FIG. 20 is determined as the reference pixel line for intra prediction, pixel D existing on reference pixel line 1 can be used to smooth prediction pixel A using the following Equation 1.

[0134] [Equation 1] JPEG2025111733000002.jpg10161In the formula, A’, A, and D are the value of prediction pixel A after smoothing, the value of prediction pixel A before smoothing, and the value of reference pixel D, respectively, and w1 and w2 are the weights applied to prediction pixel A and the weight applied to reference pixel D, respectively.

[0135] Also, using pixel D existing on reference pixel line 1, prediction pixel B can be smoothed using a formula similar to Equation 1.

[0136] At this time, the intensity of smoothing can also be adjusted according to the distance. Since prediction pixel A is farther away from pixel D than prediction pixel B, when performing smoothing, prediction pixel A and D are smoothed more strongly than when prediction pixel B and pixel D are smoothed. Here, strong smoothing can be performed by placing more weight on the pixel D side to smooth the prediction pixel.

[0137] Alternatively, apart from the reference pixel line selected for intra prediction, the reference pixel line used for smoothing can also be set to a line close to the prediction block. Referring to FIG. 20, although reference pixel line 1 is selected for intra prediction, the pixels used for smoothing prediction pixels A and B can be set to C instead of D. Similarly in such a case, the smoothing intensity can be selected according to the distance. For example, when smoothing prediction pixel B using reference pixel C, the same weight can be applied to each, and when smoothing prediction pixel A using reference pixel C, more weight can be placed on pixel C for smoothing.

[0138] When performing smoothing, it is also possible to use both directions. For example, assuming that smoothing is performed using reference pixel line 0, when smoothing prediction pixel A, it is also possible to smooth prediction pixel A with weights placed on reference pixels F and C respectively. When smoothing prediction pixel B, it is also possible to smooth prediction pixel B with weights placed on pixels F and C respectively. At this time, since line 1 is selected as the reference pixel line for intra prediction, it is also possible to use pixel G in the up-right direction and pixel C in the down-left direction.

[0139] According to an embodiment of the present invention, it is also possible to vary weights according to the distance between a reference pixel and a predicted pixel. For example, when smoothing the predicted pixel A using the reference pixels F and C, since the distance between the pixels C and A is farther than the distance between the pixels F and A, smoothing can be performed by placing a larger weight on the pixel C. Alternatively, it is also possible to perform smoothing using an arbitrary line according to a preset method. Such a smoothing method can also be coded in block units as to whether it is applied or not, and can also be coded via a higher-level header. Alternatively, without coding whether to apply smoothing or not, it is also possible for the coder and decoder to perform similarly according to preset conditions. For example, it is also possible to determine whether to perform smoothing or not according to which intra prediction mode at any angle has been performed. In the present embodiment, for convenience of explanation, it has been described that the farther the distance, the stronger the smoothing, but the reverse case is also possible according to the characteristics of the image and the like.

[0140] Next, with reference to FIGS. 21 and 22a to 22d, a block unit in which a reference pixel line for intra prediction is selected according to an embodiment of the present invention will be described.

[0141] Hereinafter, for convenience of explanation, an example will be given in which the current block is 16×16 in size, the current block is divided into four 8×8 transform blocks, and the transformation is performed a total of four times in 8×8 transform block units. The current block can be divided into a number of transform blocks smaller than the size of the current block for transformation. Therefore, when the intra prediction mode is determined in current block units, the determined intra prediction mode can be applied in transform block units, and the actual prediction can be performed in transform block units. The advantage of such a method is that it can complement the fact that the correlation degree between pixels may decrease as the reference pixel becomes farther from the current block. Referring to FIG. 21, when intra prediction is applied in block units, the pixels in the transform block A are closer to the reference pixel than the pixels in the transform block D. Therefore, the pixels in the transform block D may have a farther distance from the reference pixel and the prediction efficiency may be reduced.

[0142] To overcome the above drawbacks, only the intra prediction mode may be determined on a block-by-block basis, and intra prediction may be performed on a transform block-by-transform block basis.

[0143] FIG. 21 illustrates a case where, when intra prediction is performed in units of transform blocks, at least one reference pixel line selected for intra prediction of a current block is commonly used for all transform blocks within the current block.

[0144] 22a to 22d show a case where at least one reference pixel line is selected for each transform block and used for intra prediction.

[0145] Referring to Figure 22a, when four transform blocks of size 8x8 are used and prediction is performed on a transform block basis, the same reference pixel line as shown in Figure 21 is used for intra prediction of transform block A.

[0146] Referring to Figure 22b, transform block B can use the reference pixel line as shown for intra prediction using pixels of reconstructed transform block A. Similarly, in Figure 22c, reference pixel lines as shown can be used for intra prediction using pixels of reconstructed transform blocks A and B. Also in Figure 22d, reference pixel lines as shown can be used for intra prediction using pixels of reconstructed transform blocks A, B, and C.

[0147] As described above, when using a large number of reference pixel lines, as shown in FIG. 21, the pixel lines determined in block units can be directly applied when prediction is performed in the conversion block units of FIGS. 22a to d. Alternatively, it is also possible to newly obtain an optimal reference pixel line in the conversion block unit. Alternatively, it is also possible to notify the decoding device 600 by encoding whether to use the optimal reference pixel line obtained in block units for the entire conversion block or to induce and use the reference pixel line for each conversion block unit via the block unit or the upper header.

[0148] Next, various embodiments and application examples related to the derivation, encoding, and decoding of the intra prediction mode according to the present invention will be described with reference to the drawings. When the derivation of the intra prediction mode according to the present invention is applied, the image encoding device and the image decoding device can derive the intra prediction mode by the same method and / or the same criteria, so there is no need to transmit information for notifying the intra prediction mode itself to the image decoding device.

[0149] <Derivation of Intra Prediction Mode by Image Decoding Device> In this embodiment, the derivation of the intra prediction mode by the image decoding device is described. The derivation of the intra prediction mode by the image decoding device according to the present invention is abbreviated as DIMD (Decoder - side Intra Mode Derivation). However, DIMD can also be similarly performed by the image encoding device. Therefore, despite the name DIMD, DIMD can be performed by each of the image encoding device 100 and the image decoding device 600. In particular, DIMD can be similarly performed by the in - picture prediction unit 102 of the image encoding device 100 and the in - picture prediction unit 607 of the image decoding device 600, respectively.

[0150] Hereinafter, various embodiments of DIMD according to the present invention will be described with reference to the drawings.

[0151] (First Embodiment) FIG. 23 is a diagram for explaining the DIMD according to the first embodiment of the present invention. According to an embodiment of the present invention, the intra prediction mode of the current block can be induced using the already restored pixels located around the current block.

[0152] Referring to FIG. 23, assume that the size of the current block 2001 to be encoded or decoded is M×N, the size of the template A2004 is P×N, and the size of the template B2003 is M×Q. As shown in FIG. 23, the reference pixel region 2002 is composed of a region located on the left side of the template A2004 and a region located on the upper side of the template B2003.

[0153] Assuming that among the values indicating the size of the reference pixel region 2002, the values of R and S are each 1, the reference pixel region 2002 includes 2(Q + N)+2(P + M)+1 reference pixels.

[0154] According to an embodiment of the present invention, for each available intra prediction mode, the predicted values of the template A2004 and the template B2003 are calculated using the reference pixels in the reference pixel region 2002. At this time, the template A2004 and the template B2003 are treated as one region. For example, for each of the 35 types of intra prediction modes as shown in FIG. 2, the predicted values of the template A2004 and the template B2003 are calculated using the reference pixels in the reference pixel region 2002. For each intra prediction mode, the SAD (Sum of Absolute Difference) corresponding to the sum of the differences between the predicted template A2004 and template B2003 and the restored values of the template A2004 and template B2003 is obtained. Then, the intra prediction mode with the smallest SAD (Sum of Absolute Difference) can be selected as the intra prediction mode of the current block 2001.

[0155] Using the pixels already restored by the image encoding device 100 or the decoding device 600, the same intra prediction mode can be induced in both the image encoding device 100 and the image decoding device 600 to induce the intra prediction mode of the current block 2001.

[0156] On the other hand, the intra prediction mode applied to the luminance pixels can be similarly applied to the chrominance pixels. Since the encoding device 100 does not transmit the intra prediction mode to the decoding device 600, there is no overhead burden. Therefore, it is also possible to add an intra prediction mode at the 1 / 2 position, 1 / 3 position, or 1 / 4 position between the angular modes. At this time, information regarding the number of intra prediction modes used can be transmitted to the decoding device 600 using various methods. As an example, it can be encoded using a power of 2 and transmitted to the decoding device 600 via a block header or an upper header of the block, such as a slice header, a picture header, a sequence header, etc. Alternatively, information regarding the number of available intra prediction modes may be transmitted to the decoding device 600 using a method of transmitting an index indicating any one of a plurality of intra prediction mode lists composed of different numbers of intra prediction modes.

[0157] Also, in the above-described embodiment, two templates, template A2004 and template B2003, are used to induce the intra prediction mode of the current block 2001, but three or more templates may be used.

[0158] Also, in the above-described embodiment, the final intra prediction mode is induced by applying all of the intra prediction modes to template A2004 and / or template B2003. However, instead of the entire mode, the final intra prediction mode of the current block 2001 can also be induced from among some of the already set intra prediction modes.

[0159] (Second Embodiment) In the first embodiment described above, the two templates A2004 and template B2003 were described by regarding them as one area. However, in this embodiment, the two templates A2004 and template B2003 are treated as separate areas. Specifically, after inducing the prediction mode of the current block using each template, any one of the two induced prediction modes can be finally selected.

[0160] For example, based on the 18th angle mode (intra prediction mode in the upper left 45-degree direction) shown in FIG. 2, the angle modes existing on the left side of the 18th angle mode are applied only to template A2004, and then the SAD is obtained for each. Among the SAD values calculated for each mode, the mode with the minimum value is determined as the intra prediction mode of template A2004.

[0161] Next, the angle modes existing on the right side of the 18th angle mode are applied only to template B2003, and then the SAD is obtained for each. Among the SAD values calculated for each mode, the mode with the minimum value is determined as the intra prediction mode of template B2003. Then, either the intra prediction mode of template A2004 or the intra prediction mode of template B2003 that has been determined is finally selected as the prediction mode of the current block 2001.

[0162] The DC mode and the planar mode can be applied to each template respectively to obtain the SAD value corresponding to the DC mode and the SAD value corresponding to the planar mode. Then, among the above-described angle modes, the SAD value corresponding to the mode selected as the intra prediction mode of the corresponding template, the SAD value corresponding to the DC mode, and the SAD value corresponding to the planar mode are compared with each other, and the final intra prediction mode of each template can be selected.

[0163] (Third Embodiment) Hereinafter, a third embodiment of DIMD according to the present invention will be described.

[0164] The third embodiment according to the present invention relates to a method of executing DIMD using the remaining available templates when a part of the template of the current block is not available.

[0165] FIG. 24 is a diagram for explaining DIMD according to the third embodiment of the present invention.

[0166] In FIG. 24, the upper template of the current block 2101 is not available, and only the left template A2104 is available.

[0167] If the encoding device 100 and the decoding device 600 decide to use 35 intra prediction modes as illustrated in FIG. 2, when either of the two templates is not available, as shown in FIG. 24, the range can be defined and 35 intra prediction modes can be applied only to one template 2104. In FIG. 24, the 45-degree direction at the lower left is set to intra prediction mode No. 2, the horizontal direction is set to intra prediction mode No. 34, and 33 angle modes are set to exist between intra prediction mode No. 2 and intra prediction mode No. 34.

[0168] As described above, after performing DIMD by applying the set 33 angle modes, DC mode, and planar mode to the available template A2104, the intra prediction mode of the current block 2101 can be induced.

[0169] When the current block 2101 corresponds to the upper boundary of the input image and the left reference pixel 2105 of the template A2104 is available but the upper reference pixel of the template A2104 does not exist, the upper reference pixel 2102 can be generated through padding using appropriate surrounding pixels. The surrounding pixels used for padding can be the upper pixels of the current block 2101 and / or the template A2104, or the left reference pixel 2105 of the template A2104.

[0170] (Fourth Embodiment) FIG. 25 is a flowchart for explaining DIMD according to the present invention. It is related to the first to third embodiments described above. The method shown in FIG. 25 can be identically performed by the in-picture prediction unit 102 of the image encoding device 100 and the in-picture prediction unit 607 of the image decoding device 600, respectively.

[0171] Referring to FIG. 25, first, based on the reference pixel region of at least one restored pixel region, the intra prediction mode of the restored pixel region is derived (S2201). Here, at least one pixel region can be the templates A2004, 2104 and / or template B2003 in the above-described embodiments. However, it is of course not limited to these templates. The reference pixel region can correspond to the reference pixel regions 2002, 2102, 2105 described in the above-described embodiments. However, it is of course not limited to these reference pixel regions.

[0172] Next, based on the intra prediction mode of the restored pixel region derived in step S2201, the intra prediction mode of the current block is derived (S2203). After obtaining the intra prediction block of the current block using the derived intra prediction mode (S2205), the current block is restored by adding the obtained intra prediction block and the residual block of the current block (S2207).

[0173] (Fifth Embodiment) FIG. 26 is a flowchart for explaining a method of encoding an intra prediction mode when encoding an image using DIMD according to the present invention.

[0174] First, information indicating whether or not DIMD according to the present invention is executed is encoded (S2501). This information is information for notifying the image decoding device 600 of the method of deriving the intra prediction mode. That is, it signals whether the intra prediction mode is derived using DIMD according to the present invention or whether another method is used to derive the intra prediction mode.

[0175] After determining whether DIMD according to the present invention is used (S2502), if it is used, this process ends, and the intra prediction mode of the current block is induced by DIMD.

[0176] However, if DIMD according to the present invention is not used, whether or not MPM (Most Probable Mode) is applied is coded (S2503). As another method other than the intra prediction mode induction using DIMD according to the present invention, MPM can be used.

[0177] MPM flag and MPM index information indicating whether the intra prediction mode of the current block belongs to the MPM list (most probable mode list) are further transmitted to the decoder 600. The number of intra prediction modes included in the MPM list is very small compared to the total number of intra prediction modes. Therefore, if the intra prediction mode of the current block belongs to the MPM list (most probable mode list), it is possible to signal to the decoder 600 using very few bits. The MPM index information indicates which mode among the modes to which the intra prediction mode of the current block belongs in the MPM list (most probable mode list).

[0178] If the MPM flag is 1, the intra prediction mode of the current block belongs to the MPM list, and if the flag is 0, the intra prediction mode of the current block belongs to the residual mode group. The residual mode group can include all intra prediction modes other than the intra prediction modes belonging to the MPM list. In step S2503, the coding of whether or not MPM (Most Probable Mode) is applied is performed by coding the MPM flag.

[0179] Referring back to FIG. 26, after checking whether MPM is used (S2504), if MPM is not used, after reordering the remaining modes excluding the MPM candidates, the intra prediction mode of the current block is encoded (S2505). If MPM is used, after encoding the MPM index indicating which intra prediction mode candidate is applied (S2506), the process ends.

[0180] (Sixth Embodiment) FIG. 27 is a flowchart for explaining a method of decoding an intra prediction mode when decoding an image using DIMD according to the present invention.

[0181] First, information indicating whether DIMD according to the present invention is executed is decoded (S2601). This information indicates whether the intra prediction mode is induced using DIMD according to the present invention or whether the intra prediction mode is induced using another method.

[0182] After determining whether DIMD according to the present invention is used (S2602), if DIMD is used, the process ends and the intra prediction mode of the current block is induced by DIMD.

[0183] However, if DIMD according to the present invention is not used, whether MPM (Most Probable Mode) is applied is decoded (S2603). At step S2603, the MPM flag can be decoded.

[0184] If the MPM flag is 1, the intra prediction mode of the current block belongs to the MPM list, and if the flag is 0, the intra prediction mode of the current block belongs to the residual mode group. The residual mode group can include all intra prediction modes other than the intra prediction modes belonging to the MPM list.

[0185] Next, after checking whether MPM is used (S2604), if it is not used, after re - arranging the remaining modes excluding the MPM candidates, the intra - prediction mode of the current block is decoded (S2605). If MPM is used, after decoding the MPM index that indicates which intra - prediction mode candidate is applied (S2606), the process ends.

[0186] (Seventh Embodiment) FIG. 28 is a diagram for explaining the seventh embodiment of the present invention. The seventh embodiment of the present invention relates to a method of inducing an intra - prediction mode using a large number of reference pixel lines in a template.

[0187] As shown in FIG. 28, assume that two lines, reference pixel line 1 and reference pixel line 2, are used as the reference pixel lines of the template. Assume that P and Q, which are the lengths of the template, are each 1 for explanation.

[0188] The angular mode existing on the right side of the upper - left 45 - degree direction mode is defined as the upper - corner mode, and template B and its upper reference pixel line are used. Also, the angular mode existing on the left side with respect to the upper - left 45 - degree direction mode is defined as the left - side angular mode, and template A and its left - side reference pixel line are used. Then, according to the intra - prediction mode, as shown in FIG. 28, prediction is performed for each reference pixel line. For example, using reference pixel line 2 of the template to predict reference pixel line 1 of the template to generate the optimal intra - prediction mode candidate 1. Then, using reference pixel line 1 of the template to predict the template to generate the optimal intra - prediction mode candidate 2. If intra - prediction mode candidates 1 and 2 are the same, that prediction mode is selected as the intra - prediction mode of the current block. If intra - prediction mode candidates 1 and 2 are different, it is determined whether to perform any of the DIMD methods according to the various embodiments of the present invention described above.

[0189] FIG. 29 is a flowchart showing a process of encoding an intra prediction mode when the seventh embodiment of the present invention is applied.

[0190] First, intra prediction mode candidates are derived using the reference pixel lines of the template (S2801). After that, after determining whether the intra prediction mode candidates are the same (S2802), if the intra prediction mode candidates are the same, the same mode is selected as the intra prediction mode of the current block, and thus the flowchart ends. If the intra prediction mode candidates are not the same, it is encoded whether to perform DIMD according to the present invention (S2803).

[0191] Steps S2804 to S2808 in the subsequent stage are substantially the same as S2502 to S2506 shown in FIG. 26, and thus detailed description thereof is omitted.

[0192] FIG. 30 is a flowchart showing a process of decoding an intra prediction mode when the seventh embodiment of the present invention is applied. Each process shown in FIG. 30 is substantially the same as each stage shown in FIG. 29 except that it is performed by the image decoding apparatus 600, and thus detailed description thereof is omitted.

[0193] <Modification Example of DIMD: Transmission of Template Index> When using DIMD according to the various embodiments described above, the intra prediction mode itself is not signaled. However, in this embodiment, after deriving candidate intra prediction modes using a plurality of templates, index information indicating which mode among them is used is transmitted from the encoding apparatus 100 to the decoding apparatus 600. FIGS. 31a and 31b are diagrams for explaining a modification example of DIMD for transmitting a template index, and are examples of a method of designating after generating intra prediction mode candidates using two templates using DIMD of the present invention. R and S indicating the sizes of the reference pixel regions of the templates shown in FIGS. 31a or 31b are assumed to be 1 for convenience of explanation.

[0194] In FIG. 31a, intra prediction mode candidate 1 is derived for template A3102 using the pixels in the reference pixel region 3103 of the template. In FIG. 31b, intra prediction mode candidate 2 is derived for template B3104 using the pixels in the reference pixel region 3105 of the template. Next, an index indicating which template-derived intra prediction mode candidate is the intra prediction mode of the current block 3101 is encoded and transmitted to the decoding apparatus 600.

[0195] On the other hand, which intra prediction mode the block including the template is encoded in can be used in this embodiment. For example, in FIGS. 31a and 31b, when the intra prediction mode of the block including template A3102 is intra prediction mode A, if the intra prediction mode determined by applying intra prediction mode A and the reference pixels of the template to template A3102 is the same, high or low priorities can be assigned. Based on the priorities, it is also possible to allocate bits when arranging candidates for index setting. Similarly, when a large number of templates exist in addition to template A3102, it is also possible to set priorities when allocating bits using the above conditions.

[0196] FIG. 32 is a flowchart for explaining an encoding method of an intra prediction mode by DIMD in which a template index is used.

[0197] First, information indicating whether or not DIMD using a template index is to be executed is encoded (S3301). After determining whether or not DIMD using the template index has been performed (S3302), if it has been performed, the template index is encoded and the process ends (S3307). If DIMD using the template index has not been performed, information indicating whether or not MPM (Most Probable Mode) is to be applied is encoded (S3303). After confirming whether or not MPM has been applied (S3304), if it has not been applied, the remaining modes excluding MPM candidates are reordered and then encoded (S3305). If MPM has been applied, an MPM index indicating which candidate has been applied is encoded (S3306), and the process ends.

[0198] FIG. 33 is a flowchart for explaining a method for decoding an intra prediction mode by DIMD using a template index. Each process shown in FIG. 33 is substantially the same as each step shown in FIG. 32 except that it is performed by the image decoding apparatus 600, and thus detailed description thereof is omitted.

[0199] On the other hand, although FIGS. 31a and 31b illustrate two surrounding templates as examples, it is also possible to use three or more templates.

[0200] <Application Example of DIMD: Generation of MPM List> In the above, when using DIMD according to the present invention, either the intra prediction mode itself is not signaled to the decoding apparatus 600, or template index information indicating which of a plurality of templates was used to derive the intra prediction mode candidate selected as the intra prediction mode of the current block is transmitted from the encoding apparatus 100 to the decoding apparatus 600.

[0201] Hereinafter, an embodiment for reordering MPM (Most Probable Mode) candidates or generating an MPM list using an intra prediction mode induced according to DIMD will be described.

[0202] After generating MPM candidates for prediction in the intra prediction mode, it is also possible to arrange the MPM candidates at the top in the same order as the intra prediction mode induced using the template.

[0203] (First Embodiment) FIG. 34 is a diagram for explaining an example of setting the intra prediction mode induced using the template as an MPM candidate.

[0204] Assume that there are block A3503 and block B3505 restored around the current block 3501, and assume that block A3503 uses intra prediction and block B3505 uses inter prediction. Since block B3505 uses inter prediction and there is no intra prediction mode, in this embodiment, the intra prediction mode of block B3505 is generated using the template. Refer to the previous explanations related to FIGS. 31b and 31b for inducing the intra prediction mode of block B3505 using the template. On the other hand, when inducing the intra prediction mode of template B3104 using template B3104 in FIG. 31b, the method of encoding the intra prediction mode, the number of intra prediction modes, and the prediction angle must be the same as those already set by the image encoding device 100 or the image decoding device 600.

[0205] (Second Embodiment) In this embodiment, the MPM candidates are set using the intra prediction mode in which the block including the template is encoded.

[0206] FIG. 35 is a diagram for explaining the setting of MPM candidates according to an embodiment of the present invention. Referring to FIG. 35, assume that the intra prediction mode of the left block 3703 of the current block 3701 is mode 10, and assume that the intra prediction mode derived using reference pixels of the template (not shown) for the template A3705 corresponding to a part of the left block 3703 is mode 12. Similarly, assume that the intra prediction mode of the upper block 3707 of the current block 3701 is 28, and assume that the intra prediction mode derived using reference pixels of the template (not shown) for the template B3709 which is a part of the upper block 3707 is 28. In the case of the left block 3703, considering the entire left block 3703, mode 10 is advantageous for encoding, but in the template A3705 adjacent to the current block 3701, since mode 12 is set, it can be assumed that the prediction mode of the current block is more appropriate as mode 12 than mode 10. In such a case, when setting the MPM candidates, the intra prediction mode derived by the template A3705 can be used to generate the MPM candidates rather than the intra prediction mode of the left block 3703.

[0207] In the case of the upper block 3707, since the intra prediction mode of the upper block 3707 and the intra prediction mode derived through the template B3709 are the same, the same mode is used as the MPM candidate.

[0208] As another alternative, it is also possible to set the MPM candidates using the four modes of the intra prediction mode of the left block 3703, the intra prediction mode derived by the template A3705, the intra prediction mode of the upper block 3707, and the intra prediction mode derived by the template B3709. At this time, since the intra prediction mode derived using the template is closer to the current block, it is also possible to assign a high priority to the intra prediction mode derived using the template and allocate fewer bits when setting the MPM candidates.

[0209] Exemplary methods of the present disclosure are presented as a series of operations for clarity of explanation, but this is not intended to limit the order in which the steps are performed, and each step may be performed simultaneously or in a different order if necessary. To implement the methods according to the present disclosure, other steps may be included in addition to the illustrated steps, or some steps may be excluded and the remaining steps included, or some steps may be excluded and additional other steps included.

[0210] The various embodiments of the present disclosure do not enumerate all possible combinations, but are for explaining representative aspects of the present disclosure, and the matters described in the various embodiments may be applied independently or in combination of two or more.

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

[0212] The scope of the present disclosure includes software or machine-executable commands (e.g., operating systems, applications, firmware, programs, etc.) that cause operations according to the methods of the various embodiments to be executed on a device or computer, and non-transitory computer-readable media on which such software or commands are stored and executable on a device or computer.

Industrial Applicability

[0213] The present invention can be used in the field of encoding or decoding of image signals.

Claims

1. In a method for decoding an image, selecting at least one reference pixel line from among a plurality of reference pixel lines, wherein the plurality of reference pixel lines are included in the same picture as a current block to be decoded by intra prediction, deriving an intra prediction mode of the current block, generating a prediction block of the current block based on the selected reference pixel line and the derived intra prediction mode, filtering the prediction block of the current block, generating a restored block of the current block using the filtered prediction block, wherein, the step of generating the prediction block is performed in units of sub-blocks within the current block, when the intra prediction mode of the current block is a predetermined angular mode, a first pixel in the prediction block is filtered based on a first reference pixel used for prediction of the first pixel and a second reference pixel included in the same reference pixel line as the reference pixel line including the first reference pixel, the method for decoding an image, characterized in that the number of the plurality of reference pixel lines is 3.

2. In a method for encoding an image, selecting at least one reference pixel line from among a plurality of reference pixel lines, wherein the plurality of reference pixel lines are included in the same picture as a current block to be encoded by intra prediction, determining an intra prediction mode of the current block, encoding information regarding the intra prediction mode of the current block and reference pixel line index information indicating the at least one reference pixel line among the plurality of reference pixel lines, wherein the intra prediction is performed in units of sub-blocks within the current block, the method further comprising generating a prediction block of the current block based on the determined intra prediction mode and filtering the prediction block of the current block, when the intra prediction mode of the current block is a predetermined angular mode, a first pixel in the prediction block is filtered based on a first reference pixel used for prediction of the first pixel and a second reference pixel included in the same reference pixel line as the reference pixel line including the first reference pixel. An image encoding method, characterized in that the number of the plurality of reference pixel lines is 3.

3. A method for transmitting a bitstream, the transmitting method comprising: transmitting a bitstream including information on an intra prediction mode of a current block and reference pixel line index information; including the reference pixel line index information is used to select at least one reference pixel line from among the plurality of reference pixel lines in a decoding process; the plurality of reference pixel lines are included in the same picture as the current block encoded by intra prediction; the information on the intra prediction mode is used to derive the intra prediction mode of the current block; the selected reference pixel line and the derived intra prediction mode are used to generate a prediction block of the current block in a decoding process; the intra prediction is performed in units of sub-blocks within the current block; in the decoding process, the current block is restored based on the prediction block; A method for transmitting a bitstream, characterized in that the number of the plurality of reference pixel lines is 3.

4. In an image decoding method, deriving an intra prediction mode of a current block; generating a prediction block of the current block based on at least one of a reference pixel and the derived intra prediction mode; generating a restored block of the current block using the prediction block; comprising the generation of the prediction block is performed in units of sub-blocks within the current block; when the intra prediction mode of the current block is a predetermined intra mode, a first pixel in the prediction block is filtered based on a first reference pixel used for prediction of the first pixel and a second reference pixel included in the same reference pixel line as the reference pixel line including the first reference pixel. An image decoding method characterized by this.

Citation Information

Patent Citations

  • Method and apparatus for intra-prediction video coding / decoding

    JP2009246976A

  • Method and apparatus for directional intra-prediction

    JP2014519768A

  • Image encoding / decoding method and device

    JP7680788B2

  • Line buffer reduction for short distance intra-prediction

    US20130070848A1

  • Video coding method and decoding method, their device, their program and program-recorded medium

    WO2008102805A1