Method and apparatus for intra prediction within display screen
Abstract
A method of decoding comprising receiving a residual sample, performing intra prediction for the current block based on neighbouring samples adjacent the current block to generate a prediction sample in a first column and first row, and deriving a reconstruction sample of the current block by adding the prediction sample and the residual sample. The prediction sample P33 is based on a top neighbouring sample R03 adjacent a current block and a variation representative of a difference value between a top-left neighbouring sample R00 and a left neighbouring sample R30 both adjacent the current block. The top neighbouring sample is located on a same x-coordinate as the prediction sample and the left neighbouring sample is located on a same y-coordinate as the prediction sample. A sample in a first row and second column may be predicted using the top neighbouring sample and the previously predicted sample from the first row and first column.

Term
No projected expiry on record.
- Priority
- Filed
- Granted
- Today
5 claims: 3 independent, 2 dependent
- 1[Claims] [PATENTKRAV] 1. Videoavkodningsmetod omfattande:1st Video decoding method comprising: att härleda ett differentierande block från en dataström;deriving a differentiating block from a data stream;att erhålla ett prediktionsblock genom att utföra intraprediktion baserat på grannsamplen som angränsar till prediktionsblocket;och att erhålla ett rekonstruktionsblock genom att lägga ihop prediktionsblocket och det differentierande blocket, varvid ett sampel hörande till prediktionsblocket erhålls genom att använda ett övre grannsampel som angränsar till prediktionsblocket och en variation som hänför sig till grannsamplen, och varvid variationen som hänför sig till grannsamplen är representativ för ett differensvärde mellan ett övre-vänstra grannsampel som angränsar till prediktionsblocket och ett vänstra grannsampel som angränsar till prediktionsblocket. obtaining a prediction block by performing intraprediction based on the neighbor samples adjacent to the prediction block;and obtaining a reconstruction block by adding together the prediction block and the differentiating block, wherein a sample belonging to the prediction block is obtained by using an upper neighbor sample adjacent to the prediction block and a variation relating to the neighbor samples. and wherein the variation relating to the neighbor samples is representative of a difference value between an upper-left neighbor sample adjacent to the prediction block and a left neighbor sample adjacent to the prediction block.
- 3Videoavkodningsanordning omfattande:3rd Video decoding device comprising: a differentiating decoding unit for deriving a differentiating block from a data stream;en differentierande avkodningsenhet för att härleda ett differentierande block från en dataström;a prediction unit for obtaining a prediction block by performing intraprediction based on the neighbor samples adjacent to the prediction block;and a reconstruction unit for obtaining a reconstruction block by adding the prediction block and the differentiating block, a sample belonging to the prediction block being obtained by using an upper neighbor sample adjacent to the prediction block and a variation relating to the neighboring sample, whereby variation occurs to the neighbor samples is representative of a difference value between an upper-left neighbor sample adjacent to en prediktionsenhet för att erhålla ett prediktionsblock genom att utföra intraprediktion baserat på grannsamplen som angränsar till prediktionsblocket;och en rekonstruktionsenhet för att erhålla ett rekonstruktionsblock genom att lägga ihop prediktionsblocket och det differentierande blocket, varvid ett sampel hörande till prediktionsblocket erhålls genom att använda ett övre grannsampel som angränsar till prediktionsblocket och en variation som hänför sig till grannsamplen, och varvid variationen som hänför sig till grannsamplen är representativ för ett differensvärde mellan ett övre-vänstra grannsampel som angränsar till 538 196 the prediction block and a left neighbor sample adjacent to the prediction block. 538 196 prediktionsblocket och ett vänstra grannsampel som angränsar till prediktionsblocket.
- 55 the neighbor sample is located on the same x-coordinate as the sample and the left neighbor sample is placed on the same y-coordinate as the sample. 5 grannsamplet är placerat på samma x-koordinat som samplet och det vänstra grannsamplet är placerat på samma y-koordinat som samplet. 538 196 538 196
Independent claims3
329 paragraphs in 2 sections, as filed
<img file="SE538196C2_D0001.tif" />
(12) Patent Specification (, 0) SE 538 196 C2
Sweden (21) Patent Application Number:
(45) Patent granted:
(41) Application publicly available:
(22) Filing date:
(24) Running day:
(30) Priority information:
KR 10-2011-0048130 2011-05-20
KR 10-2011-0065210 2011-06-30 (62) Stock application number:
<td> 1550476-4</td><td colspan="2">(51) ICT:</td>
<td> 2016-04-05</td><td>H04N 19/593</td><td> (2014.01)</td>
<td> 2015-04-22</td><td>H04N 19/176</td><td> (2014.01)</td>
<td> 2012-05-14</td><td>H04N 19/184</td><td> (2014.01)</td>
<td> 2012-05-14</td><td>H04N 19/192</td><td> (2014.01)</td>
1351441-9
<td>(73) Patent holders:</td><td>KT Corporation, 90 Buljeong-ro, Bundang-gu, Seongnam City, 463-711 Kyeonggi-do KR</td>
<td>(72) Inventor:</td><td>Jae Cheol Kwon, Seoul 06763 KR Joo young Kim, Seoul 06763 KR</td>
<td>(74) Agents:</td><td>Brann AB, Box 3690, 103 59, Stockholm SE</td>
<td>(54) Name:</td><td>Video decoding method and video decoding device including intraprediction</td>
<td>(56) Publications cited:</td><td> ...</td>
(57) Summary:
The present invention relates to a method and apparatus for intraprediction. The intraprediction method of a decoder, according to the present invention, comprises the steps of deriving a differentiating block from a data stream, obtaining a prediction block by performing intraprediction based on ft 1 * 0n γχΙλπ nnnn nnrirnnoni * + ill yi αι ii ιοαι i ipici ai lyi αι ιοαι liii ΐ Ιχ1-ΐζ \ οοΚΙζ \ οΙ / ο1 · nrdn | ^ i cviirxAuji iouiv ^ r \ c; ij v ^ / ii
<img file="SE538196C2_D0002.tif" />
oil- ΚΓιΙ / ζ \ η
O LI C7I I IOIIO C7LL I C7 r \ UI I<sup>-</sup> structure block by adding the prediction block and the differentiating block, whereby a sample belonging to the prediction block is obtained by using an upper neighbor sample adjacent to the prediction block and a variation relating to the neighbor samples.
<img file="SE538196C2_D0003.tif" />
538 196 [SUMMARY]
The present invention relates to a method and apparatus for intraprediction. The intraprediction method of a decoder, according to the present invention, comprises the steps of deriving a differentiating block from a data stream, obtaining a prediction block by performing intraprediction based on the neighbor samples adjacent to the prediction block, and obtaining a reconstruction block by adding it into the prediction block differentiating block, wherein a sample belonging to the prediction block is obtained by using an upper neighbor sample adjacent to the prediction block and a variation relating to the neighbor samples.
538 196 [DESCRIPTION] [Title]
VIDEO CODING METHOD AND VIDEO CODING DEVICE INCLUDING INTRAPREDICATION [Field of the Invention]
The present invention relates to a technique for video processing and in particular to an intra-prediction method for encoding / decoding video data.
[Prior Art]
Recently, the demand for high-resolution and high-quality images has increased in different application areas. As images get increasingly higher resolution and higher quality, the amount of information associated with the images also increases. Consequently, when video data is transmitted using existing wired and wireless broadband connections or stored using conventional storage methods, costs for its transmission and storage increase.
Thus, highly efficient video compression techniques can be used to efficiently transfer, store or reproduce images of superior resolution and quality.
[Technical Problem]
One aspect of the present invention is to provide a method for performing effective intraprediction of a texture with alignment having regard to variations of neighboring pixels of neighboring blocks.
Another aspect of the present invention is to provide a method for performing plane prediction taking into account variations of pixel values of adjacent blocks relative to a prediction block during the performance of intraprediction.
A further aspect of the present invention is to provide a method for generating a reference pixel based on an intramodal neighbor block in a
538 196 position of an interprediction mode for neighboring pixels and using the reference pixel for intraprediction when forced intraprediction (CIP) is used.
A further aspect of the present invention is to provide a method for generating a reference pixel taking into account pixel value variations when the reference pixel is generated based on an intramodal neighbor block in a position of a neighbor pixel interprediction mode.
[Technical solution]
An embodiment of the present invention provides an intraprediction method for an encoder, the method comprising generating reference pixels for intraprediction with respect to an input data prediction unit, determining an prediction unit intramode, generating a prediction block based on the reference pixels, and generating the intramode, for the prediction unit and the prediction block, wherein at least one of the reference pixels and pixels associated with the prediction block is predicated based on a base pixel, and a pixel value 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 to a first base pixel, a value obtained by applying a variation in pixel value from the first base pixel to a lowest pixel among reference pixels of a neighbor block arranged in a left border region of the prediction block and a variation in pixel value from the first base pixel to a pixel furthest from the reference pixels of a neighboring block arranged in an upper boundary region of the prediction block to the base pixel can be set to a pixel value of a second base pixel as a diagonal pixel in a lower right corner of the prediction block, and pixel values of diagonal pixels of the prediction block can be predicted from the first and second base pixels.
Non-diagonal pixels belonging to the prediction block are predicted here by means of interpolation or extrapolation using the diagonal pixels and the pixels belonging to
538 196 neighboring blocks in the upper and / or left border area of the prediction block.
In addition, a reference pixel belonging to a neighboring block arranged in an upper left corner of the prediction block may be added to the base pixel, and a value obtained by applying a variation in pixel value from the base pixel to a neighbor pixel arranged in the same row as a prediction target pixel among the reference pixels of a neighbor block arranged in a left border area of the prediction block and a variation in pixel value from a base pixel to a neighbor pixel. the same column as the prediction target pixel among the reference pixels belonging to a neighboring block arranged in an upper boundary area belonging to the prediction block relative to the base pixel can be predicted as a pixel value of the prediction target pixel.
Further, a pixel arranged in the same row or column as a prediction target pixel among the pixels of neighboring blocks arranged in the left or upper boundary area of the prediction block can be set to the base pixel, and a value obtained by applying a variation in pixel value of the pixel predicted to the base pixel as a pixel value of the prediction target pixel.
The prediction target pixel may here be a diagonal pixel associated with the prediction block, and a non-diagonal pixel associated with the prediction block can be predicted via interpolation by means of the diagonal pixel and the pixels associated with the neighboring blocks.
The intraprediction method may further include generating a reference pixel arranged in a boundary region between an intermod block and the prediction unit when a neighboring block of the prediction unit is the intermodal block, a pixel arranged in a boundary area belonging to the prediction unit of a downstream side pixel of an intramode block arranger is set to a first base pixel, a pixel arranged in the prediction unit border area among pixels of an intramode block arranged on a right or top side of the reference pixel can be set to a second base pixel, and the reference pixel can
538 196 is 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 in the prediction unit boundary among the pixels of the intramode block to which the first base pixel belongs, and a pixel value of the second base pixel can here be an average pixel value of pixels arranged in the prediction area unit the second base reference belongs. In addition, a pixel value of the first base pixel may be a pixel value of the reference pixel when an intramode block is arranged only on the left or lower side relative to the reference pixel, and a pixel value of the second base pixel can be a pixel value of the reference pixel when an intramode block is arranged solely on the right or upper side relative to the reference pixel.
A further embodiment of the present invention provides an intraprediction method for a decoder, the method including entropy decoding a received bit stream, generating a reference pixel that a prediction unit uses for intraprediction, generating from the reference pixels a prediction block based on a prediction mode belonging to the prediction unit and reconstructing an image from the prediction block and a residual block obtained as a result of entropy decoding, with at least one of the reference pixels and prediction block pixels predicted and a pixel value of the predicted pixel is a sum of the pixel value of the base pixel and a variation between the pixel values of 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 pixel value from the first base pixel to a lowest pixel among the reference pixels of a neighbor block arranged in a left border area of the prediction block and a variation in pixel value from the first base pixel to a pixel furthest from the reference pixels of a neighboring block arranged in an upper boundary region of the prediction block of the base pixel can be set to a pixel value of a
538 196 second base pixels as a diagonal pixel in a lower right corner of the prediction block, and pixel values belonging to diagonal pixels of the prediction block can be predicted from the first and second base pixels.
Here, the non-diagonal pixels of the prediction block can be predicted via interpolation or extrapolation by means of the diagonal pixels and pixels of the neighboring blocks in the upper and / or left boundary region of the prediction block.
A reference pixel belonging to a neighbor block arranged in an upper left corner of the prediction block can be added to the base pixel, and a value obtained by applying a variation in pixel value from the base pixel to a neighbor pixel arranged in the same row as a prediction target pixel among a reference pixel belonging to left border area of the prediction block, and a variation in pixel value from the base pixel to a neighbor pixel arranged in the same column as the prediction target pixel among reference pixels belonging to a neighbor block arranged in an upper boundary region of the base pixel prediction block can be predicted as a pixel value of the prediction target pixel.
Further, a pixel arranged in the same row or column as a prediction target pixel among pixels of neighboring blocks arranged in a left or an upper boundary area of the prediction block can be added to the base pixel, and a value obtained by applying a variation in pixel value from the base pixel to the pixel can be predicted as a pixel value of the prediction target pixel.
The prediction target pixel may here be a diagonal pixel associated with the prediction block, and a non-diagonal pixel associated with the prediction block can be predicted via interpolation by means of the diagonal pixel and the pixels associated with the neighboring blocks.
The intraprediction may further include generating a reference pixel arranged in a boundary region between an intermodule block and the prediction unit when a neighboring block of the prediction unit is the intermodule block, a pixel arranged in
538 196 a boundary region of the prediction unit among pixels of an intramode block arranged on a left or lower side of the reference pixel can be set to a first base pixel, a pixel arranged in the prediction unit border area of pixels of an intramode block arranged on a right side or an upper side of a pixel to 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 can be an average pixel value of pixels arranged in the prediction unit boundary among the pixels of the intramode block to which the first base pixel belongs, and a pixel value of the second base pixel can here be an average pixel value of pixels arranged in the prediction area unit the first base reference belongs. In addition, a pixel value of the first base pixel may be a pixel value of the reference pixel when an intramode block is arranged only on the left side or on the lower side relative to the reference pixel, and a pixel value of the second base pixel can be a pixel value of the reference pixel when an intramode block is arranged. only on the right side or on the upper side relative to the reference pixel.
The decoder can, by means of the entropy decoding and based on the base pixel, acquire an instruction to generate the prediction block pixels. In addition, the decoder can, by means of the entropy decoding and based on the base pixel, acquire an instruction to generate the reference pixels.
[Positive effects]
As prepared above and in accordance with the present invention, effective intraprediction of a texture with alignment can be achieved taking into account variations of reference pixels associated with neighboring blocks.
In addition, plane prediction can be performed taking into account variations in pixel values of neighboring blocks relative to a prediction block, which streamlines prediction.
538 196
In addition, when forced intraprediction (CIP) is used, a reference pixel based on an intramodal neighbor block is generated in a position of a neighboring pixel intermodel, which reference pixel is used for intraprediction taking into account variations in pixel values, which streamlines prediction.
[Description of Figures]
Fig. 1 is a block diagram schematically illustrating a configuration of a video encoder in accordance with a typical embodiment of the present invention.
Fig. 2 is a block diagram schematically illustrating a configuration of an intraprediction module in accordance with a typical embodiment of the present invention.
Fig. 3 is a block diagram schematically illustrating a configuration of a video decoder in accordance with a typical embodiment of the present invention.
Fig. 4 schematically illustrates a plane prediction method.
Fig. 5 schematically illustrates an alternative plane prediction method.
Fig. 6 schematically illustrates that a diagonal pixel of a current prediction block is predicted first.
Fig. 7 schematically illustrates a method of deriving other pixel values in the prediction block based on the diagonal pixel.
Fig. 8 schematically illustrates a method for predicting a pixel value taking into account a reference pixel value and a variation of a reference pixel.
538 196
Fig. 9 schematically illustrates a method for deriving diagonal pixels belonging to a prediction block first and then pixel values of remaining pixels.
Fig. 10 schematically illustrates that diagonal pixels are derived first and pixels other than the diagonal pixels are derived by the same method used for the diagonal pixels.
Fig. 11 schematically illustrates a ClP method.
Fig. 12 schematically illustrates an alternative ClP method.
Fig. 13 schematically illustrates that a system in accordance with the present invention performs CIP taking into account pixel value variations.
Fig. 14 is a flow chart illustrating schematically an operation of the encoder in the system in accordance with the present invention.
Fig. 15 illustrates a prediction orientation of an intraprediction mode.
Fig. 16 is a flowchart illustrating schematically an operation of the decoder in the system according to the present invention.
[Description of Embodiments of the Invention]
Although elements in the drawings are shown as independent to describe different features and functions of a video encoder / video decoder, such a configuration does not include such that each element is constructed of a separate hardware or software component. That is, the elements are independently arranged and at least two elements can be combined into a single element, or a single element can be divided into several elements to perform its function. It is to be noted that the embodiments in which several elements are integrated into a combined element and / or an element divided into multiple separate elements are covered by the present invention - thus the core of the present invention has not been departed from.
538 196
In the following, typical embodiments of the present invention will be described in detail and with reference to the accompanying drawings. A reference number refers to one and the same element in all the drawings and redundant description of one and the same element in different drawings will not be included.
Fig. 1 is a block diagram illustrating a configuration of a video encoder in accordance with a typical embodiment of the present invention. Referring to FIG. 1 then the video encoder includes an image splitting module 110, an interprediction module 120, an intraprediction module 125, a transformation module 130, a quantization module 135, a quantization module 140, an inversion transformer module 145, a deblocking filter 150, a memory 160, a reordering module code 165, and a rearrangement module code 165.
The image splitting module 110 can receive the input of a current image and split it into at least one coding unit. A coding unit is a coding unit performed by the video encoder and can also be referred to as a CU. A coding unit can repeatedly be divided by a depth based on a quad tree structure. A coding unit of a maximum size is referred to as a largest coding unit (LCU), and a coding unit of a minimum size is referred to as a minimum coding unit (SCU). An encoding unit can be 8 x 8, 16 x 16, 32 x 32, or 64 x 64. The image splitting module 110 can divide the encoding unit to generate a prediction unit and a transform unit. The prediction unit may also be referred to as a PU and the transformation unit may also be referred to as a TU.
In an interprediction mode, the interprediction module 120 performs estimation of motion (ME) and compensation of motion (MC). Interprediction module 120 generates a prediction block based on information on at least one of the previous and subsequent images relative to the current image, which may be referred to as inter-full-image prediction.
Interprediction module 120 has a divided prediction target block and at least one reference block stored in memory 160. Interprediction module 120 performs estimation of
538 196 using the prediction target block and the reference block. Interprediction module 120 generates motion information that includes a motion vector (MV), a reference block index, and a prediction mode as a result of estimating the motion.
In addition, the interprediction module 120 compensates for the movement by means of the movement information and the reference block. From the reference block, the interprediction module 120 generates and outputs a prediction block corresponding to an input block.
The motion information is entropy-encoded to form a compressed data stream that is transmitted from the video encoder to the video decoder.
The intra-prediction module 125 can, in an intra-prediction mode, generate a prediction block based on information regarding a pixel in the current image. Intraprediction can also be referred to as intra-picture prediction. A prediction target block and a block reconstructed by coding and decoding are fed into the intraprediction mode into the intraprediction module 125. Here, the reconstructed block 125 is an image that has not passed the unblocking filter. The reconstructed block may be a previous prediction block.
Fig. 2 is a block diagram schematically illustrating a configuration of the intraprediction module in accordance with a typical embodiment of the present invention. Referring to Fig. 2, the intra-prediction module includes a reference pixel module 210, a intra-prediction mode module 220, and a prediction block generation module 230.
The reference pixel generating module 210 generates a reference pixel necessary for intraprediction. Pixels in a vertical line that are on the far right of a left block that is next to a prediction target block and pixels in a horizontal line that is at the bottom of an upper block that is next to a prediction target block are used to generate the reference pixel. For example, when the prediction target block has a size N then 2N pixels are used in each of the left and upper directions as
538 196 reference pixels. The reference pixel can be used as is or via adaptive intrusion equalization filtering (AIS). When the reference pixel is subjected to AlS filtering, information on AlS filtering is signaled.
The module 220 for determining intra-prediction mode receives input from the prediction target block and the reconstructed block. The module 220 for determining intraprediction mode selects a mode that minimizes the amount of information for coding among prediction modes using the input and outputs information regarding the prediction mode. A preset cost function or Hadamard transform can be used here.
The module 230 for generating a prediction block receives input information regarding the prediction mode and the reference pixel. The prediction block generation module 230 spatially predicts and compensates a pixel value associated with the prediction target block using the prediction mode information and a pixel value of the reference pixel, thereby generating a prediction block.
The prediction mode information is entropy-encoded to form a compressed data stream that, along with video data, is transmitted from the video encoder to the video decoder. The video decoder uses the prediction mode information when it generates an intra-prediction block.
With reference to Fig. 1, a differentiating block is generated by difference between the prediction target block and the prediction block generated in the intraprediction mode or in the prediction mode and fed into the transform module 130. The transform module 130 converts the differentiating block into a transform coefficient to generate a transformation coefficient.
A transformation block with a transformation unit has a quadtree structure within maximum and minimum size and is thus not limited to a predetermined size. Each transform block has an indicator that indicates if the current block is subdivided, where when the indicator has a value of 1 then
538 196, the current transform block can be divided into four sub blocks. Discrete cosine transform (DCT) can be used for the transformation.
The quantization module 135 can quantize the values converted by the transform module 130. A quantization coefficient can be changed based on a block or the relevance of the image. The quantized transformation coefficient can be provided to the rearrangement module 165 and to the quantization module 140.
The rearrangement module 165 can, by scanning, transform a two-dimensional (2D) block with the transformation coefficient into a one-dimensional (1D) vector with the transformation coefficients to streamline the entropy coding. The rearrangement module 165 may, based on stochastic statistics, change the scanning order to streamline the entropy coding.
Entropy coding module 170 entropy encodes the values obtained in rearrangement module 165 and the encoded values form a compressed data stream stored or transmitted through a network abstraction level (NAL). The quantization module 140 receives and quantizes the transformation coefficients quantized by means of the quantization module 135 and the inverse transform module 145 inversely transforms the transform coefficients to thereby generate a reconstructed, differentiating block. The reconstructed differentiating block is merged with the prediction block generated by the interprediction module 120 or intraprediction module 125 to generate a reconstructed block. The reconstructed block is provided to the intraprediction module 125 and the unblocking filter 150.
The unblocking filter 150 filters the reconstructed block to remove a distortion in a boundary region between blocks, which distortion occurs during the coding and decoding process, respectively, and provides a filtered result to an adaptive loop filter (ALF) 155.
538 196
ALF 155 filters to minimize an error between the prediction target block and the final reconstructed block. ALF 155 filters based on a value resulting from a comparison of the reconstructed block filtered by unblocking filter 150 and the current prediction target block, and a filter coefficient information associated with ALF 155 is uploaded into a header portion and transmitted from the encoder to the decoder.
The memory 160 can store the final reconstructed block obtained by means of ALF 155, and the (final) stored reconstructed block can be provided to the interprediction module 120 for performing the interprediction.
Fig. 3 is a block diagram illustrating a configuration of a video decoder in accordance with a typical embodiment of the present invention. Referring to Fig. 3, the video decoder includes an entropy decoding module 310, a rearrangement module 315, a de-quantization module 320, an inversion transformer module 325, an interprediction module 330, an intraprediction module 335, a deblock filter 340, an ALF 345.
Entropy decoding module 310 receives a compressed data stream from a NAL. Entropy decoding module 310 entropy decodes the received data stream as well as a prediction mode and motion vector information about the data stream includes the prediction mode and the motion vector information. An entropy decoded transformation coefficient or differentiating signal is provided in the rearrangement module 315. The rearrangement module 315 inversely scans the transform coefficient or differentiating signal to generate a 2D block containing transform coefficients.
The quantization module 320 receives and quantizes the entropy decoded and rearranged transform coefficients. The inverse transform module 325 inversely transforms the de-quantized transform coefficients to generate a differentiating block.
538 196
The differentiating block can be merged with a prediction block generated by the interprediction module 330 or intraprediction module 335 to generate a reconstructed block. The reconstructed block is provided to the intraprediction module 335 and the unblocking filter 340. The interprediction module 330 and intraprediction module 335 can perform the same operations as the interprediction module 120 and intraprediction module 125 associated with the video encoder.
The unblocking filter 340 filters the reconstructed block to remove a distortion in a boundary area between blocks, which distortion occurs during the coding and decoding process, and provides a filtered result to an ALF 345. ALF 345 filters to minimize an error between the prediction target block and the final reconstructed block. The memory 160 can store the final reconstructed block obtained by means of ALF 345, and the (final) stored reconstructed block can be provided to the interprediction module 330 for performing interprediction.
However, in an area of non-significant texture change, such as a monotonous sky or sea background, plane intraprediction is used to further streamline the coding.
Intraprediction is classified into directional prediction, DC prediction, and plane prediction, whereby plane prediction can be seen as an extension of the DC prediction concept. Although planar prediction with a broad approach can be included in DC prediction, planar prediction can cover a prediction method not covered by DC prediction. For example, DC prediction is preferred for a uniform texture, whereas plane prediction is effective for block prediction where pixel values have direction.
The present specification illustrates a method for improving the efficiency of plane prediction with respect to a texture with alignment using variations in pixel values of reference pixels belonging to neighboring blocks.
538 196
Fig. 4 schematically illustrates a plane prediction method.
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 420 can be predicted as a DC value.
Referring to Fig. 4 (B), pixel values of pixels placed in a higher boundary region of the current block and pixel values of pixels placed in a lower boundary region of the current block are predicted. For example, a pixel value 445 located in the right boundary region of the current block may be predicted by linear interpolation of a pixel value 450 by an upper block and the DC value 425. In addition, a pixel value 435 located in the lower boundary region of the current block can be predicted by linear interpolation of a pixel value 430 by a left block and the DC value 425.
Referring to Fig. 4 (C), the pixel values of the remaining pixels, other than the pixels in the lower right corner, the pixels in the right boundary region and the pixels in the lower boundary region, in the current block can be predicted by car linear interpolation of the pixel values of the the upper and left blocks and the already predicted pixel values in the current block. For example, a pixel value 475 in the current block can be predicted by interpolating a pixel value 460 of the upper block, a pixel value 455 of the left block, the already predicted pixel value 445 located in the right border area of the current block, and the already predicted pixel value 435 located in the lower boundary region of the current block.
Referring to Fig. 4 (D), the prediction samples (predicted samples) obtained via the above process can be refined. For example, a pixel value X 495 in the current block can be refined using an upper sample value T 480 and a left sample value L 490. Specifically, X ', which is a refined version of X, can be obtained via X' = {(X << 1) + L + T + 1} »2nd Here, x << y indicates that a two-complement integer expression of x is arithmetically shifted to the left with a binary unit y,
538 196 while x »y indicates that the two complement integer expressions of x are arithmetically shifted to the right with the binary unit y.
Fig. 5 schematically illustrates an alternative plane prediction method.
According to the method of Fig. 5, pixel values of pixels placed diagonally in a current pixel are first predicted and pixel values of remaining pixels in the current block are predicted by the predicted pixel values. In order to facilitate reading of the description, reference is now made to the pixels that make up the block which are placed diagonally starting from the top and from the left such as diagonal pixels.
Referring to Fig. 5 (A), pixel values of diagonal pixels 540 belonging to a current block 520 are predicted by a pixel value 510 of an upper reference block and a pixel value 530 of a left reference block. For example, a pixel value of a diagonal pixel P in the current block can be obtained by a pixel value of a pixel "AboveRef" placed in a border area between the current block and the upper block among pixels of the upper block and a pixel value of a pixel "LeftRef" placed in a border area between the current block and the left block among pixels of the left block using P = (LeftRef + AboveRef + 1) »1.
Referring to Fig. 5 (B), pixel values of pixels other than the diagonal pixels 540 of the current block 510 can be obtained by linear interpolation using the pixel value obtained in Fig. 5 (A) and the pixel values of the pixels in the upper and left blocks in border areas. For example, P1 can be obtained using the pixel 'AboveRef' belonging to the upper block and the obtained diagonal pixel P through P1 = (AboveRef * d2 + P * d1) / (d1 + d2). In addition, P2 can be obtained by P2 = (LeftRef * d3 + P * d4) / (d3 + d4).
While the plane prediction methods illustrated in Fig. 4 and Fig. 5 are effective for a uniform, non-alignment texture, these methods may have reduced efficiency when
538 196 is concerned with the prediction of a texture with alignment, such as luminescence pixels in which the luminescence changes substantially in one direction, for example a horizontal direction, but hardly changes in another direction, for example a vertical direction.
Thus, plane intraprediction that takes into account pixel value variations may be needed. Plan intraprediction in accordance with the present invention selects or predicts a base pixel value and applies variations in pixel values between a base pixel and a target pixel to base pixel, thereby predicting a pixel value for the target pixel.
In the following, examples of the present invention will be described with reference to the drawings.
Example 1
Fig. 6 schematically illustrates that a diagonal pixel Pii of a current prediction block is predicted first. Here, Example 1 and Figure 6 have a strictly exemplary purpose and their respective contents are not to be construed as an embodiment of the present invention. Although, for convenience, Fig. 6 illustrates an 8 x 8 prediction block, the present invention can be applied to an N x N prediction block and is thus not limited to an 8 x 8 prediction block.
In Example 1 shown in Fig. 6, the diagonal pixels of the current prediction block are predicted first and based on a reference pixel (Ri0 and / or ROj, 0 <i, j <8 in the case of an 8 x 8 prediction block) belonging to the reference block which is neighbor to the current prediction block.
That is, after obtaining the diagonal pixels Pii, other pixel values in the prediction block can be derived via either interpolation or extrapolation using reference pixel values (Rij) belonging to the neighboring block and Pii.
Fig. 7 schematically illustrates a method of deriving other pixel values in the prediction block based on the diagonal pixel.
538 196
According to the present invention, plane prediction is performed taking into account 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 in a y-direction (down), the probability is that pixel values in the prediction block increase in a down-to-right direction. In this case, a pixel value in 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 in P88.
To predict the value in P88, which defines a pixel value of reference pixel R00 in an upper left corner of the current prediction block as a pixel value of base pixel, a variation from the base pixel to the prediction target pixel P88 in the prediction block can be applied to the pixel value of the base pixel. For example, a pixel value of the target pixel P88 can be obtained using Equation 1. The Rij or Pij illustrated in the drawings and the description are designated Rjj or Pjj for convenience.
[Equation 1] f ”· —y ^, 8 ~ <sup>+</sup> ^>, 8 ~~ 0.1 J * (^ 0 ~~ \ θ)
When P88 is obtained, the other diagonal pixels Pii can be obtained by Equation 2.
[Equation 2]
<img file="SE538196C2_D0004.tif" />
<img file="SE538196C2_D0005.tif" />
x
<img file="SE538196C2_D0006.tif" />
Since the current example illustrates an 8 x 8 prediction block, here may be 1.2, ... 8. Although Example 1 illustrates prediction for convenience
538 196 block 8 x 8, Pii in an N x N prediction block can be obtained as Pii = R00 + (i / N) P88.
As shown in Fig. 7 (B), even when the reference pixel value decreases in the x direction (to the right) and the y direction (down), a pixel value in P88 in the lower right corner can be derived taking into account variations in decreasing pixel values and the other pixel values can be predicted based on the pixel value in P88. In this case, P88 can be derived using Equation 3.
[Equation 3]
<img file="SE538196C2_D0007.tif" />
When P88 is obtained, the other diagonal pixels in the prediction block can be obtained by Equation 4.
[Equation 4]
..... M
Here you can be 1.2, ... 8.
As shown in Fig. 7 (C) and unlike Fig. 7 (A) and Fig. 7 (B), when the reference pixel values increase in a down-to-right direction, the diagonal pixels located from bottom to left are first deduced in the prediction block based on variations in pixel values. For example, a pixel value in P81 in a lower left corner of the prediction block is derived and the remaining pixel values can be predicted based on the pixel value in P81. In this case, P81 can be derived using Equation 5.
[Equation 5]
538 196
<img file="SE538196C2_D0008.tif" />
Once P81 is obtained, the other diagonal pixels (from bottom to left to top left) in the prediction block can be derived using Equation 6.
[Equation 6]
<img file="SE538196C2_D0009.tif" />
<img file="SE538196C2_D0010.tif" />
<img file="SE538196C2_D0011.tif" />
Here you can be 1.2, ... 8.
In addition, as shown in Fig. 7 (D), when the reference pixel values increase in a down-to-left direction, the diagonal pixels located from the bottom to the left to the top of the prediction block are derived first based on variations in pixel values. For example, a pixel value in P81 in a lower left corner of the prediction block is derived and the remaining pixel values can be predicted based on the pixel value in P81. In this case, P81 can be derived using Equation 7.
[Equation 7]
<img file="SE538196C2_D0012.tif" />
Once P81 is obtained, the other diagonal pixels (from bottom to left to top left) in the prediction block can be derived using Equation 8.
[Equation 8] p ™ P Zj P - P 1 ίΡ ~ ί 0.9 gu Ä1 J
Here you can be 1.2, ... 8.
Given computational loads, approximation of the square root calculations to derive the diagonal pixels can be performed as in Equation 9.
538 196 [Equation 9]
Δχ + Ay
The other pixel values in the prediction block can then be derived via interpolation or extrapolation using the prediction values associated with the diagonal pixels, upper reference pixel values, and left reference pixel values.
In Fig. 7 (A) and Fig. 7 (B), the pixels P1 in the prediction block can be derived via interpolation using the diagonal pixels P1 and reference pixels R1 belonging to the neighboring block. Here, an interpolation shown in Fig. 10 can be used.
[Equation 10]
<td> /> </td><td>= ΙΛ / Ρ <sup>+</sup> Α *</td><td>? t V</td><td></td>
<td></td><td></td><td> . /</td><td></td>
<td></td><td>or</td><td></td><td></td>
<td>P</td><td>... JD ^ z / 4- P</td><td>1 / fz /</td><td>\ p. / 7]</td>
<td>1; , L /</td><td></td><td></td><td>t</td>
Here, di is a distance from the pixel ROj or RjO belonging to the neighboring block used for interpolation to the prediction target pixel Pij, and d2 is a distance from the diagonal pixel Pii used for interpolation to the prediction target pixel Pij.
In addition and with reference to Figures 7 (C) and 7 (D), the pixel Pi derived via interpolation among the pixels in the prediction block can be derived using Equation 11.
[Equation 11]
538 196
<img file="SE538196C2_D0013.tif" />
or
<img file="SE538196C2_D0014.tif" />
Here, i + j is <9 and di is a distance from the pixel ROj or RjO belonging to the neighboring block used for interpolation to the prediction target pixel Pij, and d2 is a distance from the diagonal pixel Pii used for interpolation to the prediction target pixel Pij. Although Equation 11 is used to derive, via interpolation, the pixel P1 belonging to the prediction block, various interpolation methods can be used within the scope of the present invention.
In Fig. 7 (C) and Fig. 7 (D), a pixel Pe is derived via extrapolation among the pixels of the prediction block. An extrapolation shown in Equation 12 can be used to derive the pixel in the prediction block.
[Equation 12]
<img file="SE538196C2_D0015.tif" />
<img file="SE538196C2_D0016.tif" />
or
<img file="SE538196C2_D0017.tif" />
Here i + j> 9 and P is a diagonal pixel used for extrapolation. In addition, and as described above, di and d<sub>2</sub> is a distance from the reference pixel to the prediction target pixel Pij and a distance from the pixel Pii to the prediction target pixel Pij, respectively.
538 196
Example 2
Fig. 8 schematically illustrates yet another method for predicting a pixel value taking into account a reference pixel value and a variation of a reference pixel. Although, for convenience, Fig. 8 illustrates an 8 x 8 prediction block, the present invention can be applied to an N x N prediction block and is thus not limited to an 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 P1 is derived by applying vertical and horizontal variations from the reference pixel to the base pixel value. For example, the target pixel Pij is derived using Equation 13.
[Equation 13]
Here, Ay = Ri0-R00, Ax = R0j-R00, and 1 <i, j <8 for the prediction block 8x8.
For example, and with reference to Fig. 8, a pixel P33 is derived, in accordance with Equation 7, via P33 = R00 + Ax + Ay. Ax and Ay are here variations in pixel value in the x direction and in the y direction from the base pixel R00 to P33.
As an alternative and with reference to Fig. 8, a pixel P76 is derived, according to Equation 13, via P76 = R00 + Ax '+ Ay'. Δχ 'and Ay' are variations in pixel value in the x-direction and in the y-direction from the base pixel R00 to P76.
Example 3
Fig. 9 schematically illustrates another method for deriving diagonal pixels belonging to a prediction block first and then pixel values of remaining pixels. Although Fig. 5 illustrates that the diagonal pixels are derived based on an average value of two pixels in a horizontal / vertical direction of a neighboring block to the current prediction
538 196 Ion, Example 3, shown in Fig. 9, derives the diagonal pixels with respect to variations.
Referring to Fig. 9 (A), the prediction block's diagonal pixels are predicted using pixel values of neighboring blocks located in the upper and / or left boundary region of the prediction block. For example, the diagonal pixels Pii are predicted by Equation 14.
[Equation 14]
<img file="SE538196C2_D0018.tif" />
or
For example, and with reference to Fig. 9 (A), P33 is predicted in accordance with Equation 14 via P33 = R03 + Ay or P33 = R30 + Ax. Δχ and Ay are variations in pixel value in the x direction from a base pixel R30 to P33 and in the y direction from a base pixel R03 to P33.
Referring to Fig. 9 (B), pixel values of pixels Pij other than the diagonal pixels of the current block can be predicted by linear interpolation using the prediction values of the diagonal pixels and reference pixels R00, R10 to R80 and R01 to R08 belonging to the neighboring blocks in the upper and left border area of the current block.
For example, a pixel value Pij is predicted using Equation 15.
[Equation 15]
538 196
<img file="SE538196C2_D0019.tif" />
or
<img file="SE538196C2_D0020.tif" />
di is a distance from the pixel ROj or PiO belonging to the neighboring block used for interpolation to the prediction target pixel Pij, and d2 is a distance from the diagonal pixel Pii used for interpolation to the prediction target pixel Pij.
Example 4
Fig. 10 schematically illustrates that diagonal pixels are derived first and pixels other than the diagonal pixels are derived using the same method as the pre-diagonal pixels.
The diagonal pixels in Fig. 10 can be predicted in the same way as illustrated in Fig. 9. Thus, and with reference to Fig. 10 (A), a diagonal pixel P33 belonging to a current prediction block can be predicted using P33 = R03 + Ay or P33 = R30 + Ax.
Pixels Pij other than the diagonal pixels of the current block can be predicted by linear interpolation using the prediction values of the diagonal pixels and reference pixels R00, R10 to R80 and R01 to R08 belonging to the neighboring blocks of the upper and left boundary regions of the current block.
The same method can be used here to derive diagonal pixels. For example, a pixel Pij is predicted using Equation 16.
[Equation 16]
538 196
Pij = RO / + Δν v * IS or
Pi) = Ri0 + Ax
Here, Ay = Ri0-R00, Ax = R0j-R00, and 1 <i, j <8 for the prediction block 8x8.
For example, and with reference to Fig. 10, P37 is derived, according to Equation 16, via P37 = R07 + Ay or P37 = R70 + Ax.
However, long-term accumulation of minor errors caused by the integer arithmetic applied by the encoder or decoder can lead to a serious error. In addition, when a transmission error occurs in a neighboring block to a current block, the encoder and decoder or error propagation are poorly matched. For example, when an error occurs in the neighbor block, pixel values in a boundary area belonging to the neighbor block change. 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. Thus, a tool to prevent such a problem is needed, for example, a coding tool such as forced intraprediction (CIP).
Fig. 11 schematically illustrates a ClP method.
If any of the interprediction target blocks is next to a current macroblock T then only the DC intraprediction mode is used according to the method of Fig. 11 and a DC prediction value is fixed at 128.
A pixel value belonging to a block predicted among neighboring blocks using the intraprediction mode is not used here as a reference pixel value. Thus, using this method, the use of a DC prediction mode becomes mandatory
538 196 risk, which also excludes available information, such as intra-prediction mode pixels that are neighbors.
Fig. 12 schematically illustrates an alternative ClP method. A pixel value belonging to a block predicted by neighboring blocks in the intraprediction mode is used according to the method of Fig. 12 as a reference pixel value and a pixel value of a block predicted in the intraprediction mode is derived by means of intraprediction mode blocks which are neighbors. Thus, not only the DC mode, but also other intraprediction modes can be used.
Referring to Fig. 12, among neighboring blocks of a current prediction block T, pixel values 1210, 1220 and 1230 of blocks A, B, D, E, F, H and I predicted by means of interprediction mode are derived using pixels belonging to blocks which predicted using the intraprediction mode.
For example, when predicted pixels belonging to intraprediction mode are present on both the right and left sides of a target prediction sample, a pixel value P<sub>T </sub>belonging to a block predicted by the interprediction mode is derived using Equation 17.
[Equation 17]
<img file="SE538196C2_D0021.tif" />
Here is P<sub>T</sub>a target intraprediction sample, Plb is a left or a lower intraprediction sample and Pra is a right or upper intraprediction sample. In addition, when an intraprediction sample exists only on one side of the target intraprediction sample, a pixel value P<sub>T</sub> belonging to a block predicted using the intraprediction mode is derived using Equation 18.
[Equation 18]
538 196
<img file="SE538196C2_D0022.tif" />
or
<img file="SE538196C2_D0023.tif" />
The method of Fig. 12 uses the intraprediction mode more correctly than the method of Fig. 11, but uses an average value of available pixel values belonging to intraprediction mode or an available pixel value belonging to intraprediction mode as a pixel value of a neighbor block predicted in the intraprediction mode without regard to variation. in pixel values.
538 196
Thus, a ClP method is needed that takes into account pixel value variations.
Example 5
Examples 5 and 13 have a strictly exemplary purpose and their respective contents are not to be construed as an embodiment of the present invention. Fig. 13 schematically illustrates that a system in accordance with the present invention performs CIP taking into account pixel value variations.
The method of Fig. 13, ie. to use variations in pixel values of both pixels for interpolation, achieves 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 be derived. For example, a target pixel PT among pixel values 1310, 1320 and 1330 to be derived can be derived using Equation 19.
[Equation 19]
<img file="SE538196C2_D0024.tif" />
<img file="SE538196C2_D0025.tif" />
Here is P<sub>T</sub>a target prediction sample, Plb is a left or a lower intraprediction sample and Pra is a right or an upper intraprediction sample. In addition, and as shown in Fig. 13, d1 is a distance from P<sub>L</sub>b to P<sub>T</sub> and d2 is a distance from Pra to Ργ.
For example, and with reference to Fig. 13, P<sub>T</sub>1 can be derived via (Pi_Bl * d2i + P<sub>RA</sub>1 * d1 i) / (d1 i + d2i), and P<sub>T</sub>2 can be derived via (P<sub>LB</sub>2 * D2<sub>2</sub> + P<sub>RA</sub>2 * d1<sub>2</sub>) / (D1<sub>2</sub>+ d2<sub>2</sub>).
If an intraprediction sample to be used for interpolation exists only on either the right or left side or either on the upper or lower side of the target prediction sample P<sub>T</sub>, then Pt-Plb θΙΙθτ is Pt-Pra- In addition, if there is no predicted block in the intraprediction mode, which block is next to
538 196 then the target prediction block T then a pixel value in the same position as in a previous image can be copied for use as a reference pixel value.
Average values belonging to intrapixels in the boundary region can be used as P<sub>L</sub>b or Pra. As exemplified in Fig. 3, when Ργ is placed in a lower pixel row 1320 belonging to either E-block or D-block, an average value of four lower pixels belonging to an intra-prediction mode C-block can be used as P<sub>RA</sub>and an average value of eight pixels farthest to the right and belonging to a G-block is used as Plb. In this case, d1's reference point is an upper pixel among the pixels farthest to right and belongs to the G-block and d2's reference point is a pixel that is at the far left and belongs to the G block among the lower pixels that belong to the C block.
In addition, linear interpolation produces smoothing effects on boundary area pixels so that adaptive intrusion smoothing (AIS) can be turned off. In DC prediction mode, pixel filtering in a boundary region of the prediction block can be turned on.
Fig. 14 is a flow chart illustrating schematically an operation of the encoder in the system in accordance with the present invention.
Referring to Fig. 14, a new prediction unit of a current image is fed (S1410). The Prediction Unit (PU) may be a base unit for intraprediction and interprediction. The prediction unit may be a smaller block than a coding unit (CU) and may have a rectangular shape, not necessarily square. Intraprediction of the prediction unit is basically performed with a block that is either 2N x 2N or N x N.
A reference pixel needed for intraprediction is then derived (S1420). Pixels in a vertical line that are at the far right of a left block that is next to a current prediction block and pixels in a bottom horizontal line of an upper block that is next to the current prediction block are used to generate the reference pixels. When the prediction block has the size N then a total of 2N pixels of the left and upper blocks are used as reference pixels.
538 196
The pixels in the vertical line that are at the far right of the left block that are adjacent to the current prediction block and the pixels in the bottom horizontal line of the upper block that are next to the current prediction block can be used as the reference pixels either as they are or via equalization.
When equalization is used, equalization information can be signaled to the decoder. For example, when the equalization is performed, an AlS filter in which the coefficients [1, 2,1] or [1, 1,4, 1, 1] can be used. Among these two coefficients, the latter filter coefficient can give a sharper limit. As mentioned above, information including whether to use a filter, the type of filter to be used and a filter coefficient can be signaled to the decoder.
When CIP is used to generate the reference pixel then the value of the ClP indicator is set
1st When CIP is applied then only pixels belonging to neighboring blocks and coded in the intraprediction mode are used as reference pixels and pixels belonging to neighboring blocks and coded in the interprediction mode are not used as reference pixels. In this case and shown in FIG. 13, pixels (target prediction samples) corresponding to positions of the pixels belonging to the neighboring blocks and coded in the interprediction mode are generated as reference pixels by interpolating the neighbor reference pixels encoded in the intraprediction mode, or the neighboring reference pixels encoded into the interprediction modes are copied into the interprediction modes in the interprediction mode.
For example, when the prediction pixels belonging to the intraprediction mode are found on both the right and left sides as well as on the upper and lower sides of the target prediction sample, then the target prediction sample P<sub>T</sub> placed in a block predicted in the interprediction mode is derived using Equation 11. In addition, when an intraprediction sample exists only on one side of the target prediction sample, then the target prediction sample P<sub>T</sub> placed in a block predicted in the interprediction mode is derived using Equation 12. Average values of the corresponding intraprediction mode pixels can be used as P<sub>L</sub>b and Pra values in Equation 11
538 196 and / or 12. If there is no neighbor block predicted in the intraprediction mode, then 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 produces a smoothing effect on boundary pixels, it can prove effective to turn off AIS when using CIP.
An intraprediction mode (S1430) is then determined.
The intraprediction mode is determined by means of a prediction unit (PU) in which an optimal prediction mode is determined in view of the relationship between the required bit rate and the amount of distortion.
For example, when speed distortion optimization (RDO) is turned on, a mode to minimize cost J = R + rD (R is bit rate, D is amount of distortion, and r is a Lagrange variable) can be selected. Accurate local decoding is needed here, which adds to the complexity.
When RDO is turned off, a prediction mode can be selected to minimize an average absolute difference (MAD) by exposing a prediction error to the Hadamard transform.
Table 1 illustrates a number of prediction modes with respect to a luminescence component according to the size of a prediction unit block.
[Table 1]
<td>block size</td><td>Number of prediction modes</td>
<td>4x4</td><td> 17</td>
<td>8x8</td><td> 34</td>
<td>16x16</td><td> 34</td>
<td>32x32</td><td> 34</td>
538 196
<td>64x64</td><td> 3</td>
Fig. 15 illustrates a prediction orientation of an intraprediction mode. Referring to Fig. 15, a mode number 0 is a vertical mode in which prediction is carried out in a vertical direction by means of a pixel value belonging to a neighboring block. A mode number 1 is a horizontal mode in which prediction is carried out in a horizontal direction 5 by means of a pixel value belonging to a neighboring block. A mode number 2 is one
DC mode in which a prediction block is generated using an average pixel value associated with a current prediction target block, for example, a luminescence value in the case of luminescence pixels and a chrominance value in the case of chrominance pixels. In other modes shown in Fig. 15, prediction is performed using pixel values belonging to neighboring blocks, depending on corresponding angles.
Upper prediction pixels and prediction pixels that are farthest to the right can be filtered in the DC mode to streamline prediction. Filtration intensity here may increase for a smaller block. The other internal pixels of the current prediction block must not be filtered.
To reflect direction dependence, a plane mode can be used instead of the DC mode. In the plan mode, the value of the indicator among information transmitted from the encoder to the decoder is set to 1. The DC mode is not used when the plan mode is used.
Thus, the value of the indicator is set to 0 when the DC mode is used instead of the plane mode.
When the plan mode is used, the same prediction methods described above in connection with Figs. 6 - Fig. 10 can be used. Here, the decoder can perform an RDO25 operation described above to select the optimal method. If necessary, two or more methods from the previous methods can be used together. The coding signals for the decoding information regarding which method the encoder selects from the prediction methods in the planner mode are illustrated in Figs. 6 - Fig. 10.
In the case of a reference pixel belonging to a chrominance component, combined direction-dependent intraprediction (UDI) of a luminescence block can be used
538 196 is thought to be in mode 4, which is referred to as a DM mode. In a mode number 0, a prediction block is generated using a linear relationship between luminescence and chrominance, which is referred to as a linear model (LM) mode. A mode number 1 is a vertical mode in which prediction is performed in the vertical direction and corresponds to mode number 0 of the luminescence. A mode number 2 is a horizontal line in which prediction is performed in the horizontal direction and corresponds to the luminescence mode number 1. A mode number 3 is a DC mode in which a prediction block is generated using an average chrominance value belonging to a current prediction target block and responds to the luminescence mode number 2.
Referring to Fig. 14, the encoder encoder prediction mode of the current block (S1440). The encoder encodes a prediction mode for a luminescence component block and a chrominance component block of the current block. Since the prediction mode of the current prediction target block correlates to a large extent with a prediction mode belonging to a neighbor block, the current prediction target block is encoded by the prediction mode belonging to the neighbor block, thereby reducing the bit rate. In addition, the most likely mode (MPM) of the current prediction target block is determined and the prediction mode of the current prediction target block can be coded using MPM.
A pixel value belonging to the current prediction target block and a pixel differentiating value for the pixel value belonging to the prediction block are then derived to thereby generate a residual signal (S1450).
The residual signal generated is transformed and coded (S1460). The residual signal can be encoded with a transform core, the transform coding kernel having a size of 2 x 2, 4 x 4, 8 x 8, 16 x 16, 32 x 32 or 64 x 64.
A transform coefficient C is generated for the transform, which may be a 2D block of transform coefficients. For example, for a η xn block, a transform coefficient can be calculated using Equation 20.
538 196 [Equation 20]
C (/ tw) ~ T (X n)<sup>x</sup> $ (Λ «)<sup>χ</sup>
Here, C (n, n) is an n * n transform coefficient matrix, T (n, n) is an n * n transform core matrix, and B (n, n) is an n * n matrix for a prediction target block.
When m = hN, n = 2N and H = 1/2, a transform coefficient C for a m * n or n * m differentiating block can be obtained by two methods. According to the first method, the m * n or n * m differentiating block is divided into four m * m blocks and a transform core is applied to each block to thereby generate the transform coefficient. Alternatively, a transform core is applied to the m * n or n * m differentiating blocks to thereby generate the transform coefficient.
The encoder determines which of the residual signal and the transform coefficient to transmit (S1470). For example, when the prediction is done correctly, the residual signal can be transmitted as it is, i.e. without transform coding.
Determination of which of the residual signal and the transform coefficient to be transmitted can be carried out by means of RDO or the like. Cost function before and after the transform coding is compared to immunize costs. When a signal type to be transmitted, i.e. the residual signal or the transform coefficient, for the current prediction block is determined, a type of the transmitted signal is also signaled to the decoder.
The encoder then scans the transform coefficient (S1480). A quantized 2D block of transform coefficients can be transformed into a 1D vector of transform coefficients by scanning.
538 196
The scanned transform coefficient and intraprediction mode are entropy coded (S1490). The encoded information forms compressed bitstream which can be transmitted or stored via a NAL.
Fig. 16 is a flowchart illustrating schematically an operation of the decoder in the system according to the present invention.
Referring to Fig. 16, the decoder entropy decodes a received bit stream (S1610). Here, the block type can be obtained from a variable length coding (VLC) table, and a prediction mode of a current decoding target block can be derived. The received bitstream may include side information needed for decoding, such as information about a coding unit, a prediction unit and a transform unit, information about AlS filtering, information about the prediction mode's counting limitations, information about unused prediction modes, information about rearrangement of prediction modes, information about transform method information about scanning methods, then the entropy is decoded the side information along with the bit stream.
The decoded information can confirm whether a transmitted signal for the current decoding target block is a residual signal or a transform coefficient for a differentiating block. A residual signal or 1D vector comprising transform coefficients for the differentiating block is obtained for the current decoding target block.
The decoder then generates a residual block (S1620).
The decoder inversely scans the entropy decoded residual signal or transform coefficient to generate a 2D block. Here, a residual block can be generated from the residual signal and a 2D block of transform coefficients can be generated from the transform coefficient.
538 196
Transform coefficients are quantized. The de-quantized transform coefficients are inversely transformed and the residual block of the residual signal is generated via the inverse transform. The inverse transform of a η * n block can be expressed by Equation 11.
The decoder generates reference pixels (S1630). The decoder here generates the reference pixel by referring to information about whether AlS filtering has been applied and about the filter type used, which filter type is signaled and transmitted using the decoder. Analogous to the coding process, pixels in a vertical line that are at the far right of a left block that is already decoded and reconstructed, and that are adjacent to the current decoding target block, and pixels in a horizontal line that are at the bottom of an upper block that are next to the current the decoding target block is used to generate the reference pixel.
When a value for the ClP indicator received by the decoder is set to 1, which means that the decoder uses CIP for a target image, the decoder generates the reference pixel. For example, only pixels belonging to neighboring blocks and encoded in intraprediction mode are used as reference pixels, whereas pixels belonging to neighboring blocks and encoded in interprediction mode are not used as reference pixels. In this case and as illustrated in FIG. 6, pixels (target prediction sample) corresponding to positions of the pixels belonging to neighboring blocks and encoded in the interprediction mode are generated as reference pixels by interpolating neighbor reference pixels encoded in the intraprediction mode and the neighboring reference pixels coded in the intraprediction mode are copied into the intraprediction mode .
For example, when predicted pixels belonging to intraprediction mode are present on both the right and left sides of a target prediction sample, a target prediction sample P<sub>T</sub> placed in a block predicted using the interprediction mode is derived using Equation 17. In addition, when an intrapredicted sample is found only on one side of the target prediction sample, a target prediction sample Pt placed in a block predicted by the interprediction mode can be derived with
538 196 using Equation 18. In Equation 17 and / or Equation 18, mean values belonging to the corresponding interprediction mode pixels can be used as P<sub>L</sub>b or Pra values. If there are no predicted neighbor blocks in the intra-prediction 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 uses AlS filtering, ie. when equalization is applied and AIS is turned on, the decoder also performs AlS filtering on generating the reference pixel in accordance with the reference pixel generation method used by the encoder. The decoder can determine a filter coefficient based on filter type information among received information. For example, when there are two filter coefficients [1,2, 1] or [1, 1,4, 1, 1], then a filter coefficient indicated in the filter type information can be selected from these two filter coefficients.
Then, a prediction block for the decoding target block is generated by the reference pixel and the entropy decoded prediction mode belonging to the current coding target block (S1640).
A process comprising generating the prediction block is the same as a process for determining the prediction mode and generating the prediction block using the encoder. When the prediction mode belonging to the current block is a plan mode then one can identify a planning prediction method for generating the prediction block by analyzing the signaled information. Here, the decoder can generate the prediction block based on the identified information in accordance with a used mode among planning modes illustrated in Fig. 6 - Fig. 10.
A block is then reconstructed by adding a pixel value belonging to the prediction block and a pixel value belonging to the differentiating block, ie. the reconstructed block is generated (S1670).
538 196
Contents2
41 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 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38 Sheet 39 Sheet 40 Sheet 41
176 members in 13 offices
Priority claims12
| Document | Office | Kind | Date |
|---|---|---|---|
| 20110048130 | Republic of Korea | A | |
| 20110048130 | Republic of Korea | A | |
| 20110065210 | Republic of Korea | A | |
| 20110065210 | Republic of Korea | A | |
| 2012003744 | Republic of Korea | W | |
| 2012003744 | Republic of Korea | W | |
| 1020110048130 | – | – | – |
| 1020110065210 | – | – | – |
| KR20110048130 | – | – | – |
| KR20110065210 | – | – | – |
| PCTKR2012003744 | – | – | – |
| WO2012KR03744 | – | – | – |
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 | |
| SE538196C2This record | 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 | |
| ES2597431A2 | 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 |
Numbers
- Publication
- 538196
- Publication, DOCDB
- 538196
- Publication, EPODOC
- SE538196
- Application
- 1550476
- Application, DOCDB
- 1550476
- Application, EPODOC
- SE20150050476
Titles2
- Swedish
- Videoavkodningsmetod och videoavkodningsanordning innefattande intraprediktion
- English
- Video decoding method and video decoding device including intraprediction
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, 4
- H04N19 593
- H04N19 176
- H04N19 184
- H04N19 192