Method and device for intra prediction of video.
Abstract
Disclosed are a method and a device for intra prediction of a video. The method for intra prediction of a video: determines the availability of a predetermined number of peripheral pixels which are used for intra prediction of a current block; searches for an available second peripheral pixel by searching for the predetermined number of the peripheral pixels in a predetermined direction on the basis of an unavailable first peripheral pixel, if the unavailable first peripheral pixel exists; and replaces a pixel value of the first peripheral pixel with a pixel value of the searched second peripheral pixel. The invention performs a replacement step using peripheral pixels which are immediately adjacent in the predetermined direction relative to an unavailable third peripheral pixel at a different position, except for the first peripheral pixel at the predetermined position.

Term
7.6 yearsleft in the term
Expires 28 April 2034.
- Priority
- Filed
- Granted
- Today
- Expires
3 claims: 3 independent, 0 dependent
- 1REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones:1. Un método para decodificar un video, el método que comprende: determinar disponibilidad de un número predeterminado de pixeles adyacentes utilizados para intrapredicción de un bloque actual;cuando un primer pixel adyacente localizado sobre una posición predeterminada entre el número predeterminado de pixeles adyacentes no está disponible, buscar por un segundo pixel adyacente que esté disponible al buscar por un segundo pixel adyacente que esté disponible;reemplazar un valor de pixel del primer pixel adyacente con un valor de pixel del segundo pixel adyacente;cuando existe al menos un pixel adyacente no disponible localizado en el lado izquierdo o en el lado superior del bloque actual, reemplazar el pixel no disponible localizado en el lado izquierdo o en el lado superior del bloque actual utilizando un pixel adyacente, adyacente al bloque actual;y realizar intra-predicción sobre el bloque actual al utilizar el número predeterminado de pixeles adyacentes que 131 JTU U.J .· .'..ϊ OI LA r XCH-uAO ÍNL'USTklAl incluyen el pixel adyacente sustituido, ~~ caracterizado porque: en donde el primer pixel adyacente se localiza en un lado izquierdo inferior del bloque actual, en donde la búsqueda del segundo pixel adyacente comprende además la búsqueda por el número predeterminado de pixeles adyacentes en una dirección predeterminada en base en el primer pixel adyacente y determinar un pixel adyacente disponible como el segundo pixel adyacente, la dirección única predeterminada indica una dirección de búsqueda de abajo hacia arriba a lo largo de un lado izquierdo del bloque actual y de izquierda a derecha a lo largo de un lado superior del bloque actual, en donde la sustitución del pixel no disponible localizado en el lado izquierdo o en el lado superior del bloque actual comprende además: cuando existe por lo menos un pixel adyacente no disponible localizado en el lado izquierdo del bloque actual excepto el primer pixel adyacente, reemplazar el al menos un pixel adyacente no disponible localizado en el lado izquierdo del bloque actual con un valor de pixel de un pixel adyacente inferior localizado directamente por debajo del por lo menos un pixel adyacente no disponible;y cuando existe un pixel adyacente no disponible localizado en el lado superior del bloque actual que existe, 132 ΙΓ.’ UUSTRIAL sustituir el pixel adyacente no disponible localizado en el lado superior del bloque actual con un valor de pixel del pixel adyacente izquierdo localizado en el lado izquierdo del pixel adyacente no disponible,
- 25 en donde la determinación de disponibilidad comprende determinar pixeles adyacentes los cuales pertenecen a un corte diferente de un corte al cual pertenece el bloque actual, y en donde la búsqueda por el segundo pixel adyacente
- 310 comprende determinar un pixel adyacente disponible, el cual inicialmente se encontró por la búsqueda del número predeterminado de pixeles adyacentes en la dirección única predeterminada en base en el primer pixel adyacente, para ser el segundo pixel adyacente. 133 INSTITUTO MEXICANO DE LA PROPIEDAD INDUSTRIAL
Independent claims3
891 paragraphs in 23 sections, as filed
(54) Title: METHOD AND APPARATUS FOR INTRA-PREDICTION OF VIDEO. (54) Title: METHOD AND DEVICE FOR INTRA PREDICTION OF VIDEO.
(57) Summary
The present invention relates to a method and apparatus for intra-predicting a video. The method includes: determining the availability of a predetermined number of adjacent pixels used for intra-prediction of a current block; if a first adjacent pixel is not available, search for a second adjacent pixel that is available by searching the predetermined number of adjacent pixels in a predetermined direction based on the first adjacent pixel; and replacing a pixel value of the first adjacent pixel with a pixel value of a found second adjacent pixel. At least a third adjacent pixel at another location, which is not available and excludes the first adjacent pixel at a predetermined location, is replaced sequentially by using a directly adjacent pixel in a predetermined direction.
(57) Abstract
Disclosed are a method and a device for intra prediction of a video. The method for intra prediction of a video: determine the availability of a predetermined number of peripheral pixels which are used for intra prediction of a current block; searches for an available second peripheral pixel by searching for the predetermined number of the peripheral pixels in a predetermined direction on the basis of an unavailable first peripheral pixel, if the unavailable first peripheral pixel exists; and replaces a pixel value of the first peripheral pixel with a pixel value of the searched second peripheral pixel. The invention performs a replacement step using peripheral pixels which are immediately adjacent in the predetermined direction relative to an unavailable third peripheral pixel at a different position, except for the first peripheral pixel at the predetermined position.
<img file="MX354500B_D0001.tif" />
IMPI
PATENT TITLE No. 354500
Headlines): SAMSUNG ELECTRONICS CO., LTD.
Address: 129, Samsung-ro, Yeongtong-gu, Suwon-s¡, Gyeonggi-do, 443-742, REPUBLIC OF
KOREA
Name: METHOD AND APPARATUS FOR INTRA-PREDICTION OF VIDEO.
Classification:
Inventor (s):
H04N19 / $ 10;
Η0 <119 / ίΜ ÍHé4Ñlá / 1í <
. ΉΟ4Ι (10/1 $ 2; H04N19 / 593 TAMMY tefe JIANLE '
Number:
MX / a / 2015 / 00JÍ270
Country:
US '
Effectiveness: V ^ Jnlájaños -¡Q VeMtinient Date <' <sub>k </sub>Date of Ejf0¿dition¿ * s<sub>i:</sub>cte
The referei patent
<img file="MX354500B_D0002.tif" />
1tet $ clubre of'2fi¡35 V
16; H04N19 / 182; H04N19 / 593
H04N19 / 159; H04N19 / 176;
International:
2012* „
Number:
61/^692
Uu '
<img file="MX354500B_D0003.tif" />
In accordance with the ai from the date of presei
Who subscribes the present ti (Official Gazette of the Federation
25/01/2006, 06/05/2099,06/01/2010,’
Regulations of the Mexican Institute articles 1, 3, 4, 5 fraction V subsection af 27/12/1999, amended on 10/10/2002, 29/0
Deputy Generals, Coordinator, Departmental Director and other subordinates of the Institute (04/08/2004 and 09/13/2007).
the Leydftja the soliSaJir
<img file="MX354500B_D0004.tif" />
fundtttXnto enÍo'dti 27 / Wiá3tT> «fcn '' 0, ^ 8 / 06gJtl0r27 '“ d 55Jtr0¡ »
<img file="MX354500B_D0005.tif" />
jf, ·, of the Rfopife
<img file="MX354500B_D0006.tif" />
'wgáncjde twenty vigeri | »s1Úáa ¡¡^ Industrial.
irrigables, told to; hos.
χΒΒΒΊΙΙ and 7 * jfc Zde'íatey of Industrial Property i, 12/26/1 ^ (7 ^ 65/1999, 01/26/2004, 06/16/2005, ", 3rd fraction yriheís © a), 4 ° and 12 sections I and III of) ψ7 / 5θΟ® # / 2004, 07/28/2004 and 09/07/2007); .tltyJtirttas Industrial Property Law (DOF '«Department that delegates powers to the Directors, Divisional Deputy Directors, Coordinators 12/1999, amended on 02/04/2000, 07/29/2004,
This letter is signed with an advanced electronic signature (FIEL), based on articles 7 BIS 2 of the Industrial Property Law; 3 of its Regulations, and 1 section III, 2 section V, 26 BIS and 26 TER of the Agreement establishing the regulations for the use of the Electronic Payment and Services Portal (PASE) of the Mexican Institute of Industrial Property, in the procedures indicated.
THE DIVISIONAL DIRECTOR OF PATENTS
NAHANNY CANAL REYES
<img file="MX354500B_D0007.tif" />
Original string:
NAHANNY MARISOL CANAL REYES | 00001000000403252793 | Administration Service
Trlbutar¡a | 1695 || MX / 2018/19744 | MX / a / 2015/008270 | Normal patent title with divisional PCT | 1220 | RRGO | Page (s) | UKIPpTmTqYgccbAowkjJabdU3dk =
Digital stamp:
w080u496 / 8tuW5iOSkljRwNGvaAsOM5mrXn68T65UoWNzKrj5S + dnOUcEgENqoau5AQixX7BQ3x2WlcapJIWGXSgu9
8mXSLDqXt2xpS1k7amBG3 // IXWUPXpSat + bPEDe / 7sAftMSUs5VaNCrnTVm951qbcsk9QNvYZJ4KW18Tt6uEaELbEL
ZS0unxpxlBhVGDg0ROue4yTcHamn3qlWY0kCZ + aBIIPbsGdZI5sWCQIF4nmFNMR9a3X5q6Fr / GWavt1mTzG052KQL7
EcslYByX62G9aW + eE / wxtQQH6AGsmmU / mHHBFZQQ \ / VvYbj¡ilQGsnSHkHma78Ejxl2Hng9kQg ==
Arenal No. 550. Floor 1, Pueblo Santa María Tepepan, Xochimiico, 16020, Mexico City.
(55) 53340700 www.gob mx / ¡mpí
<img file="MX354500B_D0008.tif" />
MX / 2018/19744
35 * 1 $ 0ο
IΜ PI
MEXICAN INSTITUTE
METHOD AND DEVICE FOR INTRA-PREDICTION OF VIDEO
Field of the Invention
The present invention relates to intra-prediction of a video, and more particularly, to a method and apparatus for intra-prediction of a video, which involves replacing an unavailable adjacent pixel in a limited intra-prediction mode that limits one use of an adjacent pixel and use the replaced adjacent pixel as a reference pixel.
Background of the Invention
In an image compression method, such as the Moving Image Expert Group (MPEG) -1, MPEG-2, MPEG-4, or Advanced H.264 / MPEG-4 Video Coding (AVC), an image is divided into macroblocks for the purpose of encoding an image. Each of the macroblocks is encoded in all the encoding modes that can be used in inter-prediction or intra-prediction and is then encoded in an encoding mode that is selected according to the bit rate used to encode the macroblock and a degree of distortion between a decoded macroblock and the original macroblock.
Like hardware (physical components) to play and store high resolution video content
Ref: 257726
WICKED '' <sup>1</sup> '' If any high quality is being developed and delivered, there is a growing need for a video codee capable of effectively encoding or decoding high-resolution or high-quality video content. In a conventional video codec, a video is encoded in macroblock units each having a predetermined size.
Brief Description of the Invention
TECHNICAL PROBLEM
The present invention provides a method of replacing an unavailable adjacent pixel in a limited intra-prediction mode that limits a use of an adjacent pixel used in intra-prediction.
TECHNICAL SOLUTION
The method for intra-prediction of video determines the availability of a predetermined number of adjacent pixels used for intra-prediction, if there is a first adjacent pixel not available, Searches for a second adjacent pixel that is available by searching for a predetermined number of adjacent pixels in a predetermined direction based on the first adjacent pixel and replaces a pixel value of the first adjacent pixel with a pixel value of a found second adjacent pixel. For an unavailable third adjacent pixel, a replacement process is performed by using an adjacent pixel in a predetermined direction.
TT f7 Τ ')
JUSTR1AL
ADVANTAGING EFFECTS
In accordance with one or more embodiments of the present invention, the complexity of a process for determining a reference pixel used for intra-prediction can be reduced by searching for and replacing an available adjacent pixel, based on a predetermined search direction, by an adjacent pixel not available.
Brief Description of the Figures
FIGURE 1<sub>x</sub>it is a block diagram of an apparatus Z for encoding a video, in accordance with an embodiment of the present invention;
FIGURE 2 is a block diagram of an apparatus for decoding a video, in accordance with an embodiment of the present invention;
FIGURE ^ 3 is a diagram for describing a concept of encoding units in accordance with an embodiment of the present invention;
FIGURE 4 is a block diagram of an image encoder based on encoding units in accordance with an embodiment of the present invention;
FIGURE 5 is a block diagram of an encoder unit based image decoder in accordance with an embodiment of the present invention;
FIGURE ^ is a diagram illustrating deeper encoding units according to depths and
<img file="MX354500B_D0009.tif" />
partitions according to an embodiment of the present invention;
FIGURE 7 is a diagram for describing a relationship between a coding unit and transformation units, in accordance with an embodiment of the present invention;
FIGURE - '' δ is a diagram for describing encoding information of encoding units corresponding to an encoded depth, in accordance with an embodiment of the present invention;
FIGURE Jir '' is a diagram of deeper 'coding units according to depths, according to an embodiment of the present invention;
FIGURES 1-12 are diagrams for describing a relationship between encoding units, prediction units, and transformation units, in accordance with an embodiment of the present invention;
FIGURE 13'- is a diagram to describe a relationship between a coding unit, a prediction unit, or a partition, and a transformation unit, according to coding mode information from the
Table 1;
FIGURE '! 4 is a table showing a variety of intra-prediction modes according to a prediction unit size, according to a modality of the
To JLV S. £ 1
INSiíT'Jvr? Mexican say: the n'.ct-i.-rjAO
D''OJ5T.'UAL
<img file="MX354500B_D0010.tif" />
present invention;
FIGURE 15 is a reference diagram for describing intra-prediction modes having various directivities, in accordance with an embodiment of the present invention;
<td>the</td><td colspan="3">FI GURAMI 6 is</td><td>a diagram to describe a</td>
<td colspan="2">relation between</td><td>a</td><td>pixel</td><td>current and adjacent pixels</td>
<td>ready</td><td>in</td><td>a</td><td>line</td><td>extension that has a</td>
<td>directivity</td><td>of</td><td>(dx,</td><td>dy), of</td><td>according to a modality of the</td>
present invention;
FIGURES 17 and 18 are diagrams showing directions of an intra-prediction mode, in accordance with embodiments of the present invention;
FIGURE 1 # is a diagram showing directions of an intra-prediction mode having 33 directivities, in accordance with an embodiment of the present invention;
FIGURE 2 0 is a diagram of an adjacent pixel that is not available during intra-prediction of a current block according to a type of an adjacent block, in accordance with an embodiment of the present invention;
FIGURE 21 is a diagram for describing a process for replacing an unavailable adjacent pixel, in accordance with an embodiment of the present invention;
FIGURE .22 is a diagram to describe a process for replacing an adjacent unavailable pixel,
<img file="MX354500B_D0011.tif" />
I p according to another embodiment of the present invention;
FIGURE 23 is a diagram to describe a /
process for replacing an unavailable adjacent pixel, in accordance with another embodiment of the present invention;
FIGURE / ^ 4 is a block diagram of an intra-prediction apparatus in accordance with an embodiment of the present invention;
FIGURE 2 5Á is a diagram of an adjacent pixel filtered from a current block;
FIGURE 2 5B is a reference diagram for describing a process of filtering an adjacent pixel from a current block;
FIGURE'26 is a flow chart illustrating a method for intra-predicting a video, in accordance with an embodiment of the present invention;
FIGURE, 27A illustrates a physical structure of an i
disk that stores a program, according to an embodiment of the present invention;
FIGURE 27B illustrates a disc unit that records and reads a program through the use of a disc;
FIGURE 28 illustrates a complete structure of a content delivery system that provides a content delivery service;
FIGURES 29 and 30 illustrate external and internal structures of a mobile phone to which a method of
ΙΜΤΙΓΊΓ '; . · / Γ> 1. LA, ί?.;. ··. ; </ / • NDbSTKfAi ** »** jk * _:
video encoding and a video decoding method, according to an embodiment of the present invention;
FIGURE 8 illustrates a digital broadcasting system employing a communication system, in accordance with an embodiment of the present invention; and FIGURE<sup>x</sup> 3 2 illustrates a network structure of a cloud computing system using a video encoding apparatus and a video decoding apparatus, in accordance with one embodiment of the present invention.
Detailed description of the invention
Best Mode
In accordance with one aspect of the present invention, a method is provided for intra-predicting a video, the method comprising: determining the availability of a predetermined number of adjacent pixels that are used for intra-prediction of a current block between blocks obtained by dividing an image that forms the video according to a hierarchical structure; if a first adjacent pixel is not available in the predetermined number of adjacent pixels, search for a second adjacent pixel that is available by searching the predetermined number of adjacent pixels in a predetermined direction based on the first adjacent pixel; replace a pixel value of the first adjacent pixel with a pixel value of a found second adjacent pixel; and performing intra-prediction on the current block by using the predetermined number of adjacent pixels comprising the first replaced adjacent pixel.
Determining availability involves determining adjacent pixels, which are included in an adjacent block that is inter-predicted or that belongs to a different slice than a slice to which the current block belongs, that are not available.
The first adjacent pixel may be a pixel at a predetermined location from among the predetermined number of adjacent pixels, and searching for the second adjacent pixel may comprise determining an available adjacent pixel, which was initially found by searching the predetermined number of adjacent pixels in the default address based on the first adjacent pixel, which is the second adjacent pixel.
The first adjacent pixel may be an adjacent pixel located in a higher left corner of the current block, and searching for the second adjacent pixel may comprise searching for the second adjacent pixel by searching for the highest right and top adjacent pixels of the current block from left to right. based on the first adjacent pixel, and if a second adjacent pixel is not available at the highest right and top adjacent pixels of the current block, Find the lowest left and bottom adjacent pixels in the current block from top to bottom based on the first adjacent pixel.
The first adjacent pixel may be an adjacent pixel located in a higher left corner of the current block, and searching for the second adjacent pixel may include searching for the second adjacent pixel by searching for the lower left and left adjacent pixels of the current top block. to the background based on the first adjacent pixel, and if a second adjacent pixel is not available on the lower left and left adjacent pixels of the current block, Find the highest right and top adjacent pixels in the current block from left to right based on the first adjacent pixel.
The first adjacent pixel may be an adjacent pixel located in a higher left corner of the current block, and searching for the second adjacent pixel may comprise determining a left, adjacent pixel available by searching for the lowest left and left adjacent pixels of the current block of the top to the bottom based on the first adjacent pixel and determining a top, adjacent pixel, available by searching the highest right and top adjacent pixels of the current block from left to right based on the first adjacent pixel; and replace the pixel value of the first adjacent pixel by using an average value of the adjacent pixel,
j .....
»43λ
<img file="MX354500B_D0012.tif" />
ιχιλΙ
<img file="MX354500B_D0013.tif" />
left, available, and the adjacent, top, available pixel.
The first adjacent pixel may be an adjacent pixel located in a higher left corner of the current block, and searching for the second adjacent pixel may comprise determining a left, adjacent pixel available by searching for the lowest left and left adjacent pixels of the current block of the top to the bottom based on the first adjacent pixel, determine an upper adjacent pixel, Available by searching for the highest right and top adjacent pixels in the current block from left to right based on the first adjacent pixel and determining an adjacent pixel, which is closest to the first adjacent pixel among the left and top adjacent pixels, searched , which is the second adjacent pixel.
The first adjacent pixel may be a left adjacent pixel at the lower end of between the lower left and left adjacent pixels of the current block, and searching for the second adjacent pixel may comprise searching for the second adjacent pixel by searching for the lowest left and left adjacent pixels of the current block from bottom to top based on the first adjacent pixel and if a second adjacent pixel is not available in the adjacent left and left pixels
<img file="MX354500B_D0014.tif" />
lowest of the current block, find the highest and right adjacent pixels of the current block from left to right.
The first adjacent pixel may be a higher adjacent pixel to the extreme right of between the highest right and upper adjacent pixels of the current block, and the search for the second adjacent pixel may comprise searching for the second adjacent pixel when searching for the upper and right adjacent pixels. highest of the current block from right to left based on the first adjacent pixel and if a second adjacent pixel is not available on the upper and right adjacent pixels more height of the current block, find the lower left and left adjacent pixels of the current block from the top to the bottom.
The method may further comprise, if at least a third adjacent pixel is not available, replacing a pixel value of at least the third adjacent pixel with a pixel value of a previously searched adjacent pixel based on the predetermined address.
The first adjacent pixel may be an adjacent pixel located in a higher left corner of the current block, and if at least the third adjacent pixel is located in an upper part of the current block, the method may further comprise sequentially replacing at least the third one. adjacent pixel of a third pixel
Jk. J,<sup>:</sup> · '. ·. · 'Instiwie> ,: - i
I> E LA '; .o T ► ·· .... ·. . . · <»
INDUSTRIAL '* adjacent to the extreme left by a pixel adjacent to the ~<sup>11</sup><sup>l1_</sup>-<sup>1</sup> 1<sup>_</sup>IH-II lll.liHi) · ·.! <· «IN”, left of at least the third adjacent pixel and if at least the third adjacent pixel is located to the left of the current block, replace sequentially at least the third adjacent pixel of a third pixel adjacent at the upper end by an adjacent pixel above at least the third adjacent pixel.
The first adjacent pixel may be an adjacent pixel located in a left corner at the lower end of the current block and if at least the third adjacent pixel is located to the left of the current block, the method may further comprise sequentially replacing at least the third adjacent pixel of a third adjacent pixel at the bottom end with an adjacent pixel below at least the third adjacent pixel and if at least the third adjacent pixel is located in a top of the current block, sequentially replace at least the third adjacent pixel of a third pixel adjacent to the extreme left with a pixel adjacent to the left of at least the third adjacent pixel.
The first adjacent pixel may be an adjacent pixel located in a higher corner to the extreme right of the current block, and if at least the third adjacent pixel is located at the top of the current block, the method may further comprise replacing
- »λ_ - · 'l
UhUYÍJtC, Λ
ri ·.? j.-y, '.>. ·· .. ··: '/ (NuUSr.üAL sequentially at least the third adjacent pixel of a third pixel adjacent to the extreme right by a pixel adjacent to the right of at least the third adjacent pixel and if at least the third adjacent pixel is located at to the left of the current block, sequentially replace at least the third adjacent pixel of a third adjacent pixel at the top end with an adjacent pixel above at least the third adjacent pixel.
The method may further comprise replacing the pixel value of the first adjacent pixel with a predetermined value if the second adjacent pixel does not exist in the predetermined number of adjacent pixels.
The default value can be determined based on the bit depth of a pixel.
In accordance with another aspect of the present invention, an apparatus for intra-predicting a video is provided, the apparatus comprising: an availability determiner for determining the availability of a predetermined number of adjacent pixels that are used for intra-prediction of a current block of blocks obtained by dividing an image that forms the video according to a hierarchical structure; a substitute for, if a first adjacent pixel is not available in the predetermined number of adjacent pixels, search for a second adjacent pixel that is available by searching the predetermined number of adjacent pixels in a predetermined direction based on the first adjacent pixel and replacing a pixel value of the first adjacent pixel by a pixel value of a second adjacent pixel found; and an intra-prediction maker to carry out intra-prediction in the current block using the predetermined number of adjacent pixels comprising the first replaced adjacent pixel.
Hereinafter, the present invention will be described in greater detail with reference to the associated figures, in which exemplary embodiments of the invention are shown.
FIGURE 1 is a block diagram of a video encoding apparatus 100, in accordance with an embodiment of the present invention.
The video encoding apparatus 100 includes a maximum encoding unit splitter 110, an encoding unit determiner 120, and an output unit 130.
The maximum encoding unit divisor 110 can divide a current image based on a maximum encoding unit for the current image of an image. If the current image is larger than the maximum encoding unit, the image data of the current image can be divided into at least the maximum encoding unit.
l »V>» '·,. '' i ti::. ·· ·. .'i ·. *
The maximum encoding unit in accordance with an embodiment of the present invention may be a data unit having a size of 32x32, 64x64, 128x128, 256x256, etc., wherein one form of the data unit is a box having a width and length in frames of 2. The image data may be sent to the encoder unit determiner 120 in accordance with at least the maximum encoder unit.
A coding unit according to an embodiment of the present invention can be characterized by a maximum size and depth. The depth indicates a number of times that the coding unit is spatially divided from the maximum coding unit and as the depth increases, the deepest coding units according to depths can be divided from the maximum coding unit to a unit of minimal coding. A maximum code unit depth is a higher depth and a minimum code unit depth is a lower depth. Since a size of a coding unit corresponding to each depth decreases as the depth of the maximum coding unit increases, a coding unit corresponding to a higher depth may include a plurality of coding units corresponding to deeper depths. low.
-Λ '·.? JAL
As described above, the image data of the current image is divided into maximum encoding units according to a maximum encoding unit size, and each of the maximum encoding units may include deeper encoding units that are divided according to the depths. Since the maximum encoding unit according to an embodiment of the present invention is divided according to the depths, the image data of a spatial domain included in the maximum encoding unit can be hierarchically classified according to depths.
A maximum depth and maximum size of a coding unit, which limit the total number of times that a height and width of the maximum coding unit are hierarchically divided, can be predetermined.
The encoding unit determiner 120 encodes at least a divided region which is obtained by dividing a region of the maximum encoding unit according to depths and determines a depth to send an image data finally encoded according to at least the divided region. In other words, the encoder unit determiner 120 determines an encoded depth by encoding the image data into
-TO.
XNSTm! ΤΟ. ('-..-;,'.: // - je the 'n pus ϊ p. I λ l /' / M \ -Γ- Ú the deepest encoding units according to depths, of according to the maximum encoding unit of the current image and selecting a depth that has the minimum encoding error The determined encoded depth and the encoded image data according to the determined encoded depth are sent to the output unit 130 .
The image data in the maximum encoding unit is encoded based on the deepest encoding units corresponding to at least a depth equal to or less than the maximum depth, and the encoding results of the image data are compared with base on each of the deepest coding units. A depth that has the minimum coding error can be selected after comparing coding errors from the deepest coding units. At least one encoded depth can be selected for each maximum encoding unit.
The size of the maximum encoding unit is divided as one encoding unit is hierarchically divided according to depths and as the number of encoding units increases. Also, even if the coding units correspond to the same depth by one maximum coding unit, it is determined whether each of the coding units is divided
<img file="MX354500B_D0015.tif" />
INSTITUTE * i «sfr V g,
I heard LA TOifój ;, industrial -¾ AIS encoding that correspond to the same depth at a lower depth by measuring an encoding error of the image data of each encoding unit, separately.
Consequently, even when image data is included in a maximum encoding unit, the encoding errors may differ according to regions in the maximum encoding unit and thus the encoded depths may differ according to regions in the encoding data. image. In this way, one or more encoded depths can be determined in a maximum encoding unit and the image data of the maximum encoding unit can be divided according to encoding units of at least one encoded depth.
Consequently, the encoding unit determiner 120 can determine encoding units that have a tree structure included in the maximum encoding unit. Coding units having a tree structure according to an embodiment of the present invention include coding units corresponding to a given depth which is the coded depth, out of all the deeper coding units that are included in the coding unit. maximum encoding. A coding unit of a coded depth can be hierarchically determined according to depths in the same region of the coding unit.
<img file="MX354500B_D0016.tif" />
maximum encoding and can be determined in different regions. Similarly, a coded depth in one current region can be determined independently of a coded depth in another region.
A maximum depth according to an embodiment of the present invention is an index related to the number of times of division from a maximum encoding unit to a minimum encoding unit. A first maximum depth in accordance with an embodiment of the present invention may indicate the total number of times of division from the maximum encoding unit to the minimum encoding unit. A second maximum depth in accordance with an embodiment of the present invention may indicate the total number of depth levels from the maximum coding unit to the minimum coding unit. For example, when a depth of the maximum coding unit is 0, a depth of one coding unit, in which the maximum coding unit is divided once, can be set to 1 and a depth of one coding unit, in which the maximum encoding unit is divided twice, can be set to 2. In this document, if the minimum coding unit is a coding unit in which the maximum coding unit is divided four times, there are 5 levels
ΙΝ.
<img file="MX354500B_D0017.tif" />
NDUSTrüAL of depth of O, 1, 2, 3 and 4 and in this way the first maximum depth can be set to 4 and the second maximum depth can be set to 5.
Predictive coding and transformation can be performed according to the maximum coding unit. Predictive coding and transformation are also performed based on the deepest coding units according to a depth equal to or depths less than the maximum depth, according to the maximum coding unit.
Since the number of deeper encoding units increases as the maximum encoding unit is divided according to depths, encoding that includes predictive encoding and transformation is performed on all the deeper encoding units that are generated according to the depth increases. For the convenience of description, predictive coding and transformation will now be described based on a coding unit of current depth, at a maximum coding unit.
The video encoding apparatus 100 can variously select a size or shape of a data unit to encode the image data. For the purpose of encoding image data, operations such as predictive encoding, transformation, and encoding?
$
Ubi entropic, data is different operation.
are performed, and at the same time you can use the same unit for all data operations, or you can use for each unit
For example, the video encoding apparatus 100 can select not only an encoding unit to encode the image data, but also a different data unit from the encoding unit in order to perform predictive encoding on the image data in the coding unit.
<td>With the purpose</td><td>of</td><td>perform</td><td>a</td><td colspan="2">coding</td>
<td>predictive in unity</td><td>of</td><td colspan="2">coding</td><td>maximum,</td><td>the</td>
<td>predictive coding it</td><td>can</td><td>perform</td><td>with</td><td>base on</td><td>a</td>
coding unit corresponding to a coded depth, ie based on a coding unit that is no longer divided into coding units corresponding to a lower depth. Hereinafter, the encoding unit that is no longer divided and becomes a base unit for predictive encoding will now be referred to as a prediction unit. A partition obtained by dividing the prediction unit can include a prediction unit or a data unit obtained by dividing at least one of a height and a width of the prediction unit.
For example, when a coding unit of
<img file="MX354500B_D0018.tif" />
2Nx2N (where Ν is a positive integer) is no longer divided and becomes a prediction unit of 2Nx2N and a partition size can be 2Nx2N, 2NxN, Nx2N, and NxN.
Examples of a partition type include symmetric partitions that are obtained by symmetrically dividing a height or width of the prediction unit, partitions obtained by asymmetrically dividing the height or width of the prediction unit, such as l: non: l, partitions obtained by geometrically dividing the prediction unit and partitions that have arbitrary shapes.
A prediction mode of the prediction unit can be at least one of an intra mode, an inter mode and a skip mode. For example, intra mode or inter mode can be performed on the 2Nx2N, 2NxN, Nx2N or NxN partition. Also, bypass mode can only be performed on the 2Nx2N partition. Coding is performed independently of the prediction unit in a coding unit, thereby selecting a prediction mode that has minimal coding error.
The video encoding apparatus 100 can also perform transformation of the image data into an encoding unit based not only on the encoding unit to encode the image data, but also based on a data unit that is different. of the coding unit.
<img file="MX354500B_D0019.tif" />
For the purpose of performing the transformation in the encoding unit, the transformation can be performed based on a data unit that is smaller than or equal to the encoding unit. For example, the data unit for transformation can include one data unit for an intra mode and one data unit for an inter mode.
A unit of data used as a base of transformation will now be referred to as a unit of transformation. Similarly to the coding unit, the transformation unit in the coding unit can be recursively divided into regions of smaller dimensions, so that the transformation unit can be independently determined into units of regions. In this way, the residual data in the encoding unit can be divided according to the unit of
<td>transformation that has the tree structure</td><td>agree</td><td>with</td>
<td>depths of transformation.</td><td></td><td></td>
<td>A depth of transformation</td><td>which indicates</td><td>the</td>
<td>number of times of division to reach</td><td>unit</td><td>of</td>
transformation by dividing the height and width of the encoding unit can also be set in the transformation unit. For example, in a current 2Nx2N encoding unit, a transformation depth may be when the size of a transformation unit is 2Nx2N,
A iv ... y INSTITUTO MíX.Ca.OVD £ LA ¡'KO?, IDAO industrial' • LiO can be 1 when the size of the transformation unit is thus NxN and can be 2 when the size of the unit transformation is thus N / 2xN / 2. In other words, the transformation unit that the tree structure has can be established according to the transformation depths.
The encoding information according to encoding units corresponding to an encoded depth requires not only information about the encoded depth, but also about information related to predictive encoding and transformation. Accordingly, encoding unit determiner 120 not only determines an encoding depth that has minimal encoding error, but also determines a partition type in a prediction unit, a prediction mode according to prediction units, and a size of a transformation unit for transformation.
Coding units according to a tree structure in a maximum coding unit and a method for determining a partition, according to embodiments of the present invention, will be described in detail below with reference to FIGS. 3 to.
The 120 _s encoding unit determiner
INSI .Μ can measure a coding error of deeper coding units according to depths by using a Distortion Rate Optimization based on Lagrangian multipliers.
The output unit 130 outputs the image data from the maximum encoding unit, which is encoded based on at least the encoded depth that is determined by the encoder unit determiner.
120 and information about the encoding mode according to the encoded depth, in bit streams.
The encoded image data can be obtained by encoding residual image data.
Information about the encoding mode according to the encoded depth may include information about the encoded depth, about the type of partition in the prediction unit, the prediction mode and the size of the transformation unit.
Information about the coded depth can be defined by using depth division information, which indicates whether the encoding is done in encoding units of a lower depth rather than a current depth. If the current depth of the current encoding unit is the encoded depth, the image data in the current encoding unit is encoded and sent, and thus
DS Μ. - - Λ.: -?
ΙΚ / Λ'ίνιΛν 'way the division information can be defined ^ no_ to. ^ Divide the current encoding unit to a lower depth. Alternatively, if the current depth of the current encoding unit is not the encoded depth, the encoding is performed in the lowest depth encoding unit and thus the division information can be defined to divide the current encoding unit. to get the lowest depth encoding units.
If the current depth is not the encoded depth, the encoding is done in the encoding unit which is divided into the lowest depth encoding unit. Since at least one encoding unit of the lowest depth exists in one encoding unit of the current depth, the encoding is performed repeatedly on each encoding unit of the lowest depth and thus the encoding can be performed recursively. for encoding units that have the same depth.
Since the coding units having a tree structure are determined for a maximum coding unit and the information about at least one coding mode is determined for a coding unit of a coded depth, the information about at least a coding mode you can
I · 'ι - l ,. . ιφ determine for a maximum coding unit .- 'Tambi-é ^ i ^' '' a coded depth of the data of<sup>1</sup> image · —of — The ~ .— maximum encoding unit may be different according to locations since image data is hierarchically divided according to depths and thus information about encoded depth and encoding mode is you can set for image data.
Accordingly, the output unit 13 0 can assign encoding information about a corresponding encoded depth and encoding mode to at least one of the encoding unit, the prediction unit, and a minimum unit included in the unit. maximum encoding.
The minimum unit according to an embodiment of the present invention is a square data unit obtained by dividing the minimum coding unit that constitutes the lowest depth by 4. Alternatively, the minimum unit may be a maximum square data unit that is it can include in all encoding units, prediction units, partition units and transformation units included in the maximum encoding unit.
For example, the encoding information sent through the output unit 130 can be classified into encoding information in accordance with encoding units and the encoding information in accordance with
<img file="MX354500B_D0020.tif" />
ΙΜΓΤ
IN5t; 7gTC L'¿ 2 /
I;
prediction units. The encoding information according to the encoding units may include the information about the prediction mode and about the size of the partitions. The encoding information according to the prediction units may include information about an inter mode calculated direction, about an inter mode reference image index, about a motion vector, about a chroma component of a intra mode and about an interpolation method of intra mode. Also, information about a maximum size of the encoding unit defined according to images, cuts, or GOPs, and information about a maximum depth can be inserted into a header of a bitstream.
In video encoding apparatus 100, the deepest encoding unit may be an encoding unit obtained by dividing by two a height or width of a higher depth encoding unit, which is one layer up. In other words, when the size of the current depth encoding unit is 2Nx2N, the size of the lowest depth encoding unit is NxN. Also, the coding unit with the current depth that is 2Nx2N in size can include a maximum of 4 of the coding unit with the lowest depth.
Consequently, the encoding apparatus -'- 3e video 100 can form the units of ~ '”Cüd ± f Ttrarrbón — which have the tree structure by determining encoding units that are optimally shaped and optimally sized for each maximum encoding unit , based on the size of the maximum encoding unit and the maximum depth determined considering the characteristics of the current image. Also, since the encoding can be performed in each maximum encoding unit by using any of the various prediction modes and transformations, an optimal encoding mode can be determined by considering encoding unit characteristics of various image sizes.
In this way, if an image that has a high resolution or a large amount of data is encoded in a conventional macroblock, a number of macroblocks per image increases excessively. Consequently, a number of pieces of compressed information generated for each macroblock increases and thus it is difficult to transmit the compressed information and the efficiency of data compression decreases. However, by using the video encoding apparatus 100, the image compression efficiency can be increased since one encoding unit is adjusted while considering the characteristics of an image while increasing a maximum size of one encoding unit. . . miéñtrassifs ^ '' considers an image size. --------—
FIGURE 2 is a block diagram of a video decoding apparatus 200, in accordance with an embodiment of the present invention.
The video decoding apparatus 200 includes a receiver 210, an image data extractor and encoding information 220, and an image data decoder 230. The definitions of various terms, such as an encoding unit, a depth, a prediction unit, a transformation unit, and information about various encoding modes, for various operations of the video decoding apparatus 200 are identical to those described with reference to FIGURE i and video encoding apparatus 100.
Receiver 210 receives and analyzes a bit stream of encoded video. The encoding information and image data extractor 220 extracts encoded image data for each encoding unit from the analyzed bitstream, where the encoding units have a tree structure according to each maximum encoding unit and sends the data output to the image data decoder 230. The encoding information and image data extractor 220 can extract information about a maximum size of one unit of <sup>ιχ</sup> , <sup>1</sup> - ·. ·.>. V. <'.> -<sup>-</sup> *
.. 1 'f -' Ζ l_ ** Λ3ΐ ^ encoding of a current image, of a heading approaches the current image.
Also, the encoding information and image data extractor 220 extracts information about an encoded depth and an encoding mode for encoding units having a tree structure according to each maximum encoding unit, from the analyzed bitstream. . The extracted information about the encoded depth and the encoding mode is sent to the image data decoder 230. In other words, the image data in a bit stream is divided into the maximum encoding unit such that the image data decoder 230 decodes the image data for each maximum encoding unit.
The information about the encoded depth and the encoding mode according to the maximum encoding unit can be set for the information about at least one encoding unit corresponding to the encoded depth and the information about an encoding mode may include information about a partition type of a corresponding encoding unit that corresponds to the encoded depth, about a prediction mode and a size of a transformation unit. Also, the division information according to depths can be extracted as the
<img file="MX354500B_D0021.tif" />
information about the coded depth.
The information about the depth encoded and the encoding mode according to each maximum encoding unit extracted by the image data extractor and encoding information 220 is information about an encoded depth and a certain encoding mode to generate. minimal encoding error when an encoder, such as video encoding apparatus 100, repeatedly performs encoding for each deepest encoding unit according to depths according to each maximum encoding unit. Accordingly, the video decoding apparatus 200 can restore an image by decoding the image data according to a coded depth and a coding mode that generates the minimum coding error.
Since the encoding information about the encoded depth and the encoding mode can be assigned to a predetermined data unit from among a corresponding encoding unit, a prediction unit and a minimum unit, the image and information data extractor. Encoding 220 can extract the information about the encoded depth and the encoding mode according to the predetermined data units. If the information about a depth
<img file="MX354500B_D0022.tif" />
ΙΝ3ΤΗ J
M i encoded and a mode of encoding a corresponding maximum encryption value is registered — de-scróó © · with the predetermined data units, it can be deduced that the predetermined data units to which the same information is assigned about the encoded depth and the encoding mode are the data units included in the same maximum encoding unit.
The image data decoder 230 restores the current image by decoding the image data in each maximum encoding unit based on the information about the encoded depth and the encoding mode according to the maximum encoding units. In other words, the image data decoder 230 can decode the encoded image data based on the information extracted near the partition type, prediction mode and transformation unit for each encoding unit from among the encoding units. that have the tree structure included in each maximum encoding unit. A decoding process can include a prediction that includes intra-prediction and motion compensation and an inverse transformation.
The 23 0 image data decoder can
<td>perform</td><td>a</td><td>intra-prediction or a</td><td>compensation</td><td>of</td>
<td>movement</td><td>of</td><td>according to a partition</td><td>and a way</td><td>of</td>
<td>prediction</td><td>of</td><td>each encoding unit,</td><td>based on</td><td>the</td>
information about partition type and '7rtibdo' ~ -cte 'prediction unit prediction dé<sup>r</sup> the UhÍGad ”~ cte · encoding according to encoded depths.
Also, the image data decoder 230 can perform a reverse transformation according to each transformation unit in the encoding unit, based on the information about the transformation unit size of the encoding unit according to encoded depths. , in order to carry out the inverse transformation according to maximum coding units.
The image data decoder 23 0 can determine at least one encoded depth of a current maximum encoding unit by using division information according to depths. If the division information indicates that the image data is no longer divided into the current depth, the current depth is a coded depth. Accordingly, the image data decoder 230 can decode encoded data from at least one encoding unit corresponding to each encoded depth in the current maximum encoding unit by using the information about the partition type of the drive unit. prediction, prediction mode, and transformation unit size for each encoding unit that corresponds to the
IMPI> '.. F?! CaNO
555-7T? Vs ^ s ^ Míi ^ ·
INSTITUTE
9¿ Ι.Λ coded depth.
In other words, the data units containing the encoding information including the same division information can be gathered by looking at the encoding information set assigned to the predetermined data unit from among the encoding unit, the prediction unit and the minimum unit and the assembled data units can be considered to be a data unit that is decoded by the image data decoder 230 in the same encoding mode.
The video decoding apparatus 200 can obtain information about at least one encoding unit that generates the minimum encoding error when the encoding is performed recursively for each maximum encoding unit and can use the information to decode the current image. In other words, the encoding units having the determined tree structure which are the optimal encoding units in each maximum encoding unit can be decoded.
Accordingly, even if the image data has high resolution and a large amount of data, the image data can be efficiently decoded and can be restored by using an encoding unit size and encoding mode, the which are determined adaptively according to the
<img file="MX354500B_D0023.tif" />
I VAT ίΝ $; 7 '<sub>;</sub> .·.
characteristics of the image data, mediañté .el ,. ' us.p _ information about an optimal rndi fi rAction mode received from an encoder.
A method of determining encoding units having a tree structure, a prediction unit, and a transformation unit, in accordance with an embodiment of the present invention, will now be described with reference to FIGURES 3 through 13.
FIGURE 3 is a diagram for describing a concept of encoding units in accordance with an embodiment of the present invention.
A size of a coding unit can be expressed in width x height and can be 64x64, 32x32, 16x16 and 8x8. A 64x64 encoding unit can be divided into 64x64, 64x32, 32x64 or 32x32 partitions and a 32x32 encoding unit can be divided into 32x32, 32x16, 16x32 or 16x16 partitions, a 16x16 encoding unit can be divided into 16x16, 16x8, 8x16 u partitions
8x8 and an 8x8 encoding unit can be divided into 8x8, 8x4, 4x8, or 4x4 partitions.
In video data 310, a resolution is
1920x1080, a maximum size of one encoding unit is 64, and a maximum depth is 2. In 320 video data, a resolution is 1920x1080, a maximum size of one encoding unit is 64, and a maximum depth of 3.
<img file="MX354500B_D0024.tif" />
video data 330, a resolution is 3 52x288, 'a maximum size-1- ·' 'of an encoding unit is 16, and Tina • depth ^ ,,, maximum is 1. The maximum depth shown in FIGURE 3 indicates a total number of divisions from a maximum encoding unit to a minimum decoding unit.
If a resolution is high or a data amount is large, a maximum size of one encoding unit can be large in order not only to increase encoding efficiency but also to accurately reflect the characteristics of an image. Accordingly, the maximum size of the encoding unit for video data 310 and 320 having a higher resolution than video data 330 may be 64.
Since the maximum depth of the video data 310 is 2, the encoding units 315 of the video data 310 may include a maximum encoding unit that has a long axis size of 64 and encoding units that have axis sizes length of 32 and 16 since the depths are greater than two layers when dividing twice the maximum coding unit. Meanwhile, since the maximum depth of the video data
330 is 1, the encoding units 335 of the video data 330 may include a maximum encoding unit having a long axis size of 16 and encoding units having a long axis size of 8 post
ΙΜΡϊ jf-vriv- '. ·. <;
that the depths are greater than one layer when dividing. uíxaX 'time the maximum encoding unit. ________________
Since the maximum depth of the video data 320 is 3, the encoding units 325 of the video data 320 can include a maximum encoding unit that has a long axis size of 64 and encoding units that have axis sizes length of 32, 16 and 8 since the depths are greater than 3 layers when dividing three times the maximum coding unit. As depth increases, detailed information can be accurately expressed.
FIGURE 4 is a block diagram of an image encoder 400 based on encoding units, in accordance with an embodiment of the present invention.
The image encoder 400 performs operations of the encoder unit determiner 120 of the video encoding apparatus 100 to encode image data. In other words, an intra-predictor 410 performs an intra-prediction in encoding units in an intra mode, between a current frame 405 and a motion estimator 420 and a motion compensator 425 performs an inter-estimation and a motion compensation on encoding units in an inter mode between the current frame 405 by using the current frame 405 and a frame of
<img file="MX354500B_D0025.tif" />
reference 495.
The data sent from the intra-predict ^? - 41-0½ — the ~ 420 motion estimator and the motion compensator
425 they are sent as a quantized transform coefficient through a 43 0 transformer and a 440 quantizer. The quantized transform coefficient is restored as data in a spatial domain through an inverse quantizer 460 and an inverse transformer 470 and the data restored in the spatial domain are sent as the reference frame 495 after being post-processed through an unlock unit 480 and a loop filter unit 490. The quantized transform coefficient can be sent as a 455 bit stream through an entropic encoder
450.
In order for the image encoder 400 to be applied to the video encoding apparatus 100, all the elements of the image encoder 400, i.e. the intra-predictor 410, the motion estimator 420, the motion compensator 425 , 43 0 transformer, 440 quantizer, 450 entropic encoder, 460 inverse quantizer, 470 reverse transformer, 480 unlocking unit, and loop filter unit
0 perform operations based on each encoding unit among encoding units that have a> · / 4;> π. · -χ'ύΛ '-' ·
ΙΝ-. . . '. · ''. .. · »tree structure while considering the maximum proi of each maximum coding unit
Specifically, the intra-predictor 410, motion estimator 420 and motion compensator 425 determine partitions and a prediction mode of each encoding unit from among the encoding units having a tree structure while considering the maximum size and maximum depth of an encoding unit current maximum and transformer 430 determines the size of the transformation unit in each encoding unit from among the encoding units that have a structure arboreal.
FIGURE 5 is a block diagram of an encoder unit-based image decoder 500, in accordance with an embodiment of the present invention.
An analyzer 510 analyzes encoded image data that is decoded and information about the encoding required for decoding a bit stream 505. The encoded image data is sent as reverse quantized data through an entropic decoder 520 and a reverse quantizer. 530 and the inverse quantized data are restored to image data in a spatial domain through an inverse transformer 540.
INS?
An intra-predictor 550 performs an in<sup>or</sup>he<sup>i</sup>a, Tprédi- © ciÓiX<sup>!/>/ </sup>in encoding units in an intr.a mode ..... with,. regarding — the image data in the spatial domain and a motion compensator 560 performs motion compensation in encoding units in an integer mode by using a reference frame 585.
Image data in the spatial domain, which passed through intra-predictor 550 and motion compensator 560, can be sent as a restored frame 595 after being post-processed via an unlock unit 570 and a Loop Filtering Unit 580. Also, image data that is postprocessed through Unlock Unit 570 and Loop Filtering Unit 580 can be sent as reference frame 585.
For the purpose of decoding the image data in the image data decoder 230 of the video decoding apparatus 200, the image decoder 500 can perform operations that are performed after the analyzer 510.
For the purpose of the image decoder 500 being applied in the video decoding apparatus 200, all the elements of the image decoder 500, i.e. the analyzer 510, the entropic decoder 520, the inverse quantizer 530, the reverse transformer
540, the intra-predictor 550,
<img file="MX354500B_D0026.tif" />
i the compensator oe muvnui e ± ittx
560, unlock unit 570, and loop unit 580 perform operations based on encoding units that have a tree structure for each maximum encoding unit.
Specifically, intra prediction 550 and motion compensator 560 perform partition-based operations and a prediction mode for each of the encoding units that have a tree structure, and inverse transformer 540 performs operations based on a size of one transformation unit for each coding unit.
FIGURE 6 is a diagram illustrating deeper encoding units according to depths and partitions, according to an embodiment of the present invention.
The video encoding apparatus 100 and the video decoding apparatus 200 use hierarchical encoding units in order to consider characteristics of an image. A maximum height, maximum width and maximum depth of the encoding units can be adaptively determined according to the image characteristics or can be adjusted differently by a user. The sizes of the deepest encoding units according to the
<img file="MX354500B_D0027.tif" />
In a hierarchical structure 600 of encoding units, in accordance with an embodiment of the present invention, the maximum height and maximum width of the encoding units are each 64 and the maximum depth is 4. Since a depth increases by along a vertical axis of the hierarchical structure 6 00, a height and a width of the deepest coding unit are each divided. Also, a prediction unit and partitions, which are bases for the prediction coding of each deeper coding unit, are shown along a horizontal axis of hierarchical structure 600.
In other words, an encoding unit 610 is a maximum encoding unit in hierarchical structure 600, where a depth is 0 and a size, that is, height by width, is 64x64. The depth increases along the vertical axis and there is a 62 0 coding unit having a size of 32x32 and a depth of 1, and a 630 coding unit having a size of 16x16 and a depth of 2, a unit of 640 encoding that has a size of 8x8 and a depth of 3 and a 650 encoding unit that has a size of 4x4 and a depth of 4. The 650 encoding unit that yy% '·' / <
it is 4x4 in size and the depth of 4 is a unit of ^ minimum encoding. "* '
The prediction unit and partitions of a
<td>unit of</td><td colspan="2">coding</td><td>are preparing to</td><td>the length</td><td>of the</td><td>axis</td>
<td>horizontal</td><td>of</td><td>agreement</td><td colspan="2">with each depth.</td><td colspan="2">In others</td>
<td>words,</td><td>yes the</td><td>Unit</td><td>coding</td><td>610 that</td><td>has</td><td>a</td>
<td>size of</td><td>64x64</td><td>and one</td><td>depth 0</td><td>is a</td><td>Unit</td><td>of</td>
<td>prediction,</td><td>, the</td><td>Unit</td><td>prediction it</td><td colspan="2">can divide</td><td>in</td>
partitions included in encoding unit 610, i.e. a 610 partition that is 64x64 in size, 612 partitions that are 64x32 in size, partitions
614 that are 32x64 in size or 616 partitions that are 32x32 in size.
Similarly, a 620 encoding unit prediction unit having the size of 32x32 and a depth of 1 can be divided into partitions included in the 620 encoding unit, i.e. a 620 partition having a size of 32x32, 622 partitions that have a size of 32x16, partitions 624 that have a size of
16x32 and 626 partitions that are 16x16 in size.
Similarly, a prediction unit of the 630 encoding unit having the size of 16x16 and the depth of 2 can be divided into partitions included in the 630 encoding unit, i.e. a partition having a size of 16x16 included in the unit encoding 630, 632 partitions that are 'efe 16x8' size, 634 partitions that are ^ '”3é' 8x16 in size, and 636 partitions that are 8x8 in size.
Similarly, a 640 encoding unit prediction unit having the size of 8x8 and depth of 3 can be divided into partitions included in the 640 encoding unit, i.e. a partition that is 8x8 size included in the unit coding
640, 642 partitions that are 8x4 in size, 644 partitions that are 4x8 in size, and 646 partitions that are 4x4 in size.
The 650 coding unit having the size of 4x4 and the depth of 4 is the minimum coding unit and one coding unit of the lowest depth. A coding unit prediction unit 65 0 is only assigned to a partition that has a size of
4x4.
For the purpose of determining at least the encoded depth of the encoding units constituting the maximum encoding unit 610, the encoding unit determiner 120 of the video encoding apparatus 100 performs the encoding of encoding units corresponding to each depth included in the maximum coding unit 610.
A number of deeper encoding units
<img file="MX354500B_D0028.tif" />
according to depths that include data in the 'mismcX range and the same size increases as the' prÓfürídida'S '' *<sup></sup>increases. For example, four coding units corresponding to a depth of 2 are required to cover data that is included in a coding unit corresponding to a depth of 1. Therefore, for the purpose of comparing coding results of the same data According to depths, the coding unit corresponding to the depth of 1 and four coding units corresponding to the depth of each are coded.
For the purpose of encoding a current depth from among the depths, at least one encoding error can be selected for the current depth by encoding each prediction unit in the encoding units corresponding to the current depth , along the horizontal axis of hierarchical structure 600. Alternatively, the minimum coding error can be searched by comparing the minimum coding errors according to depths, by coding each depth as the depth increases along the vertical axis of hierarchical structure 600. A depth and partition that have the minimum encoding error in encoding unit 610 can be selected as the encoded depth and a partition type of encoding-unit 610.
FIGURE 7 is a diagram for describing a relationship between a coding unit 710 and transformation units 720, in accordance with an embodiment of the present invention.
Video encoding apparatus 100 or video decoding apparatus 200 encodes or decodes an image according to encoding units having sizes smaller than or equal to a maximum encoding unit for each maximum encoding unit. Transformation unit sizes for transformation during encoding can be selected based on data units that are no larger than a corresponding encoding unit.
For example, in the video encoding apparatus 100 or the video decoding apparatus 200, if a size of the encoding unit 710 is 64x64, the transformation can be performed by using the transformation units 720 having a size 32x32.
Also, data from the 710 encoding unit that is 64x64 in size can be encoded by performing the transformation in each of the transformation units that are 32x32, 16x16, 8x8, and 4x4 in size, which are smaller than 64x64 and then it
<img file="MX354500B_D0029.tif" />
you can select a transformation unit that has the minimum encoding error.
FIGURE 8 is a diagram for describing encoding information of encoding units corresponding to an encoded depth, in accordance with an embodiment of the present invention.
The output unit 130 of the video encoding apparatus 100 can encode and transmit information 800 about a partition type, information 810 about a prediction mode, and information 820 about a size of a transformation unit for each encoding unit. corresponding to a coded depth, such as information about a coding mode.
Information 800 indicates information about a shape of a partition obtained by dividing a prediction unit from a current encoding unit, wherein the partition is a data unit to predictably encode the current encoding unit. For example, a current CU_0 encoding unit that is 2Nx2N in size can be split into any one of an 802 partition that is 2Nx2N in size, an 804 partition that is 2NxN in size, an 806 partition that is Nx2N in size and an 808 partition that is NxN in size. In this document, information 800 about a partition type is set to indicate one of partition 804 that has
TW<sup>;</sup>f / IMSTITIJ-¡, ·. 'DE I λ Γ - -; ,.,
ΙΝί, υ s: „<sub>iA</sub> i, · <^ ·· £: ζ 'a size of 2NxN, partition 806 which has a size cTe
Nx2N and partition 808 which is NxN in size.
Information 810 indicates a prediction mode for each partition. For example, information 810 may indicate a prediction encoding mode performed on a partition indicated by information 800, i.e., a mode
<td colspan="3">intra 812, an inter 814 mode</td><td>or a way of</td><td>omission</td><td> 816 .</td><td></td>
<td>The</td><td colspan="2">information</td><td>820 indicates</td><td>a</td><td>Unit</td><td>of</td>
<td>transformation</td><td>in the</td><td>which one</td><td>based when</td><td colspan="2">The transformation</td><td>I know</td>
<td>performed in a</td><td>Unit</td><td colspan="3">current encoding. By</td><td>example,</td><td>the</td>
<td colspan="4">transformation unit can be a</td><td>first</td><td>Unit</td><td>of</td>
<td colspan="2">intra-transformation</td><td> 822,</td><td>A second</td><td>Unit</td><td colspan="2">intra-</td>
<td>transformation</td><td> 824,</td><td>a</td><td colspan="2">first unit</td><td colspan="2">of inter-</td>
<td>transformation</td><td> 826</td><td colspan="2">or a second</td><td>Unit</td><td colspan="2">intra-</td>
<td>transformation</td><td> 828.</td><td></td><td></td><td></td><td></td><td></td>
The image data extractor and encoding information 220 of the video decoding apparatus 200 can extract and use the information 800, 810 and 820 for decoding, according to each deeper encoding unit.
FIGURE 9 is a diagram of deeper coding units according to depths, in accordance with an embodiment of the present invention.
The division information can be used to indicate a change in depth. The information of
IMPI '“' ES? / 'JÍS?
division indicates whether a current depth encoding unit is divided into units of ...... or lower depth units.
A prediction unit 910 for predictably encoding an encoding unit 900 having a depth of 0 and a size of 2N_0x2N_0 may include partitions of a partition type 912 having a size of 2N_0x2N_0, a partition type 914 having a size 2N_0xN_0, a partition type 916 that is N_0x2N_0, and a partition type 918 that is N_0xN_0. FIGURE 9 illustrates only partition types 912 through 918 which are obtained by symmetrically dividing prediction unit 910, but a partition type is not limited thereto, and prediction unit 910 partitions may include asymmetric partitions. , partitions that have a default shape, and partitions that have a geometric shape.
Predictive encoding is done repeatedly on one partition that is 2N_0x2N_0 in size, two partitions that are 2N_OxN_0 in size, two partitions that are N_0x2N_0 in size, and four partitions that are N_0xN_0 in size, according to each partition type . Predictive coding in an intra mode and an inter mode can be performed on partitions that have the sizes of 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 and N_0xN_0. The
Τ Μ 7 7 ?, 7 1ίν i. <sup>¡</sup>! '·' R instituted. r. <d μ lz. ; «C,>, w;<sub>TO</sub> '3 Xs-z iNi ustiual - ^ u «-;> - * predictive encoding in a bypass mode is performed only on the partition that is 2N_0x2N_0 in size.
If an encoding error is the smallest in one of partition types 912 through 916, the prediction unit 910 may not be divided into a lower depth.
If the encoding error is the smallest in partition type 918, a depth is changed from 0 to 1 to divide partition type 918 in operation 920, and encoding is repeatedly performed in 930 encoding units that have a depth of 2 and a size of N_0xN_0 to look for a minimal encoding error.
A prediction unit 940 for predictively encoding the encoding unit 930 having a depth of 1 and a size of 2N_lx2N_l (= N_0xN_0) can include partitions of a partition type 942 that has a
<td>size</td><td>of</td><td>2N_lx2N_l,</td><td>a</td><td>type</td><td>of</td><td>partition</td><td> 944</td><td>than</td><td>has</td><td>a</td>
<td>size</td><td>of</td><td>2N_lxN_l,</td><td>a</td><td>type</td><td>of</td><td>partition</td><td> 946</td><td>than</td><td>has</td><td>a</td>
<td>size</td><td>of</td><td>N_lx2N_l and</td><td>a</td><td>type</td><td>of</td><td>partition</td><td> 948</td><td>than</td><td>has</td><td>a</td>
<td>size</td><td>of</td><td>N_lxN_l.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td></td><td></td><td>If a mistake</td><td>of</td><td colspan="3">coding is the</td><td>plus</td><td colspan="2">small in</td><td>the</td>
partition type 948, a depth is changed from 1 to 2 to divide the partition type 948 in step 950 and the encoding is performed repeatedly on the 960 encoding units, which have a depth of 2 and a
<img file="MX354500B_D0030.tif" />
minimum N_2xN_2 size.
to look for a coding error
When a maximum depth is d, the division operation according to each depth can be performed up to when a depth becomes d-1 and the division information can be encoded up to when a depth is one from 0 to d-2. In other words, when encoding is performed up to when the depth is d-1 after a coding unit corresponding to a depth of d-2 is divided into step 97 0, a prediction unit 990 to encode so predictive a 980 encoding unit that has a depth of d-1 and a size of 2N_ (d-1) x2N_ (d-1) can include partitions of a partition type 992 that is 2N_ (dl) x2N_ ( d1), a partition type 994 that is 2N_ (dl) xN_ (dl), a partition type 996 that is N_ (dl) x2N_ (dl), and a partition type 998 that is N_ ( d-1) xN_ (dl).
<td>The</td><td>coding</td><td>predictive</td><td>I know</td><td>can</td><td>perform</td>
<td>repeatedly</td><td colspan="2">on a partition that has</td><td>a</td><td>size</td><td>2N_ (d-</td>
<td>l) x2N_ (dl),</td><td>two partitions</td><td>that have</td><td>a</td><td>size</td><td>2N_ (d-</td>
<td colspan="2">l) xN_ (dl), two partitions</td><td>that have</td><td>a</td><td>size</td><td>of N_ (d-</td>
l) x2N_ (dl), four partitions that have a size of N_ (dl) xN_ (dl) from partition types 992 to 998 to find a partition type that has an error of
IΜ Ρ ϊ ΖΡΤΙ,
Λ. .i. -1 Λ η '75 7. -7,. . ,,. ινπ minimal encoding.
Even when partition type 998 has the minimum encoding error, since a maximum depth is d, a CU_ (dl) encoding unit that has a depth of d-1 is no longer split to a lower depth and depth encoded for the encoding units constituting a maximum encoding unit, current 9 00 is determined to be d-1 and a partition type of the maximum encoding unit, current 900 can be determined to be N_ (dl) xN_ (dl ). Also, since the maximum depth is d and a minimum 980 encoding unit that has a lower depth of d-1 is no longer divided to a lower depth, the division information for the 980 minimum encoding unit is not set.
A 999 data unit can be a minimum unit for the current maximum encoding unit. A minimum unit in accordance with an embodiment of the present invention may be a square data unit obtained by dividing a minimum coding unit 980 by 4. By repeatedly encoding, the video encoding apparatus 100 can select a depth that has the minimum encoding error by comparing encoding errors according to the depths of the encoding unit 900 to determine an encoded depth, and can set a type corresponding partition and a
Λ. ___ χ ·.
instituí :: υ ·) ·· ·· prediction mode as a coding modecmOm 3eLEiLa <
coded depth. ..... .................................
As such, the minimum coding errors according to depths are compared at all depths from 1 to d and a depth having the minimum coding error can be determined as a coded depth. The encoded depth, the prediction unit partition type and the prediction mode can be encoded and transmitted as information about an encoding mode. Also, since a coding unit is divided from a depth of 0 to a coded depth, only the coded depth division information is set to 0 and the depth division information excluding the coded depth is set to 1.
The encoding information and image data extractor 220 of the video decoding apparatus 200 can extract and use the information about the encoded depth and the prediction unit of the encoding unit 900 to decode partition 912. The video decoding apparatus 200 can determine a depth, at which the division information is 0, as a depth encoded by using division information according to depths, and can use information about a mode of encoding the
JM ipT
Jk 'j · ... 1. HA i, 'V
IMST ',': JUCA-h
L'i o ···,. . ·. ... / '>
corresponding depth for decoding<sup>goes</sup>FIGURES 10 through 12 are —stapramsrs — to— describe a relationship between encoding units 1010, prediction units 1060, and transformation units 1070, in accordance with one embodiment of the present invention.
The encoding units 1010 are encoding units that have a tree structure, corresponding to encoded depths that are determined by the video encoding apparatus 100, in a maximum encoding unit. Prediction units 1060 are prediction unit partitions of each of the 1010 encoding units and transformation units 1070 are transformation units of each of the 1010 encoding units.
When a depth of a maximum coding unit is 0 in the coding units
1010, the depths of coding units 1012 and 1054 are 1, the depths of coding units 1014, 1016, 1018, 1028, 1050 and 1052 are 2, the depths of coding units 1020, 1022,
1024, 1026, 1030, 1032 and 1048 are 3 and the depths of the 1040, 1042, 1044 and 1046 encoding units are 4.
In 1060 prediction units, some 1014, 1016, 1022, 1032, 1048, 1050 encoding units,
1052 and 1054 are obtained by dividing the units of
<img file="MX354500B_D0031.tif" />
'· - 1 encoding in encoding units Γ0<sup>!</sup>ΊΟ<sup>:</sup>; · “Éif'-crtras words, partition types in — bars — units' dte '' encoding 1014, 1022, 1050 and 1054 have a size of
2NxN, the partition types in encoding units 1016, 1048, and 1052 are Nx2N in size and a partition type of encoding unit 1032 is NxN in size. The prediction units and partitions of the 1010 encoding units are smaller than or equal to each encoding unit.
The transformation or reverse transformation is performed on image data from encoding unit 1052 into transformation units 1070 in a data unit that is smaller than encoding unit 1052.
Also, the 1014, 1016, 1022, 1032 encoding units,
1048, 1050, and 1052 in transformation units 1070 are different from those in prediction units 1060 in terms of sizes and shapes. In other words, the video encoding and decoding apparatus 100 and 200 can perform intra-prediction, motion estimation, motion compensation, transformation, and inverse transformation individually in one data unit in the same encoding unit.
Consequently, the coding is performed recursively in each of the coding units that have a hierarchical structure in each region of a
<img file="MX354500B_D0032.tif" />
> »'J maximum encoding unit to determine a unit<sup>-</sup>of optimal coding and in this way it is possible to obtain coding units that have a recursive tree structure. The encoding information may include division information about an encoding unit, information about a partition type, information about a prediction mode, and information about a size of a transformation unit. Table 1 shows the encoding information that can be set by the video encoding and decoding apparatus 100 and 200.
Table 1
<td colspan="5">Division 0 Information (Coding in a Coding Unit that has a Size of 2Nx2N and a Current Depth of d)</td><td>information Division 1</td>
<td>Mode of Prediction</td><td colspan="2">Partition Type</td><td colspan="2">Unit Size T ransformation</td><td rowspan="2">Encode Repeatedly Units of Coding they have one more depth Drop from d + 1</td>
<td>Intra Inter Skip (Solo 2Nx2N)</td><td>Kind of Partition Symmetric</td><td>Kind of Partition Asymmetric</td><td>Information of Division 0 of the Unit of T ransformation</td><td>Information of Division 1 of the Unit of Transformation</td>
<td></td><td>2Nx2N 2NxN Nx2N NxN</td><td>2NxnU 2NxnD nl_x2N nRx2N</td><td>2Nx2N</td><td>NxN (Type Symmetrical) N / 2xN / 2 (Type Asymmetric)</td><td></td>
The output unit 130 of the video encoding apparatus 100 can send the encoding information about the encoding units having a tree structure and the encoder information and image data extractor 220 of the decoding apparatus / '.' ·. , χ · ζ 'v:>
Video 200 can extract the encoding information about the encoding units that have a tree structure from a received bitstream.
The division information indicates whether a current encoding unit is divided into encoding units of a lower depth. If the division information of a current depth d is 0, a depth, in which a current encoding unit is no longer divided into a lower depth, is an encoded depth and thus information about a partition type , prediction mode and a size of a transformation unit can be defined for the coded depth. If the current encoding unit is further divided according to the division information, the encoding is performed independently into four divided encoding units of a lower depth.
A prediction mode can be one of an intra mode, an inter mode, and a skip mode. Intra mode and inter mode can be defined on all partition types, and bypass mode is defined only on a partition type that is 2Nx2N in size.
Information about the partition type can indicate symmetric partition types that have
2Nx2N, 2NxN, Nx2N and NxN, which are obtained by symmetrically dividing a height or a width of a unit of
<img file="MX354500B_D0033.tif" />
prediction, and asymmetric partition types that have sizes of 2NxnU, 2NxnD, nLx2N, and nRx2N, which are obtained by asymmetrically dividing the height or width of the prediction unit. The asymmetric partition types that have the sizes of 2NxnU and 2NxnD can be obtained respectively by dividing the height of the prediction unit into 1: 3 and 3: 1 and the asymmetric partition types that have the sizes of nLx2N and nRx2N can be obtained Obtain respectively by dividing the width of the prediction unit into 1: 3 and 3: 1.
The transformation unit size can be set to be two types in intra mode and two types in inter mode. In other words, if the transformation information of the transformation unit is 0, the size of the transformation unit can be 2Nx2N, which is the size of the current encoding unit. If the transformation unit division information is 1, the transformation units can be obtained by dividing the current encoding unit. Also, if a partition type of the current encoding unit that is 2Nx2N in size is a symmetric partition type, a transformation unit size can be NxN and if the partition type of the current encoding unit is a Asymmetric partition type, the transformation unit size can be N / 2xN / 2.
Λ Λ <sup>1</sup> >
Coding information about coding units that have a tree-structure: 'may * include at least one of a coding unit that corresponds to a coded depth, a prediction unit, and a minimum unit. The coding unit corresponding to the coded depth can include at least one of a prediction unit and a minimum unit containing the same coding information.
Accordingly, it is determined whether adjacent data units are included in the same encoding unit that corresponds to the encoded depth by comparing the encoding information of the adjacent data units. Also, a respective coding unit corresponding to a coded depth is determined by using coding information from a data unit and thus a coded depth distribution can be determined in a maximum coding unit.
Accordingly, if a current encoding unit is predicted based on encoding information from adjacent data units, the encoding information from data units in deeper encoding units adjacent to the current encoding unit can be directly referenced and used. .
Alternatively, if a coding unit
<img file="MX354500B_D0034.tif" />
/ 7 7 / '777 ^ current is predicted based on encoding information from · -' adjacent data units, units —— from — dates -'— · adjacent to the current encoding unit are searched using encoded information from the Data units and the adjacent, searched encoding units can be referred for prediction of the current encoding unit.
FIGURE 13 is a diagram for describing a relationship between an encoding unit, a prediction unit, or a partition and a transformation unit, according to the encoding mode information in the
Table 1.
A maximum 1300 encoding unit includes encoding units 1302, 1304, 1306, 1312, 1314, 1316 and
1318 of coded depths. In this document, since the 1318 encoding unit is an encoding unit of an encoded depth, the division information can be set to 0. The information about a partition type of the 1318 encoding unit that is 2Nx2N in size. can be set to be one of a partition type 1322 that is 2Nx2N in size, a partition type 1324 that is 2NxN in size, a type of
<td>partition</td><td> 1326</td><td>than</td><td>has</td><td>a</td><td>size</td><td>of</td><td>Nx2N,</td><td>a</td><td>type</td><td>of</td>
<td>partition</td><td> 1328</td><td>than</td><td>has</td><td>a</td><td>size</td><td>of</td><td>NxN,</td><td>a</td><td>type</td><td>of</td>
<td>partition</td><td> 1332</td><td>than</td><td>has</td><td>a</td><td>size</td><td>of</td><td>2NxnU,</td><td>a</td><td>type</td><td>of</td>
partition 1334 which is 2NxnD in size, a type ~ dé ^ partition 133 6 which is nLxTTÑ and '<sup>J</sup> üh type 3e ”partition 1338 that has a size of nRx2N.
When the partition type is set to be symmetric, i.e. partition type 1322, 1324, 1326, or 1328, a transformation unit 1342 that is 2Nx2N in size is set if the partition information (TU size indicator ) of a transformation unit is 0 and a 1344 transformation unit that has a size of NxN is set if a TU size indicator is 1.
When the partition type is set to be asymmetric, i.e. partition type 1332, 1334,
1336 or 1338, a 1352 transformation unit that is 2Nx2N in size is set if a TU size indicator is 0 and a 1354 transformation unit that is N / 2xN / 2 size is set if a TU size indicator is 1.
Hereinafter, the intra-prediction performed in a prediction unit by the intra-predictor 410 of the video encoding apparatus 100 of FIGURE 4 and the intra-predictor 550 of the video decoding apparatus
200 FIGURE 5 will be described in detail.
Intra predictors 410 and 550 perform an intra prediction to obtain a prediction value of a current prediction unit using adjacent pixels of the current prediction unit. Whereas a unit
<img file="MX354500B_D0035.tif" />
prediction is equal to or greater than 16x16 in size, intra-predictors 410 and 550 additionally perform an intra-prediction mode that has multiple directivities using a parameter (dx, dy) as well as an intra-prediction mode that it has a limited directivity according to a related technique. The intraprediction mode having various directivities in accordance with an embodiment of the present invention will be described in detail below.
FIGURE 14 is a table showing a number of intra-prediction modes according to a prediction unit size, according to an embodiment of the present invention.
Intra-predictors 410 and 550 can variously set the number of intra-prediction modes that apply to the prediction unit according to the size of the prediction unit. For example, referring to FIGURE 14, when the size of the prediction unit that is intra-predicted is NxN, the numbers of intra-prediction modes actually performed in the prediction units having the sizes of 2x2, 4x4, 8x8, 16x16,
32x32, 64x64 and 128x128 can be respectively set to 5, 9, 9, 17, 33, 5 and 5 in Example 2. The number of intra-prediction modes actually performed differs according to the size of the prediction unit due to that
<img file="MX354500B_D0036.tif" />
Information attached to the encoding prediction mode information differs according to the size of the prediction unit. In other words, although a portion of a prediction unit occupying an entire image is small, the information attached to transmit additional information, such as a prediction mode of this small prediction unit, may be large. Therefore, when a prediction unit that is small in size is encoded in many prediction modes, a number of bits may increase and thus the compression efficiency may decrease. Also, since a prediction unit having a large size, for example, a prediction unit having a size equal to or greater than 64x64, is generally selected in most cases as a prediction unit of a flat region of an image, may be insufficient in terms of compression efficiency to encode the prediction unit having a large size, which is selected in most cases to encode a flat region, in many prediction modes. Therefore, when a prediction unit size is very large or very small compared to a predetermined size, a relatively small number of intra-prediction modes can be applied. However, the number of intra-prediction modes applied according to the size of a prediction unit is not
<img file="MX354500B_D0037.tif" />
Limited to FIGURE 14 and may vary. The number of intra-prediction modes applied according to the size of a prediction unit, as shown in FIGURE 14, is only an example and may vary. Alternatively, the number of intra-prediction modes applied to the prediction unit can always be uniform regardless of the size of a prediction unit.
Intra predictors 410 and 550 may include, as an intra prediction mode applied to a prediction unit, an intra prediction mode that determines an adjacent reference pixel by using a line having a predetermined angle based on by one pixel in a prediction unit and the use of the adjacent reference pixel determined as a pixel predictor. The angle of this line can be set by using a parameter (dx, dy), where each of dx and dy are an integer. For example, when 33 prediction modes are respectively defined to be modes N, where N is an integer from 0 to 32, a mode 0 is set to a vertical mode, a mode 1 is set to a horizontal mode, a mode 2 is set to a DC mode, a mode 3 is set to a plane mode, and a mode 32 is set to a planar mode. Also, modes 4 through 31 can be defined to be intra-prediction modes that determine an adjacent reference pixel by using a line that has
<img file="MX354500B_D0038.tif" />
such a directivity<sup>x</sup>(dy / dx) that uses (dx, dy)
<td colspan="5">expressed respectively by (1, -1), (1,1), (1,2)</td><td> , (2,1),</td>
<td> (1,-2),</td><td> (2,1),</td><td> (1,-2),</td><td> (2,-1)</td><td> , (2,-11), (5,-7),</td><td> (10,-7),</td>
<td> (11,3),</td><td> (4,3),</td><td> (1,11),</td><td> (1,-1)</td><td> , (12,-3), (1,-11),</td><td> (1,-7) ,</td>
<td> (3,-10)</td><td> , (5,-6)</td><td> , (7,-6),</td><td> (7,-4),</td><td> , (11,1), (6,1), (8,3)</td><td> , (5,3),</td>
<td> (5,7),</td><td> (2,7) ,</td><td>(5, -7) and</td><td> (4,-3)</td><td>from Table 1, and the</td><td>use of</td>
adjacent reference pixel, determined for intra-prediction.
Table 2
<td>mode #</td><td>dx</td><td>dy</td><td>mode #</td><td>dx</td><td>dy</td>
<td>mode 4</td><td> 1</td><td> -1</td><td>mode 18</td><td> 1</td><td> -11</td>
<td>mode 5</td><td> 1</td><td> 1</td><td>mode 19</td><td> 1</td><td> -7</td>
<td>mode 6</td><td> 1</td><td> 2</td><td>mode 20</td><td> 3</td><td> -10</td>
<td>mode 7</td><td> 2</td><td> 1</td><td>mode 21</td><td> 5</td><td> -6</td>
<td>mode 8</td><td> 1</td><td> -2</td><td>mode 22</td><td> 7</td><td> -6</td>
<td>mode 9</td><td> 2</td><td> -1</td><td>mode 23</td><td> 7</td><td> -4</td>
<td>mode 10</td><td> 2</td><td> -11</td><td>mode 24</td><td> 11</td><td> 1</td>
<td>mode 11</td><td> 5</td><td> -7</td><td>mode 25</td><td> 6</td><td> 1</td>
<td>mode 12</td><td> 10</td><td> -7</td><td>mode 26</td><td> 8</td><td> 3</td>
<td>mode 13</td><td> 11</td><td> 3</td><td>mode 27</td><td> 5</td><td> 3</td>
<td>mode 14</td><td> 4</td><td> 3</td><td>mode 28</td><td> 5</td><td> 7</td>
<td>mode 15</td><td> 1</td><td> 11</td><td>mode 29</td><td> 2</td><td> 7</td>
<td>mode 16</td><td> 1</td><td> -1</td><td>mode 30</td><td> 5</td><td> -7</td>
<td>mode 17</td><td> 12</td><td> -3</td><td>mode 31</td><td> 4</td><td> -3</td>
<td colspan="6">mode 0 is a vertical mode, mode 1 is a horizontal mode, mode 2 is a DC mode, mode 3 is a planar mode and mode 32 is a planar mode.</td>
The number of intra-prediction modes used by intra-predictors 410 and 550 is not limited to the
Table 2 and may vary depending on whether a unit of
Ix. pr τ \, τ, ο,
ΙΜ. Actual current prediction is a chrominance component or a luminance component or a function of a current prediction unit size. Also, each N mode can indicate a different intra-prediction mode from the previous one.
For example, the number of intra-prediction modes may be 36, where mode 0 is a planar mode described below, mode 1 is a DC mode, modes 2 through 34 are intra-prediction modes having 33 directivities as described below and a 3 5 mode is an Intra_FromLuma intra-prediction mode that uses a prediction unit in a luminance component that corresponds to a prediction unit in a chrominance component. Mode 35, i.e. Intra_FromLuma intra-prediction mode using the prediction unit in the luminance component that corresponds to the prediction unit in the chrominance component only applies to the prediction unit in the chrominance component and is not used for intra-prediction of the prediction unit in the luminance component.
FIGURE 15 is a reference diagram for describing intra-prediction modes having various directivities, in accordance with an embodiment of the present invention.
As previously described, intra predictors 410 and 550 can determine a pixel of
IMPI
MEXICAN INSTITUTE Dt tA ΡίΟ '' '..'<sup>4</sup>,0
O UlSTiUaI
<img file="MX354500B_D0039.tif" />
adjacent reference by using a line that has an angle of tan '<sup>1</sup> (dy / dx) determined by a plurality of parameters (dx, dy) and can perform intra-prediction by using the determined, adjacent, reference pixel.
Referring to FIGURE 15, the adjacent pixels A and B located on an extension line 150 having an angle of tan '<sup>1</sup> (dy / dx) determined according to a value of (dx, dy) according to the intra-prediction modes of Table 2 based on a current pixel P that is predicted in a current prediction unit can be used as pixel predictors current P. In this document, an adjacent pixel used as a predictor may be a pixel from a previous prediction unit that is precoded and pre-restored and is located either above, to the left, higher to the right, or lower to the left. of a current prediction unit. As such, by performing predictive encoding according to intraprediction modes having various directivities, compression can be performed effectively according to image characteristics.
In FIGURE 15, when a predictor of the current pixel P is generated by using an adjacent pixel located at or near extension line 150, extension line 150 actually has a directivity of i »a» ve- * »· 91
<img file="MX354500B_D0040.tif" />
so'<sup>1</sup> (dy / dx) and a division of (dy / dx) is required to determine the adjacent pixel using extension line 150, and thus hardware or software can include a decimal point operation, thereby increasing performance . Therefore, when a prediction direction for selecting a reference pixel is set by using parameters (dx, dy), dx and dy can be set to decrease performance.
FIGURE 16 is a diagram for describing a relationship between a current pixel and adjacent pixels arranged on an extension line having a directivity of (dx, dy), in accordance with one embodiment of the present invention.
Referring to FIGURE 16, P 1610 indicates the current pixel located at (j, i) and A 1611 and B 1612 respectively denote an adjacent higher pixel and an adjacent left pixel located on an extension line having a directivity. , that is, an angle of tan '<sup>1</sup> (dy / dx), which passes through the current pixel P 1610. It is assumed that a prediction unit size that includes the current pixel P 1610 is nSxnS where nS is a positive integer, a prediction unit pixel location is one of (0, 0) to (nS-1 , nS-Ι), a location of a higher pixel adjacent to A 1611 on an x-axis is (m, -l) where m is an integer and a location of the pixel to> Λ '' i adjacent left B 1612 on an y-axis is (-1, n) where n is an integer. The location of the highest adjacent pixel A 1611 found by the extension line passing through the current pixel P1610 is (j + i * dx / dy, -1) and the location of the pixel to the left adjacent B 1612 is (- 1, i + j * dy / dx). Accordingly, for the purpose of determining the highest adjacent pixel A 1611 or the adjacent left pixel B 1612 to predict the current pixel P1610, a division operation, such as dx / dy or dy / dx, is required. As described above, since the operating complexity of the splitting operation is high, an operating speed in the software or hardware may be low. Therefore, at least one of dx and dy indicating a directivity of a prediction mode to determine an adjacent pixel can be a power of 2. In other words, when each of n and m is an integer, dx and dy can be respectively 2<sup>Λ</sup>η and 2<sup>TO</sup>m.
When the adjacent left pixel B 1612 is used as a predictor of the current pixel P 1610 and dx has a value of 2<sup>Λ</sup>η, a j * dy / dx operation required to determine (-1, i + j * dy / dx), that is, a location of the adjacent left pixel B 1612, can be (i * dy) / (2<sup>Λ</sup>η) and a division operation using a power of 2 can be performed via a displacement operation, such as (i * dy) >> n and in this way the performance is decreased.
7·.
j ¥ ·
I¡'i JJj 'K.AL
<img file="MX354500B_D0041.tif" />
Similarly, when the highest adjacent pixel A
1611 is used as a predictor of the current pixel P 1610 and dy has a value of 2<sup>/</sup>'m, an i * dx / dy operation required to determine (j + i * dx / dy, -1), i.e. a location of the highest pixel adjacent to A 1611 can be (i * dx) / (2<sup>/</sup>'m) and a division operation using a power of 2 can be performed via a shift operation, such as (i * dx) >> m.
FIGURES 17 and 18 are diagrams showing directions of an intra-prediction mode, in accordance with embodiments of the present invention.
Generally, the straight line patterns shown in an image or video signal are in most cases vertical or horizontal. Thus, when an intra-prediction mode that has multiple directivities is defined by using a parameter (dx, dy), the values of dx and dy can be defined as follows to improve the encoding efficiency of an image.
In detail, when dy has a fixed value of 2<sup>/</sup>'m, an absolute value of dx can be set such that an interval between prediction directions near a vertical direction is narrow and an interval between prediction modes increases towards a prediction direction near a horizontal direction. For example, with reference to
FIGURE 17, when dy is 2<sup>Λ</sup>5 i.e. 32, dx can
<img file="MX354500B_D0042.tif" />
set to 2, 5, 9, 13, 17, 21, 26, 32, -2, -5, -9, -13, -17, -21, -26, and -32 such that an interval between directions of Prediction near a vertical direction is relatively narrow, and an interval between prediction modes increases towards a prediction direction near a horizontal direction.
Similarly, when dx has a fixed value of 2<sup>Λ</sup>η, an absolute value of dy can be set such that an interval between prediction directions near a horizontal direction is narrow and an interval between prediction modes increases towards a prediction direction near a horizontal direction. For example, referring to FIGURE 18, when dx is 2<sup>Λ</sup>5, i.e. 32, d and can be set to 2, 5, 9, 13, 17, 21, 26, 32, -2, -5, -9, -13, -17, -21, -26 and - 32 such that an interval between prediction directions near a horizontal direction is relatively August and an interval between prediction modes increases towards a prediction direction near a vertical direction.
Also, when one of the values of dx and dy is fixed, the other value can be set to increment according to the prediction modes. For example, when the value of dy is fixed, an interval between dx values can be set to increment by a predetermined value. This increase can be established from
IMPI
<img file="MX354500B_D0043.tif" />
according to angles divided between a horizontal direction and a vertical direction. For example, when dy is fixed, dx * can have an increment a in a section where an angle with a vertical axis is smaller than 15 °, an increase b in a section where the angle is between 15 ° and 30 ° and a increment c in a section where the angle is higher than 30 °.
For example, prediction modes that have directivities of tan '<sup>1</sup>(dy / dx) that use (dx, dy) can be defined by the parameters (dx, dy) shown in the
Tables 3 to 5.
Table 3
<td>dx</td><td>dy</td><td>dx</td><td>dy</td><td>dx</td><td>dy</td>
<td> -32</td><td> 32</td><td> 21</td><td> 32</td><td> 32</td><td> 13</td>
<td> -26</td><td> 32</td><td> 26</td><td> 32</td><td> 32</td><td> 17</td>
<td> -21</td><td> 32</td><td> 32</td><td> 32</td><td> 32</td><td> 21</td>
<td> -17</td><td> 32</td><td> 32</td><td> -26</td><td> 32</td><td> 26</td>
<td> -13</td><td> 32</td><td> 32</td><td> -21</td><td> 32</td><td> 32</td>
<td> -9</td><td> 32</td><td> 32</td><td> -17</td><td></td><td></td>
<td> -5</td><td> 32</td><td> 32</td><td> -13</td><td></td><td></td>
<td> -2</td><td> 32</td><td> 32</td><td> -9</td><td></td><td></td>
<td> 0</td><td> 32</td><td> 32</td><td> -5</td><td></td><td></td>
<td> 2</td><td> 32</td><td> 32</td><td> -2</td><td></td><td></td>
<td> 5</td><td> 32</td><td> 32</td><td> 0</td><td></td><td></td>
<td> 9</td><td> 32</td><td> 32</td><td> 2</td><td></td><td></td>
<td> 13</td><td> 32</td><td> 32</td><td> 5</td><td></td><td></td>
<td> 17</td><td> 32</td><td> 32</td><td> 9</td><td></td><td></td>
Table 4
<img file="MX354500B_D0044.tif" />
<td>dx</td><td>dy</td><td>dx</td><td>dy</td><td>dx</td><td>dy</td>
<td> -32</td><td> 32</td><td> 19</td><td> 32</td><td> 32</td><td> 10</td>
<td> -25</td><td> 32</td><td> 25</td><td> 32</td><td> 32</td><td> 14</td>
<td> -19</td><td> 32</td><td> 32</td><td> 32</td><td> 32</td><td> 19</td>
<td> -14</td><td> 32</td><td> 32</td><td> -25</td><td> 32</td><td> 25</td>
<td> -10</td><td> 32</td><td> 32</td><td> -19</td><td> 32</td><td> 32</td>
<td> -6</td><td> 32</td><td> 32</td><td> -14</td><td></td><td></td>
<td> -3</td><td> 32</td><td> 32</td><td> -10</td><td></td><td></td>
<td> -1</td><td> 32</td><td> 32</td><td> -6</td><td></td><td></td>
<td> 0</td><td> 32</td><td> 32</td><td> -3</td><td></td><td></td>
<td> 1</td><td> 32</td><td> 32</td><td> -1</td><td></td><td></td>
<td> 3</td><td> 32</td><td> 32</td><td> 0</td><td></td><td></td>
<td> 6</td><td> 32</td><td> 32</td><td> 1</td><td></td><td></td>
<td> 10</td><td> 32</td><td> 32</td><td> 3</td><td></td><td></td>
<td> 14</td><td> 32</td><td> 32</td><td> 6</td><td></td><td></td>
Table 5
<td>dx</td><td>dy</td><td>dx</td><td>dy</td><td>dx</td><td>dy</td>
<td> -32</td><td> 32</td><td> 23</td><td> 32</td><td> 32</td><td> 15</td>
<td> -27</td><td> 32</td><td> 27</td><td> 32</td><td> 32</td><td> 19</td>
<td> -23</td><td> 32</td><td> 32</td><td> 32</td><td> 32</td><td> 23</td>
<td> -19</td><td> 32</td><td> 32</td><td> -27</td><td> 32</td><td> 27</td>
<td> -15</td><td> 32</td><td> 32</td><td> -23</td><td> 32</td><td> 32</td>
<td> -11</td><td> 32</td><td> 32</td><td> -19</td><td></td><td></td>
<td> -7</td><td> 32</td><td> 32</td><td> -15</td><td></td><td></td>
<td> -3</td><td> 32</td><td> 32</td><td> -11</td><td></td><td></td>
<td> 0</td><td> 32</td><td> 32</td><td> -7</td><td></td><td></td>
<td> 3</td><td> 32</td><td> 32</td><td> -3</td><td></td><td></td>
<td> 7</td><td> 32</td><td> 32</td><td> 0</td><td></td><td></td>
<td> 11</td><td> 32</td><td> 32</td><td> 3</td><td></td><td></td>
<td> 15</td><td> 32</td><td> 32</td><td> 7</td><td></td><td></td>
<td> 19</td><td> 32</td><td> 32</td><td> 11</td><td></td><td></td>
<img file="MX354500B_D0045.tif" />
As described above, what<sup>,</sup>'íftÍ3ÍiÍlos' '' * T3e * ^ 'intra-prediction used by the parametr'ós' fdX * ηΫ?<sup>1</sup>'use the adjacent left pixel (-1, i + j * dy / dx) or the highest adjacent pixel (j + i * dx / dy, -1) as a predictor of a pixel located at (j, i). When at least one of dx and dy has a power of 2 as shown in Table 2, the locations of the adjacent left pixel (-1, i + j * dy / dx) and the highest adjacent pixel (j + i * dx / dy, -1) can be obtained by way of only multiplication and change operations without a division operation. When dx is 2<sup>Λ</sup>η, i.e. 32, at (dx, dy) as shown in Table 2, a division operation using dx can be replaced by a right shift operation and thus a location of an adjacent left pixel can be obtained without a division operation based on (i * dy) >> n.
Similarly, when dy is 2<sup>Λ</sup>η, i.e. 32, at (dx, dy) as shown in Table 2, a division operation using dx can be replaced by a right shift operation and thus a higher pixel location adjacent can be obtained without a division operation based on (i * dx) >> m.
FIGURE 19 is a diagram showing directions of an intra-prediction mode having 33 directivities, in accordance with an embodiment of the present invention.
Intra-predictors 410 and 550 can determine
INSTITUI.? ivieyjCA.SO DE LA ΡΚύΗ2Ε? Άθ
INDUSTRIAL an adjacent pixel that is used as a predictor of a
3¾
-x »<
current pixel according to intra-prediction modes having 33 directivities shown in FIGURE 19. As described above, the intra-prediction mode directions can be set such that an interval between prediction modes decreases towards a horizontal direction or vertically and increase further from a vertical or horizontal direction.
Meanwhile, the use of adjacent pixels used as reference pixels of a current block may be limited according to intra-prediction modes having various directivities as described with reference to FIGURE 19. For example, the use of an adjacent pixel included in an inter-predicted block via inter-prediction may be limited during intra-prediction of the current block. As such, the use of the adjacent pixel included in the interblock is limited in order to prevent the propagation of an error included in the interblock. Also, the use of an adjacent block included in a different cut than that of the current block that is intra-predicted may be limited during the intra-prediction of the current block. The use of the adjacent block included in the different cut is limited because the data use of the adjacent block included in the different cut can be limited as reference data of the current block since
<img file="MX354500B_D0046.tif" />
INSTITUTO MEXICANO OE LA PROPIEDAD industrial
<img file="MX354500B_D0047.tif" />
the image data is independently encapsulated and processed in a cutting unit according to a general imaging process. Accordingly, intra-predictors 410 and 550 can determine whether an adjacent pixel is used for intra-prediction of the current block based on an adjacent block prediction mode that includes the adjacent pixel or based on whether a slice that includes the Adjacent block is the same as a cut that includes the current block. Intra-predictor 410 of image encoder 400 can set a flag value (constrained_intra_pred_flag) that signals whether an adjacent pixel included in an interblock is used to intra-predict a current block and then add the constrained_intra_pred_flag to a stream bit encoded in order to signal a limitation of a use of the adjacent pixel included in the Inter block. For example, when the value of constrained_intra_pred_flag is 0, the adjacent pixel is used for intra-prediction of the current block regardless of a prediction mode of an adjacent block. When the value of constrained_intra_pred_ flag is 1, the use of the adjacent pixel included in the Inter block can be limited during intra-prediction of the current block. Alternatively, intra-predictors 410 and 550 may limit a pixel from an adjacent block included in a different slice than that of the current block to never be. AA
MEXICAN
ΊΟΙΊΡΠαΟ • uJSTlUAL
<img file="MX354500B_D0048.tif" />
used for intra-prediction of the current block.
Hereinafter, assuming the value of constrained_intra_pred_flag is 1, that is, the use of the adjacent block included in the Inter block, as a reference pixel, is limited during the intra-prediction of the current block, a process of the intra- Predictors 410 and 550 replacing an adjacent pixel having limited use as a reference pixel by another adjacent pixel is described in detail with reference to FIGURES 20 through 26. Also, it is assumed that the use of the pixel of the adjacent block included in the slice different from that of the current block is always limited during the intra-prediction of the current block.
FIGURE 24 is a block diagram of an intra-prediction apparatus 2400 in accordance with an embodiment of the present invention. Intra-prediction apparatus 2400 of FIGURE 24 corresponds to intra-predictors 410 and 550 of FIGURES 4 and 5.
Referring to FIGURE 24, the intra-prediction apparatus 2400 includes an availability determiner 2410, a replacement 2420 and an intra-prediction maker 2430.
Availability determiner 2410 determines the availability of a predetermined number of adjacent pixels that are used for intra-prediction of a current block. In this document, availability indicates whether
<img file="MX354500B_D0049.tif" />
an adjacent pixel is usable for intra-prediction as a reference pixel of the current block. As described above, since the value of constrained_intra_pred_flag is assumed to be 1, it is determined that an adjacent pixel included in an adjacent block included in a slice different from a slice that includes the current block or an inter-predicted adjacent block is not available. Accordingly, availability determiner 2410 determines whether the predetermined number of adjacent pixels in the current block includes the adjacent pixel included in the adjacent block included in the cut other than the cut that includes the current block, or whether the predetermined number of adjacent pixels in the block current includes the adjacent pixel included in the inter-predicted adjacent block. The default number of adjacent pixels can be set according to any standard. For example, when a current block size is nTxnT, where nT is an integer, availability can be determined by a total of 4nT + l adjacent pixels that include 2nT higher adjacent pixels that are located at the top and most high to the right of the current block, 2nT left adjacent pixels located to the left and lower to the left of the current block, and an adjacent pixel located in a higher left corner of the current block. However, a number and
<img file="MX354500B_D0050.tif" />
Adjacent pixel locations whose availability is determined may vary.
If all adjacent pixels are determined to be available, the encoder intra-prediction maker 2430 uses the adjacent pixel as a reference pixel in order to generate a prediction block of the current block when performing intra-prediction of according to the intra-prediction mode that has the various directivities as shown in FIGURE 19. The intra-prediction maker 2430 of a decoder generates the prediction block of the current block by performing the intra-prediction on the current block by using the adjacent pixel based on an intra-prediction mode of the current block drawn from a stream of bits.
If all adjacent pixels are determined to be unavailable, the replacer 2420 may replace a pixel value of an unavailable adjacent pixel with a predetermined value. In this document, the default value may be a certain value based on a bit depth of one pixel. The pixel bit depth is a number of bits used to express a pixel value of one pixel and can be from 8 to 14 bits. As such, a variable BitDepth bit depth can be represented by an equation;
BitDepth = BaseBitDepth + Increased_bit_depth, through a
<img file="MX354500B_D0051.tif" />
BaseBitDepth base bit depth and a variable increment of increased_bit_depth bit depth. If the bit depth is in the 8 to 14 bit range as described above, the base bit depth
BaseBitDepth has a value of 8 and the increased bit depth increment_bit_depth has a value from 0 to 6. If all the adjacent pixels are not available, the 2420 override can replace all the values of the adjacent pixels with a value of 1 < <((BitDepth) -1). For example, when the BitDepth bit depth is 8, the 2420 override can override all the values of the adjacent pixels to have a pixel value of 1 "(8-1), ie 128, ie lx2<sup>TO</sup>7, if all adjacent pixels are not available.
If the availability determiner 2410 determines that not all of the predetermined number of adjacent pixels are available, but that at least one adjacent pixel is not available, the replacer 2420 searches for an available adjacent pixel by searching for the predetermined number of adjacent pixels in one direction. default based on the unavailable adjacent pixel and replaces a pixel value of the unavailable adjacent pixel with a pixel value of an adjacent pixel, available, found. A process for replacing the unavailable adjacent pixel will be described later with reference to FIGURES 20.
<img file="MX354500B_D0052.tif" />
up to 23.
When the unavailable adjacent pixel is replaced by the available adjacent pixel, intra-prediction maker 2430 performs intra-prediction on the current block by using the replaced adjacent pixel and available adjacent pixels and generates a block. of prediction of the current block.
Hereinafter, a process for replacing an unavailable adjacent pixel during intra-prediction of a current block will be described in detail with reference to the
FIGURES 20 to 23.
FIGURE 20 is a diagram of an adjacent pixel that is not available during intra-prediction of a current 2,000 block according to a type of an adjacent block, in accordance with an embodiment of the present invention.
Referring to FIGURE 20, when a current block size 2000 is nTxnT, the availability determiner 2410 determines whether the adjacent blocks A, B, C, D, and E that include the upper adjacent 2nT pixels located at the top and more High to the right of the current 2000 block are Inter blocks or are blocks included in a different cut than a cut that includes the current 2000 block. Also, the availability determiner 2410 determines whether the adjacent blocks G, Η, I, J, and K that
<img file="MX354500B_D0053.tif" />
include the 2nT left adjacent pixels located to the left and lower left of the current 2000 block and an adjacent block F that includes an adjacent pixel located in a higher left corner of the current 2000 block are Inter blocks or blocks included in a slice different from the cut that includes the current 2000 block.
Availability determiner 2410 determines an adjacent pixel included in an interblock or a block included in the different cut of adjacent blocks A through K that are an adjacent pixel unavailable. In FIGURE 20, since the adjacent blocks A, B, D, E, F, H, and I are interpredicted inter blocks, the availability determiner 2410 determines the adjacent pixels 2011, 2012, and 2013 included in the adjacent blocks A, B , D, E, F, H and I which are adjacent pixels not available. As described above, the replacer 2420 searches for an available adjacent pixel at a predetermined address based on the unavailable adjacent pixel and replaces a pixel value of the unavailable adjacent pixel with a pixel value of the adjacent, available pixel.
In detail, the availability determiner 2410 according to one embodiment first determines the availability of an adjacent pixel (hereinafter referred to as a first adjacent pixel) at a location
ΙΝ '/ ΐίΤ L'
105 : ' ....
default between adjacent pixels. If the first adjacent pixel is not available, the substitute 2420 searches for a second adjacent pixel that is available by searching for adjacent pixels in a predetermined direction. Also, replacer 2420 replaces the first adjacent pixel with the second found adjacent pixel.
A remaining, unavailable, adjacent pixel (hereinafter referred to as a third adjacent pixel) excluding the first adjacent pixel is preprocessed and replaced based on a predetermined address or replaced by an original, available, adjacent pixel. The unavailable third adjacent pixels are sequentially replaced according to a search order used to search for the second adjacent pixel. When the first adjacent pixel is available, a process to replace the first adjacent pixel is skipped and only one process is performed to replace the third adjacent pixel.
Hereinafter, it is assumed that the sizes of the current blocks 2100, 2200 and 2300 of FIGURES 21 through 23 are nTxnT and P (x, y) indicates an adjacent pixel whose availability is determined for intra-prediction of the current blocks 2100, 2200 and 2300, where x = -l, y = -l, ..., 2nT-lyx = 0, ..., 2nT-l, y = l.
FIGURE 21 is a diagram to describe a process for replacing an unavailable adjacent pixel,
<img file="MX354500B_D0054.tif" />
according to an embodiment of the present invention.
Referring to FIGURE 21, a first adjacent pixel whose availability is first determined from among adjacent pixels is assumed to be an adjacent pixel P (—1, —1) 2110 located in a higher left corner of the current block 2100. The determiner Availability 2410 first determines the availability of the first adjacent pixel P (-l, -l) 2110. If it is determined that the first adjacent pixel P (-l, -l) 2110 is not available, the replacer 2420 searches for an available adjacent pixel in the adjacent pixels sequentially according to a predetermined address based on the first adjacent pixel P (- l, -l) 2110 and replaces the first adjacent pixel P (-l, -l) 2110 with an available adjacent pixel initially found (hereinafter referred to as a second adjacent pixel). For example, the substitute 2420 searches for the highest right and top adjacent pixels of the current block 2100 according to a first search direction from left to right based on the first adjacent pixel P (-l, -l) 2110 and if the second adjacent pixel does not exist in the upper right and upper adjacent pixels of the current block 2100, Finds the second adjacent block by finding the lowest left and left adjacent pixels of the current block 2100 from top to bottom based on the first adjacent pixel P (-l, -l) 2110. Replacer 2420 replaces the first pixel
<img file="MX354500B_D0055.tif" />
adjacent P (-1, -1) 2110 for the second adjacent pixel that is initially found according to this address and search order. For example, if an adjacent pixel P (nT-2, -l) 2120 is the second adjacent pixel initially found at the highest right and top adjacent pixels, the substitute 2420 replaces a pixel value of the first adjacent pixel P ( -l, -l) 2110 for a pixel value of the second adjacent pixel P (nT-2, -l) 2120.
Replacer 2420 replaces the remaining, unavailable third adjacent pixel, excluding the first adjacent pixel P (-l, -l) 2110, with an adjacent pixel that is preprocessed and replaced based on a predetermined search address or one pixel adjacent originally available. For example, the substitute 2420 replaces the first adjacent pixel P (—1, —1) 2110 with the second adjacent pixel P (nT-2, -l) 2120, and then replaces a next adjacent unavailable pixel P (0, —1 ) by the first adjacent pixel P (-l, -l) 2110. Since the first adjacent pixel
P (-l, -l) 2110 is replaced by the second adjacent pixel P (nT-2, -l) 2120, the adjacent pixel P (0, -l) has the same value as the second adjacent pixel P (nT- 2, -l) 2120. If the first adjacent pixel P (-l, -l) 2110 is originally available, a process is omitted to replace the first adjacent pixel P (-l, -l) 2110 and thus the replacement 2420 replaces the pixel value of the pixel
J Ti Λ Ύ rs.c. 'adjacent P (0, -l) by the pixel value of the first adjacent pixel P (-l, -l) 2110. A pixel value of an adjacent pixel P (l, -1) is replaced by a pixel value preprocessing of the adjacent pixel P (0, -l).
This replacement process is repeated for all unavailable third adjacent pixels. In FIGURE 21, the second adjacent pixel P (nT-2, -l) 2120 that is available from among the upper adjacent pixels is not replaced and maintains its original pixel value. As such, replacer 2420 replaces an upper, unavailable adjacent pixel with an adjacent pixel that is pre-replaced or an originally available adjacent pixel according to a predetermined search direction. In other words, excluding the first adjacent pixel P (-l, -l) 2110 and the originally available adjacent pixel, the replacement 2420 replaces the third adjacent pixel with an adjacent pixel immediately to the left if a search direction is from left to right. As such, when there is a plurality of adjacent third pixels at the top of current block 2100, the replacer 2420 sequentially replaces the adjacent third pixels from left to right with a respective, left, adjacent pixel. In this document, the left adjacent pixel used to replace the third adjacent pixel may be a previously replaced or available adjacent pixel and? ·, Γ 7; ·, λ *. , .r ii'Tv
Ce L /. ': · Originally. Similarly, override 2420 replaces the unavailable third adjacent pixel from the lowest left and left adjacent pixels of current block 2100 with an adjacent pixel immediately above. For example, replacer 2420 replaces an unavailable adjacent pixel P (-l, 0) with the first adjacent pixel P (—1, -1) 2110. As described above, if the first adjacent pixel P (-l, -l) 2110 is originally available, the process for replacing the first adjacent pixel P (-l, -l) 2110 is skipped and thus the 2420 replacement replaces the adjacent pixel P (-l, 0) by the first adjacent pixel P (-l, -l) 2110. A pixel value of an adjacent pixel P (-l, l) is replaced by a pre-processed pixel value of the adjacent pixel P (-l, 0). Like the process for replacing the upper third adjacent pixels described above, if there is a plurality of adjacent third pixels to the left of the current block 210 0, the replacer 2420 sequentially replaces the upper third adjacent pixels in the background with one pixel adjacent, superior, respective. In this document, the upper adjacent pixel used to replace the third adjacent pixel may be a pre-replaced or originally available adjacent pixel.
This replacement process is repeated for all lower third left and lower adjacent pixels, ΐ
/.
/ Τ
<img file="MX354500B_D0056.tif" />
that are not available. An adjacent pixel P (-1, rV? +1,), ..... 21.3 0 available from the left adjacent pixels is not replaced but maintains its original pixel value.
As such, the substitute 2420 replaces the left adjacent pixel that is not available with an adjacent pixel that is either pre-replaced or originally available according to a predetermined search direction. In other words, if a search address is from top to bottom, replaceer 2420 replaces the adjacent third pixel with an adjacent pixel immediately above. Alternatively, if all of the available adjacent pixels at the top and left of the current block 2100 are searched, the 2420 override can replace the first adjacent pixel
P (—1, -1) for an average value of the adjacent pixels found. For example, in FIGURE 21, a pixel value of the first adjacent pixel P (-l, -l) can be replaced by an average value of the second adjacent pixel P (nT-2, -l) 2120 initially found to be available from between the adjacent upper pixels and the adjacent pixel P (-l, nT + l)
2130 initially found to be available from between the adjacent left pixels. In other words, when PRA indicates a pixel value of the second adjacent pixel P (nT-2, -l) 2120 and PLB indicates a pixel value of the adjacent pixel P (-l, nT + l) 2130, an average value PT obtained by way of an equation; PT = (PRA + PLB +1) »1 can replace the
Τ Α Λ
5¾ pixel value of the first adjacent pixel P (-1, -1) 2110.
Alternatively, if all of the available adjacent pixels at the top and left of the current block 2100 are searched, the substitute 2420 can replace the first adjacent pixel P (-l, -l) 2110 by determining an available adjacent pixel closest to the first adjacent pixel P (-l, -l) 2110 based on a distance from the first adjacent pixel P (-l, -l) 2110 as the second adjacent pixel, instead of just using the adjacent pixel initially found according to the default search direction. In FIGURE 21, since a distance between the first adjacent pixel P (-l, -l) 2110 and the second adjacent pixel P (nT-2, -l) 2120 initially found to be available at the top of the current block 2100 is (nT-2) - (- l), i.e. nT-1 and a distance between the first adjacent pixel P (-l, -l) 2110 and the adjacent pixel P (-l, nT + l) 2130 Initially found to be available to the left of the current block 2100 is (nT + 1) - (- 1), i.e. nT + 2, replaceer 2420 can replace the first adjacent pixel P (-l, -l) 2110 with the second adjacent pixel P (nT-2, -l) 2120.
Alternatively, for the purpose of reducing the complexity of a process to search for a second adjacent pixel to replace the first adjacent pixel P (-l, -l)
2110, the 2420 replacement can only search for pixels
Τ '· /. •••• '► .. «' - Λ
I; ·? ·
INS1! .'- '·· / u'. ··>
DS LA / <γ \.
Ρ (—1,0) and Ρ (0, -1) immediately adjacent to the first adjacent pixel P (-l, -l) 2110 instead of searching for all adjacent pixels at the top and left of the current block 2110 and You can replace the first adjacent pixel P (—1, -1) 2110 with an available adjacent pixel from between pixels P (-l, 0) and P (0, -l). For example, the substitute 2420 can search for adjacent pixels in an order of pixels P (-l, 0) and P (0, -l) or vice versa and can replace the first adjacent pixel P (-l, -l) 2110 with a pixel value of an available adjacent pixel that is found first. If an available adjacent pixel is not found in the pixels
P (—1,0) and P (0, -l), the 2420 override can replace the first adjacent pixel P (-l, -l) 2110 with a default value based on a bit depth as described above. If both pixels P (-l, 0) and P (0, -l) are available, the substitute 2420 can replace the first adjacent pixel P (-1, -1) 2110 with the use of an average value of pixels P (-l, 0) and P (0<sub>;</sub>-l).
Meanwhile, a search order and a search direction of the upper and left adjacent pixels can be changed. In other words, the substitute 2420 can search for the lowest left and left adjacent pixels of the current block 2100 first, and if no available adjacent pixel is found, then it can search for the highest right and top adjacent pixels.
Τ ..... ϊ. -. ·
I jV; <
-χ »Λ>
ΓΝΙΤΙΤ'Ρ ί> Μ, · .. ·· ι. ; ') £! * Α ι' NPUSTRiAL
Also, instead of searching for an available adjacent pixel by searching for the lowest left and left adjacent pixels from the top to the bottom, the replace 2420 can search for the lowest left and left adjacent pixels from the bottom to the top. Also, instead of searching for an available adjacent pixel by searching for the highest right and top adjacent pixels from left to right, the 2420 substitute can search for the highest right and top adjacent pixels from right to left.
Alternatively, the 2420 replacers can replace a pixel value of the first adjacent pixel
P (—1, -1) 2110 by an average value of all available adjacent pixels out of the highest, right, highest, left, and highest adjacent pixels of the current block 2100, instead of using the adjacent pixel found initially available from between the upper or left adjacent pixels for the purpose of replacing the first adjacent pixel P (-l, -l) 2110.
FIGURE 22 is a diagram for describing a process for replacing an unavailable adjacent pixel, in accordance with another embodiment of the present invention.
Referring to FIGURE 22, it is assumed that a first adjacent pixel whose availability is first determined from among adjacent pixels is an adjacent pixel P (-l, 2nT-l) 2210 located at the lowest part of the
DH ÚA r. . '. OR ' .
lNDtJ '· íUÁL left of the current block 2200. In other words, the availability determiner 2410 first determines the availability of the first adjacent pixel P (-l, 2nT-l) 2210.
If it is determined that the first adjacent pixel P (-l, 2nT-l) 2210 is not available, the substitute 2420 searches for an available adjacent pixel from among the adjacent pixels sequentially according to a predetermined order based on the first adjacent pixel P (l, 2nT-l) 2210 and replaces the first adjacent pixel P (-l, 2nT-l) 2210 with a second available adjacent pixel that is found initially. For example, replacement 2420 searches for lower left and lower adjacent pixels of current block 2200 according to a first search direction from bottom to top based on the first adjacent pixel P (-l, 2nT — 1) 2210 and if the second available adjacent pixel is not in the lower left and left adjacent pixels, Searches for the second available adjacent pixel by searching for the highest upper and right adjacent pixels of the current block 2200 according to a second search direction from left to right. Replacer 2420 replaces the first adjacent pixel
P (-l, 2nT-l) 2210 for the second available adjacent pixel initially found according to this search direction and a search order. For example, if an adjacent pixel P (-l, nT-2) 2220 from between the adjacent pixels
<img file="MX354500B_D0057.tif" />
left is the second available adjacent pixel that is initially found according to the search order, the substitute 2420 replaces a pixel value of the first adjacent pixel P (-l, 2nT-l) 2210 with a pixel value of the second adjacent pixel P (-l, nT-2) 2220.
Similarly to the embodiment described above, the 2420 replacer replaces a third adjacent pixel, not available, remaining excluding the first adjacent pixel
P (-l, 2nT-l) 2210 by a preprocessed and replaced adjacent pixel or originally available adjacent pixel based on a predetermined search address. For example, the substitute 2420 replaces the first adjacent pixel P (-l, 2nT-l) 2210 with the second adjacent pixel
P (-l, nT-2) 2220 and then replace a next unavailable adjacent pixel P (-l, 2nT-2) with the first adjacent pixel P (-l, 2nT-l) 2210. If the first adjacent pixel
P (-l, 2nT-l) 2210 is originally available, a process is skipped to replace the first adjacent pixel P (-l, 2nT-l)
2210 and in this way the substitute 2420 replaces a pixel value of the adjacent pixel P (-l, 2nT-2) with the pixel value of the first adjacent pixel P (-l, 2nT-l) 2210.
This replacement process is repeated for all unavailable third adjacent pixels. In FIGURE 22, the second adjacent pixel P (-l, nT-2) 2220 and an adjacent pixel P (nT + l, -l) 2230 that are available from the ir 'ί, institute? .. ci:
DE La l tiCi 'i ·
INDUSTRIAL adjacent left and top pixels are not replaced and retain their original pixel values. As such, the substitute 2420 searches the adjacent left and top pixels of the current block 2200 respectively from top to bottom and left to right based on the first adjacent pixel P (-l, 2nT-l) 2210 and replaces the third adjacent pixel by an adjacent pixel immediately below or left. In other words, the replacer 2420 replaces the unavailable third adjacent pixels that are located to the left and left below the current block 2200, excluding the first adjacent pixel P (-l, 2nT-l) 2210 and the available adjacent pixel. originally, by the adjacent pixel, immediately below, respective and replaces the unavailable third adjacent pixels located at the top and highest right of the current block 2200 with an adjacent pixel, immediately to the left, respective. As such, the replacer 2420 respectively replaces a plurality of adjacent third pixels that are located to the left of the current block 2200 from the bottom to the top by an adjacent, lower, respective pixel and respectively replaces a plurality of adjacent third pixels that are located at the top of the current block 2200 from left to right by an adjacent, left, respective pixel. As described _____-<sub>4ιχ</sub>.
instüiít. · —R> t
ÜE The c · - '' -)
IfMIJUSf FJÁL *> 'above, the adjacent, background, or left pixel?<sup></sup>The respective one used for replacement may be OTE adjacent pixel pre-replaced or originally available.
As described above, a search order or search direction of the upper and left adjacent pixels can be changed. In other words, the substitute 2420 can search first for the highest upper and right adjacent pixels of the current block 2200 from right to left and if an adjacent pixel is not available, then it can search for the lowest left and left adjacent pixels of the current block 22 00 from top to bottom to search for a second adjacent pixel to replace the first adjacent pixel P (-l, 2nT1) 2210.
FIGURE 23 is a diagram for describing a process for replacing an unavailable adjacent pixel, in accordance with another embodiment of the present invention.
Referring to FIGURE 23, it is assumed that a first adjacent pixel whose availability is initially determined from among adjacent pixels is an adjacent pixel P (2nT-l, -l) 2310 located to the highest extreme right of current block 2300. In In other words, the availability determiner 2410 first determines the availability of the first adjacent pixel P (2nT-l, -l) 2310.
If it is determined that the first adjacent pixel P (2nT-l, -l)
<img file="MX354500B_D0058.tif" />
-<sup>7</sup> 'Τ -τ - ·> -τΙ iW ..r Λ
INSTITUTE
DE La | · Κ0ΠΕΓ> λ0 INDUSTRIAL
2310 is not available, the 2420 replacer searches for an available adjacent by sequentially searching the adjacent pixels according to a predetermined address based on the first adjacent pixel P (2nT-l, -l) 2310 and replaces the first adjacent pixel P (2nT-l , -l) 2310 for a second available adjacent pixel initially found. For example, the substitute 2420 searches for the adjacent, right, top and highest pixels of the current block 23 00 according to a first search direction from right to left based on the first adjacent pixel P (2nT-l, -l) 2310 and if the second adjacent pixel is not available in the upper and higher right adjacent pixels, Searches for the second available adjacent pixel by searching for the lowest left and left adjacent pixels of the current 2300 block from top to bottom. Replacer 2420 replaces the first adjacent pixel P (2nT1, -1) 2310 with the second available adjacent pixel initially found according to this search direction and search order. For example, when an adjacent pixel P (nT + l, -l) 2320 from among the upper adjacent pixels is a second available adjacent pixel that is initially found according to a search order, the substitute 2420 replaces a pixel value of the first adjacent pixel P (2nT-l, -l) 2310 by a pixel value of the second adjacent pixel P (nT + l, -l) 2320.
<img file="MX354500B_D0059.tif" />
Also, the 242 0 replacer replaces a remaining, unavailable, adjacent pixel by excluding the first adjacent pixel P (2nT-l, -l) 2310, with an adjacent pixel preprocessed and originally replaced or available based on a predetermined search address. For example, substituent 2420 replaces the first adjacent pixel P (2nT1, -1) 2310 with the second adjacent pixel P (nT + l, -l) and then replaces a next adjacent unavailable pixel P (2nT2, -1) by the first adjacent pixel P (2nT-l, -l) 2310.
If the first adjacent pixel P (2nT-l, -l) 2310 is originally available, a process is skipped to replace the first adjacent pixel P (2nT-l, -l) 2310 and thus the 2420 replacer replaces a value of pixel of the adjacent pixel P (2nT-2, -l) by an original pixel value of the first adjacent pixel P (2nT-l, -l) 2310.
This replacement process is repeated on all unavailable third adjacent pixels. In FIGURE 23, the second available adjacent pixel P (nT + l, -l) 2320 and one adjacent available pixel P (-l, nT-l) 2330 from between the left and top adjacent pixels are not replaced and maintain their values of original pixels. As such, the substitute 2420 searches for the upper and left adjacent pixels of the current block 2300 respectively from right to left and top to bottom based on the first adjacent pixel P (2nT-l, -l) 2310 and replaces
<img file="MX354500B_D0060.tif" />
7. Λ;<sup>;</sup> · * Sequentially the adjacent third pixels not available by a respective left or top adjacent pixel. In other words, the replacer 2420 sequentially replaces the unavailable adjacent third pixels that are located at the top and highest right of the current block 2300 with an adjacent, immediately left, respective pixel and the unavailable adjacent third pixels. to the left and to the left below the current block 2300 by an adjacent pixel, immediately above, respective, excluding the first adjacent pixel P (2nT-l, -l) 2310 and an originally available adjacent pixel.
As described above, a search order and a search direction of the upper and left adjacent pixels can be changed. In other words, the 2420 override looks first for the lowest left and left adjacent pixels of the current block
2300 from bottom to top and if an adjacent pixel is not available then it searches for the highest right and top adjacent pixels of the current block 2300 from left to right in order to search for a second adjacent pixel to replace the first adjacent pixel
P (2nT-l, -l) 2310.
Meanwhile, if you complete a process for
100
<img file="MX354500B_D0061.tif" />
ΪΜ
INSTITUTE V, replace adjacent unavailable pixels of empiróAipiS?
adjacent, a peer-to-filter-adjacent pixel process can be performed. Whether a filtered adjacent pixel is used can be determined based on a current block size. For example, the filtered adjacent pixel can only be used when the current block size is
16x16.
FIGURE 25A is a diagram of the adjacent filtered pixels 2510 and 2520 of a current block 2500.
Referring to FIGURE 25A, the adjacent pixels X 2510 at the top of the current block 2500 and the adjacent pixels Y 2520 to the left of the current block 2500 can be filtered at least once and an adjacent filtered pixel can be used to intra-prediction
<td>of the</td><td>block</td><td>current</td><td>2500. In this</td><td>document when</td><td>a size</td>
<td>of the</td><td>block</td><td>current</td><td>2,500 is nTxnT,</td><td>X can be 2nT</td><td>and Y can</td>
<td>to be</td><td>2nT.</td><td></td><td></td><td></td><td></td>
When ContextOrg [n] indicates the original adjacent pixels X + Y at the top and left of the current block 2500 that are the size of nTxnT, where n is an integer from 0 to X + Yl, n is 0 in the lowest adjacent pixel among the left adjacent pixels, that is, ContextOrg [0] and n is X + Yl in a pixel adjacent to the extreme right of between the upper adjacent pixels, that is, ContextOrg [X + Yl].
101 v '\
<img file="MX354500B_D0062.tif" />
<img file="MX354500B_D0063.tif" />
lNÍTiT '.'.'-' j D? LA ¡M. · ^
FIGURE 25B is a reference diagram to describe a filtering process for an adjacent pixel of a current block.
With reference to FIGURE 25B, when
ContextOrg [n] indicates adjacent pixels at the top and to the left of a current block, where n is an integer from 0 to 4nT-l, adjacent pixels can be filtered by way of an average value, weighted between the pixels adjacent. When, ContextFilteredl [n] indicates an adjacent pixel filtered once, adjacent pixels filtered by applying a 3-out filter to adjacent pixels ContextOrg [n] can be obtained according to an equation ContextFilteredl [n] = (ContextOrg [n1] + 2 * ContextOrg [n] + ContextOrg [n + 1]) / 4. Similarly, an adjacent pixel filtered twice ContextFiltered2 [n] can be generated by recalculating a weighted average value between adjacent pixels filtered once
ContextFilteredl [n]. For example, filtered adjacent pixels by applying a 3-out filter to adjacent filtered Filters ContextFilteredl [n] can be generated according to an equation
ContextFiltered2 [n] = (ContextFilteredl [n1] + 2 * ContextFilteredl [n] + ContextFilteredl [n + 1]) / 4. A filter used for filtration and a number of times filtration is performed can vary.
102
<img file="MX354500B_D0064.tif" />
Τ Τ '
FIGURE 26 is a flow chart illustrating a method for intra-predicting a video, in accordance with an embodiment of the present invention.
At step 2610, availability determiner 2410 determines the availability of a predetermined number of adjacent pixels used for intra-prediction of a current block from among blocks obtained by dividing a video-forming image into a hierarchical structure. As described above, if an adjacent pixel included in an adjacent block of a different slice than a slice that includes an inter-predicted adjacent block or the current block exists from among the predetermined number of adjacent pixels, the availability determiner 2410 determines the Corresponding adjacent pixel as an unavailable adjacent pixel.
In step 2620, if a first adjacent pixel is not available in the predetermined number of adjacent pixels, the substitute 2420 searches for a second available adjacent pixel by searching for the predetermined number of adjacent pixels in a predetermined direction based on the first adjacent pixel. At step 2630, replaceer 2420 replaces a pixel value of the first adjacent pixel with a pixel value of the second adjacent pixel. If the first adjacent pixel at a predetermined location is available, the first adjacent pixel is
103
<img file="MX354500B_D0065.tif" />
INCuíTRIAt; ΐ;
used as a reference pixel for intra-prediction of the current block and a process to replace the first adjacent pixel is skipped. As such, when the first adjacent pixel is unavailable and is thus replaced by the second adjacent pixel or is available and the replacement process is thereby omitted, a process is performed to replace a third, unavailable adjacent pixel from among the adjacent pixels.
As described above, the replacer 2420 according to one embodiment determines the availability of a first adjacent pixel located in the highest left corner of the current block, if the first adjacent pixel is not available, Searches for the second available adjacent pixel by searching the highest right and top adjacent pixels from left to right based on the first adjacent pixel, and if the adjacent second pixel is not available at the highest right and top adjacent pixels, searches for the second pixel Available adjacent by searching for the lower left and left adjacent pixels from top to bottom based on the first adjacent pixel. Replacer 2420 determines an available adjacent pixel initially found according to this search direction and a search order as the second adjacent pixel. Then the 2420 substitute replaces the pixel value of the first adjacent pixel with the
104
IN & UjTnJAÍ pixel value of the second adjacent pixel. Also, replacer 2420 replaces at least a third unavailable adjacent pixel that is located to the left and lower left of the current block with an adjacent pixel immediately above, excluding the first adjacent pixel and an originally available adjacent pixel, and replaces at least a third unavailable adjacent pixel that is located at the top and highest right of the current block with an adjacent pixel immediately to the left. In other words, Replacer 2420 performs a process to replace adjacent third pixels not available at other locations, excluding the first adjacent pixel at a predetermined location, by using an immediately adjacent pixel in a predetermined direction.
Substitute 2420 according to another embodiment determines the availability of a first adjacent pixel that is located to the left at the lower end of the current block and if the first adjacent pixel is not available, it determines an adjacent, available pixel, initially found as the second Adjacent pixel by searching for the lowest left and left adjacent pixels from bottom to top based on the first adjacent pixel. If the second adjacent pixel is not available in the lower left and left adjacent pixels, the override
105
<img file="MX354500B_D0066.tif" />
2420 Determines an available adjacent pixel, initially found as the second adjacent pixel to find the highest right and top adjacent pixels from left to right. Also, replacer 2420 replaces the pixel value of the first adjacent pixel with the pixel value of the second adjacent pixel. Also, the replacer 2420 sequentially replaces the unavailable third adjacent pixels to the lowest left and left with the immediately adjacent pixel below and the unavailable third adjacent pixels at the top and highest right to the immediately adjacent pixel. respective left, excluding the first adjacent pixel and the adjacent pixel originally available. In other words, the replacer 2420 performs a process to replace the adjacent third pixels not available at other locations with an immediately adjacent pixel in a predetermined direction, excluding the first adjacent pixel at the predetermined location.
Substitute 2420 according to another embodiment determines the availability of a first adjacent pixel located to the highest extreme right of the current block and if the first adjacent pixel is not available, determines an available adjacent pixel, initially found as the second adjacent pixel when looking for the highest right and top adjacent pixels from right to left with base
106 i
%
Jfc.
ΙΝ7ΠΤ
D £ LA? Η9 ·· .'ΣΟλ :) Λ
IN9UJTXIAL <sup>tK</sup>«In the first adjacent pixel. If the second adjacent pixel is not available at the highest right and top adjacent pixels, the substitute 2420 determines an available adjacent pixel, initially found as the second adjacent pixel by searching for the lowest left and left adjacent pixels from the top to the background. Then, the substitute 2420 replaces a pixel value of the first adjacent pixel with a pixel value of the second adjacent pixel. Also, replacer 2420 replaces at least a third unavailable adjacent pixel that is located at the top and highest right of the current block with an adjacent pixel immediately to the right and replaces at least a third unavailable adjacent pixel that it is located to the lower left and left of the current block by an adjacent pixel immediately above, excluding the first adjacent pixel and an originally available adjacent pixel. In other words, Replacer 2420 performs a process to replace adjacent third pixels not available at other locations, excluding the first adjacent pixel at a predetermined location, by an immediately adjacent pixel in a predetermined direction. In step 2640, the intra-prediction maker 2430 performs the intra-prediction on the current block by using the original adjacent pixels and the adjacent pixels.
107 replaced according to availability.
As described above, the complexity of a process for determining a reference pixel used for intra-prediction can be reduced by searching for and replacing an available adjacent pixel, based on a predetermined search direction, with an unavailable adjacent pixel.
Since the programs for performing the inter-prediction method described with reference to FIGURES 1 through 26 are stored on computer-readable recording media, an independent computer system can easily perform operations according to the programs stored on the recording media computer readable.
A computer readable recording medium that stores a program, eg, a 26000 disk, in accordance with an embodiment of the present invention will now be described in detail.
FIGURE 27A is a diagram of a physical structure of disk 26000 in which a program is stored, in accordance with an embodiment of the present invention. The 26000 disk, which is a storage medium, can be a hard disk, a compact disk-read-only memory disk (CD-ROM), a Bluray * ® disk, or a versatile disk digital (DVD)
108
Τ ~
INSTITUI
INÜ'JSTAíaL
<img file="MX354500B_D0067.tif" />
English). Disc 26000 includes a plurality of concentric tracks Tr that are each divided into a specific number of Se sectors in a circumferential direction of disc 26000. In a specific region of disc 26000, a program that executes the inter-prediction method described above can be assigned and stored.
A built-in computing system using a storage medium that stores a program for executing the intra-prediction method as described above will now be described with reference to FIGURE
27B.
FIGURE 27B is a diagram of a disk drive
6800 for recording and reading a program using disk 26000. A computer system 27000 can store a program that executes an intra-prediction method in accordance with an embodiment of the present invention, on disk 26000 via the recording unit. disc 26800. To run the program stored on disk 26000 on computer system 27000, the program can be read from disk 26000 and can be transmitted to computer system 26700 by using disk drive 27000.
The program that executes an intraprediction method according to an embodiment of the present invention can be stored not only on disk 26000 illustrated in FIGURE 27A or 27B but also on a card
109 inSTVf'P ιΊ · ν: ·., υΐ the γη ·. '·/;: gives ,)
INOUSTktAL memory, a ROM cassette, or a solid state drive (SSD).
A system to which the intraprediction method described above is applied will be described below.
FIGURE 2 8 is a diagram of a complete structure of a content delivery system 11000 to provide a content delivery service. A service area of a communication system is divided into cells of predetermined dimensions and the wireless base stations 11700, 11800, 11900 and 12000 are installed in those cells, respectively.
The content delivery system 11000 includes a plurality of independent devices. For example, the plurality of independent devices, such as a 12100 computer, a 12200 personal digital assistant (PDA), a 12300 video camera, and a 12500 mobile phone, connect to the Internet 11100 via an Internet service provider 11200, a communication network 11400 and wireless base stations 11700,
11800, 11900 and 12000.
However, the content delivery system 11000 is not limited to those illustrated in FIGURE 28 and the devices can be selectively connected to it. The plurality of independent devices can
110
<img file="MX354500B_D0068.tif" />
be connected directly to the 11400 communication network, not via the 11700, 11800, 11900 and 12000 wireless base stations.
The 12300 video camera is an imaging device, for example a digital video camera, which is capable of capturing video images. The 12500 mobile phone can employ at least one communication method among several protocols, for example, Personal Digital Communications (PDC), Code Division Multiple Access (CDMA), Multiple Access by Broadband Code Division (W-CDMA), Global System for Mobile Communications (GSM) and Personal Telephone System (PHS).
The 12300 video camera can be connected to a 11300 streaming server via the 11900 wireless base station and the 11400 communication network. The 11300 streaming server allows content received from a user via the 12300 video is broadcast uninterruptedly via real-time broadcasting. The content received from the 12300 video camera can be encrypted using the 12300 video camera or the 11300 streaming server. Video data
111 τ ~ ·, · τ -τ · .....
£>, A <sup>;</sup> . ;
ΓΝϋΤΗίί ¡-.-'-. I: · /.
OF. ί.Λ fP.C '. ·, ;;'. '· .; » 'C ·.
»NÜU5iRIAL *<sup>;</sup>- * L <sup>ν</sup>·<sup>, ζ</sup>.
captured by the 12300 video camera can be transmitted to the 11300 streaming server via the 12100 computer.
Video data captured by a 12600 camera can also be transmitted to the 11300 streaming server via the 12100 computer. The 12600 camera is an imaging device capable of capturing both still images and video images, similarly to a digital camera. Video data captured by the 12600 camera can be encoded using the 12600 camera or the 12100 computer. The software that performs video encoding and decoding can be stored on a computer-readable recording medium, for example, a CD-ROM disk, a floppy disk, a hard disk drive, an SSD, or a memory card, the which can be accessed by the 12100 computer.
If the video data is captured by a camera built into the 12500 mobile phone, the video data can be received from the 12500 mobile phone.
Video data can also be encoded by a large-scale integrated circuit (LSI) system installed in the 12300 video camera, the mobile phone
12500 or the 12600 camera.
The 11000 content delivery system can encode content data recorded by a user
112 ΐκππΌτο '' .f '· ...' 'Ι> £ 1Α ΓΓ \'> / 5Τι. '. .· one
INDUSTRIAL using the 12300 video camera, 12600 camera, 12500 mobile phone, or other imaging device, for example, content recorded during a concert, and can transmit the encoded content data to the 11300 streaming server.
The streaming server 11300 can transmit the content data encoded in one type of a streaming content to other clients requesting the content data.
Clients are devices capable of decoding encrypted content data, for example, the 12100 computer, the 12200 PDA, the 12300 video camera, or the 12500 mobile phone. In this way, the 11000 content delivery system enables clients receive and reproduce the encoded content data.
Also, the content delivery system 11000 enables customers to receive the encrypted content data and decode and play back the encoded content data in real time, thereby enabling personal broadcasting.
The encoding and decoding operations of the plurality of independent devices that are included in the content delivery system 11000 may be similar to an intra-prediction method according to an embodiment of the present invention.
113 and
IN3?;: · ;.
The 12500 mobile phone included in the content delivery system 11000 in accordance with an embodiment of the present invention will now be described in greater detail with reference to FIGURES 29 and 30.
FIGURE 29 illustrates an external structure of the 12500 mobile phone to which an intra-prediction method is applied, in accordance with an embodiment of the present invention. The 12500 mobile phone can be a smartphone, the functions of which are not limited and a large number of functions of which can be changed or expanded.
The 12500 mobile phone includes an internal 12510 antenna via which a radio frequency (RF) signal can be exchanged with the 12000 wireless base station of FIGURE 21 and includes a 12520 display screen to display images captured by a 12530 camera or images that are received via the 12510 antenna and decoded, for example, a liquid crystal display (LCD, or an organic light emitting diode (OLED) display. The 12500 mobile phone includes a 12540 operation panel that includes a control button and a touch panel. If the 12520 display screen is a touch screen, the 12540 operation panel also includes a touch screen display panel.
114
Ifli'iü '!!;.? . Dt LA
<img file="MX354500B_D0069.tif" />
12520. The 12500 mobile phone includes a 12580 speaker for the output of a voice and sound or other sound output unit and a 12550 microphone for the input of a voice and sound or other sound input unit. The 12500 mobile phone further includes the 12530 camera, such as a charge coupled device (CCD) camera, for capturing video and still images. The mobile phone 12500 may further include a storage medium 12570 for storing encoded / decoded data, for example, video or still images captured by the 12530 camera, received via email, or obtained in various ways;
and a slot 12560 through which the storage medium 12570 is loaded into the 12500 mobile phone. The storage medium 12570 may be a non-volatile memory, for example, a secure digital card (SD). or an electrically erasable programmable read-only memory (EEPROM) enclosed in a plastic case.
FIGURE 30 illustrates an internal structure of the 12500 mobile phone, in accordance with an embodiment of the present invention. To systematically control parts of the 12500 mobile phone including the 12520 display screen and the 12540 operation panel, a 12700 power supply circuit, a
115
<img file="MX354500B_D0070.tif" />
INSTITUTO MÍ.X'Canü VE LA ΓΚΟΠΕΟαΟ
INDUSTRIAL
<img file="MX354500B_D0071.tif" />
operations input 12640, a 12720 image encoding unit, a 12630 camera interface, a 12620 LCD controller, a 12690 image decoding unit, a 12680 multiplexer / demultiplexer, a 12670 read / write unit, a modulation / demodulation 12660 and a 12650 sound processor connect to a 12710 central controller via a 12730 common sync link.
If a user operates a power button and is in an off state to an on state, the 12700 power supply circuit supplies power to all parts of the 12500 mobile phone from a battery pack, thereby disposing of the 12500 mobile phone. in one mode of operation.
The 12710 central controller includes a central processing unit (CPU), a
ROM and a RAM.
While the 12500 mobile phone transmits communication data to the outside, a digital signal is generated by the 12500 mobile phone under the domain of the central controller 12710. For example, the 12650 sound processor may generate a digital sound signal, the unit encoding 12720 can generate a digital image signal and the text data of a message can be generated via the 12540 operation panel and
116 operations entry controller 12640. When a
<td>digital signal is</td><td>transmitted</td><td>to</td><td>the</td><td>Unit</td><td>of</td>
<td>modulation / demodulation</td><td colspan="2">12660 low</td><td>the</td><td>domain</td><td>of the</td>
<td>central controller</td><td> 12710,</td><td colspan="2">the</td><td>Unit</td><td>of</td>
<td>modulation / demodulation</td><td>12660 modulates</td><td>a</td><td>band</td><td colspan="2">of frequency</td>
<td>of the digital signal and</td><td>a circuit</td><td>of</td><td colspan="2">communication</td><td> 12610</td>
performs a digital-to-analog (DAC) conversion and a frequency conversion on the frequency band modulated digital sound signal. A transmission signal sent from the communication circuit
12610 it can be transmitted to a voice communication base station or wireless base station 12000 via antenna 12510.
For example, when the 12500 mobile phone is in a talk mode, a sound signal obtained via the 12550 microphone is transformed into a digital sound signal by the 12650 sound processor, under the command of the central controller 12710. The signal Digital sound can be transformed into a transformation signal via modulation / demodulation unit 12660 and communication circuit 12610 and can be transmitted via antenna 12510.
When a text message, for example an email, is transmitted in a data communication mode, the text data of the text message is entered
117
---- I κ% ΐ'ί ^} Ν TWO Τ Ρ.Ι to L '*;> __ * via operation panel 12540 and transmitted to the
<img file="MX354500B_D0072.tif" />
central controller 12610 via the operation input controller 12640. Under the domain of the central controller
12610, the text data is transformed into a transmission signal via the modulation / demodulation unit
12660 and communication circuit 12610 and transmitted to wireless base station 12000 via antenna
12510.
To transmit image data in the data communication mode, the image data captured by the 12530 camera is provided to the image encoding unit 12720 via the 12630 camera interface. The captured image data can be displayed. directly on the 12520 display screen via the 12630 camera interface and the 12620 LCD controller.
A structure of the image coding unit 12720 may correspond to that of the video coding apparatus 100 described above. Image encoding unit 12720 can transform image data received from camera 12530 into compressed and encoded image data according to a video encoding method employed by the video encoding apparatus 100 or the image encoder 400 described above and then you can send the encoded image data to the 12680 multiplexer / demultiplexer. During a
118
<img file="MX354500B_D0073.tif" />
Recording operation of the 12530 camera, a sound signal obtained by the 12550 microphone of the 12500 mobile phone can be transformed into digital sound data via the 12650 sound processor and the digital sound data can be transmitted to the 12680 multiplexer / demultiplexer .
The multiplexer / demultiplexer 12680 multiplexes the encoded image data that is received from the image encoding unit 12720, together with the sound data received from the sound processor 12650. A result of the multiplexing of the data can be transformed into a signal transmission via modulation / demodulation unit 12660 and communication circuit 12610 and then can be transmitted via antenna
12510.
While the 12500 mobile phone receives communication data from the outside, frequency recovery and ADC are performed on a signal received via the 12510 antenna to transform the signal into a digital signal. Modulation / demodulation unit 12660 modulates a frequency band of the digital signal. The frequency band modulated digital signal is transmitted to the 12690 video decoding unit, 12650 sound processor, or 1262 0 LCD controller, depending on the type of the digital signal.
In conversation mode, the 12500 mobile phone
119
<img file="MX354500B_D0074.tif" />
<img file="MX354500B_D0075.tif" />
iNSTfiuro amplifies a signal received via the antenna- -í · obtains a digital sound signal ai-realiaar -— uaa.
frequency conversion and ADC in the amplified signal. A received digital sound signal is transformed into an analog sound signal via modulation / demodulation unit 12660 and sound processor 12650, and the analog sound signal is sent via speaker 12580, under the control of the central controller 12710.
When in data communication mode, data from a video file accessed on an Internet website is received, a signal received from wireless base station 12000 via antenna 12510 is sent as multiplexed data via from modulation / demodulation unit 12660 and multiplexed data is transmitted to multiplexer / demultiplexer 12680.
To decode the multiplexed data that is received via the antenna 12510, the multiplexer / demultiplexer 12680 demultiplexes the multiplexed data into an encoded video data stream and an encoded audio data stream. Via the common sync link 12730, the encoded video data stream and the encoded audio data stream are provided to the video decoding unit 12690 and the sound processor 12650, respectively.
A structure of the decoding unit of
120
<img file="MX354500B_D0076.tif" />
Images 12690 may correspond to that of the video decoding apparatus 200 described above. The 12690 image decoding unit can decode the encoded video data to obtain restored video data and can provide the restored video data to the display screen 12520 via the 12620 LCD controller, in accordance with a decoding method of video used by the video decoding apparatus 200 or the image decoder
500 described above.
In this way, the video file data accessed on the Internet website can be displayed on the 12520 display screen. At the same time, the 12650 sound processor can transform audio data into an analog sound signal and can provide the analog sound signal to the 12580 speaker. In this way, the audio data contained in the video file accessed on the Internet website can also be played back via the 12580 speaker.
The mobile phone 12500 or other type of communication terminal may be a transceiver terminal that includes both a video encoding apparatus and a video decoding apparatus in accordance with one embodiment of the present invention, it may be a transceiver terminal that includes only the video encoding apparatus or it can be
121 Item? T
I Kñ <1? , ..... ..
a transceiver terminal that includes only the video decoding apparatus.
A communication system in accordance with the present invention is not limited to the communication system described above with reference to the
FIGURE 28. For example, FIGURE 31 illustrates a digital broadcasting system employing a communication system in accordance with an embodiment of the present invention. The digital broadcasting system of FIGURE 31 can receive a digital broadcast transmitted via a satellite or terrestrial network using a video encoding apparatus and a video decoding apparatus in accordance with an embodiment of the present invention. .
Specifically, a broadcasting station
12890 transmits a video data stream to a communication satellite or broadcasting satellite 12900 using radio waves. Broadcasting satellite 12900 transmits a broadcasting signal and the broadcasting signal is transmitted to the satellite broadcasting receiver via a home antenna 12860. In each house, a scrambled video stream can be decoded and played by a 12810 TV receiver, 12870 external tuner, or other device.
When a video decoding apparatus according to an embodiment of the present invention is
122
<img file="MX354500B_D0077.tif" />
implements a 12830 playback device, and<sup>NC</sup>'á ^ á'ratb- ^ e' playback 1283 0 can analyze and decode a CUII reírte · encoded video that is recorded on a storage medium 12 82 0, such as a disc or memory card to restore the digital signals. In this way, the restored video signal can be played, for example, on a 12840 monitor.
On the 12870 external tuner connected to the '12860 antenna for satellite / terrestrial broadcasting or a 12850 cable antenna to receive a cable television (TV) broadcast, a video decoding apparatus may be installed in accordance with a mode of the present invention. The data sent from the external 12870 tuner can also be played back on a 12880 TV monitor.
As another example, a video decoding apparatus according to an embodiment of the present invention can be installed in the TV receiver 12810 instead of the external tuner 12870.
A 12920 car that has an appropriate 12910 antenna can receive a signal transmitted from the satellite
12900 or the 11700 wireless base station in FIGURE 21.
A decoded video can be played on a display screen of a car navigation system
12930 installed in the car 12920.
.λ r rjWBert »
123 * ·: Τ '··' · ', ui: ..
· ... - - V.,. , ζ
Γγ ./. Τ: -. · <sub>?</sub> v; - / ..- A) M
A video signal can be encrypted.<sup>TiU</sup>by video encoding apparatus according to a modality of the present invention and can then be stored in a storage medium. Specifically, an image signal can be stored on a DVD 12960 disc by a DVD recorder or it can be stored on a hard disk by a 12950 hard disk recorder. As another example, the video signal can be stored on an SD card. 12 97 0. If the 12950 hard disk recorder includes a video decoding apparatus in accordance with an embodiment of the present invention, a video signal recorded on a DVD 12960 disc, SD card 12970, or other storage medium can be played on the monitor. TV 12880.
The 12930 car navigation system may not include the 12530 camera, the 12630 camera interface, and the 12720 image encoding unit of FIGURE 30. For example, the 12100 computer and the 12810 TV receiver may not be included in camera 12530, camera interface 12630, and image encoding unit 12720 of FIGURE 30.
FIGURE 32 is a diagram illustrating a network structure of a cloud computing system using a video encoding apparatus and a video decoding apparatus, in accordance with one embodiment of the present invention.
124
Γ ·, ......
t V: ι: - · 'cx ··, ·; ^
Cloud computing system can ^ IWé'l'uif ^ -unr ^
... .. saw
IN5 i fu <\ ') aO.! CANC>,. &
Say LA: '. <O;' iLbAL>
14000 cloud computing server, a user database (DB) 14100, a plurality of computing resources 14200 and a user terminal.
The cloud computing system provides an outsourcing service upon request of the plurality of computing resources 14200 via a data communication network, eg, the Internet, in response to a request from the user terminal. Under a cloud computing environment, a service provider provides users with desired services by combining computing resources in data centers located in physically different locations through the use of virtualization technology. A service user does not have to install computing resources, for example, an application, a storage, an operating system (OS) and security, in his own terminal for the purpose of using them, but can select and use desired services from among services in a virtual space generated through virtualization technology, at a desired point in time.
A user terminal of a specified service user connects to the cloud computing server 14000 via a data communication network including the Internet and a mobile telecommunication network. The
125 ií <57íti; -ó o Λ ··· '- ·:. ·.: ;; -'. · 8
ME L /> J í * • y if i.'AL- '; · »> ¡x ··· ¡nc Gr<sup>n</sup>_. u user terminals can be provided with cloud computing services, and particularly video playback services, from the 14000 cloud computing server. User terminals can be various types of electronic devices that can be connected to the Internet, for example, a desktop PC 143 00, a smart TV 14400, a smartphone 14500, a laptop 14600, a portable multimedia player (PMP , 14700, one tablet
14800 and the like.
<td>The</td><td>server</td><td>of</td><td>computing</td><td>in</td><td>cloud 14000 can</td>
<td>combine the</td><td colspan="2">plurality</td><td>resource</td><td>of</td><td>computing 14200</td>
<td>distributed</td><td>in a</td><td>net</td><td>cloud and</td><td colspan="2">can provide</td>
<td>terminals</td><td>user</td><td>with</td><td>a result</td><td>of</td><td>A combination. The</td>
plurality of computing resources 14200 may include various data services and may include data transmitted from user terminals. As described above, cloud computing server 14000 can provide user terminals with desired services by combining a distributed video database in different regions according to virtualization technology.
User information about users who have subscribed to a cloud computing service is stored in user DB 14100. User information may include login information,
126
Γ Ή
<img file="MX354500B_D0078.tif" />
addresses, names and personal credit information of users. User information may also include video indexes. In this document, the indexes may include a list of videos that have already been played, a list of videos that are being played, a pause point for a video that was being played, and the like.
Information about a video stored in the
User DB 14100 can be shared between user devices. For example, when a video service is provided to the 14600 laptop in response to a request from the 14600 laptop, a playback history of the video service is stored in user DB 14100. When a request to play this video service is received from the 14500 smartphone, the cloud computing server 14000 searches for and plays this video service, based on user DB 14100. When the 14500 smartphone receives a video data stream from the cloud computing server 14000, a process for playing a video by decoding the video data stream is similar to an operation of the 12500 mobile phone described above with reference to FIGURE 30.
The 14000 cloud computing server can reference a playback history of a desired video service, which is stored in the DB of
127 user 14100. For example, cloud computing server 14000 receives a request to play a video stored in user DB 14100 from a user terminal. If this video is being played, then a method to continuously transmit this video, performed by the cloud computing server 14000, may vary according to the request of the user terminal, that is, according to whether the video will be played , starting from the beginning of the same or a pause point of the same. For example, if the user terminal asks to play the video, starting from the beginning of the video, the cloud computing server 14000 transmits data of uninterrupted transmission of the video starting from a first frame of the same to the user terminal. If the user terminal requests to play the video, starting from its pause point, the cloud computing server 14000 transmits uninterrupted transmission data of the video starting from a frame corresponding to the pause point, to the user terminal.
In this case, the user terminal may include a video decoding apparatus as described above. As another example, the user terminal may include a video encoding apparatus as described above. Alternatively, the user terminal may include both the decoding apparatus of
128
<img file="MX354500B_D0079.tif" />
video as the video encoding apparatus as described above.
Various applications of a video encoding method, a video decoding method, a video encoding apparatus, and a video decoding apparatus in accordance with embodiments of the present invention described above have been described above with reference to FIGURES 27A. to 32. However, the methods for storing the video encoding method and the video decoding method in a storage medium or the methods for implementing the video encoding apparatus and the video decoding apparatus in a device, according to Various embodiments of the present invention are not limited to the embodiments described above with reference to FIGURES 27A through 32.
In accordance with one or more embodiments of the present invention, the complexity of a process for determining a reference pixel used for intra-prediction can be reduced by searching for and replacing an available adjacent pixel, based on a predetermined search direction, by an adjacent pixel not available.
While the present invention has been shown and described particularly with reference to exemplary embodiments thereof, those of ordinary experience in the field will understand that various
129
<img file="MX354500B_D0080.tif" />
2> r. I '
<img file="MX354500B_D0081.tif" />
changes in form and details therein without departing from the spirit and scope of the present invention as defined by the following claims.
It is noted that in relation to this date, the best method known by the applicant to put the aforementioned invention into practice is the one that is clear from the present description of the invention.
130
<img file="MX354500B_D0082.tif" />
JMSUT or:
<img file="MX354500B_D0083.tif" />
<img file="MX354500B_D0084.tif" />
Contents23
114 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 Sheet 42 Sheet 43 Sheet 44 Sheet 45 Sheet 46 Sheet 47 Sheet 48 Sheet 49 Sheet 50 Sheet 51 Sheet 52 Sheet 53 Sheet 54 Sheet 55 Sheet 56 Sheet 57 Sheet 58 Sheet 59 Sheet 60 Sheet 61 Sheet 62 Sheet 63 Sheet 64 Sheet 65 Sheet 66 Sheet 67 Sheet 68 Sheet 69 Sheet 70 Sheet 71 Sheet 72 Sheet 73 Sheet 74 Sheet 75 Sheet 76 Sheet 77 Sheet 78 Sheet 79 Sheet 80 Sheet 81 Sheet 82 Sheet 83 Sheet 84 Sheet 85 Sheet 86 Sheet 87 Sheet 88 Sheet 89 Sheet 90 Sheet 91 Sheet 92 Sheet 93 Sheet 94 Sheet 95 Sheet 96 Sheet 97 Sheet 98 Sheet 99 Sheet 100 Sheet 101 Sheet 102 Sheet 103 Sheet 104 Sheet 105 Sheet 106 Sheet 107 Sheet 108 Sheet 109 Sheet 110 Sheet 111 Sheet 112 Sheet 113 Sheet 114
93 members in 19 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 61552692 | United States of America | – | |
| 201161552692 | United States of America | P |
Members93
| Document | Office | Kind | |
|---|---|---|---|
| WO2013062389A1 | World Intellectual Property Organization (WIPO) | A1 | |
| KR20130047650A | Republic of Korea | A | |
| TW201332368A | Taiwan Province of China | A | |
| PH12014501003A1 | Philippines | A1 | |
| AU2012329676A1 | Australia | A1 | |
| MX2014005114A | Mexico | A | |
| CN104025588A | China | A | |
| EP2773116A1 | European Patent Office (EPO) | A1 | |
| US2014334542A1 | United States of America | A1 | |
| JP2014531177A | Japan | A | |
| KR20150009498A | Republic of Korea | A | |
| AU2012329676B2 | Australia | B2 | |
| IN940MUN2014A | India | A | |
| AU2015202343A1 | Australia | A1 | |
| EP2773116A4 | European Patent Office (EPO) | A4 | |
| RU2014121400A | Russian Federation | A | |
| RU2588990C2 | Russian Federation | C2 | |
| AU2015202343B2 | Australia | B2 | |
| AU2016269520A1 | Australia | A1 | |
| PH12016502374A1 | Philippines | A1 | |
| PH12016502374B1 | Philippines | B1 | |
| PH12016502375A1 | Philippines | A1 | |
| PH12016502375B1 | Philippines | B1 | |
| PH12016502376A1 | Philippines | A1 | |
| PH12016502376B1 | Philippines | B1 | |
| PH12016502377A1 | Philippines | A1 | |
| PH12016502377B1 | Philippines | B1 | |
| TWI572194B | Taiwan Province of China | B | |
| US2017070736A1 | United States of America | A1 | |
| JP2017055434A | Japan | A | |
| TW201711476A | Taiwan Province of China | A | |
| US9621918B2 | United States of America | B2 | |
| BR112014010189A2 | Brazil | A2 | |
| RU2619267C1 | Russian Federation | C1 | |
| KR101743245B1 | Republic of Korea | B1 | |
| KR101743246B1 | Republic of Korea | B1 | |
| KR20170063494A | Republic of Korea | A | |
| CN104025588B | China | B | |
| CN107147908A | China | A | |
| CN107197250A | China | A | |
| CN107222744A | China | A | |
| TWI601414B | Taiwan Province of China | B | |
| AU2016269520B2 | Australia | B2 | |
| TW201740729A | Taiwan Province of China | A | |
| CN107404649A | China | A | |
| US9883191B2 | United States of America | B2 | |
| AU2018200540A1 | Australia | A1 | |
| MX354500BThis record | Mexico | B | |
| KR101844517B1 | Republic of Korea | B1 | |
| KR20180036667A | Republic of Korea | A | |
| EP3322183A1 | European Patent Office (EPO) | A1 | |
| US2018139454A1 | United States of America | A1 | |
| RU2654503C1 | Russian Federation | C1 | |
| AU2018200540B2 | Australia | B2 | |
| TWI650000B | Taiwan Province of China | B | |
| RU2681956C1 | Russian Federation | C1 | |
| KR101962829B1 | Republic of Korea | B1 | |
| KR20190034172A | Republic of Korea | A | |
| JP2019057954A | Japan | A | |
| US10291919B2 | United States of America | B2 | |
| US2019222850A1 | United States of America | A1 | |
| CN107197250B | China | B | |
| EP3322183B1 | European Patent Office (EPO) | B1 | |
| MY170951A | Malaysia | A | |
| DK3322183T3 | Denmark | T3 | |
| US10506239B2 | United States of America | B2 | |
| PL3322183T3 | Poland | T3 | |
| EP3588949A1 | European Patent Office (EPO) | A1 | |
| CN107147908B | China | B | |
| KR102082303B1 | Republic of Korea | B1 | |
| US2020084456A1 | United States of America | A1 | |
| ES2748604T3 | Spain | T3 | |
| CN107404649B | China | B | |
| HUE048628T2 | Hungary | T2 | |
| CN107222744B | China | B | |
| EP3588949B1 | European Patent Office (EPO) | B1 | |
| US10893277B2 | United States of America | B2 | |
| EP3780601A1 | European Patent Office (EPO) | A1 | |
| PL3588949T3 | Poland | T3 | |
| ZA201403876B | South Africa | B | |
| HUE052957T2 | Hungary | T2 | |
| ES2842027T3 | Spain | T3 | |
| JP7103961B2 | Japan | B2 | |
| BR112014010189B1 | Brazil | B1 | |
| EP3780601B1 | European Patent Office (EPO) | B1 | |
| EP3780601C0 | European Patent Office (EPO) | C0 | |
| MY198281A | Malaysia | A | |
| MY198290A | Malaysia | A | |
| EP4231639A2 | European Patent Office (EPO) | A2 | |
| EP4231639A3 | European Patent Office (EPO) | A3 | |
| PL3780601T3 | Poland | T3 | |
| HUE063723T2 | Hungary | T2 | |
| ES2961199T3 | Spain | T3 |
Numbers
- Publication
- 354500
- Application
- 2015008270
Titles2
- Spanish
- METODO Y APARATO PARA INTRA-PREDICCION DE VIDEO.
- English
- METHOD AND DEVICE FOR INTRA PREDICTION OF VIDEO.
Classification
- CPC, 7
- H04N19/105
- H04N19/11
- H04N19/182
- H04N19/593
- H04N19/159
- H04N19/136
- H04N19/176
- IPC, 5
- H04N19 105
- H04N19 11
- H04N19 136
- H04N19 182
- H04N19 593