Procedure and apparatus for intra-prediction on screen (Machine-translation by Google Translate, not legally binding)
Abstract
Method and apparatus for intra-prediction on screen # The present invention relates to a method and apparatus for intra-prediction. The intra-prediction method for a decoder, according to the present invention, comprises the steps of entropy decoding of a received bit stream, the generation of reference pixels to be used in the intra-prediction of a prediction unit; the generation of a prediction block from the reference pixels, based on a prediction mode for the prediction unit, and the reconstruction of an image from the prediction block and a residual block, which is obtained as a result of entropy coding, where the reference pixels and / or the prediction block pixels are predicted based on a base pixel, and the predicted pixel value may be the sum of the pixel value of the base pixel and the difference between the pixel values of the base pixel and the generated pixel.

Term
5.6 yearsto projected expiry
Projected expiry 14 May 2032, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
3 claims: 1 independent, 2 dependent
- 1ES 2 597 431 A2 REIVINDICACIONES 1. Un procedimiento de descodificación de una señal de vídeo, que comprende:obtener muestras de referencia en base a muestras vecinas adyacentes a un bloque actual, siendo usadas las muestras de referencia para una ¡ntra-predi colón del bloque actual;y realizar la ¡ntra-predlcclón para el bloque actual usando las muestras de referencia, en el que la obtención de las muestras de referencia comprende: determinar, en base a una modalidad de predicción de un bloque vecino, si al menos una de las muestras vecinas Incluidas en el bloque vecino es una muestra no disponible, especificando la modalidad de predicción si el bloque vecino está codificado en una Interpredicción o en la ¡ntra-predlcclón;y realizar una sustitución para la muestra no disponible, que no es usada para la ¡ntrapredlcclón del bloque actual, usando una muestra situada a un lado de la muestra no disponible entre las muestras vecinas adyacentes al bloque actual, cuando la muestra no disponible está presente entre las muestras vecinas adyacentes al bloque actual, caracterizado porque la muestra situada a un lado de la muestra no disponible está situada en un lado Inferior de la muestra no disponible, cuando la muestra no disponible es una muestra Izquierda vecina adyacente al bloque actual, y la muestra situada a un lado de la muestra no disponible está situada en un lado Izquierdo de la muestra no disponible, cuando la muestra no disponible es una muestra superior vecina, adyacente al bloque actual.
- 2El procedimiento de la reivindicación 1, caracterizado porque la determinación de si la al menos una muestra vecina es o no la muestra no disponible está basada en un Indicador de ¡ntra-predlcclón restringida, además de la modalidad de predicción referida al bloque vecino, especificando el Indicador de ¡ntra-predlcclón restringida si la muestra vecina, en el bloque vecino codificado en la Inter-predicción, es usada o no para la ¡ntra-predlcclón del bloque actual.
- 3El procedimiento de la reivindicación 2, caracterizado porque cuando la modalidad de predicción referida al bloque vecino especifica que el bloque vecino está codificado en la Inter-predicción, y el Indicador de ¡ntra-predlcclón restringida especifica que la muestra vecina en el bloque vecino no es usada para la ¡ntra-predlcclón del bloque actual, se determina que la al menos una de las muestras vecinas, Incluidas en el bloque vecino, es la muestra no disponible.
Independent claims3
271 paragraphs in 16 sections, as filed
ES 2 597 431 A2
DESCRIPTION
Procedure and apparatus for on-screen intra-prediction
Technical field
The present invention relates to a video processing technique and, more specifically, to an intra-prediction method in the encoding / decoding of video information.
Background
Recently, the demands for high-quality, high-resolution images have increased in various fields of applications. As the images have higher resolution and higher quality, the amount of information in the images also increases. Consequently, when video data is transferred using means such as existing broadband, wired, and wireless lines, or stored on conventional storage media, the costs of transferring and storing the video data increase.
Therefore, highly efficient video compression techniques can be used to efficiently transmit, store or reproduce images with higher resolution and higher quality.
Divulgation
Technical problem
One aspect of the present invention is to provide a method of performing effective intra-prediction on a texture with directionality, in consideration of variations of the reference pixels of neighboring blocks.
Another aspect of the present invention is to provide a method of performing planar prediction taking into account variations in pixel values of blocks adjacent to a prediction block when performing intra-prediction.
ES 2 597 431 A2
Yet another aspect of the present invention is to provide a method for generating a reference pixel based on an intra-modal neighbor block, at a position of a neighboring pixel in inter-prediction mode, and to use the reference for intraprediction when using restricted intraprediction (CIP).
Yet another aspect of the present invention is to provide a method for generating a reference pixel taking into account variations in the pixel value when the reference pixel is generated on the basis of a neighboring intra-modal block, at a position neighbor pixel in inter-prediction mode.
Technical Solution
An embodiment of the present invention provides an encoder intra-prediction method, the method including generating reference pixels for intra-prediction with respect to an input prediction unit, determining an inter-prediction. mode for the prediction unit, the generation of a prediction block based on the reference pixels and the intra-mode, and generating a residual block for the prediction unit and the prediction block, wherein at least one of the reference pixels and the pixels of the prediction block is predicted based on a base pixel, and a value Pixel of the predicted pixel is a sum of a pixel value of the base pixel and a variation in the pixel value between the base pixel and the generated pixel.
A reference pixel of a neighboring block, arranged in an upper left corner of the prediction block, can be set as a first base pixel, a value obtained by applying a variation in the pixel value between the first base pixel and a lower pixel between the reference pixels of a neighboring block, arranged at a left boundary of the prediction block, and a variation in the pixel value between the first base pixel and a pixel further to the right between the reference pixels of a neighboring block, arranged at an upper limit of the prediction block with respect to the base pixel, can be set. as a pixel value of a second base pixel, as a diagonal pixel in a lower right corner of the prediction block, and the pixel values of the pixels on the diagonal of the prediction block can be predicted from the first base pixel and the second base pixel.
ES 2 597 431 A2
Here, the non-diagonal pixels of the prediction block are predicted by interpolation or extrapolation using the diagonal pixels and the pixels of the neighboring blocks at the upper and / or left limits of the prediction block.
Furthermore, a reference pixel of a neighboring block, arranged in an upper left corner of the prediction block, can be set as the base pixel, and a value obtained by applying a variation in the pixel value between the pixel of base and a neighboring pixel, arranged in the same row as a prediction target pixel between the reference pixels of a neighboring block, arranged at a left boundary of the prediction block, and a variation in the pixel value between the base pixel and a neighboring pixel, arranged in the same column as the prediction target pixel, between the reference pixels of a neighboring block, arranged at an upper limit of the prediction block with respect to the base pixel, it can be predicted as a pixel value of the prediction target pixel.
Also, a pixel arranged in the same row or column as a prediction target pixel, among the pixels of neighboring blocks, arranged at the left or upper boundary of the prediction block, can be set as the base pixel, and a Value obtained by applying a variation in the pixel value, between the base pixel and the prediction pixel, for the base pixel can be predicted as a pixel value of the prediction target pixel.
Here, the prediction target pixel can be a diagonal pixel of the prediction block, and a non-diagonal pixel of the prediction block can be predicted by interpolation, using the diagonal pixel and the pixels of the neighboring blocks.
The intra-prediction procedure may further include the generation of a reference pixel, arranged in a boundary between an inter-modal block and the prediction unit when a neighboring block to the prediction unit is the inter-modal block, wherein a pixel arranged at a prediction unit boundary, between the pixels of an intramodal block, arranged on a left side or on the bottom side of the reference pixel, can be set as a first base pixel, a pixel arranged at the boundary of the prediction unit, between the pixels of an intra-modal block, arranged on a right side or an upper side of the reference pixel, can be set as a second base pixel, and
ES 2 597 431 A2 the reference pixel can be generated based on a distance between the first base pixel and the reference pixel, and a distance from the second base pixel to the reference pixel.
Here, a pixel value of the first base pixel may be an average pixel value of the pixels arranged at the boundary of the prediction unit, between the pixels of the intramodal block to which the first base pixel belongs, and a value Pixel of the second base pixel can be a mean pixel value of the pixels arranged at the boundary of the prediction unit, between the pixels of the intra-modal block to which the second base reference belongs. Furthermore, a pixel value of the first base pixel may be a pixel value of the reference pixel when an intra-modal block is arranged only on the left side or on the lower side of the reference pixel, and a pixel value of the second base pixel may be a pixel value of the reference pixel, when an intra-modal block is arranged only on the right side or the upper side of the reference pixel.
Another embodiment of the present invention provides a decoder intra-prediction method, the method including entropy decoding of a received bit stream, generating a reference pixel used for intra-prediction of a unit of prediction, generating a prediction block from the reference pixel based on a prediction mode for the prediction unit, and the reconstruction of an image from a residual block obtained by entropy decoding, and from the prediction block, in which at least one of the reference pixels and the pixels of the prediction block are predicted based on a base pixel, and a predicted pixel pixel value is a sum of a base pixel pixel value and a variation in pixel value between the base pixel and the generated pixel.
A reference pixel from a neighboring block, arranged in an upper left corner of the prediction block, can be set as a first base pixel, a value obtained by applying a variation in the pixel value between the first base pixel and a lower pixel between the reference pixels of a neighboring block, arranged at a left boundary of the prediction block, and a variation in the pixel value between the first base pixel and one pixel further to the right between the reference pixels of a neighboring block, arranged at an upper limit of the prediction block with respect to the base pixel, can be set. as a pixel value of a second base pixel, as a pixel in
ES 2 597 431 A2 diagonal in a lower right corner of the prediction block, and the pixel values of the pixels on the diagonal of the prediction block can be predicted from the first base pixel and the second base pixel.
Here, the non-diagonal pixels of the prediction block can be predicted by Interpolation or extrapolation, using the diagonal pixels and the pixels of the neighboring blocks at the upper and / or Left limits of the prediction block.
A reference pixel from a neighboring block, arranged in an upper left corner of the prediction block, can be set as the base pixel, and a value obtained by applying a variation in the pixel value, between the base pixel and a neighboring pixel, arranged in the same row as a prediction target pixel, between the reference pixels of a neighboring block, arranged at a Left boundary of the prediction block, and a variation in the pixel value, between the base pixel and a neighboring pixel, arranged in the same column as the prediction target pixel, between the reference pixels of a neighboring block, arranged at an upper limit of the prediction block with respect to the base pixel, can be predefined as a pixel value of the prediction target pixel.
Also, a pixel arranged in the same row or column as a prediction target pixel, among the pixels of neighboring blocks, arranged at a Left or upper boundary of the prediction block, can be set as the base pixel, and a The value obtained by applying a variation in the pixel value, between the base pixel and the prediction pixel, for the base pixel can be predicted as a pixel value of the prediction target pixel.
Here, the prediction target pixel can be a diagonal pixel of the prediction block, and a non-diagonal pixel of the prediction block can be predicted by Interpolation, using the diagonal pixel and the pixels of the neighboring blocks.
The intra-prediction can also include the generation of a reference pixel, arranged in a boundary between an intra-modal block and the prediction unit, when a neighboring block to the prediction unit is the Inter-modal block, in that a pixel arranged in a boundary of the prediction unit, between the pixels of an intra-modal block, arranged on a Left side or on a Lower side of the reference pixel, can be established as a first
ES 2 597 431 A2 base pixel, a pixel arranged at the boundary of the prediction unit, between the pixels of an intra-modal block, arranged on a right side or an upper side of the reference pixel, can be set as a second base pixel, and the reference pixel can be generated based on a distance between the first base pixel and the reference pixel, and a distance between the second base pixel and the reference pixel.
Here, a pixel value of the first base pixel may be an average pixel value of pixels arranged at the boundary of the prediction unit, between the pixels of the intramodal block to which the first base pixel belongs, and a value of pixel of the second base pixel may be a mean pixel value of the pixels arranged at the boundary of the prediction unit, between the pixels of the intra-modal block to which the second base reference belongs. Furthermore, a pixel value of the first base pixel may be a pixel value of the reference pixel when an intra-modal block is arranged only on the left side or on the lower side of the reference pixel, and a pixel value of the second base pixel may be a pixel value of the reference pixel, when an intra-modal block is arranged only on the right side or the upper side of the reference pixel.
The decoder may acquire an instruction to generate the prediction block pixels, based on the base pixel, by entropy decoding. Furthermore, the decoder can acquire an instruction to generate the reference pixels, based on the base pixel, by entropy decoding.
Advantageous effects
As described above, according to the present invention, the intra-prediction on a texture with directionality can be effectively achieved, in consideration of the variations of the reference pixels of the neighboring blocks.
Furthermore, flat prediction can be carried out by taking into account variations in pixel values of neighboring blocks with respect to a prediction block, thus improving prediction efficiency.
Furthermore, when constrained intra-prediction (CIP) is employed, a reference pixel is generated based on a neighboring intra-modal block, at a position of a neighboring pixel
ES 2 597 431 A2 intra-modal, and is used for intra-prediction, taking into account the variations in the pixel value, thereby improving the efficiency of the prediction.
Description of the drawings
FIG. 1 is a block diagram illustrating a configuration of a video encoder in accordance with an exemplary embodiment of the present invention.
FIG. 2 is a block diagram schematically illustrating a configuration of an input module, according to an exemplary embodiment of the present invention.
FIG. 3 is a block diagram illustrating a configuration of a video decoder, according to an exemplary embodiment of the present invention.
FIG. 4 illustrates schematically a planar prediction procedure.
FIG. 5 schematically illustrates an alternative planar prediction procedure.
FIG. 6 illustrates schematically that a diagonal pixel of a current prediction block is predicted first.
FIG. 7 schematically illustrates a procedure for obtaining other pixel values in the prediction block, based on the diagonal pixel.
FIG. 8 schematically illustrates a method of predicting a pixel value taking into account a reference pixel value and a variation with respect to a reference pixel.
FIG. 9 schematically illustrates a procedure for obtaining first the diagonal pixels of a prediction block and then the pixel values of the remaining pixels.
FIG. 10 illustrates schematically that diagonal pixels are obtained first and that pixels other than diagonal pixels are obtained in the same procedure that is used for diagonal pixels.
ES 2 597 431 A2
FIG. 11 schematically illustrates a CIP procedure.
FIG. 12 schematically illustrates an alternative CIP procedure.
FIG. 13 illustrates schematically that a system according to the present invention performs CIP in consideration of variations in pixel value.
FIG. 14 is a flow chart schematically illustrating an encoder operation in the system according to the present invention.
FIG. 15 illustrates a prediction direction of an intra-prediction mode. FIG. 16 is a flow chart schematically illustrating a decoder operation in the system according to the present invention.
Invention Mode
Although the elements shown in the drawings are shown Independently, in order to describe different features and functions of a video encoder / decoder, such a configuration does not indicate that each element is built by a hardware component or component of a video. software separately. That is, the elements are arranged Independently and at least two elements can be combined into a single element, or a single element can be divided into a plurality of elements to perform functions. It is to be noted that embodiments in which some elements are Integrated into a combined element and / or one element is divided into multiple separate elements, are included in the scope of the present invention, without departing from the essence of the present invention.
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numbers in the drawings refer to the same elements in their entirety, and redundant descriptions of the same elements will be omitted herein.
FIG. 1 is a block diagram illustrating a configuration of a video encoder in accordance with an exemplary embodiment of the present invention. Referring to
ES 2 597 431 A2 FIG. 1, the video encoder includes an image partition module 110, an inter-prediction module 120, an intra-prediction module 125, a transform module 130, a quantization module 135, a dequantization module 140, a reverse transform module 145, an unlock filter 150, a memory 160, a reorder module 165, and an entropy encoding module 170. Image partition module 110 may receive input from a current image and divide the image into at least one encoding unit. A coding unit is a coding unit made by the video encoder and can also be called a CU. An encoding unit can be recursively subdivided, with a depth based on a four-branch tree structure. An encoding unit that has a maximum size is called a maximum encoding unit (LCU), and an encoding unit with a minimum size, a minimum encoding unit (SCU). A coding unit can be 8x8, 16x16, 32x32, or 64x64 in size. Image partitioning module 110 can split or split the coding unit to generate a prediction unit and a prediction unit. transformation. The prediction unit can also be called a PU, and the transformation unit can also be called a TU.
In an inter-prediction mode, the inter-prediction module 120 may perform motion estimation (ME) and motion compensation (MC). The inter-prediction module 120 generates a prediction block based on information about at least one of the leading and trailing images of the current image, which may be referred to as an interframe prediction.
The inter-prediction module 120 is provided with a partitioned prediction destination block and at least one reference block stored in memory 160. The inter-prediction module 120 performs the motion estimation using the destination block of prediction and reference block. The inter-prediction module 120 generates motion information that includes a motion vector (MV), a reference block index, and a prediction mode as a result of motion estimation.
In addition, the inter-prediction module 120 performs motion compensation using the motion information and the reference block. Here, the inter-prediction module 120 generates and outputs a prediction block that corresponds to a block of
ES 2 597 431 A2 input from the reference block.
Motion information is entropy encoded to form a compressed bit stream, which is transmitted from the video encoder to a video decoder. In an intra-prediction mode, the intra-prediction module 125 may generate a prediction block based on Information about a pixel in the current Image. Intrapredication is also called intraframe prediction. In the enter-prediction mode, a prediction target block and a reconstructed block, reconstructed by encoding and decoding, are input to the enter-prediction module 125. Here, the rebuilt block is an Image that has not been subjected to the unblocking filter. The reconstructed block can be a previous prediction block.
FIG. 2 is a block diagram schematically illustrating a configuration of the input module, according to an exemplary embodiment of the present invention.
Referring to FIG. 2, the input prediction module includes a reference pixel generation module 210, an input mode determination module 220 and a prediction block generation module 230.
The reference pixel generation module 210 generates a reference pixel necessary for inputting. The pixels on a vertical line at the right end of a Left block neighboring a prediction target block and the pixels on a lower horizontal line from an upper block neighboring a prediction target block are used to generate the prediction target block. reference. For example, when the prediction target block is of size N, 2N pixels in each of the Left and Top directions are used as reference pixels. The reference pixel can be used as is or by Adaptive Intrusion Filtering (AIS). When the reference pixel is subjected to AIS filtering, Information about AIS filtering is signaled. The input mode determination module 220 receives the input from the prediction destination block and the reconstructed block. The input mode determination module 220 selects a mode that minimizes the amount of Information to be encoded between the prediction modes, using the Input Image and the Output Information in the prediction mode. Here, you can use a preset cost function, or a Hadamard transform.
ES 2 597 431 A2
The prediction block generation module 230 receives the input of the information about the prediction mode and the reference pixel. The prediction block generation module 230 spatially predicts and compensates for a pixel value of the prediction target block, using the information about the prediction mode and a pixel value of the reference pixel, thereby generating a prediction block.
Information about the prediction mode is entropy encoded to form a compressed bit stream together with the video data, and transmitted from the video encoder to the video decoder. The video decoder uses the information about the prediction mode when it generates an intra-prediction block.
Referring again to FIG. 1, a differential block is generated by difference between the prediction target block and the prediction block generated in the inter-prediction or intra-prediction mode, and is input to the transformation module 130. The transformation module 130 transforms the differential block into a transformation unit, to generate a transformation coefficient.
A transform block with a transform unit has a four-branch tree structure, within maximum and minimum sizes, and is therefore not limited to a predetermined size. Each transform block has a signal indicating whether or not the current block is divided into sub-blocks, where, when the signal is 1, the current transform block can be divided into four sub-blocks. Discrete Cosine Transformation (DCT) can be used for transformation.
The quantization module 135 can quantize the values transformed by the transform module 130. A quantization coefficient can change based on a block or the importance of an image. The quantized transformation coefficient can be provided to the reordering module 165 and the dequantization module 140. The reordering module 165 can change a two-dimensional (2D) block of transformation coefficients into a one-dimensional (1D) vector of transformation coefficients, by scanning, in order to improve efficiency in entropy coding. The reordering module 165 can change the scan order based on stochastic statistics to improve the efficiency of entropy coding.
ES 2 597 431 A2
The entropy encoding module 170 entropy encodes the values obtained by the reordering module 165, and the encoded values make up a compressed bit stream, which is stored or transmitted through a network abstraction layer (NAL).
The dequantization module 140 receives and dequates the transformation coefficients quantized by the quantization module 135, and the Inverse transformation module 145 Inverse transforms the transformation coefficients, thereby generating a reconstructed differential block. The reconstructed differential block is merged with the prediction block generated by the Inter-prediction module 120 or the inter-prediction module 125, to generate a reconstructed block. The rebuilt block is provided to the input module 125 and the deblocking filter 150.
The unblocking filter 150 filters the reconstructed block to remove an inter-block boundary distortion that occurs in the encoding and decoding processes, and provides a filtered result to an adaptive loop filter (ALF) 155.
The ALF 155 performs filtering to minimize an error between the prediction target block and the final reconstructed block. The ALF 155 performs filtering based on a value that results from comparing the reconstructed block filtered by the unblocking filter 150 and the current prediction target block, and a Filter coefficient information in the ALF 155 is loaded into a header slice and transmitted from the encoder to the decoder.
The memory 160 can store the final reconstructed block, obtained through the ALF 155, and the stored reconstructed (final) block can be provided to the Inter-prediction module 120 to perform the Inter-prediction.
FIG. 3 is a block diagram illustrating a configuration of a video decoder in accordance with an exemplary embodiment of the present invention. Referring to FIG. 3 , the video decoder includes an entropy decoding module 310, a reordering module 315, a dismantling module 320, an Inverse transform module 325, an Inter-prediction module 330, an interprediction module 335, a filter 340 unlock, an ALF 345 and a memory 350.
Entropy decoding module 310 receives a compressed bit stream from a NAL. The entropy decoding module 310 entropy decoding the bit stream
ES 2 597 431 A2 received, and also entropy decodes a prediction mode and the motion vector information, if the bit stream includes the prediction mode and the motion vector information. An entropy-decoded transformation coefficient, or differential signal, is provided to the 315 reordering module. The reordering module 315 inversely scans the transform coefficient, or differential signal, to generate a two-dimensional block of transform coefficients.
The unquanting module 320 receives and unquantizes the reordered and entropy decoded transformation coefficients. The Inverse transform module 325 Inverse transforms the quartered transform coefficients to generate a differential block.
The differential block can be merged with a prediction block generated by the Inter-prediction module 330 or the input-prediction module 335, to generate a reconstructed block. The rebuilt block is provided to the input module 335 and to the unblocking filter 340. The Inter-prediction module 330 and the inter-prediction module 335 can perform the same operations as the Inter-prediction module 120 and the inter-prediction module 125 of the video encoder.
The unblocking filter 340 filters the reconstructed block to remove an inter-block boundary distortion that occurs in the encoding and decoding processes, and provides a filtered result to the ALF 345. The ALF 345 performs the filtering to minimize an error. between the prediction target block and the finally rebuilt block. The memory 160 can store the final reconstructed block obtained through the ALF 345, and the stored reconstructed (final) block can be provided to the Inter-prediction module 330 to perform the Inter-prediction.
Meanwhile, in an area with Insignificant changes in texture, for example a monotonous background of the sky or the sea, flat intra-predlction is used to further improve encoding efficiency.
Intra-prediction is classified into linear prediction, DC prediction, and flat prediction, where flat prediction can be an extended concept of DC prediction. Although the flat prediction can be broadly included in the DC prediction, the flat prediction can cover a prediction procedure that the DC prediction does not deal with.
ES 2 597 431 A2
For example, DC prediction is preferable for smooth texture, while flat prediction is effective for block prediction, in one pixel, of values having directionality.
The present specification illustrates a method of improving the efficiency of planar prediction with respect to a texture with directionality, using variations in the pixel values of the reference pixels of neighboring blocks.
FIG. 4 illustrates schematically a planar prediction procedure.
Referring to FIG. 4 (A), a pixel value 425 of a pixel in a lower right corner of a current block 420 is predicted. The pixel value 425 of the pixel in the lower right corner of the current block can be predicted as a DC value. Referring to FIG. 4 (B), the pixel values of the pixels located in a right boundary of the current block, and the pixel values of the pixels located in a Lower boundary of the current block are predicted. For example, a pixel value 445 located on the right border of the current block can be predicted by Linear Interpolation of a pixel value 450 from a higher block and the DC value 425. Furthermore, a pixel value 435 located at the Lower boundary of the current block can be predicted by linear interpolation of a pixel value 430 from a Left block and the DC value 425.
Referring to FIG. 4 (C), the pixel values of the remaining pixels, other than the Lower right corner pixel, the pixels in the right boundary, and the pixels in the Lower boundary in the current block, can be predicted by bilinear interpolation, using the pixel values of the upper and left blocks and the pixel values already predicted in the current block. For example, a 475 pixel value in the current block can be predicted by Interpolation using a 460 pixel value from the top block, a 455 pixel value from the Left block, the 445 pixel value already set at the right edge of the block. and the pixel value 435 already set to the Lower boundary of the current block.
Referring to FIG. 4 (D), the prediction samples (lead samples) obtained by the above process can be refined. For example, a pixel value X 485 in the current block can be refined using a Top sample T 480 value and a Left sample L 490 value. Specifically, X 'refined from X can be
ES 2 597 431 A2 obtain by X '= {(X «1) + L + T + 1} >> 2. Here, x << y indicates that the integer expression of x complementary to two is shifted arithmetically to the left by a binary unit y, while x »y indicates that the integer expression of x complementary to two is shifted arithmetically to the right by the binary unit y.
FIG. 5 schematically illustrates an alternative planar prediction procedure. In the procedure of FIG. 5, the pixel values of the pixels located diagonally in a current pixel are predicted first, and the pixel values of the remaining pixels in the current block are predicted using the predicted pixel values. For ease of description, the pixels located diagonally from the upper left to the lower right, between the pixels that make up the block, are referred to as diagonal pixels below.
Referring to FIG. 5 (A), the pixel values of the diagonal pixels 540 of a current block 510 are predicted using a pixel value 520 of an upper reference block and a pixel value 530 of a left reference block. For example, a pixel value of a diagonal P pixel in the current block can be obtained using a pixel value of a RefSuper pixel located at a boundary between the current block and the upper block between the pixels of the upper block, and a value pixel of a Left Refl pixel located at the boundary between the current block and the left block, between the pixels of the left block, by means of P = (Left Ref + Upper Ref + 1) »1.
Referring to FIG. 5 (B), the pixel values of the pixels in the current block 510, other than the diagonal pixels 540, can be obtained by linear interpolation, using the pixel value obtained in FIG. 5 (A) and the pixel values of the pixels of the upper and left blocks in the boundaries. For example, P1 can be obtained using the upper block RefSuper pixel and the diagonal P pixel obtained, using P1 = (UpperRef * d2 + P * d1) / (d1 + d2). Also, P2 can be obtained by using P2 = (Left Ref * d3 + P * d4) (d3 + d4).
Meanwhile, the planar prediction procedures illustrated in FIGS. 4 and 5 are effective for a smooth texture without directionality, whereas these methods may have reduced efficiency in predicting in a case of a texture with directionality, such as luma pixels, where the luminance changes essentially in one direction, for example, a horizontal direction, but it hardly changes in another direction, for example, a vertical direction.
ES 2 597 431 A2
Therefore, flat input may be necessary, taking into account variations in pixel values. The flat intra-prediction according to the present invention selects or predicts a base pixel value and applies the variations in pixel values, between a base pixel and a target pixel, on the base pixel value, predicting by this a pixel value of the target pixel.
Hereinafter, examples of the present invention will be described with reference to the drawings.
Example 1
FIG. 6 illustrates schematically that a diagonal pixel Pi of a current prediction block is predicted first. Although FIG. 6 illustrates an 8 x 8 prediction block, for ease of description, the present invention can also be applied to a prediction block of N * N, without being limited to the 8 x 8 prediction block.
In Example 1 shown in FIG. 6, the diagonal pixels of the current prediction block are first predicted based on a reference pixel (RIO and / or ROj, 0 <¡, j <8 in the case of an 8x8 prediction block) of a reference block neighbor to the current prediction block.
That is, after the diagonal pixels P¡¡ are obtained, other pixel values in the prediction block can be obtained by Interpolation or extrapolation, using values (Rlj) of reference pixels from the neighboring block, and the P¡¡ .
FIG. 7 schematically illustrates a method of obtaining the other pixel values in the prediction block based on the diagonal pixels.
In the present invention, planar prediction is carried out in consideration of changes in pixel values. For example, as shown in FIG. 7 (A), when the reference pixel values increase in both an x direction (to the right) and a y direction (down), the pixel values in the prediction block are also more likely to increase by a Lower right direction. In this case, a value of
ES 2 597 431 A2 pixel of P88 in a lower right corner of the prediction block can be predicted first, and other pixels can be predicted based on the pixel value of P88.
To predict the value of P88, defining a pixel value of the reference ROO pixel in an upper left corner of the current prediction block as a pixel value of the base pixel, a variation, between the base pixel and the P88 pixel of prediction destination in the prediction block, it can be applied to the pixel value of the base pixel. For example, a pixel value of the target pixel P88 can be obtained by Equation 1. For ease of description, the Rij, or Pij, illustrated in the drawings and the specification are presented as Rj and Pj.
[Equation 1]
8,8
<img file="ES2597431A2_D0001.tif" />
When P88 is obtained, the other diagonal pixels Pii can be obtained by Equation 2.
[Equation 2]
<img file="ES2597431A2_D0002.tif" />
In this case, since the present example illustrates the 8 x 8 prediction block, i can be 1, 2, 8. Although Example 1 illustrates the 8 x 8 prediction block for ease of description, in a block of prediction of N x N, the Pii can be obtained as Pii = ROO + (i / N) P88.
As shown in FIG. 7 (B), even when the reference pixel value decreases in both the x direction (to the right) and in the y direction (down), a pixel value of P88 in the lower right corner of the prediction block is can get into consideration of variations in decreasing pixel values, and the other 18 values
ES 2 597 431 A2 of the pixels can be predisposed based on the pixel value of P88. In this case, P88 can be obtained by Equation 3.
[Equation 3]
<img file="ES2597431A2_D0003.tif" />
When P88 is obtained, the other diagonal pixels in the prediction block can be obtained by Equation 4.
[Equation 4]
<img file="ES2597431A2_D0004.tif" />
Here, it can be 1,2, ..., 8.
As shown in FIG. 7 (C), when the reference pixel values increase in an upper right direction, the pixels between the Lower Left and the upper right in the prediction block are first obtained based on the variations in the values of pixels, unlike what happens in FIGS. 7 (A) and 7 (B). For example, a pixel value of P81 is obtained in the Lower Left corner of the prediction block, and the values of the remaining pixels can be predicted based on the pixel value of P81. In this case, P81 can be obtained from Equation 5.
[Equation 5]
<img file="ES2597431A2_D0005.tif" />
When P81 is obtained, the remaining diagonal pixels (Bottom Left to Top Left) in the prediction block can be obtained by Equation 6.
ES 2 597 431 A2
[Equation 6]
<img file="ES2597431A2_D0006.tif" />
Here, it can be 1,2,8.
Also, as shown in FIG. 7 (D), when the reference pixel values increase in a lower left direction, the diagonal pixels located from the lower left to the upper right in the prediction block are first obtained based on the variations in the values of pixels. For example, the pixel value of P81 is obtained in the lower left corner of the prediction block, and the values of the remaining pixels can be predicted based on the pixel value of P81. In this case, P81 can be obtained from Equation 7.
[Equation 7]
<img file="ES2597431A2_D0007.tif" />
When P81 is obtained, the remaining diagonal pixels (from lower left to upper left) in the prediction block can be obtained by Equation 8.
[Equation 8]
<img file="ES2597431A2_D0008.tif" />
Here, i can be 1,2, ..., 8.
In view of the calculation loads, the approximation of the square root calculations for 20
ES 2 597 431 A2 obtaining the diagonal pixels can be considered as in Equation 9.
[Equation 9]
Ax + Ay «s¡Ax<sup>2</sup>+ Ay<sup>2</sup>
Subsequently, the other pixel values in the prediction block can be obtained by interpolation or extrapolation, using the prediction values of the diagonal pixels, the upper reference pixel values and the left reference pixel values.
In FIGS. 7 (A) and 7 (B), the pixels Pij in the prediction block can be obtained by interpolation, using the diagonal pixels Pii and the reference pixels R of the neighboring block. Here, an interpolation shown in Equation 10 can be used.
[Equation 10] <sup>P</sup>, j = {% * <sup>d</sup>2 + <sup>P</sup>í, í * d ^ {dydY
OR
P. = [r.<sub>ñ</sub>* d ~ + P. / * dÁl [d, + dA
IJ z, 0 2 and 1J / 1 <sup>2</sup>)
Here, di is a distance from the pixel ROj or RjO of the neighboring block, used for interpolation, to the prediction destination pixel Pij, and d<sub>2</sub> is a distance from the diagonal pixel Pii, used for interpolation, to the prediction target pixel Pij. Furthermore, in FIGS. 7 (C) and 7 (D), the pixel Pi, obtained by interpolation between the pixels in the prediction block, can be obtained by Equation 11.
[Equation 11]
P = [R. * d ~ + P * d,} / (d, + d ~ hj Z, O 2 ι, ι 1J / 1 1 <sup>2</sup>.
ES 2 597 431 A2
P. = R * cL + P.<sub>what</sub> * d, \ cL + (L zj z, 0 2 i, 9-i 11/11 2
Here, i + j <9, and ch is a distance between the pixel ROj or RjO of the neighboring block, used for interpolation, and the prediction target pixel Pij, and d<sub>2</sub> is a distance from the diagonal pixel Pi, used for interpolation, to the prediction target pixel Pij. Here, although Equation 11 is used for interpolation in order to obtain the pixel Pij of the prediction block, various interpolation procedures can be employed in the present invention, without being limited thereto.
Meanwhile, in FIGS. 7 (C) and 7 (D), there is a pixel Pe obtained by extrapolation between the pixels of the prediction block. Here, an extrapolation shown in Equation 12 can be used to obtain the pixel in the prediction block.
[Equation 12]
P, - 7? .<sub>n</sub> + P — R. <sub>n </sub>ij ι, Ο i, 0 <sup>P</sup>í, j Roj<sup>+</sup>[<sup>p</sup> Roj d, <sup>Ι +</sup>Ϋ
X <sup>1</sup> Y
In this case, i + j> 9 and P is a diagonal pixel used for extrapolation. Also, as described above, d! and d<sub>2</sub> they are, respectively, a distance from the reference pixel to the prediction target pixel Pij, and a distance from the pixel Pi, to the prediction target pixel Pij.
Example 2
FIG. 8 schematically illustrates another method of predicting a pixel value
ES 2 597 431 A2 taking into account a base pixel value and a variation with respect to a base pixel. Although FIG. 8 illustrates an 8 x 8 prediction block for ease of description, the present invention can also be applied to an N x N prediction block, without being limited to the 8 x 8 prediction block.
FIG. 8 illustrates a reference pixel P00, located in the upper left corner of the prediction block, as a base pixel. In Example 2, a prediction target pixel Pij is obtained by applying vertical and horizontal variations between the reference pixel and the base pixel value.
For example, the target pixel Pij is obtained by Equation 13.
[Equation 13]
Pij = A00 + Ax + Ay
Here, Ay = R¡0 - ROO, δχ = ROj - ROO, and 1 <i, j <8 in the case of the 8x8 prediction block.
For example, referring to FIG. 8, a pixel P33 is obtained by P33 = ROO + δχ + Ay, according to Equation 7. Here, δχ and Ay are the variations in the pixel value in the x and y directions from the base pixel, from ROO to P33.
Alternatively, referring to FIG. 8, a pixel P76 is obtained by P76 = ROO + ax '+ Ay', according to Equation 13. Here, δχ 'and Ay' are variations in the pixel value in the x direction and the y directions from the base pixel, from ROO to P76.
Example 3
FIG. 9 schematically illustrates another method of obtaining, first, pixels from the diagonal of a prediction block, and then the pixel values of the remaining pixels.
Although FIG. 5 illustrate that diagonal pixels are obtained based on an average value of two pixels in a horizontal / vertical direction from a neighboring block to the prediction block
Current ES 2 597 431 A2, Example 3 shown in FIG. 9 takes the diagonal pixels taking into account the variations.
Referring to FIG. 9 (A), the diagonal pixels of the prediction block are predicted using pixel values of the neighboring blocks located at the upper and / or left limits of the prediction block. For example, the diagonal pixels Pi are predicted by Equation 14.
[Equation 14]
<img file="ES2597431A2_D0009.tif" />
For example, referring to FIG. 9 (A), P33 can be predicted by P33 = R03 + ¿I 15 P33 = R30 + δχ, according to Equation 14. δχ and Ay are, respectively, the variations in pixel values in the x direction of a pixel base, R30 to P33, and in the y direction of a base pixel, R03 to P33.
Referring to FIG. 9 (B), other pixels Pij of the current block, other than the diagonal pixels 20, can be predicted by linear interpolation, using the prediction values of the diagonal pixels and the reference pixels ROO, R10 to R80 and R01 to R08 of neighboring blocks at the upper and left limits of the current block.
For example, a pixel value Pij can be predicted by Equation 15.
[Equation 15]
<img file="ES2597431A2_D0010.tif" />
Ri0xd2 + Piixdl dl + d2
ES 2 597 431 A2 d1 is a distance from the pixel RED or PIO of the neighboring blocks, used for interpolation, to the prediction destination pixel Pij, and d2 is a distance from the diagonal pixel Pi, used for the interpolation, up to the prediction target pixel Pij.
Example 4
FIG. 10 illustrates schematically that diagonal pixels are obtained first and that pixels other than diagonal pixels are obtained in the same procedure that is used for diagonal pixels.
In FIG. 10, diagonal pixels can be predicted in the same way as illustrated in FIG. 9. Therefore, referring to FIG. 10 (A), a diagonal pixel P33 of a current prediction block can be predicted by P33 = R03 + Ay or P33 = R30 + ax.
Subsequently, other pixels Pij of the current block, other than the diagonal pixels, can be predicted by linear interpolation, using the prediction values of the diagonal pixels and the reference pixels ROO, R10 to R80 and R01 to R08 of the neighboring blocks in the upper and left limits of the current block.
Here, the same procedure that is used to obtain diagonal pixels can be used. For example, a pixel Pij can be predicted by Equation 16.
[Equation 16]
Pij = R0j + Ay Pij = Ri0 + Δχ
Here, Ay = R¡0 - ROO, ax = ROj - ROO and 1 <i, j <8 in the case of the 8x8 prediction block.
ES 2 597 431 A2
For example, referring to FIG. 10, P37 can be obtained by P37 = R07 + Ay or P37 = R70 + ax, according to Equation 16.
Meanwhile, the accumulation of minor errors resulting from integer arithmetic by the encoder or decoder, over a long time, can cause a serious error. Furthermore, when a transmission error occurs in a neighboring block to a current block, a mismatch arises between the encoder and decoder, or the propagation of the error. For example, when an error occurs in the neighboring block, the values of the pixels are changed over a boundary of the neighboring block. In this case, when the decoder uses a pixel with a changed pixel value as a reference pixel, the error is propagated to the current block. Therefore, a tool is needed to avoid such a problem, for example a coding tool such as restricted intra-prediction (CIP).
FIG. 11 schematically illustrates an IPC procedure.
In the procedure of FIG. 11, if there is any block, in inter-prediction mode, neighboring a current macroblock T, only one intra-prediction DC mode is used, and a DC prediction value is set to 128.
Here, a pixel value of a block predicted by the inter-prediction mode between neighboring blocks is not used as a reference pixel value. Therefore, in this method, a DC prediction mode is obligatorily employed, excluding even the available information, for example, neighboring pixels in interprediction mode.
FIG. 12 schematically illustrates an alternative CIP procedure.
In the procedure of FIG. 12, a pixel value of a predicted block in the inter-prediction mode between neighboring blocks is used as a reference pixel value, and a pixel value of a predicted block in the inter-prediction mode is used obtained using neighboring blocks in intra-prediction mode. Therefore, not only the DC mode, but also other intra-prediction modes can be used.
ES 2 597 431 A2
Referring to FIG. 12, among the neighboring blocks to a current prediction block T, the pixel values 1210, 1220 and 1230 of the blocks A, B, D, E, F, H and I, predicted by the inter-prediction mode, they are obtained using block pixels predicted by the intra-prediction mode.
For example, when the predicted pixels from the intra-prediction mode are present on both the right and left sides of a target sample of the intra-prediction, a P-value<sub>T</sub> of pixel of a block predicted by the inter-prediction mode is obtained by Equation 17.
[Equation 17] (^ LB <sup>+</sup> PrA +1) 1
Here, P<sub>T</sub> is an inter-prediction target sample, P<sub>LB</sub> is a sample of lower or left interprediction and P<sub>RA</sub> it is a sample of a right or higher intra-prediction. Furthermore, when an interprediction sample is present only on either side of the interprediction target sample, a P-value<sub>T</sub> of pixel of a block predicted by the inter-prediction mode is obtained by Equation 18.
[Equation 18]
<img file="ES2597431A2_D0011.tif" />
or
The procedure of FIG. 12 uses the intra-prediction mode more adequately than the method of FIG. 11, but uses an average value of the pixel values available in the intra-prediction mode, or a pixel value available by itself in the intra-prediction mode, such as a pixel value of a predicted neighbor block in the inter-prediction mode, without taking into account the variation in pixel values.
Therefore, a CIP procedure is needed that takes into account variations in pixel values.
ES 2 597 431 A2
Example 5
FIG. 13 illustrates schematically that a system according to the present invention performs CIP in consideration of variations in pixel values.
The procedure of FIG. 13, using variations in the pixel values of both pixels for Interpolation, achieves a more accurate prediction of a target pixel value than the method of FIG. 12, which uses an average value of both pixel values as a pixel value to obtain. For example, a PT pixel, between the values 1310, 1320 and 1330 of pixels to obtain, can be obtained by Equation 19.
[Equation 19] _ P<sub>LB</sub>xd2 + P ^ xdX <sup>T</sup> dl + d2
Here, P<sub>T</sub> is a prediction target sample, P<sub>L</sub>b is a sample of Left or Lower Intra-predlction and P<sub>RA</sub> it is a sample of a right or superior intra-predlction. Furthermore, as shown in FIG. 13, d1 is a distance between P<sub>L</sub>by Pt and d2 is a distance between P<sub>RA</sub> And p<sub>T</sub>.
For example, referring to FIG. 13, P<sub>T</sub>1 can be obtained from (P<sub>L</sub>b1 * d2i + P<sub>RA</sub>1 * d11) / (d11 + d2i), and P<sub>T</sub>two can be obtained from (P<sub>L</sub>b2 * d2<sub>2</sub> + P<sub>RA</sub>two * d1<sub>2</sub>) / (d1<sub>2</sub> + d2<sub>2</sub>).
IF an intra-predlcclon sample to be used for Interpolation is present, either on the left and right sides, or on the upper and lower sides, of sample P<sub>T</sub> prediction target only, P<sub>T</sub> = Plb or P<sub>T</sub> = P<sub>RA</sub>. In addition, if there is no predefined block in the input mode neighboring the prediction target block T, a pixel value in the same position as in a previous Image can be copied for use as a pixel value of reference.
The average values of the intra-pixels in the limit can be used as Plb or P values.<sub>ra</sub>. For example, in FIG. 3, when P<sub>T</sub> is located in a Lower 1320 row of
ES 2 597 431 A2 pixels of a block E or a block D, an average value of the four lowest pixels of a block C in the intra-prediction mode can be used as P<sub>RA</sub>, and an average value of the eight rightmost pixels of a G block can be used as Plb- In this case, a reference point of d1 is one pixel higher between the rightmost pixels of the G block, and a reference point of d2 is one pixel further to the left between the lowest pixels of the C block.
In addition, linear interpolation gives a smoothing effect on the pixels at the boundaries, and therefore Adaptive Intravelling (AIS) can be disabled. Here, in the DC prediction mode, pixel filtering at a prediction block boundary can be activated.
FIG. 14 is a flow chart schematically illustrating an encoder operation in the system according to the present invention.
Referring to FIG. 14, a new prediction unit of a current image is input (S1410). The prediction unit (PU) can be a basic unit for inter-prediction and inter-prediction. The prediction unit can be a smaller block than a coding unit (CU) and can have a rectangular shape, not necessarily a square shape. The intra-prediction of the prediction unit is basically carried out by a 2N x 2N or N x N block.
Subsequently, a reference pixel necessary for the intra-prediction is obtained (S1420). Pixels in a vertical line most to the right of a left block neighboring a current prediction block and pixels in a lower horizontal line of an upper block neighboring the current prediction block are used to generate the reference pixel. When the prediction block is of size N, a total of 2N pixels from the left and top blocks are used as reference pixels.
Here, the pixels in the rightmost vertical line of the left block neighboring the current prediction block and the pixels in the lowest horizontal row of the uppermost block neighboring the current prediction block can be used as the reference pixels, as well as They are either by trespassing.
ES 2 597 431 A2
When trespassing is employed, the Trespassing Information can also be signaled to the decoder. For example, when raiding, an AIS filter can be used, in which the filter coefficients [1,2,1] or [1, 1,4, 1, 1] can be used. Between these two coefficients, the second filter coefficient can provide a sharper boundary. As mentioned above, the information that includes whether or not to use a filter, a type of filter to use and a filter coefficient can be signaled to the decoder.
Meanwhile, when the CIP is used to generate the reference pixel, a CIP_signal value is set to 1. When the CIP is applied, only the pixels of the neighboring blocks encoded in the input mode are used as input pixels. reference, and the pixels of the neighboring blocks encoded in the Inter-prediction mode are not used as reference pixels. In this case, as shown in FIG. 13, the pixels (target prediction samples) corresponding to the pixel positions of the coded neighboring blocks in the Inter-prediction mode are generated as reference pixels, by Interpolating the neighboring reference pixels coded in the inter-prediction mode. of intra-predlcclon, or the neighboring reference pixels encoded in the Intra-Prediction mode are copied and used as reference pixels corresponding to the pixel positions of the neighboring blocks encoded in the Inter-prediction mode.
For example, when the prediction pixels, in the Intra-Prediction mode, are present on both the Left and Right sides, and the Bottom sides of an Inter-prediction target sample, the sample P<sub>T</sub> Prediction target, located in a predefined block in Inter-prediction mode can be obtained by Equation 11. Furthermore, when an intra-prediction sample is present only on each side of the target prediction sample, the sample P<sub>T</sub> prediction target, located at a block location predlcha in Inter-prediction mode, can be obtained by Equation
12. In Equation 11 and / or Equation 12, the mean values of the corresponding pixels of the intra-prediction mode can be used as P values.<sub>L</sub>By PraSI there is no neighbor block predefined in the enter-predlction mode, a pixel value in the same position as in a previous Image can be copied for use as a reference pixel value.
Since Linear Interpolation gives a flattening effect on the pixels in the
ES 2 597 431 A2 limits, it may be effective to disable AIS when using CIP.
Subsequently, an intra-predilction mode is determined (S1430).
The input-prediction mode is determined by a prediction unit (PU), in which an optimal prediction mode is determined in view of the relationship between the required bit rate and the magnitude of the distortion.
For example, when Rate Distortion Optimization (RDO) is enabled, a mode can be selected to minimize cost J = R + rD (R is the bit rate, D is the magnitude of the distortion, and r is a Lagrange variable). Here, extensive local decoding is needed, in which case the complexity may increase.
When RDO is off, a prediction mode can be selected to minimize a mean absolute difference (MAD) by subjecting a prediction error to the Hadamard transformation.
Table 1 illustrates a number of prediction modes with respect to a luma component, according to the size of a prediction unit block.
[Table 1]
<td>Size of</td><td>Number of modalities</td>
<td>block</td><td>prediction</td>
<td>4x4</td><td> 17</td>
<td>8x8</td><td> 34</td>
<td>16 x 16</td><td> 34</td>
<td>32x32</td><td> 34</td>
<td>64x64</td><td> 3</td>
FIG. 15 illustrates a prediction direction of an intra-prediction mode.
Referring to FIG. 15, a modality number 0 is a vertical modality, in which the prediction is carried out in a vertical direction, using a pixel value of 31
ES 2 597 431 A2 a neighbor block. A mode number 1 is a horizontal mode in which prediction is carried out in a horizontal direction, using a pixel value from a neighboring block. A mode number 2 is a DC mode, in which a prediction block is generated using a mean pixel value of a current prediction target block, for example, a luma value in the case of luma pixels, and a chroma value in the case of chroma pixels. In other embodiments, which are shown in FIG. 15, the prediction is carried out using the pixel values of the neighboring blocks, according to the corresponding angles.
In DC mode, the top prediction pixels and the leftmost prediction pixels can be filtered to improve prediction efficiency. Here, the Filtering Strength can become higher for a smaller block. The other Internal pixels in the current prediction block may not be filtered.
In the meantime, a flat mode can be used to reflect diversity, rather than the DC mode. In the flat mode, a value of the Flat_Signal, between the Information transmitted from the encoder to the decoder, is set to 1. When the flat mode is used, the DC mode is not used. Therefore, when DC mode is used instead of flat mode, the value of Flat_Signal is set to 0.
When using the planar mode, the same prediction procedures can be used, as described above in FIGS. 6 to 10. Here, the decoder can carry out an RDO operation, described above, in order to select the optimal procedure. If necessary, two or more procedures can be used together among the above procedures. The encoder signals to the decoder information about which procedure the encoder selects among the prediction procedures in the flat mode illustrated in FIGS. 6 to 10.
With respect to a reference pixel of a chroma component, a unified differential intra-predlcclon (UDI) of a luma block can be employed, since it is in a modality number 4, which is called a DM modality. . In a mode number 0, a prediction block is generated using a linear relationship between luma and chroma, which is called a linear model (LM) mode. A modality number 1 is a vertical modality, in which the prediction is carried out in the vertical direction, and the
ES 2 597 431 A2 corresponds to the number 0 of the luma modality. A mode number 2 is a horizontal line, in which the prediction is carried out in the horizontal direction, and corresponds to the mode number 1 of the luma. A mode number 3 is a DC mode, in which a prediction block is generated using an average chroma value of a current prediction target block, and corresponds to the mode number 2 of the luma.
Returning to FIG. 14, the encoder encodes a prediction mode of the current block (S1440). The encoder encodes a prediction mode for a luma component block and a chroma component block of the current prediction block. Here, since the prediction mode of the current prediction target block is highly correlated with a prediction mode of a neighboring block, the current prediction target block is encoded using the prediction mode of the neighbor block, reducing by This is the number of bits. Furthermore, a most probable mode (MPM) of the current prediction destination block is determined, and accordingly, the prediction mode of the current prediction destination block can be encoded using the MPM.
Subsequently, a pixel value of the current prediction block and a differential value, in one pixel, for the pixel value of the prediction block are obtained, thereby generating a residual signal (S1450).
The residual signal generated is transformed and encoded (S1460). The residual signal can be encoded using a transform kernel, where the transform encoding kernel is 2 x 2, 4 x 4, 8 x 8, 16 x 16, 32 x 32, or 64 x 64 in size. A transformation coefficient C is generated for the transformation, which can be a two-dimensional block of transformation coefficients. For example, for a block of nxn, a transformation coefficient can be calculated by Equation 20.
[Equation 20]
C (n, n) = T (n, n) x B (n, n) x T (n, n)<sup>T</sup>
Here, C (n, n) is a matrix of transformation coefficients of η * η, T (n, n) is a 33
ES 2 597 431 A2 nuclear transformation matrix of η * n and B (n, n) is a matrix of η * n for a prediction target block.
When m = hN, η = 2N and h = 1/2, a transformation coefficient C for a block of m * η or n * m can be obtained by two procedures. First, the differential block of m * η on * m is divided into four blocks of m * m and a transform kernel is applied to each block, thereby generating the transform coefficient. Alternatively, a transform kernel is applied to the differential block of m * η on * m, thereby generating the transform coefficient.
The encoder determines which one to transmit, between the residual signal and the transform coefficient (S1470). For example, when the prediction is properly carried out, the residual signal can be transmitted as is, without transform coding.
The determination as to which to transmit, between the residual signal and the transformation coefficient, can be carried out by the RDO, or the like. Cost functions, before and after transform coding, are compared to minimize costs. When a type of signal to be transmitted, that is, the residual signal or the transformation coefficient, is determined for the current prediction block, a type of the transmitted signal is also signaled to the decoder.
Subsequently, the encoder scans the transform coefficient (S1480). A quantized two-dimensional block of transformation coefficients can be converted into a one-dimensional vector of transformation coefficients by scanning.
The scanned transformation coefficient and the intra-prediction mode are entropy encoded (S1490). The encoded information is formed as a compressed bit stream, which can be transmitted or stored through a NAL.
FIG. 16 is a flow chart schematically illustrating a decoder operation in the system according to the present invention.
Referring to FIG. 16, the decoder entropy decodes a received bit stream (S1610). Here, a block type can be obtained from a table of
ES 2 597 431 A2 variable length encoding (VLC), and a prediction mode of a current decoding destination block can be obtained. When the received bit stream can include side information necessary for decoding, such as information about a coding unit, a prediction unit and a transformation unit, information about AIS filtering, information about the limitation of a counter of prediction modality, Information on unused prediction modalities, Information on reordering of prediction modalities, Information on transformation procedures and Information on scanning procedures, and Side Information, is decoded by entropy, together with the bit stream.
Decoded Information can confirm whether a signal transmitted for the current decoding destination block is a residual signal or a transform coefficient for a differential block. A residual signal, or one-dimensional vector of transformation coefficients for the differential block, is obtained for the current decoding destination block.
Subsequently, the decoder generates a residual block (S1620).
The decoder inversely scans the entropy decoded residual signal, or the transformation coefficient, to generate a two-dimensional block. Here, a residual block can be generated from the residual signal, and a two-dimensional block of transform coefficients can be generated from the transform coefficient.
The transformation coefficients are quartered. The quartered transformation coefficients are Inverse transformed, and the residual block for the residual signal is generated by the Inverse transform. The Inverse transformation of a block of n * n can be expressed by Equation 11.
The decoder generates reference pixels (S1630). Here, the decoder generates the reference pixel referring to the information on whether AIS filtering is applied or not, and on a type of filter used signaled and transmitted by the encoder. Similarly in the encoding process, the pixels in a vertical line more to the right of an already decoded and reconstructed Left block, and neighboring the current decoding destination block, and the pixels in a lower horizontal line of a block higher
ES 2 597 431 A2 neighboring the decoding destination block, are used for the generation of the reference pixel.
Meanwhile, when a CIP_Signal value, received by the decoder, is set to 1, which means that the encoder uses the CIP for a target Image, the decoder generates the reference pixel accordingly. For example, only the pixels of the neighboring blocks encoded in the Intra-Prediction mode are used as reference pixels, while the pixels of the neighboring blocks encoded in the Inter-prediction mode are not used as reference pixels. . In this case, as illustrated in FIG. 6, the pixels (target prediction samples) corresponding to the pixel positions of the neighboring blocks encoded in the Inter-prediction mode are generated as reference pixels by Interpolation of the neighboring reference pixels, encoded in the mode of intra-predlcclon, or the neighboring reference pixels encoded in the Intra-Prediction mode can be copied and used as reference pixels corresponding to the pixel positions of the neighboring blocks encoded in the Inter-prediction mode.
For example, when the pixels of the Intra-Prediction mode are present on both the Right and Left sides, as well as the Upper and Lower sides, of a target Inter-prediction sample, the sample P<sub>T</sub> prediction target, located in a pre-defined block in Inter-prediction mode, is obtained by Equation 17. Furthermore, when an intra-prediction sample is only present on each side of the target prediction sample, the sample P<sub>T</sub> of the target prediction, located in a predefined block location in the Inter-prediction mode, can be obtained by Equation 18. In Equation 17 and / or Equation 18, the mean values of the corresponding pixels of the Intra-predlction can be used as P values<sub>L</sub>bo PraSI there is no neighbor block predefined in the enter-predlction mode, a pixel value in the same position as in a previous Image can be copied for use as a reference pixel value.
When the encoder employs AIS filtering, that is, when raiding is applied and therefore AIS is activated, the decoder also performs AIS filtering on the generation of the reference pixel, according to the generation procedure. of reference pixels used by the encoder. The decoder may determine a filter coefficient on the basis of the filter type information among the received Information. For example,
ES 2 597 431 A2 when there are two filter coefficients [1,2, 1] or [1, 1,4, 1, 1], a filter coefficient indicated in the Filter type information can be used between the two coefficients filter.
Next, a prediction block is generated for the decoding destination block, using the reference pixel and the entropy decoding prediction mode of the current decoding destination block (S1640).
A prediction block generation process is the same as a prediction mode determination process, and prediction block generation process by the encoder. When the prediction mode of the current block is a flat mode, a flat prediction procedure, used to generate the prediction block, can be identified by analyzing the flagged information. Here, the decoder can generate the prediction block based on the Identified Information according to a mode used, among the modes of planes illustrated in FIGS. 6 to 10.
Next, a reconstructed block is generated by adding, by a pixel, a pixel value from the prediction block and a pixel value from the differential block, that is, a reconstructed block (S1670).
Contents16
27 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27
176 members in 13 offices
Priority claims10
| Document | Office | Kind | Date |
|---|---|---|---|
| 1020110048130 | Republic of Korea | – | |
| 20110048130 | Republic of Korea | A | |
| 20110048130 | Republic of Korea | A | |
| 1020110065210 | Republic of Korea | – | |
| 20110065210 | Republic of Korea | A | |
| 20110065210 | Republic of Korea | A | |
| 1020110048130 | – | – | – |
| 1020110065210 | – | – | – |
| KR20110048130 | – | – | – |
| KR20110065210 | – | – | – |
Members176
| Document | Office | Kind | |
|---|---|---|---|
| CA2836888A1 | Canada | A1 | |
| CA2958027A1 | Canada | A1 | |
| WO2012161444A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2012161444A3 | World Intellectual Property Organization (WIPO) | A3 | |
| KR20130028815A | Republic of Korea | A | |
| AU2012259700A1 | Australia | A1 | |
| GB201321333D0 | United Kingdom | D0 | |
| SE1351441A1 | Sweden | A1 | |
| KR20140019457A | Republic of Korea | A | |
| GB2506039A | United Kingdom | A | |
| ES2450643A2 | Spain | A2 | |
| EP2712192A2 | European Patent Office (EPO) | A2 | |
| CN103703773A | China | A | |
| KR101383775B1 | Republic of Korea | B1 | |
| US2014105290A1 | United States of America | A1 | |
| KR20140056199A | Republic of Korea | A | |
| KR20140056200A | Republic of Korea | A | |
| KR20140059177A | Republic of Korea | A | |
| KR101453897B1 | Republic of Korea | B1 | |
| KR101453898B1 | Republic of Korea | B1 | |
| KR101453899B1 | Republic of Korea | B1 | |
| KR20140128903A | Republic of Korea | A | |
| KR20140128904A | Republic of Korea | A | |
| KR101458794B1 | Republic of Korea | B1 | |
| KR20140135678A | Republic of Korea | A | |
| KR20140135679A | Republic of Korea | A | |
| KR20140135680A | Republic of Korea | A | |
| KR20140135681A | Republic of Korea | A | |
| ES2450643R1 | Spain | R1 | |
| CN104378645A | China | A | |
| KR101508291B1 | Republic of Korea | B1 | |
| KR101508292B1 | Republic of Korea | B1 | |
| KR101508486B1 | Republic of Korea | B1 | |
| KR101508894B1 | Republic of Korea | B1 | |
| KR101508895B1 | Republic of Korea | B1 | |
| KR20150043278A | Republic of Korea | A | |
| SE1550476A1 | Sweden | A1 | |
| US2015139318A1 | United States of America | A1 | |
| PL407846A1 | Poland | A1 | |
| US2015146781A1 | United States of America | A1 | |
| EP2712192A4 | European Patent Office (EPO) | A4 | |
| RU2013152690A | Russian Federation | A | |
| ES2450643B1 | Spain | B1 | |
| ES2545039A2 | Spain | A2 | |
| KR101552631B1 | Republic of Korea | B1 | |
| AU2012259700B2 | Australia | B2 | |
| SE537736C2 | Sweden | C2 | |
| US9154803B2 | United States of America | B2 | |
| AU2015261728A1 | Australia | A1 | |
| SE1551664A1 | Sweden | A1 | |
| ES2545039R1 | Spain | R1 | |
| RU2576502C2 | Russian Federation | C2 | |
| US9288503B2 | United States of America | B2 | |
| SE538196C2 | Sweden | C2 | |
| SE537736C3 | Sweden | C3 | |
| US2016112719A1 | United States of America | A1 | |
| ES2570027A2 | Spain | A2 | |
| US2016173874A1 | United States of America | A1 | |
| ES2570027R1 | Spain | R1 | |
| US9432669B2 | United States of America | B2 | |
| US9432695B2 | United States of America | B2 | |
| SE1651172A1 | Sweden | A1 | |
| SE1651173A1 | Sweden | A1 | |
| AU2016219672A1 | Australia | A1 | |
| ES2545039B1 | Spain | B1 | |
| US9445123B2 | United States of America | B2 | |
| AU2016219669A1 | Australia | A1 | |
| AU2016219670A1 | Australia | A1 | |
| AU2016219671A1 | Australia | A1 | |
| AU2016219673A1 | Australia | A1 | |
| US2016373764A1 | United States of America | A1 | |
| ES2596027A2 | Spain | A2 | |
| US2017006291A1 | United States of America | A1 | |
| US2017006292A1 | United States of America | A1 | |
| US2017006308A1 | United States of America | A1 | |
| ES2597431A2This record | Spain | A2 | |
| ES2597432A2 | Spain | A2 | |
| ES2597433A2 | Spain | A2 | |
| ES2597458A2 | Spain | A2 | |
| ES2597459A2 | Spain | A2 | |
| BR112013029931A2 | Brazil | A2 | |
| US2017034518A1 | United States of America | A1 | |
| US9584815B2 | United States of America | B2 | |
| ES2596027R1 | Spain | R1 | |
| ES2597431R1 | Spain | R1 | |
| ES2597432R1 | Spain | R1 | |
| ES2570027B1 | Spain | B1 | |
| ES2597433R1 | Spain | R1 | |
| ES2597458R1 | Spain | R1 | |
| ES2597459R1 | Spain | R1 | |
| ES2612388A1 | Spain | A1 | |
| CN106851315A | China | A | |
| AU2015261728B2 | Australia | B2 | |
| RU2628153C1 | Russian Federation | C1 | |
| RU2628154C1 | Russian Federation | C1 | |
| RU2628157C1 | Russian Federation | C1 | |
| RU2628160C1 | Russian Federation | C1 | |
| RU2628161C1 | Russian Federation | C1 | |
| US9749639B2 | United States of America | B2 | |
| US9749640B2 | United States of America | B2 |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Definitive protectionFG2A | FG2A |
Numbers
- Publication
- 2597431
- Publication, DOCDB
- 2597431
- Publication, EPODOC
- ES2597431
- Application
- 201631168
- Application, DOCDB
- 201631168
- Application, EPODOC
- ES20160031168
Titles2
- Spanish
- Procedimiento y aparato para intra-predicción en pantalla
- English
- Procedure and apparatus for intra-prediction on screen
Classification
- CPC, 19
- H04N19/176
- H04N19/61
- H04N19/11
- H04N19/159
- H04N19/593
- H04N7/24
- H04N19/124
- H04N19/13
- H04N19/132
- H04N19/105
- H04N19/117
- H04N19/18
- H04N19/182
- H04N19/44
- H04N19/50
- H04N19/91
- H04N19/48
- H04N19/184
- H04N19/192
- IPC, 2
- H04N7 24
- H04N19 593