Image encoding / decoding method and device

JP7680788B2Active Publication Date: 2025-05-21IND ACAD CO OPERATION FOUNDATION OF SEJONG UNIV

Patent Information

Application Number
JP2024018920
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-09-29
Filing Date
2024-02-09
Publication Date
2025-05-21
Estimated Expiration
2037-10-12

AI Technical Summary

Benefits of technology

【0028】 本発明によれば、より効果的なイントラ予測技術を適用することにより、画像の圧縮効率と再生された画像の画質を向上させることができる。また、本発明に係る、イントラ予測ブロックと周辺領域間の不連続性を減少させることができるフィルタリング方法を適用することにより、再生された画像の画質を向上させることができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007680788000002
    Figure 0007680788000002
  • Figure 0007680788000003
    Figure 0007680788000003
  • Figure 0007680788000004
    Figure 0007680788000004
Patent Text Reader

Abstract

To provide an image encoding / decoding method and device that can improve an efficiency of an intra-prediction by performing the intra-prediction using a plurality of reference pixel lines.SOLUTION: The method comprises the steps of: selecting at least one of reference pixel line from among a plurality of reference pixel lines; and deriving a predicted value of one pixel in a current block on the basis of at least one pixel value included in the at least one selected reference pixel line. The method also comprises the steps of: deriving an intra-prediction mode of a decoded pixel region on the basis of at least one reference pixel region, which has been already decoded, deriving the intra-prediction mode of the current block on the basis of the intra-prediction mode of the derived decoded pixel region; obtaining the intra-prediction block of the current block by using the derived intra-prediction mode; and summing the obtained intra-prediction block and a residual block of the current block. The method may thereby decode 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 technology]

[0002] Recently, the demand for multimedia data such as video on the Internet has been increasing rapidly. However, the speed at which channel bandwidth is growing cannot keep up with the rapidly increasing amount of multimedia data. To solve this problem, the Video Coding Expert Group (VCEG) of the ITU-T, an international standardization organization, and the Moving Picture Expert Group (MPEG) of the ISO / IEC are steadily working together to research improved video compression standards.

[0003] Video compression is broadly composed of intra prediction, inter prediction, transformation, quantization, entropy coding, and in-loop filter. Among these, intra prediction is a technique for generating a predicted block for a current block using reconstructed pixels existing around the current block.

[0004] In conventional intra prediction, pixels at fractional positions are generated by an interpolation process using reference pixels at integer positions, and a prediction block is generated using the pixels at fractional positions thus generated. In this case, the error between the original pixel value and its predicted value is affected depending on which reference pixels at integer positions are used and which interpolation method is applied.

[0005] In addition, conventional intra prediction techniques must encode significant information regarding the prediction mode in order to inform an image decoding device which of multiple intra prediction modes was used for intra prediction of the input image. Summary of the Invention [Problem to be solved by the invention]

[0006] A 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] A main objective of the present invention is to improve the efficiency of intra prediction by deriving an intra prediction block using an interpolation method selected from a plurality of interpolation methods when encoding / decoding an image.

[0008] The main objective of the present invention is to provide a filtering method capable of reducing discontinuity between an intra-predicted block and a surrounding area when intra-prediction is performed using multiple reference pixel lines during image encoding / decoding.

[0009] The main objective of the present invention is to improve the efficiency of intra prediction by deriving the intra prediction mode of an image to be encoded or decoded using an already reconstructed pixel region when encoding / decoding an image. [Means for solving the problem]

[0010] An image decoding method and apparatus according to one 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 one embodiment of the present invention can obtain reference pixel line index information from an input bitstream and select at least one reference pixel line from the plurality of reference pixel lines based on the reference pixel line index information.

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

[0013] According to an embodiment of the present invention, there is provided a method and apparatus for decoding an image, comprising the steps of: selecting one of a plurality of interpolation methods; and performing an interpolation using at least one pixel included in the at least one selected reference pixel line using the selected interpolation method to obtain the predicted value. The selected interpolation method may be selected based on index information indicating one of a plurality of interpolation methods.

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

[0015] An image decoding method and apparatus according to an embodiment of the present invention may filter a predetermined area of ​​the current block according to a size of the current block or an intra prediction mode of the current block.

[0016] According to one embodiment of the present invention, an image encoding method and apparatus 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 at least one selected reference pixel line.

[0017] An image encoding method and apparatus according to one 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 bitstream.

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

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

[0020] An image encoding method and apparatus according to one embodiment of the present invention can obtain the predicted value by selecting one of a plurality of interpolation methods and performing interpolation using the selected interpolation method using at least one pixel included in the at least one selected reference pixel line.

[0021] According to an embodiment of the present invention, an image encoding method and apparatus may encode index information indicating one of the plurality of interpolation methods and include the encoded information in a bitstream.

[0022] According to an embodiment of the present invention, an image encoding method and apparatus may derive predicted values ​​of all pixels of the current block to obtain a predicted block of the current block, and then filter the predicted block.

[0023] An image encoding method and apparatus according to an embodiment of the present invention may filter a predetermined area of ​​the current block according to a size of the current block or an intra prediction mode of the current block.

[0024] An image encoding / decoding method and apparatus according to one embodiment of the present invention derives 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, derives an intra prediction mode of the current block based on the induced intra prediction mode of the restored pixel region, obtains an intra prediction block of the current block using the induced intra prediction mode, and reconstructs the current block by adding the obtained intra prediction block to a residual block of the current block.

[0025] An image decoding method and apparatus according to one embodiment of the present invention obtains information indicating a method of inducing an intra-prediction mode from an input bitstream, and can select whether or not to induce an intra-prediction mode for a reconstructed pixel region depending on the information indicating the method of inducing the intra-prediction mode.

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

[0027] An image encoding method and apparatus according to one embodiment of the present invention encodes information indicating a method of inducing an intra-prediction mode of a current block and includes it in a bitstream, and an image decoding device that receives the bitstream can selectively perform a step of inducing an intra-prediction mode of the reconstructed pixel region in accordance with the information indicating a method of inducing the intra-prediction mode of the current block. Effect of the Invention

[0028] According to the present invention, it is possible to improve image compression efficiency and image quality of a reproduced image by applying a more effective intra prediction technique. Also, it is possible to improve image quality of a reproduced image by applying a filtering method according to the present invention that can reduce discontinuity between an intra prediction block and a surrounding area. [Brief description of the drawings]

[0029] [Figure 1] 1 is a block diagram showing an image encoding device according to an embodiment of the present invention. [Diagram 2] FIG. 13 is a diagram illustrating an example of an intra-prediction mode. [Diagram 3] FIG. 1 is a diagram for explaining a planar mode. [Figure 4] FIG. 13 is a diagram for explaining a DC mode. [Diagram 5] FIG. 11 is a diagram for explaining an example of generating a prediction block. [Figure 6] 1 is a block diagram showing an image decoding device according to an embodiment of the present invention. [Figure 7a-7b] FIG. 13 is a diagram illustrating a method of deriving intra-predicted pixels using interpolation. [Figure 8] FIG. 13 is a diagram for explaining an implicit method of selecting an interpolation method or an interpolation coefficient. [Figure 9] 11 is a flowchart illustrating a process in which an intra-prediction mode is selected by an image encoding device. [Figure 10] 11 is a flowchart for explaining a process in which an image encoding device selects one of a plurality of interpolation methods. [Figure 11] 11 is a flowchart illustrating a process of encoding interpolation method index information by the image encoding device. [Figure 12] 11 is a flowchart illustrating a process in which the image decoding apparatus decodes the interpolation method index information. [Figure 13]FIG. 2 is a diagram illustrating derivation of intra-predicted pixels using multiple reference pixel lines according to an embodiment of the present invention. [Figure 14] 4 is a flowchart illustrating a process of deriving an intra-predicted pixel value according to an embodiment of the present invention. [Figure 15] 11 is a flowchart illustrating a process of adaptively determining a reference pixel line used in intra prediction for each prediction block. [Figure 16] 11 is a flowchart showing a process in which reference pixel line index information is encoded by an image encoding device. [Figure 17] 11 is a flowchart showing a process in which reference pixel line index information is decoded by an image decoding apparatus. [Figure 18] 11 is a diagram illustrating a method for determining a reference pixel line without transmitting a reference pixel line index. [Figure 19] 11 is a diagram illustrating a method for determining a reference pixel line without transmitting a reference pixel line index. [Figure 20] FIG. 13 is a diagram for explaining smoothing between a prediction block and a reference pixel line. [Figure 21] This illustrates the case where a common reference pixel line is used for all transformed blocks within the current block. [Fig. 22a-22d] A case where a reference pixel line is selected for each transform block and used for intra prediction will be shown. [Diagram 23] FIG. 2 is a diagram for explaining a DIMD according to the first embodiment of the present invention. [Figure 24] FIG. 11 is a diagram for explaining a DIMD according to a third embodiment of the present invention. [Diagram 25] 1 is a flowchart for explaining a DIMD according to the present invention. [Figure 26] 1 is a flowchart illustrating a method of encoding an intra prediction mode when encoding an image using DIMD according to the present invention. [Figure 27]1 is a flowchart illustrating a method of decoding an intra prediction mode when decoding an image using a DIMD according to the present invention. [Figure 28] FIG. 13 is a diagram for explaining a seventh embodiment according to the present invention. [Figure 29] 13 is a flowchart illustrating a process of encoding an intra prediction mode when a seventh embodiment of the present invention is applied. [Diagram 30] 13 is a flowchart illustrating a process of decoding an intra prediction mode when a seventh embodiment of the present invention is applied. [Fig. 31a-31b] FIG. 13 is a diagram for explaining a modified example of DIMD that transmits a template index. [Diagram 32] 13 is a flowchart illustrating a method for encoding an intra-prediction mode using DIMD in which a template index is used. [Diagram 33] 13 is a flowchart illustrating a method for decoding an intra prediction mode using DIMD in which a template index is used. [Diagram 34] FIG. 13 is a diagram illustrating an example of setting an intra-prediction mode induced using a template as an MPM candidate. [Diagram 35] FIG. 2 is a diagram for explaining the setting of MPM candidates according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

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

[0031] The terms "first," "second," etc. may be used to describe various elements, but these elements should not be limited by the terms above. These terms are used only to distinguish one element from another element. For example, a first element can be named a second element, and similarly, the second element can be named a first element, without departing from the scope of the present invention. The term "and / or" includes any combination of two or more associated listed items or two or more associated listed items.

[0032] When an element is said to be "coupled" or "connected" to another element, it should be understood that the element may be directly coupled or connected to the other element, but there may be other elements between them. In contrast, when an element is said to be "directly coupled" or "directly connected" to another element, it should be understood that there are no other elements between them.

[0033] The terms used in the present invention are merely used to describe certain embodiments and are not intended to limit the present invention. A singular expression includes a plural expression unless the context clearly indicates otherwise. In the present invention, the terms "include" or "have" specify the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and should be understood not to preclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0034] Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. The same components in the drawings are designated by the same reference numerals, and duplicated descriptions of the same components will be omitted.

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

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

[0037] 1 are illustrated independently to show different characteristic functions of the image encoding device, and do not mean that each component is composed of separate hardware or a single software unit. That is, each component is included as a list of components for convenience of explanation, and at least two of the components may be combined to form one component, or one component may be divided into multiple components to perform a function, and 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] In addition, some components may not be essential components performing essential functions in the present invention, but may be optional components simply for improving performance. The present invention can be realized by including only components essential for realizing the essence of the present invention, excluding components used simply for improving performance, and a structure including only essential components, excluding optional components used simply for improving performance, is also included in the scope of the present invention.

[0039] The image division unit 100 may divide an input image into at least one block. In this case, the input image may have various shapes and sizes, such as a picture, a slice, a tile, a segment, etc. The block may refer to a coding unit (CU), a prediction unit (PU), or a transform unit (TU). The division may be performed based on at least one of a quad tree and a binary tree. The quad tree is a method of dividing a top block into four lower blocks each having half the width and height of the top block. The binary tree is a method of dividing a top block into two lower blocks each having half the width and height of the top block. The above-mentioned binary tree-based division allows the blocks to have not only square shapes but also non-square shapes.

[0040] In the following description of the embodiments of the present invention, the term "coding unit" may refer to a unit for performing encoding, or may refer to a unit for performing decoding.

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

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

[0043] The intra prediction unit 102 may determine an intra prediction mode of a current block, and generate one or more prediction blocks using reference pixels according to the determined intra prediction mode. When the prediction mode of a neighboring block of the current block on which intra prediction is performed is inter prediction, the reference pixels included in the neighboring block to which inter prediction is applied may be replaced with reference pixels in another neighboring block to which intra prediction is applied. That is, when a reference pixel is unavailable, the unavailable reference pixel information may be replaced with at least one of the available reference pixels.

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

[0045] The intra prediction unit 102 may 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 reference pixels of a current block, and can adaptively determine whether or not to apply the filter according to a prediction mode of a current prediction unit. If the prediction mode of the current block is a mode that does not perform AIS filtering, the AIS filter may not be applied.

[0046] The reference pixel interpolation unit of the intra prediction unit 102 may generate reference pixels at fractional unit positions by interpolating reference pixels when the intra prediction mode of the prediction unit is a prediction unit that performs intra prediction based on pixel values ​​obtained by interpolating reference pixels. 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. When the prediction mode of the current block is a DC mode, the DC filter may generate a prediction block through filtering.

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

[0048] Fig. 2 is a diagram for explaining an example of intra prediction modes. The intra prediction modes shown in Fig. 2 have a total of 35 types of modes. Mode 0 indicates a planar mode, mode 1 indicates a DC mode, and modes 2 to 34 indicate angular modes.

[0049] FIG. 3 is a diagram for explaining the planar mode. To generate a predicted value of the first pixel P1 in the current block, a restored pixel at the same position on the Y axis and a restored pixel T at the top right corner of the current block are linearly interpolated as shown in the figure. Similarly, to generate a predicted value of the second pixel P2, a restored pixel at the same position on the X axis and a restored pixel L at the bottom left corner of the current block are linearly interpolated as shown in the figure. The average value of the two predicted pixels P1 and P2 becomes the final predicted pixel. In the planar mode, a predicted pixel is derived in the above-mentioned manner to generate a predicted block of the current block.

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

[0051] Fig. 5 is a diagram for explaining an example of generating a predicted block using the 10th mode (horizontal mode) and the 26th mode (vertical mode) of Fig. 2. When the 10th mode is used, each reference pixel adjacent to the left side of the current block is copied rightward to generate a predicted 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 predicted block of the current block.

[0052] 1 again, the inter prediction unit 103 may predict a prediction unit based on information of at least one of a previous picture or a subsequent picture of a current picture, and in some cases, may predict a prediction unit based on information of a part of an area in the current picture that has been completely coded. The inter prediction unit 103 may include a reference picture interpolation unit, a motion prediction unit, and a motion compensation unit.

[0053] The reference picture interpolation unit receives reference picture information from the memory 112 and can generate pixel information of less than integer pixels in the reference picture. In the case of luminance pixels, a DCT-based 8-tab interpolation filter with different filter coefficients can be used to generate pixel information of less than integer pixels in 1 / 4 pixel units. In the case of color difference signals, a DCT-based 4-tab interpolation filter with different filter coefficients can be used to generate pixel information of less than integer pixels in 1 / 8 pixel units.

[0054] The motion prediction unit may perform motion prediction based on the reference picture interpolated by the reference picture interpolation unit. As a method for calculating a motion vector, various methods such as a full search-based block matching algorithm (FBMA), a three step search (TSS), and a new three-step search algorithm (NTS) may be used. The motion vector may have a motion vector value in units of 1 / 2 or 1 / 4 pixels based on the interpolated pixels. The motion prediction unit may predict the current prediction unit using different motion prediction methods. As a motion prediction method, various methods such as a skip method, a merge method, and an advanced motion vector prediction method (AMVP) may be used.

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

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

[0057] The quantization unit 106 can quantize the values ​​transformed into the frequency domain by the transformation unit 105. The quantization coefficient can be changed according to the block or the importance of the image. The values ​​calculated by the quantization unit 106 can be provided to the inverse quantization unit 108 and the entropy coding unit 107.

[0058] The transform unit 105 and / or the quantization unit 106 may be selectively included in the image coding device 100. That is, the image coding device 100 may encode the residual block by performing at least one of transform and quantization on the residual data of the residual block, or by skipping both transform and quantization. Even if the image coding device 100 does not perform either transform or quantization, or does not perform both transform and quantization, a block input to the entropy coding unit 107 is generally called a transform block. The entropy coding unit 107 entropy codes the input data. The entropy coding may use various coding methods, such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).

[0059] The entropy coding unit 107 can code various information such as residual value coefficient information of coding units, block type information, prediction mode information, division unit information, prediction unit information, transmission unit information, motion vector information, reference frame information, block interpolation information, filtering information, etc., from the prediction units 102 and 103. In the entropy coding unit 107, coefficients of a transform block can be coded by a partial block unit in the transform block through various types of flags indicating coefficients that are not 0, coefficients whose absolute values ​​are greater than 1 or 2, signs of coefficients, etc. Coefficients that are not coded only by the flags can be coded through the absolute value of the difference between the coefficients coded by the flags and the coefficients of the actual transform block. The inverse quantization unit 108 and the inverse transform unit 109 inverse quantize the values ​​quantized by the quantization unit 106 and inverse transform the values ​​converted by the transform unit 105. The residual value (Residual) generated by the inverse quantization unit 108 and the inverse transform unit 109 may be combined with a prediction unit predicted through a motion estimation unit, a motion compensation unit, and an intra prediction unit 102 included in the prediction units 102 and 103 to generate a 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 may include at least one of a deblocking filter, an offset correction unit, and an ALF (Adaptive Loop Filter).

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

[0062] The offset correction unit can correct the offset between the deblocked image and the original image on a pixel-by-pixel basis. In order to perform offset correction on a specific picture, the offset correction unit can use a method of dividing pixels included in the image into a certain number of regions, determining the region to be offset, and applying the offset to the corresponding region, or a method of applying the offset by considering edge information of each pixel.

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

[0064] The memory 112 can store the reconstructed block or picture calculated via the filter unit 111, and the stored reconstructed block or picture 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 to the process performed by the image encoding device 100.

[0068] The entropy decoding unit 601 can perform entropy decoding in a procedure opposite to that 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, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding) can be applied in accordance with the method performed by the image encoder. In the entropy decoding unit 601, coefficients of a transform block can be decoded based on various types of flags indicating coefficients that are not 0, coefficients whose absolute values ​​are greater than 1 or 2, signs of coefficients, etc., in partial block units within the transform block. Coefficients that are not represented by the flags alone can 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 in the encoder. The inverse quantization unit 602 performs inverse quantization on the quantized transform block to generate a transform block. The inverse quantization unit 602 operates substantially similarly to the inverse quantization unit 108 in FIG. 1.

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

[0071] The adder 604 generates a restored block by adding a prediction block generated by the intra prediction unit 607 or the inter prediction unit 608 and a residual block generated via the inverse transform unit 603. The adder 604 operates in substantially the same manner as the adder 110 in FIG. 1.

[0072] The filter unit 605 reduces various types of noise that occur in the reconstructed block.

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

[0074] The image encoding device 100 can provide information on whether a deblocking filter is applied to the corresponding block or picture, and, if a deblocking filter is applied, information on whether a strong filter or a weak filter is applied. The deblocking filter of the image decoding device 600 can receive the deblocking filter-related information provided by the image encoding device 100 and perform deblocking filtering on the corresponding block in the image decoding device 600.

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

[0076] The ALF can be applied to a coding unit based on ALF application information, ALF coefficient information, and the like provided from the image encoding device 100. Such ALF information may be provided by being included in a specific parameter set. The filter unit 605 operates in substantially the same manner as the filter unit 111 in FIG.

[0077] The memory 606 stores the reconstruction blocks generated by the adder 604. It operates in substantially the same manner as the memory 112 in FIG.

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

[0079] The prediction units 607 and 608 may include an intra prediction unit 607 and an inter prediction unit 608. Although not shown separately, the prediction units 607 and 608 may further include a prediction unit discrimination unit. The prediction unit discrimination unit receives various information such as prediction unit information input from the entropy decoding unit 601, prediction mode information of the intra prediction method, and motion prediction related information of the inter prediction method, classifies the prediction unit by the current coding unit, and may discriminate whether the prediction unit performs inter prediction or intra prediction. The inter prediction unit 608 may perform inter prediction on the current prediction unit based on information included in at least one of a previous picture or a subsequent picture of the current picture including the current prediction unit, using information required for inter prediction of the current prediction unit provided from the image encoding device 100. Alternatively, the inter prediction may be performed based on information of a part of an area already restored in the current picture including the current prediction unit.

[0080] In order to perform inter prediction, it is possible to determine, based on a coding unit, whether the motion prediction method of the prediction unit included in the corresponding coding unit is skip mode, merge mode, or AMVP mode.

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

[0082] The intra prediction unit 607 may 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 reference pixels of a current block, and can adaptively determine whether or not to apply the filter depending on a prediction mode of a current prediction unit. AIS filtering can be performed on reference pixels of a current block using the prediction mode of the prediction unit and AIS filter information provided from the image encoding device 100. If the prediction mode of the current block is a mode in which AIS filtering is not performed, the AIS filter may not be applied.

[0083] The reference pixel interpolation unit of the intra prediction unit 607 may generate reference pixels at fractional unit positions by interpolating reference pixels when the prediction mode of the prediction unit is a prediction unit that performs intra prediction based on pixel values ​​obtained by interpolating reference pixels. The generated reference pixels at fractional unit positions may be used as prediction pixels for pixels in the current block. 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 need to be interpolated. When the prediction mode of the current block is a DC mode, the DC filter may generate a prediction block through filtering.

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

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

[0086] The invention particularly relates to intra prediction. Various embodiments of the invention will now be described in more detail with reference to the drawings.

[0087] < Interpolation for intra prediction 7a and 7b are diagrams for explaining a method of deriving an intra prediction pixel using interpolation. Assuming that the prediction angle of the mth 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 mth mode, the reference pixel X used for prediction does not exist at an integer pixel position. Therefore, the reference pixel X at a fractional pixel position is generated by performing interpolation using reference pixels A and B that exist at integer pixel positions to the left and right of the reference pixel X. The generated reference pixel X is used as a prediction pixel for a pixel at position P in the current block.

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

[0089] There are various methods for enabling the image decoding device 100 to know which of a plurality of available interpolation methods has been applied or which interpolation coefficient set has been used. In the first method, the image coding device 100 transmits index information indicating which of a plurality of available interpolation methods has been applied to the image decoding device 600. In this case, the image coding device 100 can also set the index information indicating the interpolation method in units of blocks or via a higher-level header. Setting via a higher-level header here means setting using a header in a unit larger than a block unit, 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 coded by the image coding device 100 and transmitted to the image decoding device 600.

[0090] Alternatively, the encoding device 100 and the decoding device 600 may store a plurality of previously set interpolation coefficient sets in the same location, and may notify the decoding device 600 of interpolation coefficient index information indicating which set has been selected and used for encoding on a block-by-block basis or via a higher header.

[0091] Alternatively, instead of the image encoding device 100 transmitting to the image decoding device 600 index information indicating the above-mentioned interpolation method or interpolation coefficient index information indicating which interpolation coefficient set is to be used, the image encoding device 100 and the image decoding device 600 can similarly derive the interpolation coefficients in an implicit manner.

[0092] Specifically, the image encoding device 100 and the image decoding device 600 can derive the interpolation coefficients in a similar manner using already restored pixels. For example, R reference pixels (i.e., already restored pixels) are scaled up or down by R×K (K is any real number) times using one interpolation filter. Then, the original R reference pixels are restored through a reverse process using the same interpolation filter. An optimal interpolation filter can be determined depending on the difference between the values ​​of the restored R reference pixels and the original reference pixels.

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

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

[0095] In this manner, predicted values ​​of pixels in reference pixel line 0 are generated, and differences between each predicted value and each original pixel value are calculated, and then the difference values ​​are summed up. The above process is repeated using the interpolation methods and interpolation coefficients available in the image encoding device 100 or the image decoding device 600, and the interpolation method and / or the interpolation coefficients that minimize the sum of the difference values ​​are finally selected.

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

[0097] 9 is a flowchart illustrating a process in which an optimal intra-prediction mode is selected by the image encoding device 100. At this time, it is assumed that the interpolation method is set on a block basis or by a higher header.

[0098] Explaining with reference to FIG. 9, a variable m indicating an intra prediction mode number is initialized to 0, and a variable storing an optimal cost value is initialized to COST_BEST=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 obtained in actual cost calculation. A variable M is set to the total number of intra prediction modes that have already been set (S901). BEST_INTRA_MODE, which indicates the optimal intra prediction mode for the current block, is initialized to 0 (S901).

[0099] Then, an interpolation position corresponding to each pixel position of the prediction block is searched according to the intra prediction mode m, and an interpolation value is generated using one of the previously set interpolation methods or a number of interpolation methods set in the upper header, and then a prediction block is generated (S902). Using the generated prediction block, a cost value COST_m 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 that stores the optimal intra prediction mode, cost_m is stored in the COST_BEST variable, and m is increased by 1 (S905). If COST_m is larger than COST_BEST, only m is increased by 1 (S906). Finally, if m reaches the maximum number of intra prediction modes, the process ends, otherwise, the process returns to S902 and repeats. Here, when the interpolation method is a method already set in the image encoding device 100 or the image decoding device 600, S1 and S2 are set using the methods of Figures 7 and 8, and pixel X is generated using the already set interpolation method. A similar method is used for all pixels in the prediction block to generate a prediction block. Alternatively, when multiple interpolation methods are used, the content of step S902 can be changed.

[0100] Also, multiple interpolation methods can be adaptively applied to each prediction block, and in this case, the content of step S902 of the steps shown in FIG.

[0101] FIG. 10 is a flowchart illustrating a process in which the image encoding device 100 selects one of a plurality of interpolation methods.

[0102] Explaining with reference to FIG. 10, the image coding device 100 initializes a variable i indicating an interpolation method index to 0, and initializes a variable COST_BEST_i=MAX_VALUE, which is a variable that stores an optimal cost 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 obtained in actual cost calculation. The total number of available interpolation methods that have already been set is set in the variable i. A variable BEST_INTERPOLATION that stores the optimal interpolation method to be used for the current block is initialized to 0 (S1001). Then, an interpolation value corresponding to each pixel position of the prediction block is generated based on the interpolation method index i, and then a prediction block is generated (S1002). Using the generated prediction block, a cost value COST_i 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 equal to or less than COST_BEST_i (S1004), i is stored in BEST_INTERPOLATION, which is a variable for storing the optimal interpolation method, and 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, the process ends, otherwise, the process returns to S1002 and is repeated. If such a method is used, the number of bits for coding the interpolation method index is added to the number of bits for the intra prediction mode coded in step S903 shown in FIG. 9 to calculate COST_m.

[0103] FIG. 11 is a flow chart illustrating a process of encoding interpolation method index information when multiple interpolation methods are adaptively applied to each prediction block by the image encoding device 100. First, for each prediction block, whether or not it is an intra prediction mode prediction is encoded (S1101). Then, after determining whether or not it is predicted (S1102), if it is predicted, an index indicating which candidate is selected from the prediction candidates of the intra prediction mode generated in the surrounding blocks is encoded (S1103). If not, the remaining modes are rearranged except for the prediction candidates of the intra prediction mode generated in the surrounding blocks, and the currently selected intra prediction mode is binarized and encoded (S1104). Then, the used interpolation method index is encoded (S1105), and the process ends.

[0104] 12 is a flow chart illustrating a process in which the image decoding device 600 decodes the interpolation method index information. First, for each prediction block, it is decoded whether or not it is a prediction of an intra prediction mode (S1201). Then, after determining whether or not it is predicted (S1202), if it is predicted, an index indicating which candidate is selected from the prediction candidates of the intra prediction mode generated in the surrounding blocks is decoded (S1203). If not, the remaining modes are rearranged except for the prediction candidates of the intra prediction mode generated in the surrounding blocks, and the currently selected intra prediction mode is decoded (S2104). Then, the interpolation method index used in the encoder is decoded (S1205), and the process ends.

[0105] <Deriving intra-predicted pixels using multiple reference pixel lines> Hereinafter, a description will be given of derivation of intra-predicted pixels using multiple reference pixel lines according to another embodiment of the present invention.

[0106] FIG. 13 is a diagram illustrating derivation of intra-predicted pixels using multiple reference pixel lines according to an embodiment of the present invention.

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

[0108] In the following description, it is assumed that a total of three lines are used as the reference pixel lines. However, any number N of reference pixel lines can be used. Here, the number N of reference pixel lines can be notified to the decoding device 600 in block units or included in a higher header. Alternatively, the number N of reference pixel lines can be not coded, and the coding device 100 and the decoding device 600 can use a predetermined number N of reference pixel lines.

[0109] 13, a block of size 4×4 including pixel P corresponds to a current block to be encoded or decoded using intra prediction, and 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 mth directional mode, the prediction pixels that can be used as prediction pixels of the current pixel P using three reference pixel lines 0, 1, and 2 may be X, Y, and Z. In this case, a prediction block may be generated using each of the three reference pixel lines, and an optimal reference pixel line may be determined. The encoding device 100 may encode reference pixel line index information indicating the optimal reference pixel line determined in this manner. For example, as shown in FIG. 13, the reference pixel line index may assign a lower index number to a reference pixel line closer to the current block.

[0111] 14 is a flowchart illustrating a process of deriving an intra prediction 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 are present in the same image as a current block to be decoded using intra prediction. The selected at least one reference pixel line may be indicated by the reference pixel line index described above. As another alternative, at least one reference pixel line used for intra prediction of a current block may be selected using a method common to the image encoding device 100 and the image decoding device 600 by an implicit method described below.

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

[0113] The image encoding device 100 or the image decoding device 600 may 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 (S1303). The image encoding device 100 or the image decoding device 600 may derive a predicted block of the current block by repeatedly performing all or a part of step S1301 or S1303.

[0114] 15 is a flow chart illustrating a process of adaptively determining a reference pixel line used in intra prediction for each prediction block, in which step S902 shown in FIG.

[0115] Referring to FIG. 15, a variable n indicating a reference pixel line index is initialized to 0, and a variable storing an optimal cost value is initialized to COST_BEST_n=MAX_VALUE. Here, MAX_VALUE is the maximum value that can be stored in the COST_BEST_n variable, and is a very large value that cannot be obtained in actual cost calculation. A variable N is set to the total number of pixel lines already set. BEST_n indicating an optimal reference pixel line index for the current block is initialized to 0 (S1401). Then, an interpolation position corresponding to each pixel position of the prediction block is searched according to the reference pixel line index n, and a prediction block is generated (S1402). Using the generated prediction block, a cost value corresponding to n, COST_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 equal to or smaller than COST_BEST_n (S1404), n is stored in BEST_n, which is a variable for storing the optimal reference pixel line, 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, the process ends, otherwise the process returns to S1402 and is repeated.

[0116] FIG. 16 is a flowchart showing a process in which reference pixel line index information indicating a selected reference pixel line is coded by the coding device 100 when a reference pixel line is adaptively selected for each prediction block. First, whether or not the prediction of the intra prediction mode is coded for each prediction block (S1501). Then, after determining whether or not a prediction is made (S1502), if a prediction is made, an index indicating which candidate is selected from the prediction candidates of the intra prediction mode generated in the surrounding blocks is coded (S1503). If not, the remaining modes are rearranged except for the prediction candidates of the intra prediction mode generated in the surrounding blocks, and the currently selected intra prediction mode is binarized and coded (S1504). Then, the reference pixel line index used is coded (S1505), and the process ends.

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

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

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

[0120] If there are multiple prediction pixels at integer pixel positions, the prediction pixel closest to the current block may be selected as the final prediction pixel.

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

[0122] 19 again, when generating a prediction block using line 1, five prediction pixels at integer positions, three prediction pixels at 1 / 2 positions, four prediction pixels at 1 / 4 positions, two prediction pixels at 1 / 8 positions, one prediction pixel at 1 / 16 positions, and one prediction pixel at 1 / 32 positions are selected. Therefore, the total number of pixels in the prediction block is 16. The cases of reference pixel line 2 and reference pixel line 3 can be explained in a similar manner.

[0123] When prioritizing only integer pixel positions, it is also possible to select line 1 with the most integer positions as the reference pixel line. Alternatively, it is also possible to assign a weight to each position, calculate the sum of the weight and the frequency, and then select the line with the largest calculated value as the reference pixel line. Alternatively, it is also possible to assign a weight to each line, calculate the sum of the weight and the frequency, and then select the line with the largest calculated value as the reference pixel line. Alternatively, it is also possible to assign a weight to both each line and position, calculate the sum of the weight and the frequency, and then select the line with the largest calculated value as the reference pixel line.

[0124] As another embodiment, it is also possible to generate a predicted block by placing weights on each line and using pixels that are weighted and summed. For example, when pixel values ​​exist at the X, Y, and Z positions in FIG. 13, it is also possible to place more weights closer to the block and select the weighted and summed value as the predicted pixel at the P position. Alternatively, it is also possible to place more weights closer to the integer pixel position and select the weighted and summed value as the predicted pixel at the P position. Alternatively, in addition to the method of deriving a predicted pixel using the weighted sum, i.e., the weighted average, it is also possible to derive the value of the predicted pixel using the arithmetic mean, median, etc.

[0125] Alternatively, a reference pixel line index may be used for coding, but excluding 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. In this case, when interpolating a predicted value using the mth mode, a higher priority may be assigned to a line closer to an integer pixel position, or different priorities may be assigned depending on the accuracy of the position to be interpolated. According to such a predetermined arbitrary priority, a predicted value may be generated in other lines excluding line 1 in units of pixels without dividing the lines.

[0126] Alternatively, the encoding device 100 may encode whether a method of directly encoding a reference pixel line index or a method of not encoding the reference pixel line index was used on a block-by-block basis or in an upper header, and transmit the encoded information to the decoding device 600.

[0127] <Smoothing between predicted blocks and reference pixel lines> As another embodiment of the present invention, smoothing between a predicted block and a reference pixel line will be described below.

[0128] When a prediction block is derived using a certain pixel in a reference pixel line, discontinuity may exist between the prediction block and a reference pixel line not used in deriving the prediction block, or between an area adjacent to the prediction block and the prediction block. In order to reduce such discontinuity, smoothing can be used. Smoothing can be a kind of low-pass filter.

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

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

[0131] Hereinafter, the intra prediction mode used will be described using an example of a mode in which intra prediction is performed in a 45 degree up-right direction. It is also assumed that reference pixel line 1 is selected for intra prediction. Although smoothing will be described using pixels A to E as pixels to which smoothing is applied, it can be similarly applied to other pixels.

[0132] In the example of FIG. 20, since intra prediction is performed in an up-right direction of 45 degrees, smoothing may be performed in a down-left direction of 45 degrees, which is the opposite direction of the intra prediction direction. In this case, the region of the prediction block to which smoothing is applied may be determined according to the size or shape of the prediction block of the current block. In FIG. 20, pixels belonging to half of the prediction block are smoothed. That is, smoothing may be applied only to the pixels in the left half displayed in a dark state. Alternatively, a predetermined region or ratio may be used according to the size and / or intra prediction mode of the prediction block. For example, smoothing may be applied only to a quarter region of the prediction block, or other ratios are also possible.

[0133] In FIG. 20, since the reference pixel line 1 is determined as the reference pixel line for intra prediction, the predicted pixel A can be smoothed using the pixel D present in the reference pixel line 1 according to the following Equation 1.

[0134] [Formula 1] In the formula, A', A and D are the value of predicted pixel A after smoothing, the value of predicted pixel A before smoothing and the value of reference pixel D, respectively, and w1 and w2 are the weights applied to predicted pixel A and reference pixel D, respectively.

[0135] In addition, the predicted pixel B can be smoothed using a pixel D present in the reference pixel line 1, using a formula similar to the formula 1 above.

[0136] At this time, the strength of smoothing can also be adjusted according to distance. Since predicted pixel A is farther away from pixel D than predicted pixel B, when smoothing is performed, predicted pixels A and D are smoothed more strongly than predicted pixels B and D are smoothed. Here, strong smoothing can be performed by smoothing the predicted pixels with a greater weight on the pixel D side.

[0137] Alternatively, apart from the reference pixel line selected for intra prediction, the reference pixel line used for smoothing may be set to a line close to the predicted block. Referring to FIG. 20, the reference pixel line 1 is selected for intra prediction, but the pixel used for smoothing the predicted pixels A and B may be set to C instead of D. In such a case, the strength of smoothing may be selected according to the distance. For example, when smoothing the predicted pixel B using the reference pixel C, the same weight may be applied to each pixel, and when smoothing the predicted pixel A using the reference pixel C, a larger weight may be applied to pixel C for smoothing.

[0138] When smoothing, it is possible to use both directions. For example, assuming that smoothing is performed using reference pixel line 0, when smoothing predicted pixel A, it is also possible to assign weights to reference pixels F and C and smooth it with predicted pixel A. When smoothing predicted pixel B, it is also possible to assign weights to pixels F and C and smooth it with predicted pixel B. In this case, 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 make the weight different according to the distance between the reference pixel and the 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 greater than the distance between the pixels F and A, the smoothing can be performed by placing a larger weight on the pixel C. Alternatively, the smoothing can be performed using an arbitrary line according to a previously set method. Such a smoothing method can be coded on a block-by-block basis, and can also be coded via a higher header. Alternatively, the smoothing can be performed by the encoder and the decoder according to a previously set condition without coding whether or not the smoothing is applied. For example, it is also possible to determine whether or not smoothing is performed depending on which angle of the intra prediction mode is performed. In this embodiment, for convenience of explanation, it has been described that the smoothing is performed more strongly as the distance increases, but the opposite is also possible according to the characteristics of the image.

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

[0141] For convenience of explanation, the following description will be given by taking as an example a case where a current block has a size of 16×16, is divided into four 8×8 transform blocks, and transform is performed a total of four times in units of 8×8 transform blocks. The current block can be divided into a number of transform blocks smaller than the size of the current block for transform. Therefore, when an intra prediction mode is determined in units of the current block, the determined intra prediction mode can be applied in units of transform blocks, and actual prediction can be performed in units of transform blocks. The advantage of this method is that it can compensate for the fact that the correlation between pixels may decrease as the reference pixel becomes farther from the current block. Referring to FIG. 21, when intra prediction is applied in units of blocks, the pixels of transform block A are closer to the reference pixel than the pixels of transform block D. Therefore, the pixels in transform block D are farther away from the reference pixel, and the efficiency of prediction 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 in 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 lines as shown in Figure 21 are 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 the restored transform block A. Similarly, in Figure 22c, the reference pixel line as shown can be used for intra prediction using pixels of the restored transform blocks A and B. In Figure 22d, the reference pixel line as shown can also be used for intra prediction using pixels of the restored transform blocks A, B, and C.

[0147] As described above, when a large number of reference pixel lines are used, the pixel lines determined in units of blocks as shown in Fig. 21 can be directly applied to prediction in units of transform blocks as shown in Figs. 22a to 22d. Alternatively, an optimal reference pixel line can be newly determined in units of transform blocks. Alternatively, it is possible to inform the decoding device 600 of whether the optimal reference pixel line determined in units of blocks is used for the entire transform block or whether a reference pixel line is derived and used for each transform block by encoding in units of blocks or via an upper header.

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

[0149] <Induction of intra prediction mode by image decoding device> In this embodiment, the derivation of an intra prediction mode by an image decoding device will be described. The derivation of an intra prediction mode by an image decoding device according to the present invention is abbreviated as DIMD (Decoder-side Intra Mode Derivation). However, DIMD can also be performed by an 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 each of the intra prediction unit 102 of the image encoding device 100 and the intra prediction unit 607 of the image decoding device 600.

[0150] Various embodiments of the DIMD according to the present invention will be described below with reference to the drawings.

[0151] (First embodiment) 23 is a diagram illustrating a DIMD according to a first embodiment of the present invention. According to an embodiment of the present invention, the intra prediction mode of a current block can be derived using already restored pixels located in the periphery of the current block.

[0152] 23, it is assumed that a current block 2001 to be encoded or decoded has a size of M×N, a template A 2004 has a size of P×N, and a template B 2003 has a size of M×Q. As shown in FIG 23, a reference pixel region 2002 is composed of a region located to the left of template A 2004 and a region located above template B 2003.

[0153] Among the values ​​indicating the size of the reference pixel region 2002, if it is assumed that 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, predicted values ​​of template A 2004 and template B 2003 are calculated using reference pixels in a reference pixel region 2002 according to each available intra prediction mode. At this time, template A 2004 and template B 2003 are treated as one region. For example, predicted values ​​of template A 2004 and template B 2003 are calculated using reference pixels in a reference pixel region 2002 according to each of 35 types of intra prediction modes as shown in FIG. 2. A sum of absolute differences (SAD) corresponding to the sum of differences between the predicted template A 2004 and template B 2003 and the restored values ​​of template A 2004 and template B 2003 according to each intra prediction mode is calculated. Then, the intra prediction mode having the smallest sum of absolute differences (SAD) can be selected as the intra prediction mode of the current block 2001.

[0155] Since the intra prediction mode of the current block 2001 is derived using pixels already reconstructed by the image encoding device 100 or the decoding device 600, both the image encoding device 100 and the image decoding device 600 can derive the same intra prediction mode.

[0156] Meanwhile, the intra prediction mode applied to the luminance pixels can be applied to the chrominance pixels as well. Since the encoding device 100 does not transmit the intra prediction mode to the decoding device 600, there is no overhead. Therefore, it is also possible to add an intra prediction mode at a 1 / 2 position, a 1 / 3 position, or a 1 / 4 position between angular modes. At this time, information on the number of used intra prediction modes can be transmitted to the decoding device 600 using various methods. For example, it can be encoded through a block header or a higher header of a block, for example, a slice header, a picture header, a sequence header, etc., using an exponential power of 2 and transmitted to the decoding device 600. Alternatively, information on the number of available intra prediction modes can be transmitted to the decoding device 600 using a method of transmitting an index indicating one of a plurality of intra prediction mode lists configured with different numbers of intra prediction modes.

[0157] Also, in the above embodiment, two templates, template A 2004 and template B 2003, are used to derive the intra prediction mode of the current block 2001, but three or more templates may be used.

[0158] In addition, in the above embodiment, all of the intra prediction modes are applied to template A 2004 and / or template B 2003 to derive the final intra prediction mode, but the final intra prediction mode of the current block 2001 can also be derived from some of the intra prediction modes already set, rather than the entire mode.

[0159] Second embodiment In the first embodiment described above, the two templates A 2004 and B 2003 are described as one region. However, in the present embodiment, the two templates A 2004 and B 2003 are treated as separate regions. Specifically, after inducing a prediction mode of the current block using each template, one of the two induced prediction modes may be finally selected.

[0160] For example, based on angle mode No. 18 (intra prediction mode in a 45-degree direction at the upper left) shown in Fig. 2, angle modes on the left side of angle mode No. 18 are applied only to template A 2004, and then the SAD is calculated for each angle mode. The mode having the minimum SAD value calculated for each mode is determined as the intra prediction mode for template A 2004.

[0161] Next, the angle modes to the right of the angle mode no. 18 are applied only to template B 2003, and the SAD is calculated for each mode. The mode with the smallest SAD value calculated for each mode is determined as the intra prediction mode for template B 2003. Then, one of the determined intra prediction modes for template A 2004 and template B 2003 is finally selected as the prediction mode for the current block 2001.

[0162] A DC mode and a planar mode may be applied to each template to obtain a SAD value corresponding to the DC mode and a SAD value corresponding to the planar mode. Then, a final intra prediction mode for each template may be selected by comparing a SAD value corresponding to a mode selected as an intra prediction mode for the corresponding template among the above-mentioned angular modes with a SAD value corresponding to the DC mode and a SAD value corresponding to the planar mode.

[0163] Third embodiment A third embodiment of the DIMD according to the present invention will now be described.

[0164] A third embodiment of the present invention relates to a method for performing DIMD using the remaining available templates when some of the templates for the current block are unavailable.

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

[0166] In FIG. 24, the templates above block 2101 are currently unavailable, and only template A 2104 on the left side 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, but one of the two templates is unavailable, the 35 intra prediction modes can be applied to only one template 2104 by defining a range as shown in Fig. 24. In Fig. 24, the 45 degree direction at the bottom 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 between prediction mode No. 2 and prediction mode No. 34.

[0168] As described above, the set 33 angle modes, DC mode, and planar mode can be applied to the available template A 2104 to derive the intra prediction mode of the current block 2101 after performing DIMD.

[0169] When the current block 2101 corresponds to the upper boundary of the input image, and the reference pixel 2105 on the left side of the template A 2104 is available, but there is no reference pixel on the upper side of the template A 2104, the upper reference pixel 2102 can be generated through padding using suitable surrounding pixels. The surrounding pixels used for padding can be the upper pixels of the current block 2101 and / or the template A 2104, or the reference pixel 2105 on the left side of the template A 2104.

[0170] (Fourth embodiment) Fig. 25 is a flowchart for explaining the 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 performed in the same manner by the intra prediction unit 102 of the image encoding device 100 and the intra prediction unit 607 of the image decoding device 600.

[0171] Referring to FIG. 25, first, an intra prediction mode of at least one pixel region that has already been restored is derived based on a reference pixel region of the at least one pixel region (S2201). Here, the at least one pixel region may be template A 2004, 2104 and / or template B 2003 in the above-mentioned embodiment, but is not limited to these templates. The reference pixel region may correspond to the reference pixel regions 2002, 2102, 2105 described in the above-mentioned embodiment, but is not limited to these reference pixel regions.

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

[0173] Fifth embodiment FIG. 26 is a flowchart illustrating a method of encoding an intra prediction mode when encoding an image using the DIMD according to the present invention.

[0174] First, information indicating whether or not the DIMD according to the present invention is performed is encoded (S2501). This information is information for informing the image decoding device 600 of a method for inducing an intra prediction mode. That is, whether the intra prediction mode is induced using the DIMD according to the present invention or is induced using another method is signaled.

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

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

[0177] An MPM flag indicating whether the intra prediction mode of the current block belongs to a most probable mode list (MPM list) and MPM index information are further transmitted to the decoding apparatus 600. The number of intra prediction modes included in the MPM list is much smaller than the number of all intra prediction modes. Therefore, if the intra prediction mode of the current block belongs to the most probable mode list (MPM list), it can be signaled to the decoding apparatus 600 using very few bits. The MPM index information indicates which mode the intra prediction mode of the current block corresponds to among the modes belonging to the most probable mode list (MPM 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 a residual mode group. The residual mode group may include all intra prediction modes other than the intra prediction modes belonging to the MPM list. In operation S2503, coding of whether or not a Most Probable Mode (MPM) is applied is performed by coding the MPM flag.

[0179] 26 again, after checking whether MPM is used (S2504), if MPM is not used, the remaining modes excluding MPM candidates are rearranged and the intra prediction mode of the current block is coded (S2505).If MPM is used, an MPM index indicating which intra prediction mode candidate has been applied is coded (S2506), and the process ends.

[0180] Sixth embodiment FIG. 27 is a flowchart illustrating a method of decoding an intra prediction mode when decoding an image using the DIMD according to the present invention.

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

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

[0183] However, if the DIMD according to the present invention is not used, whether or not the Most Probable Mode (MPM) is applied is decoded (S2603). In 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 a residual mode group. The residual mode group may include all intra prediction modes other than the intra prediction modes belonging to the MPM list.

[0185] Next, after checking whether an MPM has been used (S2604), if not, the remaining modes excluding the MPM candidates are rearranged and the intra prediction mode of the current block is decoded (S2605).If an MPM has been used, the MPM index indicating which intra prediction mode candidate has been applied is decoded (S2606), and the process ends.

[0186] Seventh embodiment 28 is a diagram for explaining a seventh embodiment according to the present invention, which relates to a method for deriving an intra prediction mode using a plurality of reference pixel lines in a template.

[0187] 28, it is assumed that two lines, a reference pixel line 1 and a reference pixel line 2, are used as reference pixel lines of a template. It is assumed that the lengths P and Q of the template are each 1.

[0188] The angle mode on the right side of the 45 degree direction mode at the top left is defined as the upper angle mode, and template B and its reference pixel line above it are used. Also, the angle mode on the left side of the 45 degree direction mode at the top left is defined as the left angle mode, and template A and its reference pixel line to the left are used. Then, prediction is performed for each reference pixel line as shown in FIG. 28 according to the intra-intra prediction mode. For example, the reference pixel line 1 of the template is predicted using the reference pixel line 2 of the template to generate an optimal intra-prediction mode candidate 1. Then, the template is predicted using the reference pixel line 1 of the template to generate an optimal intra-prediction mode candidate 2. If the intra-prediction mode candidates 1 and 2 are the same, the prediction mode is selected as the intra-prediction mode of the current block. If the 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 the 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, it is determined 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 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] The subsequent steps S2804 to S2808 are substantially the same as S2502 to S2506 shown in FIG. 26, and thus detailed description is omitted.

[0192] FIG. 30 is a flowchart showing the 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 step shown in FIG. 29 except that it is performed by the image decoding apparatus 600, and thus detailed description is omitted.

[0193] <Variation 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 variation of DIMD for transmitting a template index, and are examples of a method of specifying using an index after generating intra prediction mode candidates by 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 Figure 31a, intra prediction mode candidate 1 is induced for template A 3102 using pixels in a template reference pixel region 3103. In Figure 31b, intra prediction mode candidate 2 is induced for template B 3104 using pixels in a template reference pixel region 3105. Next, an index indicating which template the intra prediction mode candidate induced from is the intra prediction mode of the current block 3101 is coded and transmitted to the decoding device 600.

[0195] On the other hand, the intra prediction mode in which the block including the template was coded may be used in this embodiment. For example, in FIG. 31a and FIG. 31b, when the intra prediction mode of the block including the template A3102 is intra prediction mode A, if the intra prediction mode A and the intra prediction mode determined by applying to the template A3102 using the reference pixels of the template are the same, a high or low priority can be assigned. It is also possible to allocate bits when arranging candidates for index setting based on the priority. Similarly, when there are many templates other than the template A3102, it is also possible to set a priority when allocating bits using the above conditions.

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

[0197] First, information indicating whether DIMD using a template index is to be executed is encoded (S3301). After determining whether 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 MPM (Most Probable Mode) is to be applied is encoded (S3303). After confirming whether MPM has been applied (S3304), if it has not been applied, the remaining modes excluding the 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 of 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 decoder 600, and thus detailed description thereof is omitted.

[0199] On the other hand, although FIGS. 31a and 31b illustrate two templates in the vicinity, 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 decoder 600, or template index information indicating which intra prediction mode candidate induced using which template among a plurality of templates has been selected as the intra prediction mode of the current block is transmitted from the encoder 100 to the decoder 600.

[0201] Hereinafter, an embodiment of 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 intra-prediction mode prediction, it is also possible to arrange the MPM candidates in the top order in the same order as the intra-prediction modes induced using the template.

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

[0204] Assume that there are reconstructed blocks A 3503 and B 3505 around a current block 3501, and that intra prediction has been used for block A 3503, and inter prediction has been used for block B 3505. Since inter prediction has been used for block B 3505 and there is no intra prediction mode, in this embodiment, an intra prediction mode for block B 3505 is generated using a template. For deriving the intra prediction mode for block B 3505 using a template, refer to FIG. 31b and the previous description related to FIG. 31b. Meanwhile, when deriving the intra prediction mode for template B 3104 using template B 3104 in FIG. 31b, the manner of encoding the intra prediction mode, the number of intra prediction modes, and the prediction angle should 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, an MPM candidate is set using the intra prediction mode in which the block containing the template was coded.

[0206] FIG. 35 is a diagram for explaining setting of MPM candidates according to an embodiment of the present invention. Referring to FIG. 35, it is assumed that the intra prediction mode of a left block 3703 of a current block 3701 is mode 10, and that the intra prediction mode induced in a template A 3705 corresponding to a part of the left block 3703 using template reference pixels (not shown) is mode 12. Similarly, it is assumed that the intra prediction mode of an upper block 3707 of the current block 3701 is mode 28, and that the intra prediction mode induced in a template B 3709, which is a part of the upper block 3707, using template reference pixels (not shown) is mode 28. In the case of the left block 3703, it is assumed that the 10th mode is advantageous for encoding when the left block 3703 as a whole is considered, but since the 12th mode is set in the template A 3705 adjacent to the current block 3701, it can be assumed that the 12th mode is more appropriate as the prediction mode of the current block than the 10th mode. In this case, when setting MPM candidates, MPM candidates can be generated using the intra prediction mode induced by template A 3705 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 induced via template B 3709 are the same, the same mode is used as the MPM candidate.

[0208] As another alternative, MPM candidates can be set using four modes: the intra prediction mode of the left block 3703, the intra prediction mode induced by template A 3705, the intra prediction mode of the upper block 3707, and the intra prediction mode induced by template B 3709. In this case, since the intra prediction mode induced using the template is closer to the current block, it is possible to assign a higher priority to the intra prediction mode induced using the template when setting MPM candidates, and allocate fewer bits to the intra prediction mode induced using the template.

[0209] Although the exemplary methods of the present disclosure are depicted as a series of acts for clarity of description, 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 realize a method according to the present disclosure, other steps may be included in addition to the steps illustrated, or some steps may be excluded and the remaining steps may be included, or some steps may be excluded and additional other steps may be included.

[0210] The various embodiments of the present disclosure are not intended to list all possible combinations, but are intended to describe 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] Additionally, various embodiments of the present disclosure may be realized by hardware, firmware, software, or a combination thereof, etc. In the case of a hardware implementation, the implementation may be realized by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), 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 performed on a device or computer, as well as non-transitory computer-readable medium on which such software or commands etc. may be stored and executed on a device or computer. [Industrial Applicability]

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

Claims

1. 1. A method for decoding an image, comprising: selecting at least one reference pixel line from a plurality of reference pixel lines, where 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 predicted block of the current block; generating a reconstructed block of the current block using the filtered predicted block; Including, The step of generating the predicted block is performed on a sub-block basis within the current block, A method for decoding an image, characterized in that, when the intra prediction mode of the current block is a predetermined angle mode, a first pixel in the prediction block is filtered based on a first reference pixel used in predicting 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.

2. 1. A method for encoding an image, comprising: selecting at least one reference pixel line from a plurality of reference pixel lines, where the plurality of reference pixel lines are included in the same picture as a current block to be coded 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; The intra prediction is performed on a sub-block basis within the current block, The method further comprises: generating a prediction block of the current block based on the determined intra-prediction mode; and filtering the prediction block of the current block. A method for encoding an image, characterized in that, when the intra prediction mode of the current block is a predetermined angle mode, a first pixel in the predicted block is filtered based on a first reference pixel used in predicting 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.

3. A method for transmitting a bitstream generated by an image encoding method, the image encoding method comprising: selecting at least one reference pixel line from a plurality of reference pixel lines, where the plurality of reference pixel lines are included in the same picture as a current block to be coded 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; The intra prediction is performed on a sub-block basis within the current block, The method further comprises: generating a prediction block of the current block based on the determined intra-prediction mode; and filtering the prediction block of the current block. A method for transmitting a bitstream, characterized in that, when the intra prediction mode of the current block is a predetermined angle mode, a first pixel in the predicted block is filtered based on a first reference pixel used in predicting 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.

4. 1. A method for decoding an image, comprising: deriving an intra prediction mode of a current block; generating a prediction block of the current block based on at least one reference pixel and the derived intra prediction mode; generating a reconstructed block of the current block using the predicted block; Equipped with 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 in predicting the first pixel and a second reference pixel included in the same reference pixel line as a reference pixel line including the first reference pixel; the first pixel is filtered using the weights of the first reference pixel and the weights of the second reference pixel; 13. A method for decoding an image, comprising: determining the weight of the first reference pixel and the weight of the second reference pixel based on a distance between the first pixel and the first reference pixel.

Citation Information

Patent Citations

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

    JP2009246976A

  • Method and apparatus for directional intra-prediction

    JP2014519768A

Cited By

  • Image encoding / decoding method and device

    JP2025111733A