Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and aparatus therefor.
Abstract
Disclosed are a video encoding method which adjusts the range of output data, which has been encoded so that the bit depth can be controlled during the decoding process of encoded samples, and a video decoding method, which prevents overflow of output data in each step of the decoding process. The video decoding method comprises: decoding by parsing quantized conversion factors for each block in an image from a received bitstream; decoding conversion factors which are less than or equal to a first bit depth by executing an inversion quantization of the quantized conversion factors; and decoding samples which are less than or equal to a second bit depth by executing a first level quantization and inverse scaling of the conversion factors.

Term
5.8 yearsleft in the term
Expires 2 July 2032.
- Priority
- Filed
- Granted
- Today
- Expires
3 claims: 1 independent, 2 dependent
- 1REIVINDICACIONES Habiéndose descrito la invención reclama como propiedad lo contenido en las siguientes reivindicaciones:1. Un aparato de decodificación de video, el aparato caracterizado porque comprende: un receptor que está configurado para obtener coeficientes transformados de un bloque de un flujo de bits que comprende una imagen;una unidad de cuantificación inversa que está configurada para generar coeficientes transformados inversocuantificados al llevar a cabo una cuantificación inversa y un primer recorte en los coeficientes transformados;y una unidad de transformación inversa que está configurada para generar coeficientes inverso-transformados al llevar a cabo una transformación inversa vertical en los coeficientes transformados inverso-cuantificados, generar valores de muestra al llevar a cabo una ampliación y un segundo recorte en los coeficientes inverso-transformados, y generar valores residuales al llevar a cabo una transformación inversa horizontal en los valores de muestra, en donde el primer recorte se lleva a cabo para restringir los coeficientes transformados inversocuantif icados a un intervalo de una primera profundidad de IMPI 12 0 INSTITUTO MIXICANO OC LA PtOPIIOAD (NOUSrtiAL bits, el segundo recorte se realiza para restringir los valores de muestra a un intervalo de una segunda profundidad de bits, la ampliación se lleva a cabo antes del segundo 5 recorte y comprende una operación de desplazamiento de bits a la derecha por 7 bits, y la imagen está jerárquicamente dividida en al menos una unidad de codificación de conformidad con información 10 dividida, y una de la al menos una unidad de codificación incluye el bloque.
- 2El aparato de conformidad con la reivindicación 1, caracterizado porque los coeficientes transformados inverso-cuantificados restringidos al intervalo 15 de una primera profundidad de bits tienen un tamaño de una profundidad de bits de 16 bits.
- 3El aparato de conformidad con la reivindicación 1, caracterizado porque la segunda profundidad de bits de valores de muestra es igual a 16 bits. 121
Independent claims3
840 paragraphs in 45 sections, as filed
(54) Title: VIDEO CODING METHOD WITH BIT DEPTH ADJUSTMENT FOR FIXED POINT AND DEVICE CONVERSION FOR THE SAME, AND VIDEO DECODING METHOD AND DEVICE FOR THE SAME.
(54) Title: VIDEO ENCODING METHOD WITH BIT DEPTH ADJUSTMENT FOR FIXED-POINT CONVERSION AND APPARATUS THEREFOR, AND VIDEO DECODING METHOD AND APARATUS THEREFOR.
(57) Summary
We describe a video encoding method for adjusting a range of encoded output data to adjust a bit depth during restoration of the encoded samples, and a video decoding method for allowing overflow in the data to occur output in the operations of a decoding process. The video decoding method includes parsing and restoring the transform coefficients quantized in block units of an image from a received bit stream, restoring the transform coefficients to a first bit depth or less by performing the inverse quantification on the quantized transformation coefficients, and restoring samples to a second bit depth or less by performing unidirectional inverse transformation (1D) and inverse scaling on the quantized transformation coefficients.
(57) Abstract
Disclosed are a video encoding method which adjusts the range of output data, which has been encoded so that the bit depth can be controlled during the decoding process of encoded samples, and a video decoding method, which prevents overflow of output data in each stepof the decoding process. The video decoding method comprises: decoding by parsing quantized conversion factors for each block in an image from a received bitstream; decoding conversion factors which are less than or equal to a first bit depth by executing an inversion quantization of the quantized conversion factors; and decoding samples which are less than or equal to a second bit depth by executing a first level quantization and inverse scaling of the conversion factors.
IMPI, or ·, ·) JBP
PATENT TITLE No. 354286
<img file="MX354286B_D0001.tif" />
Headlines):
Home:
Denomination:
Classification:
SAMSUNG ELECTRONICS CO., LTD.
129, Samsung-ro, Yeongtong-gu, Suwon-s¡, Gyeongg¡-do, 443-742, REPUBLIC OF KOREA
VIDEO ENCODING METHOD WITH BIT DEPTH ADJUSTMENT FOR FIXED POINT CONVERSION AND DEVICE FOR THE SAME, AND DECODING METHOD pElW | O | Y ¿DEVICE FOR THE SAME.
CIP:
* G06F17 / 147; HO4Ñ1 «/ M
HG4ffTffil2! J ^ M4Q4N 19 / M<sub>#</sub>.,
Inventor (s):
H04 ^ 19/89;
.. "W4N19 / 124; ,, H04N19 / 18Z ELENA ALSHÍNA;<sup>to</sup>
CPC:
<img file="MX354286B_D0002.tif" />
X. »<sup>1</sup>
U04N19 / 115;
H04N19 / 176;
H04N19 / 122;
H04N19 / 136;
Number: MOt, International:
MX / a / 20T6 / ÓÜ7104, * io4e'ZO12
Number:
go; '/<sup>!</sup> And β1 / Η? £ ΐ7
Validity: Twenty years
Expiration Date 2 of ^ Jte te 5032 ^ <sub>x</sub>
Exp4gfÍf ^ ón date: 22 d # '& 18 ^.%
The patent of reference is based on «| p¡te» <hii ^ los 1 °, 2 ° fracc ^ iiv, iWfccJj ^ W, ^ g9 | i4e »£ ey de la Industrial.
In accordance with the article Act ^^. ^ OptfdWlndustna ^^ a of venM sy ^ s ^ m extendable, counted from the date of presentfc4kntefe | Bhcitud | l pagpjpl & ja rate pap $ u & £ 'Μ, <sup>v</sup> χ.
\ X \ '' W · '· «y» y<sup>11</sup> '' W'W I ww «vim». vrapvw n I ifz »vi <vy • f paa ÍW rate pajjMjantener Mtgentesnosxierechos.
Who subscribes to this title is (Official Gazette of the Federation (I 25/01/2006, 06/05 / 2009,06 / 01/2010 Regulation of the Mexican Institute of P. articles 1, 3, 4, 5 'fraction V subsection a), 1 12/27/1999, amended on 10/10/2002, 07/29/20' Deputy Generals, Coordinator, Directors Divisioi t articulates
6 ° ^ aixK> nes III and J * Ws ^ tle the Industrial Property Law 26 «2 / í & 7> 41 / ^ 1999, 01/26/2004, 06/16/2005,, ___________ articles 1. 3frra | élóiü / ¡e6iso a), 4 ° and 12 ° fractions I and III of r # WT99Í<sup>re</sup>ty> * £ j |. Q1 / 07 / 2OOÍ 07/15/2004, 07/28/2004 and 09/07/2007); MWWI ^ s ^ atfcQrtj ^ W ^ SíefutrftWexicano de la Propiedad Industrial (DOF W n-l'-i which delegates powers to the Directors ddfiir ^^ dvIaiZbficinaaeSMldPeles, Deputy Directors Divisionales. Departmental Coordinators 12/15/1999, amended on 02/04/2000, 07/29/2004, 08/04/2004 and 09/13/2007). '
Ί93 »,
3/06«
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 guidelines 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="MX354286B_D0003.tif" />
Original string:
NAHANNY MARISOL CANAL REYES | 00001000000403252793 | Serviclo de Administración Tributarla | 1695 || MX / 201 B / 16875 | MX / a / 2015/007104 | Normal patent title with divisional PCT | 1027 | RGZ | Pág (s) | ViMCEhnwy + l7Agz3n1tpeas6h =
Digital stamp:
WU1XjLyRkcyCvYQaD2M + 4brekg3HZHyjddy5R + sRPpDI4NCooqLAPCJAa + 5 (jhDK1OolPZHIEhamy7lnbllAwljj / k
UcrD105GGk00PPbp35E5K4B3U / BAJkeogFvqqKAoyKuvPJvmeQ036HbbruMSWT0hmylBBtpRZ9aX44jSPPM // AnNlv
2RsaFh6N1aZxaGBIZ8brMys0BGm07dV¡FnD5e6AnYAO9eU80xLWvy8cCyR67lo6NMRGL / aJ / WH7iy / YjWDjDWusgo
BusgWpss / l7P + cNmy2yCeNBJz6WbaedNsJn7UaUQt9MYm + whzhA0eVP07WbwqC5 + IVAQ + amw ==
Arenal No 550. Piso 1, Pueblo Santa Mana Tepepan, Xochimilco, 16020, Mexico City.
(55) 53340700 www.gob.rnx./¡mp¡
<img file="MX354286B_D0004.tif" />
MX / 2018/16875
3SW6
Η f J ^ xi
MEXICAN INSTITUTE ·· <<<
OF THE PROFIFr-VIDEO ENCODING METHOD WITH PROF SETTING<sup>i</sup>0 ¥ ffl '¥ íÍAD DÉ<sup>2</sup>'
BITS FOR FIXED POINT CONVERSION AND DEVICE FOR ELMlüMU'j ..... Γ
VIDEO DECODING METHOD AND APPARATUS FOR THE SAME
Field of the Invention.
The present invention relates to video encoding and decoding using fixed point transformation / inverse transformation.
Background of the Invention
As the hardware (hardware) to reproduce and store high-resolution or high-quality video content is being developed and supplied, a need for a video encoder-decoder to encode or encode is increasing. effectively decode high-resolution or high-quality video content. In a conventional video codee, a video is encoded according to an unlimited macroblock-based encoding method that has a predetermined size.
The image data in a spatial domain is transformed into coefficients in a frequency domain through transformation. For fast transformation, a video codee breaks an image into blocks of predetermined size and performs discrete cosine transformation (DCT) on each of the blocks of predetermined size.
Ref: 257217
IMPI to encode the frequency coefficients in Mexican ΐΝίτπτυτο
<img file="MX354286B_D0005.tif" />
the blocks of predetermined size. The coefficients in the frequency domain have shapes that can be more easily compressed than those of the image data in the spatial domain. In particular, the pixel values of an image in the spatial domain are expressed with errors predicted through the inter (inter-prediction) or intra-prediction (intra-prediction) prediction of the video codee. Thus, when the transformation is performed on the predicted errors, a large amount of data can be converted to 0. Video encoding reduces an amount of data by replacing the data that is continuously and repeatedly generated with small data.
Brief Description of the Invention
Technical problem
The present invention provides a method of encoding video, or adjusting a range of encoded output data, to adjust a bit depth during restoration of encoded samples, and a method of encoding video to prevent data overflow from output in the sub-operations of a decoding process.
Technical Solution
In accordance with an aspect of the present invention, a video decoding method is provided that
<img file="MX354286B_D0006.tif" />
transform quantized into block units of an image from a received bit stream; restoring the transform coefficients to a first bit depth or less by performing the inverse quantization of the quantized transform coefficients;
and restoring samples to a second bit depth or less by performing a one-dimensional inverse transformation (ID) and inverse scaling on the quantized transformation coefficients.
Advantageous Effects
Overflow is prevented when the fixed point transformation is performed during a video decoding process, thus saving hardware resources to perform truncation.
Brief Description of the Figures
FIG. 1 is a block diagram of a video encoding apparatus according to an embodiment of the present invention.
Figure 2 is a block diagram of a video decoding apparatus according to an embodiment of the present invention.
Figure 3 illustrates a process for changing a bit depth in an encoding / decoding system, according to one embodiment of the
<img file="MX354286B_D0007.tif" />
IMPI
MEXICAN'J INSTITUTE OF PROPERTY present invention. industrial
Figure 4 is a flow chart illustrating a video encoding method according to an embodiment of the present invention.
Figure 5 is a flowchart illustrating a video decoding method according to an embodiment of the present invention.
Figure 6 is a block diagram of a video encoding apparatus based on encoding units having a tree structure, according to yet another embodiment of the present invention.
FIG. 7 is a block diagram of a video decoding apparatus based on encoding units having a tree structure, according to yet another embodiment of the present invention.
FIG. 8 is a diagram for describing a concept of encoding units according to an embodiment of the present invention.
Figure 9 is a block diagram of an image encoder based on the encoding units according to an embodiment of the present invention.
Figure 10 is a block diagram of an image decoder based on decoding units according to an embodiment of the present
IMPI invention. mexican institute
OF THE INDUSTRIAL PRORITY
Figure 11 is a diagram illustrating the deepest encoding units according to depths, and partitions according to an embodiment of the present invention.
Figure 12 is a diagram for describing a relationship between a coding unit and transformation units, according to an embodiment of the present invention.
Figure 13 is a diagram for describing the coding information of the coding units corresponding to a coded depth, according to an embodiment of the present invention.
Figure 14 is a diagram of deeper coding units according to depths, according to one embodiment of the present invention.
Figures 15 to 17 are diagrams for describing a relationship between encoding units, prediction units, and transformation units, according to one embodiment of the present invention.
Figure 18 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
<img file="MX354286B_D0008.tif" />
Table 1.
'1
<img file="MX354286B_D0009.tif" />
Detailed Description of the Invend '^ S ^? ^, ^,', V · ',,.
INDUSTRIAL '• ü-Zt—
In accordance with an aspect of the present invention, a video decoding method is provided that includes parsing and restoring the transform coefficients quantized in block units of an image from a received bitstream; restoring the transform coefficients to a first bit depth or less by performing inverse quantization on the quantized transform coefficients; and restoring samples of bit depth or less by performing one-dimensional inverse transformation (ID) and inverse scaling on the quantized transformation coefficients.
Restoring the transform coefficients may include generating the transform coefficients of the first bit depth or less after the inverse quantization is performed without having to truncate the transform coefficients obtained by performing the inverse quantization. The first bit depth can be equal to a size of a first storage unit to store the transformation coefficients obtained by performing the inverse quantization.
Restoring samples can include generating samples from the second bit depth
Τ ΚΛ ΡI ¡ti / Λ ..- '·) 1 ÍVl X Δ fe; £ tif
MEXICAN INSTITUTE - .'I or less after transiori'ffi / ^^^^ nv ^ rsary. * ·· 'ID and inverse scaling are performed, without having to truncate the samples obtained by performing the inverse transformation ID and inverse scaling. The second bit depth may be equal to a size of a second storage unit for storing samples obtained by performing reverse transformation and inverse scaling.
Parsing and restoring quantized transform coefficients can include parsing and restoring quantized transform coefficients that have a maximum fit range such that the transform coefficients of the first bit depth or less are generated after that inverse quantization is performed and samples of the second bit depth or less are generated, after inverse transformation and inverse scaling are performed.
If the inverse scaling is performed by the bit shift data, which is obtained after the inverse transformation ID is performed, by a predetermined bit value, the maximum range of the quantized transformation coefficients can be determined based on a number of bits shifted for inverse scaling after the ID reverse transformation is performed.
IMPI
MEXICAN INSTITUTE
According to another aspect of <sup>OF 1</sup>Invention, a video encoding method is provided that includes generating quantized transform coefficients, by performing the transform and quantizing in block units of an image;
determining a maximum value of the quantized transformation coefficients in such a way that the output data obtained by performing the inverse quantization on the quantized transformation coefficients and / or the output sent data obtained by carrying out the inverse transformation ID and inverse scaling on transform coefficients, each have a predetermined or lesser bit depth; and adjusting a range of the quantized transformation coefficients to fall within the maximum range.
Determination of the maximum range of the quantized transform coefficients may include determining the maximum range of the quantized transform coefficients, using a first bit depth, such that the transform coefficients of the first bit depth or Minor are generated without having to perform truncation after inverse quantification is performed, during the restoration of the samples. The first bit depth
IMPI can be equal to a size of a storage to store the transformation coefficients.
Determination of the maximum range of the quantized transform coefficients may include determining the maximum range of the quantized transform coefficients by using a second bit depth, such that samples of the second bit depth or less are generated. without having to perform truncation after ID reverse transformation and inverse scaling are performed during sample restoration. The second bit depth can be equal to a size of a second storage unit to store the samples.
Determining the maximum range of the quantized transform coefficients may include determining the maximum range of the quantized transform coefficients by using a predetermined bit value, such that samples of the second bit depth or less are generated. by the bit shift data, which is obtained after the reverse ID transformation is performed, by the number of bits shifted without having to truncate the samples obtained after inverse scaling is performed.
Adjusting the interval of the coefficients of
UNIQUE quantized transformation can include e4srnj - - INDUSTRIAL FIBID from the interval of the quantized transformation coefficients to fall within the maximum interval.
In accordance with yet another aspect of the present invention, a video decoding apparatus is provided that includes a receiver unit for parsing and restoring the transform coefficients quantized in block units of an image from a bitstream image. received; an inverse quantization unit for restoring transformation coefficients to a first bit depth or less, by performing inverse quantization on the quantized transformation coefficients; an inverse transformation unit to restore samples to a second bit depth or less, by performing one-dimensional inverse transformation (ID) and inverse scaling on the quantized transformation coefficients; and an image restoration unit to restore the image by using the restored samples in block units.
In accordance with yet another aspect of the present invention, there is provided a video encoding apparatus including a transformation quantization unit for generating the transformation coefficients quantized by performing the transformation and quantization in u-block units.
<img file="MX354286B_D0010.tif" />
INDUSTRIAL 1 maximum interval determination unit to determine a maximum interval of the quantized transformation coefficients in such a way that the output data obtained by performing the inverse quantification on the quantized transformation coefficients and / or the output data obtained by performing the inverse transform ID and inverse scaling on the transform coefficients each have a bit depth default or less; and an output unit for adjusting a range of the quantized transform coefficients to fall within the maximum range and output the adjusted quantized transform coefficients, in a bit stream.
In accordance with yet another aspect of the present invention, a computer readable recording medium is provided for executing the video decoding method by a computer.
In accordance with yet another aspect of the present invention, a computer readable recording medium is provided for executing the video encoding method by a computer.
Modality for the Invention
Hereinafter, the present invention will be more fully described with reference to the figures.
-,. . . Mexican institute, annexes, in which are shown the> tLAPra®efcaaLipa¿Jes' INDUSTRIAL ^ * »> 1» - · »J copies of the invention. ________
Hereinafter, a video encoding method and a video decoding method performed by adjusting the fixed point transformation and the inverse transformation will be described with reference to Figures 1 to 5, according to the modalities of the present invention. A video encoding method and a video decoding method made based on the encoding units that have a tree structure by adjusting the bit depths of the fixed point transformation and the inverse transformation, according to the modalities of The present invention will be described with reference to Figures 6 to 18. Hereinafter the term image can denote either a still video image or a moving image, i.e. video.
First, they will be described with reference to the
Figures 1 to 5 a video encoding method and a video decoding method performed by adjusting the bit depths of fixed point transformation and inverse transformation.
FIG. 1 is a block diagram of a video encoding apparatus 10 according to an embodiment of the present invention.
The video encoding apparatus 10 includes a
<img file="MX354286B_D0011.tif" />
j transformation quantization unit 12 maximum interval determination 14, and an output unit
In accordance with an embodiment of the present invention, the video encoding apparatus 10 receives the video images, breaks each of the video images into blocks, and encodes the video images into units of the blocks. The blocks can each have a square shape, a rectangular shape, or any other geometric shape. That is, the blocks are not limited to the default size data units. According to an embodiment of the present invention, the blocks can include maximum encoding units, encoding units, prediction units, and transformation units from among the encoding units having a tree structure. The video encoding / decoding based on the encoding units having a tree structure, will be described with reference to Figures 6 to 18 below.
According to an embodiment of the present invention, the video coding apparatus 10 generates samples by performing the intra prediction, the inter prediction, the transformation, and the quantization on each of the blocks, performs the coding of
ΪΜΡΙΓ 'INSTITUTO M8XICANU ί -' entropy on the samples, and then it sends an entropy encoding in a bit stream. ____
According to an embodiment of the present invention, the transformation quantization unit 12 can generate the quantized transformation coefficients by performing the transformation and the quantization on each of the blocks. Transformation quantization unit 12 can generate quantized transformation coefficients by receiving pixel values or differential information between pixel values obtained through image prediction encoding and transforming pixel values or differential information into units of the transformation unit. The transformation quantization unit can generate the quantized transformation coefficients, that is, the quantization coefficients, by quantizing the transformation coefficients. According to an embodiment of the present invention, the transformation quantization unit 12 performs the fixed point transformation to generate the transformation coefficients in units of the transformation unit.
In order to restore the samples, inverse quantization can be performed to restore the transformation coefficients from the quantized transformation coefficients, and the output data that is
IMPIDA-, sent as a result of the actual ^ 'S ^^ tDAndÍÁ ^' - 'la,,
INDUSTRIAL 'faith. <sup>Τ</sup>-<sup>Λ</sup> '• Τι' ''
INDUSTRIAL reverse quantization, can be stored in a storage unit of a predetermined data size.
A data size of a first storage unit to store the transformation coefficients obtained by performing the inverse quantization, can be equal to that of a storage unit capable of storing data of a first bit depth. In this way, the output data that is sent as a result of performing the inverse quantization may be the data of the first bit stream or less.
Hereafter, it is assumed that a maximum absolute value of the data can be determined by a bit depth, a data value is a value between a minimum value and a maximum value, and a dynamic range of data can be determined by the bit depth. A data size of a storage unit to store a predetermined bit depth can also be determined by the bit depth of the data. In the present description, a data bit depth, a maximum absolute value, a dynamic data interval, and a data size of a storage unit are to be understood as terms having similar meanings.
During sample restoration, the
IMPI reverse transformation is performed on the caS ^ í ^ éíSt ^ s of
INDUSTRIAL transformation to restore the original data from the transformation coefficients obtained through the fixed point transformation. The output data obtained through the inverse fixed-point transformation to correspond to the fixed-point transformation can be inversely scaled to a certain bit depth or less. The output data that is sent as a result of performing the scaling inverse after the fixed point reverse transformation can be stored in a storage unit in a predetermined data size. In other words, a data size of a second storage unit for storing samples obtained by performing inverse transformation and inverse scaling, can be equal to the size of a storage unit capable of storing data of a second bit depth . In this way, the output data obtained by performing the inverse transformation and the inverse scaling can be the data of the second bit depth or less.
The one-dimensional (ID) transformation can be continuously performed twice to perform the two-dimensional (2D) transformation on a 2D block. During the restoration of the samples, the inverse transformation ID that corresponds to the transformation performed by the transformation quantification unit of
IMPI <sup>lon</sup> ;<sup>to be</sup> OE THE PROPERTY v J
INDUSTRIAL continuously performed twice to perform the 2D reverse transformation. Inverse scaling can be performed as long as the inverse transformation is performed
ID
According to an embodiment of the present invention, the output data obtained through the inverse transformation can be shifted in bits by a predetermined bit value, whereby the result of performing the inverse transformation is reversed. . Thus, a bit depth of a result of shifting the output data for inverse scaling by bits may be the second bit depth or less.
If the bit depth of the output data obtained by sequentially performing the inverse transformation and the inverse scaling is limited to the second bit depth, then the transformation coefficients that are input values towards the inverse transformation may also be limited to be less than or equal to a predetermined range value, based on the second bit depth.
Quantized transform coefficients that are input values within the inverse quantization can also be limited to be less than or equal to a value from another interval, transform coefficients obtained
<img file="MX354286B_D0012.tif" />
through inverse quantization to be less than or equal to the input values in the inverse transformation.
Thus, according to an embodiment of the present invention, the video encoding apparatus 10 can adjust a dynamic range of the quantized transform coefficients to be sent in a bit stream, in consideration of a quantize output range. inverse, and an inverse transform / inverse scaling output interval. Thus, the maximum interval determining unit 14 can determine a maximum interval of quantized transformation coefficients to be sent from the video encoding apparatus 10.
According to an embodiment of the present invention, the maximum interval determining unit 14 can determine a maximum interval of quantized transformation coefficients so that the output data obtained by performing the inverse quantization on the quantized transformation coefficients and / or the output data obtained by performing the inverse transformation and inverse scaling on the transformation coefficients, it may be less than or equal to a predetermined bit depth during sample restoration.
<img file="MX354286B_D0013.tif" />
According to an embodiment of the present invention, the maximum interval determining unit 14 can determine a maximum interval of quantized transformation coefficients based on the first bit depth, so that the transformation coefficients of the first bit depth or less can be generated without having to truncate the transformation coefficients obtained through inverse quantification, during the restoration of the samples.
According to an embodiment of the present invention, the maximum interval determining unit 14 can determine a maximum interval of quantized transformation coefficients based on the second bit depth so that the samples of the second bit depth or less can be generated without having to truncate the samples obtained by performing the reverse ID transformation and the reverse scaling, during the restoration of the samples.
According to an embodiment of the present invention, when, during the restoration of the samples, the data is shifted in bits by a predetermined bit value to thus perform the inverse scaling after the ID inverse transformation, the interval determination unit maximum 14 can determine a y χΤ '··' _____i, ¾ maximum range of coefficients of iNST ^ T ^^^^ ni ^ g-ióh. d
INDUSTRIAL quantized, based on the number of bits shifted.
In accordance with an embodiment of the present invention, the output unit 16 can adjust a range of the quantized transformation coefficients to fall within the maximum range determined by the maximum interval determination unit 14, and output a result of the adjustment in a bit stream. The quantized transformation coefficients can be truncated to a value that falls within the maximum range determined by the maximum range determination unit 14.
As described above, the maximum range determining unit 14 can determine a maximum range of quantized transformation coefficients in such a way that during the restoration of the reverse quantization samples the truncation can be skipped after the reverse quantization is performed and after the inverse transformation is done. As yet another example, the maximum interval determining unit 14 can determine a maximum interval of quantized transformation coefficients in such a way that during the restoration of the samples, the truncation can be skipped after the inverse quantization is performed.
According to an embodiment of the present invention, the coding apparatus left
INSTITUTO MiXICANC t> E THE PROPtSPAD include a central processing unit ^ FT5<sup>IAL</sup>po) (not shown) controlling<sup>1</sup>lasO<sup>,</sup>peL * ne<sup>i</sup>iorte-0 · general of the transformation quantization unit 12, the maximum interval determination unit 14, and the output unit 16. Otherwise, the transformation quantization unit 12, the maximum interval determining unit 14, and the output unit 16 can be operated by different processors (not shown) herein, and the different processors can operate each other to perform the general operations of the video encoding apparatus 10. Otherwise, the transformation quantization unit 12, the maximum interval determining unit 14, and the output unit 16 can be operated under the control of an external processor (not shown) of the video encoding apparatus 10.
In accordance with one embodiment of the present invention, the video encoding apparatus 10 may include at least one data storage unit (not shown) for storing data inputted to and sent from transformation quantization unit 12, the determination unit maximum range 14, and output unit 16. Video encoding apparatus 10 may include a memory controller (not shown) that controls
IMPI.
, ... - $ the data to be entered to and
INDUSTRIAL '' «r¿Λ .1 minus one data storage unit.
According to an embodiment of the present invention, in order to send a result of performing the encoding, the video encoding apparatus 10 can perform the video encoding including the transformation, when operated in association with a processor internal video encoding or an external video encoding processor. In accordance with one embodiment of the present invention, the internal video encoding processor of the video encoding apparatus 10 can be exemplified as a single processor, or a video encoding processing module included in the video encoding apparatus 10 , a central arithmetic device, or a graphical arithmetic device to perform basic video encoding operations.
Figure 2 is a block diagram of a 2 0 video decoding apparatus according to an embodiment of the present invention.
In accordance with one embodiment of the present invention, the video decoding apparatus 20 includes a receiver unit 22, an inverse quantization unit 24, an inverse transformation unit 26, and an image restoration unit 28.
According to a modality of the present
ΙΜΡΪΓΙ,,, INJTLTUTO MÍXICANU ϊβinvention, the decoding apparatus of 'vid ^^^^ ADpu ^ receive the bit stream containing the encoded video data. The video decoding apparatus 20 can syntactically analyze the encoded video samples from the bit stream, and generate restored pixels by performing entropy encoding, inverse quantization, inverse transformation, prediction, and estimation of movement in the image blocks, whereby a restored image is obtained.
In accordance with an embodiment of the present invention, receiver unit 22 parses and restores quantized transform coefficients in image block units from the bit stream. Thus, in accordance with an embodiment of the present invention, receiver unit 22 can parse and restore quantized transform coefficients that fall within a predetermined maximum range from the bit stream. In accordance with one embodiment of the present invention, the quantized transform coefficients, parsed from the bit stream, have been adjusted to fall within the predetermined maximum range, and then have been output in a bit stream during a process of coding.
ΙΜΡΙβ
<img file="MX354286B_D0014.tif" />
According to a modality
INDUSTRL invention, the inverse quantization unit 24 can restore the transformation coefficients of a first bit depth or less by performing the inverse quantization on the quantized transformation coefficients. The first bit depth can be equal to a data size of a first storage unit, to store the transformation coefficients obtained by performing the inverse quantization. According to an embodiment of the present invention, the inverse quantization unit 24 can generate the transformation coefficients of the first bit depth or less after the inverse quantization is performed, without having to truncate the transformation coefficients obtained through of inverse quantification.
According to an embodiment of the present invention, the inverse transformation unit 26 can restore the samples to a second bit depth or less by performing the inverse transformation ID and inverse scaling on the transformation coefficients at least once. For example, for 2D inverse transformation, inverse transformation and inverse scaling can be continuously performed twice. The second bit depth can be equal to a data size of a second unit of storing samples generated by the
IM
<img file="MX354286B_D0015.tif" />
at 1 maeeTOaíthswnto®
OF THE RRORIEDAL. INDUSTRIAL realization of
<td>transformation</td><td>inverse</td><td colspan="2">and inverse scaling.</td><td></td>
<td>Of</td><td>agreement</td><td>to a modality</td><td>of the</td><td>Present</td>
<td>invention the</td><td>Unit</td><td>transformation</td><td>inverse</td><td>26 can</td>
generating samples of the second bit depth or less by performing the inverse transformation ID and inverse scaling without having to truncate the samples obtained by performing the inverse transformation ID and inverse scaling.
According to an embodiment of the present invention, for inverse scaling, the inverse transformation unit 26 can shift the data, which is obtained by carrying out the inverse transformation ID, into bits by a predetermined bit value. Receiver unit 22 can receive the truncated quantized transform coefficients according to a maximum interval determined based on the number of bits shifted.
As described above, quantized transform coefficients having a limited range must be input to the inverse quantization unit 24 so that the inverse quantization unit 24 can output the transform coefficients of the first bit depth or less without performing truncation. Similarly, the coefficient of
IMPI ...... ....
transformationnuTqM «BCAl3d.éáeííair<sub>fl</sub> .¾
OF LATROPIEDAD / 7}
INDUSTRIAL limited interval must be introduced to the inverse transformation unit 2 6 so that the inverse transformation unit 26 can send the transformation coefficients of the second bit depth or less without performing truncation.
Since the quantized transform coefficients received by the receiver unit 22 have a limited maximum range, the transform coefficients of the first bit depth or less can be generated without performing truncation after the inverse quantization unit 24 performs the quantization reverse, and samples of the second bit depth or less can be generated without truncation after inverse transformation unit 26 performs inverse transformation and inverse scaling.
In accordance with one embodiment of the present invention, the image restoration unit 28 can restore images from the restored samples in the block units. For example, images can be restored by performing intra prediction or motion compensation on samples restored in block units.
According to an embodiment of the present invention, the truncation can be skipped after
ΙΜΡΙΓί '^ the inverse quantification unit dí
INDUSTRIAL inverse quantization and after the inverse transformation unit 26 performs the inverse transformation, according to a maximum interval of the received quantized transformation coefficients. As yet another example, truncation can be skipped only after inverse quantization unit 24 performs inverse quantization according to a maximum range of the received quantized transformation coefficient.
In accordance with one embodiment of the present invention, the video decoding apparatus may include a central processing unit (CPU) (not shown) that controls the general operations of receiver unit 22, reverse quantization unit 24, unit transformation machine 26, and the image restoration unit 28. Otherwise, the receiver unit 22, the reverse quantization unit 24, the reverse transformation unit 26, and the image restoration unit 28 can be operated by different processors (not shown) therein, and the different processors can operate mutually to perform the general operations of the video decoding apparatus. Otherwise, the receiving unit
22, the reverse quantization unit 24, the reverse transformation unit 26, and the image restoration unit 28 can be operated under e
INDUSTRIAL '' -Q-CLt— external processor (not shown) of the video decoding apparatus 20.
In accordance with an embodiment of the present invention, the video decoding apparatus may include at least one data storage unit (not shown) for storing data inputted to and sent from the receiver unit 22, the reverse quantization unit 24, the reverse transformation unit 26, and image restoration unit 28. The video decoding apparatus 20 may include a memory controller (not shown) that controls the data to be input to and sent from at least one data storage unit.
According to an embodiment of the present invention, in order to restore the video according to a decoding process, the video decoding apparatus 20 can perform the video decoding when operated in association with a video decoding processor. internal or external video decoding processor. In accordance with an embodiment of the present invention, the internal video decoding processor of the video decoding apparatus 20 can be exemplified as a single processor, or a video decoding processing module included in the video apparatus.
<img file="MX354286B_D0016.tif" />
ΡΙ video decoding 20, a central MIBIARAIBT • E PROPERTY INBUSTR1AL PROPERTY, or a graphical arithmetic device to perform basic video decoding operations.
In accordance with one embodiment of the present invention, the video encoding apparatus 10 has previously limited a data range of the quantized transform coefficients, based on the size of a storage unit, eg, a time compensator, to store a temporary buffer to store data obtained after inverse quantification and inverse transformation are performed during sample restoration. In this way, the video decoding apparatus 20 can store the output data in the temporary buffer of a fixed bit depth, without truncating the output data during inverse quantization and inverse transformation on the coefficients of transformation quantified received. Thus, it is possible to prevent overflow from occurring when the fixed point transformation is performed during a decoding process.
<img file="MX354286B_D0017.tif" />
<td>video with</td><td>which it's</td><td colspan="2">resources are saved</td><td>of</td><td>hardware</td><td>for</td>
<td>perform the</td><td colspan="2">truncation.</td><td></td><td></td><td></td><td></td>
<td>The</td><td>Figure</td><td>3 illustrates a</td><td>process</td><td>of</td><td>Change of</td><td>a</td>
<td>depth</td><td>of</td><td>bits in</td><td>a</td><td></td><td>system</td><td>of</td>
encoding / decoding 30, according to a modality of
IMPÍ
MEXICAN INSTITUTE
SAY INDUSTRIAL PROPERTY
<img file="MX354286B_D0018.tif" />
the present invention.
<td>With</td><td>reference</td><td colspan="2">to Figure 3, the</td><td>system</td><td>of</td>
<td colspan="2">encoding / decoding</td><td colspan="2">30 includes a</td><td>Unit</td><td>of</td>
<td>quantification</td><td colspan="2">31 for a process</td><td>coding</td><td colspan="2">, and includes</td>
<td colspan="2">a unit of analysis</td><td colspan="2">syntactic 33, a</td><td>Unit</td><td>of</td>
<td>quantification</td><td>inverse</td><td>34, one</td><td>first</td><td>Unit</td><td>of</td>
<td>transformation</td><td>reverse ID</td><td>36, and</td><td>A second</td><td>Unit</td><td>of</td>
<td>transformation</td><td>inverse</td><td>ID 38</td><td colspan="2">for a process</td><td>of</td>
decoding.
The quantization unit 31 can quantize the transformation coefficients obtained according to a video coding process, and send a bit stream that includes the quantized transformation coefficients. An output range of the quantized transform coefficients may have been limited to a predetermined range. For this purpose, the transformation coefficients can be truncated to fall within the predetermined range.
The parsing unit 33 can parse and restore the quantized transform coefficients from the bit stream. The inverse quantization unit 34 can restore the transformation coefficients by performing the inverse quantization on the quantized transformation coefficients. The transformation coefficients can be temporarily a
IMPI ss
INDUSTRIAL
<img file="MX354286B_D0019.tif" />
-Ulíct ',' storage unit 35 before they are sent from the reverse quantization unit 34. Thus, the size of the output data from the reverse quantization unit 34 can be limited to be less than or equal to a first bit depth of the storage unit 35.
The first ID inverse transformation unit 36 can perform the ID inverse transformation on the transformation coefficients in a first direction. The second ID reverse transform unit 38 can perform the ID reverse transform on a result of performing the ID reverse transform received from the first ID reverse transform unit 36, in a second direction.
Each of the first ID 36 reverse transformation unit and the second ID 38 reverse transformation unit can perform the fixed-point reverse transformation, and perform the inverse scaling on a result of performing the inverse transformation.
The first inverse transformation unit ID 36 can shift the data, which is obtained by performing the inverse transformation ID in the first direction, to a first offset bit value, shiftl (shiftl) in order to perform the scaling. inverse on this data. The second transformation unit mtttavéffieaó
Say THE INDUSTRIAL PROPERTY may shift the data, which is obtained by performing the inverse transformation ID in the second direction, into a second offset bit value shift2 (shift2) in order to perform the inverse scaling on this data.
The first reverse transformation unit ID 36 can temporarily store the data sent from it in a storage unit 37. Thus, the size of the output data of the first reverse transformation unit ID 36 can be limited to be less than or equal to a data size of a storage unit 37.
Similarly, the second reverse transformation unit ID 38 can temporarily store the data sent from it in a storage unit 39.
Thus, the size of the output data of the second reverse transformation unit ID 38 can be limited to be less than or equal to a data size of the storage unit 39.
For example, a maximum absolute value MaxC of a transformation coefficient C inversely quantified by the inverse quantization unit 34, can be limited according to the following equation:
[Equation 1] | C | <MaxC = 2<sup>bq</sup> - 1, where if unit of a bit depth of the sizesrSeoiáñáÁeb
BE THE PROPERTY 'ϊ
INDUSTRIAL \ nT3f storage 35 is bq-bits in length, then the transformation value C transformation C absolute maximum MaxC of the coefficient can be 2<sup>bq</sup>-l and the coefficient can fall within a range of from {-2<sup>bq</sup>,..., 2<sup>bq</sup>-l}.
Similar to the operations of the first inverse transformation unit ID 36 and the second inverse transformation unit ID 38, a maximum absolute value or Maxk of data C<sub>k</sub> which is inversely transformed by the realization of the k-th inverse transformation ID can be limited according to the following equation:
[Equation 2] | C<sub>k</sub> | <Maxk = 2<sup>bk</sup> - 1, where if the storage units 37 and 39 are bk-bits in length, then a maximum absolute value Maxk of the inverse transformed data C<sub>k</sub> can be 2<sup>bk</sup>-l and the transformation coefficient C can fall within an interval of {-2<sup>bk</sup>, ..., 2<sup>bk</sup>-l}.
Thus, a range of output data from each of the inverse quantization unit 34, the first inverse transformation unit ID 36, and the second inverse transformation unit ID 38 must be limited according to equations 1 and 2, to prevent overflow from occurring.
Conventionally, the truncation ^^ g ^ t ^^ cfete ^ é '; ·
INDUSTRIAL so that the output data sizes of the reverse quantization unit
34, the first reverse transformation unit ID 36 and the second reverse transformation unit ID 38, may respectively be less than or equal to the data sizes of the storage units 35, 37, and 39 according to equations 1 and 2.
However, according to an embodiment of the present invention, the video encoding apparatus 10 and the video decoding apparatus 20 employ a method of adjusting a maximum range of quantized transform coefficients, to minimize a truncation operation performed during a video decoding process.
The size of the data input to the first ID 36 reverse transformation unit or the second ID 38 reverse transformation unit can be limited to control the output data thereof to be less than or equal to a predetermined bit depth. For this purpose, the size of the output data of the reverse quantization unit 34 can be limited. Also, the sizes of the quantized transform coefficients introduced to the inverse transform unit ID 36 can be limited to be less than or equal to a predetermined bit depth, for
<img file="MX354286B_D0020.tif" />
size of the output data of the inverse quantization unit 34, to be less than or equal to a predetermined bit depth. Thus, a maximum range of the quantized transformation coefficients sent from the quantization unit 31 can be controlled to limit the range of the output data of each of the inverse quantization unit 34, the first inverse transformation unit ID. 36 and the second reverse transformation unit ID 38, without having to perform truncation.
Firstly, a maximum input data interval required to limit the output data interval of the first ID 36 reverse transformation unit or the second ID 38 reverse transformation unit can be determined based on a transformation matrix, using the use of the following equations:
[Equation 3]
Y = TR_MATRIX χ X, where a vector X denotes the input data that has a size N for the inverse transformation, a vector Y denotes the output data that has the size N, and TR_MATRIX denotes the transformation matrix that has a size of
NxN. If a maximum absolute value of elements of vector X is max_abs_X and a maximum absolute value of elements in an i-th row of the transformation matrix
<img file="MX354286B_D0021.tif" />
Dt INDUSTRIAL PROPERTY max abs TR MATRIXi, then a maximum absolute value of the output data Yi and a maximum absolute value max_abs_Y of the elements of vector Y, can be determined according to the following equation:
[Equation 4]
Yi = max_abs_TR_MATRIXi * max_abs_X;
max_abs_Y = Max {max_abs_TR_MATRIXi} * max_abs_X, where 'Max {max_abs_TR_MATRIXi}' is named as the Ll-norm of a transformation matrix for the kth transformation, that is, Ll_TR_MATRIX_k. A final operation of the k-th ID transform is bit shift for inverse scaling. Thus, a total increase in bit depth during the kth ID transformation can be determined by the following equation:
[Equation 5] max abs Y = (Ll TR MATRIX k * max abs X + off set k) >> offset_k, where for the k-inverse scaling, a shift 'off_set_k' is 2<sup>shlft</sup>-<sup>k_1</sup>.
As described above, if the size of the output data Y obtained by performing the ID transformation is less than or equal to a depth of bk-bit, the output data interval can be expressed as follows:
[Equation 6]
-2<sup>bk</sup> <AND <2<sup>bk</sup> -1;
max_abs_Y 2<sup>bk</sup> -1
Thus, the derivative of a combination of [Equation 7] ((Ll TR MATRIX k * max abs X +
MEXICAN INSTITUTE OF PROPERTY
INDUSTRIAL
<img file="MX354286B_D0022.tif" />
next equation can be equations 5 and 6:
off set k) >> Shift k) <2<sup>bk</sup>-l;
(LITE MATRIX_k * max_abs_X + off_set_k) <(<sub>2</sub><sup>bk + shift</sup>-<sup>k</sup>-2<sup>shift</sup>-<sup>k</sup>); max_abs_X <2<sup>bk + shift</sup>-<sup>k</sup>-2<sup>shift</sup>-<sup>k</sup> -2 <sup><shift</sup>-<sup>k_1></sup> ) / Ll_TR_MATRIX_k
If a range of the input data for the inverse transformation is limited according to at least one inequality expressed in Equation 7, it is possible to prevent overflow in the output data obtained by performing the inverse transformation.
Thus, if the depth of bk-bits expressed in Equations 6 and 7 is generalized to Max_k, the maximum interval of the input data for the k-inverse transformation can be generated as follows:
[Equation 8] max_abs_Y Max_k;
max abs X <(Max k * 2<sup>shift</sup>-<sup>k</sup>-2 <sup><shift</sup>-<sup>k_1)</sup>) / Ll TR MATRIX k
That is, the maximum interval of the input data for the k-th inverse transformation can be determined based on the size of the storage unit Max_k,
Jf JL a bit value of Shift_k for the scale'SKÍg ^ p '^ ÉÉS ^^ í''yY
ΙΝΓ »! ICT »i Al Va». SL · # '* ·,>' xM. '' 'Yes
INDUSTRIAL
Ll-norm (Ll TR MATRIX k) of the transformation matrix.
Next, the input data interval required to limit the output data interval of the inverse quantization unit 34 can be determined based on the inverse quantization variables, according to the following equations. According to Equation 9, a quantized transformation coefficient qC can be restored to a transformation coefficient C through inverse quantization.
[Equation 9]
C = (((qC * scale (QP)) << bits (QP)) + iAdd) >> iShift;
<td></td><td>Yes</td><td>the</td><td>size</td><td>of the transformation coefficient C</td><td>is</td>
<td>limited</td><td>to</td><td>a</td><td>limit</td><td>maximum MaxC as expressed in</td><td>the</td>
<td>Equation</td><td> 1,</td><td colspan="3">then a maximum interval of the coefficient</td><td>of</td>
quantized transformation qC which is the data entered for the inverse quantification, can be determined based on the following equation:
[Equation 10]
-MaxC <(((qC * scale (QP)) << bits (QP)) + iAdd) >> iShift <MaxC;
| qC | ¿((MaxC << iShift) -iAdd) >> bits (QP) / scale (QP);
In other words, the maximum interval of the input data for the inverse quantization can be determined based on the maximum limit MaxC of the output data and the inverse quantization variables.
IMPIOUS
<img file="MX354286B_D0023.tif" />
Next, while the quantified inverse transformation are performed sequentially, the relationship between a limit of the output data and a maximum interval of the input data in each of the operations is as follows:
[Table 0]
<td>Operation</td><td>Terms</td><td>Interval</td><td>maximum</td>
<td></td><td>restrictive</td><td colspan="2">limited data</td>
<td></td><td></td><td>entry</td><td></td>
<td></td><td>Absolute value</td><td>Absolute value</td><td>maximum</td>
<td></td><td>maximum of</td><td colspan="2">the input data</td>
<td></td><td>output data</td><td></td><td></td>
<td>Second</td><td>Max 2</td><td>Max_2 * 2<sup>shift</sup>-<sup>2</sup></td><td>2 (shi ft 2 -</td>
<td>transformation</td><td></td><td><sup>11</sup>) / L1_TR_MATRIX_2</td><td></td>
<td>reverse ID</td><td></td><td></td><td></td>
<td>First</td><td>Max_l</td><td>Max l * 2<sup>shift</sup>-<sup>1</sup> - 2</td><td>(shift l</td>
<td>transformation</td><td></td><td><sup>11</sup>) / L1_TR_MATRIX_1</td><td></td>
<td>reverse ID</td><td></td><td></td><td></td>
<td>quantification</td><td>MaxC</td><td>((MaxCcciShift) -</td><td></td>
<td>inverse</td><td></td><td>iAdd) >> bits (QP) /</td><td></td>
<td></td><td></td><td>scale (QP)</td><td></td>
Thus, in order to prevent overflow from occurring in the output data obtained when each of the inverse quantization and the first and second inverse ID transformation is performed, and allow a truncation operation to be skipped, the conditions restrictive expressed
IM
- X debewswnp Metates
I heard INDUSTRIAL PROPERTY in the Equations
<img file="MX354286B_D0024.tif" />
and 12.
[Equation 11]
Max_l <(Max_2 * 2<sup>shift</sup>-<sup>2</sup> - <sub>2</sub><sup>(shift</sup>-<sup>2_1)</sup> ) / L1_TR_MA7RIX_2 [Equation 12]
MaxC <(Max_l * 2<sup>shift</sup>-<sup>1</sup> - <sub>2</sub><sup>(shift</sup>-<sup>1</sup> ) / L1_TR_MATRIX_1 [Equation 13] | qC | ^ ((MaxCcciShift) -iAdd) >> bits (QP) / scale (QP)
According to Equation 12, in order to skip the output truncation obtained by performing the first inverse transformation ID, a maximum absolute value of the output data obtained by performing the inverse quantization must be less than or equal to a maximum range of the input data for the first inverse transformation ID.
According to Equation 11, in order to skip the truncation of the output data obtained by performing the second inverse transformation ID, a maximum absolute value of the output data obtained by carrying out the first inverse quantization ID must be less that or equal to a maximum range of the input data for the second inverse transformation ID.
According to Equation 13, in order to skip the truncation of the output data obtained by the
<img file="MX354286B_D0025.tif" />
IMPI. 'MEXICAN INSTmrrO performing inverse quantization, a maximum v & i ^ o ^ íps of the transform coefficients quantized_ restored from a bit stream must be less than or equal to a maximum range of the input data for inverse quantization.
In accordance with one embodiment of the present invention, the video encoding apparatus 10 and the video decoding apparatus 20 can skip at least one of the truncation operations after inverse quantization and inverse transformation are performed during a decoding process.
For example, if the maximum range of the quantized transformation coefficient satisfies only the
Equation 13 and the inversely quantized data and the first inversely transformed data do not respectively satisfy Equations 11 and 12, so the truncation can be skipped only after the inverse quantization is performed. In other words, to skip truncation after inverse quantization is performed, the video encoding apparatus 10 may limit a maximum range of quantized transform coefficients according to Equation 13, not in consideration of Equations 11 and 12.
As yet another example, if the quantized transform coefficients sent from the
IMPI 10 video encoding to the device
FROM INDUSTRIAL PROPERTY video 20 satisfy Equation 13, and conversely the quantized data satisfies Equation 12, truncation can be skipped after inverse quantization is performed and after the first inverse ID transformation is performed.
When the video decoding apparatus 20 according to an embodiment of the present invention stores output data after inverse quantization and inverse ID transformation are performed in a 16-bit buffer or buffer, the conditions of the coefficients Transformed transformations that allow truncation to be skipped after inverse quantization and inverse transformation ID are performed will now be described.
Samples that have values of -2<sup>15</sup>, . . , 2<sup>15</sup>-1 can be stored in the 16-bit buffer. If an absolute value of the output data obtained by performing each of the operations, for example, inverse quantization and inverse transformation, is less than 2<sup>1S</sup>-1, i.e. 32767, then any storage unit other than the 16-bit buffer is not required to store data and truncation need not be performed after inverse quantization and inverse transformation are performed. Of this
<img file="MX354286B_D0026.tif" />
mode in the video encoding apparatus
<img file="MX354286B_D0027.tif" />
HTÍTfiO MSXHSaN '
OF THE? ΡΟΡ »ΕΙ> ΛΠ INDUSTRIAL video decoding 20 according to an embodiment of the present invention a range of input data for each of the inverse quantization and the inverse transformation is limited to limit an absolute value of the data of output obtained by performing each of the inverse quantization and the inverse transformation to 2<sup>15</sup>-1.
For example, it is assumed that the input data and the output data are each p-bit data. A residual value of the output data obtained by performing the inverse transformation can fall within an interval {2<sup>P</sup>+1, . . . , 2<sup>P</sup>-one} . In this way, a maximum absolute value Max 2 of the output data obtained by performing the second inverse transformation ID can be 2<sup>P</sup>-1.
In general, a maximum value of a bit depth of a sample value of a video code is 14 and samples of 14 bits or less are thus used.
A bit depth of a video code subject to HEVC standards is 8 or 10 bits. Thus, the output data obtained by performing the second inverse transform ID falls within a 16-bit buffer data range and additional truncation need not be performed.
To store output data obtained by performing the first reverse ID transformation in the 16-bit buffer,
<img file="MX354286B_D0028.tif" />
inversely quantized transformation coefficients, which are data entered for the first inverse transformation ID, must satisfy Equation 12.
Also, to store output data obtained by performing inverse quantization in the 16-bit buffer, a range of quantized transform coefficients that are input data for inverse quantization must satisfy Equation 13.
For example, the video encoding apparatus 10 and the video decoding apparatus 20 can use inverse quantization variables expressed in the Equation as follows:
[Equation 14] iShift = p-9 + log<sub>2</sub>S;
bits (QP) = iQP / 6 + p - 8 where S denotes a block size, and QP and iQP denote a quantization parameter and an inverse quantization parameter, respectively.
Also, scale (QP) can have six different values according to QP% 6. For example, if QP% 6 has a value of 0, 1, 2, 3, 4, or 5, then scale (QP) can have a value of 40, 45, 51, 57, 64, or 72.
When the inverse quantization variables expressed in Equation 14 are used, Equation 13
IMPI can be changed to Equation 15.
MEXICAN INSTITUTE Dt LA PtOPISDAD
INDUSTRIAL
<img file="MX354286B_D0029.tif" />
[Equation 15] qC | i MaxC * 2<sup>Λ</sup>(log<sub>2</sub>S-1-iQP / 6) / scale (QP)
Thus, if the quantized transform coefficients sent from the video encoding apparatus video encoding apparatus satisfy a maximum interval according to Equation 15 and the video decoding apparatus 20 performs the inverse quantization by restoring the quantized transformation coefficients satisfying the maximum interval according to Equation 15 from a bit stream, then truncation can be skipped after inverse quantization is performed. According to Equation 15, a maximum range of quantized transformation coefficients to be sent from the video encoding apparatus 10 can be determined by a buffer size MaxC to store output data obtained by performing the inverse quantization, a block size S, and the inverse quantization parameters QP and iQP.
Equation 16 below is generated from a combination of Equations 15 and 12.
[Equation 16] qC I <
<img file="MX354286B_D0030.tif" />
(Ll_TR_MATRIX_ l * scale (QP)) ___
Thus, if the video encoding apparatus 10 sends the quantized transform coefficients satisfying a maximum interval according to Equation 16 and the video decoding apparatus 20 performs the inverse quantization and the inverse transformation by restoring the quantized transformation coefficients satisfying the maximum interval according to Equation 16 from a bit stream, then truncation can be skipped after inverse quantization is performed, and after a first inverse ID transformation has been performed. According to Equation 16, a maximum range of quantized transform coefficients to be sent from video encoding apparatus 10 can be determined by a buffer size Max_l to store output data obtained by performing the first inverse transform ID, a block size S, and the quantization parameters QP and iQP.
When the video encoding apparatus 10 and the video decoding apparatus 20 according to an embodiment of the present invention use a first inverse transformation / inverse transformation table, a maximum absolute value MAXqC of a transformation coefficient ζ · <sup>, ΑΧ</sup>
INDUSTRIAL quantized can be determined as s Table A. Table A shows the maximum absolute value MAXqC of the quantized transformation coefficient when an inverse quantization parameter QP is 0 and when the quantization parameter QP is 51.
[Table A]
<td>Inv.Tr.</td><td>LL</td><td>81 lili 1</td><td>Max 1</td><td>MaxC</td><td>MAXqC (QP = í))</td><td>MAXqC (QP = 5 1)</td>
<td>liSTl</td><td> 2 12</td><td> 7</td><td> 2<sup>,3</sup>-l</td><td> 17331</td><td> 866</td><td> 2</td>
<td>DCT4</td><td> 2 17</td><td> | 7</td><td>2i5-l</td><td> 16080</td><td> 849</td><td> 2</td>
<td>BCT8</td><td>Ί79</td><td>i 7</td><td> 2’<sup>3</sup>-l</td><td> 8755</td><td> 875</td><td> 2</td>
<td></td><td></td><td></td><td> ........-...............····.............</td><td> ............................... ......-.......—............--···</td><td></td><td></td>
<td>BCT16</td><td> 940</td><td> 1 7</td><td> 2<sup>l5</sup>-l</td><td> 1461</td><td> 89?</td><td> 2</td>
<td>DCT32</td><td> 1862</td><td> 1 )7</td><td> 2<sup>1</sup> -1</td><td>22o2</td><td> 900</td><td> 2</td>
As yet another example, when the video encoding apparatus 10 and the video decoding apparatus 20 use a second inverse transformation / inverse transformation table, a maximum absolute value such as MAXqC of a quantized transformation coefficient can be determined as shown in Table B.
<td colspan="7">[Table B]</td>
<td>Inv.Tr.</td><td>Ll</td><td>81 iil'1 1</td><td>Max 1</td><td>MaxC</td><td>MAXqC (QP = O)</td><td>{MAXqC (Ql> = 51)</td>
<td>1 '8 Γ 1</td><td> 15188</td><td> 13</td><td> 2<sup>15</sup>-1</td><td> 17331</td><td> 866</td><td> 2</td>
<td>DCT4</td><td>I 5808</td><td> 13</td><td> 2<sup>15</sup>-1</td><td> 16980</td><td> 8 19</td><td> 2</td>
<td>l) CI'8</td><td>I30622</td><td> 13</td><td> 2<sup>:</sup> -1</td><td> 8765</td><td> 875</td><td>I 2</td>
<td>nrr in</td><td> 60326</td><td> 13</td><td> 2<sup>:</sup>'-l</td><td> 4 1 19</td><td> 892</td><td>I 2</td>
<td>BCT32</td><td> 1 19262</td><td> 13</td><td> 2<sup>r</sup>'-l</td><td> 2250</td><td> 900</td><td> 2</td>
<td></td><td>In the</td><td>boards</td><td>A and B,</td><td colspan="2">Inv.Tr. of note</td><td>The types</td>
transformation matrix for transformation
<img file="MX354286B_D0031.tif" />
/ reverse transformation. A number that denoted
INDUSTRIAL transformation matrix types represents a square transformation block. Ll denotes a standard Ll of a transformation matrix according to each of the transformation matrix types. Shiftl denotes a bit value of shift for inverse scaling after inverse transformation is performed. The bit value of shift
Shiftl is a fixed value. A maximum absolute value Maxl of data obtained by performing the first inverse transformation ID is also a fixed value, which is determined by a bit depth of a sample.
That is, according to Tables A and B, the standard
Ll of the transformation matrix varies according to each of the transformation matrices. A change in the Ll standard of the transformation matrix can result in a change in a maximum absolute value MaxC of each of the inversely quantified transformation coefficients.
Such result corresponds to the requirement expressed in Equation 12. Thus, if the quantization parameter QP is 0, a maximum absolute value MAXqC of each of the quantized transformation coefficients varies according to the maximum absolute value MaxC of each of inversely quantified transformation coefficients. Such result corresponds to the requirement expressed in Equation 15.
However, in some cases, for example when
- • Λ the inverse quantization parameter 0Ρ<sup>η</sup>®κο®''ν «ΖΜ?<sup>;</sup>''4<sup>ί</sup>
INDUSTRIAL * 'quantized transformation coefficients can be determined to be constant values independently of the maximum absolute value MaxC of the inversely quantified transformation coefficients.
Equations 12 and 16 can be simplified by approximating the LI norm of the transformation matrix to a square of 2. For example, a first inverse transformation / transformation system can approximate the LI norm of the transformation matrix to 2<sup>TO</sup>(log2S + 6) according to Table A, and can approximate the LI standard of transformation matrix 2<sup>TO</sup>(log2S + 12) according to the Table
B.
For example, if the LI norm of the transformation matrix is approximated to 2<sup>TO</sup>(log<sub>2</sub>S + 6), then Equations 12 and 16 can be simplified as follows:
[Equation 17] | MaxC | h Max_l * 2<sup>TO</sup> (shift_l-log<sub>2</sub>S-6);
| qC | <Max_l * 2<sup>TO</sup>(shift_l-7-iQP / 6) / scale (QP);
MaxqC = Max_l * 2<sup>TO</sup>(shift_l-7-iQP / 6) / scale (QP)
As described above, according to the simplified requirement of the maximum range of the quantized transform coefficients, the maximum absolute value MaxqC of the quantized transform coefficients sent from the video encoding apparatus 10 to the decoding apparatus
<img file="MX354286B_D0032.tif" />
be determined by a buffer size Max_l to store output data obtained by performing the first inverse transformation ID and the inverse quantization parameters QP and iQP. A maximum range of the quantized transformation coefficients can be determined according to the maximum absolute value MaxqC of the quantized transformation coefficients.
The shift Shiftl bit value for inverse scaling after the first inverse ID transformation is performed, can be set to be a constant in the case of encoding system / decoding system 30. If the shift Shiftl bit value is a variable, the video encoding apparatus 10 can encode and transmit the shift Shiftl bit value and the video decoding apparatus 20 can receive and decode the shift Shiftl bit value.
Thus, in accordance with an embodiment of the present invention, the video encoding apparatus 10 may have previously limited a data range of quantized transformation coefficients, based on the size of a storage unit, for example, a temporary buffer, which stores data obtained after inverse quantification and inverse transformation are performed during the restoration of the / a Β13 / 37% samples. The decoding apparatus of
OF THE PROPERTY
INDUSTRIAL> * receive the quantized transform coefficients from a limited maximum range, and store data in a buffer even if the truncation is skipped during the inverse quantization and inverse transformation on the quantized transform coefficients.
Fig. 4 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.
In step 41, the quantized transform coefficients are generated by performing the inverse transform and inverse quantization on each of the blocks in an image.
Then, in step 42, a maximum interval of the quantized transformation coefficients is determined in such a way that the data sent, obtained by performing the inverse quantization on the quantized transformation coefficients and / or the output data obtained by performing the inverse transform ID and inverse scaling on the quantized transform coefficients can each have a predetermined bit depth, or less.
In step 43, an interval of the quantized transformation coefficients is adjusted to fall within the determined maximum interval
INDUSTRIAL ** Ñíu2í._ ·.
42. In this case, the quantized transformation coefficients can be truncated to fall within the maximum range.
According to an embodiment of the present invention, the maximum range of the quantized transformation coefficients may have been previously limited based on a first bit depth during the generation of the samples, so that the inverse transformation coefficients of the first Bit depth or less can be generated after inverse quantization is performed, without having to perform truncation during sample restoration. In this case, the first bit depth can be equal to a data size of a first storage unit, to store the transformation coefficients quantified during the restoration of the samples. According to an embodiment of the present invention, the maximum range of the quantized transformation coefficients may have been previously limited based on a second bit depth during the generation of the samples, so that the quantized transformation coefficients of the second bit depth or less can be generated after ID reverse transformation and inverse scaling are performed, without having to perform
INDUSTRIAL during the restoration of the samples. In this case, the, μ · «ΜΜΜ> * ·· <·« Μ · Μ · »* '·' <·« Μ ** '* · «5W * · second bit depth can be equal to a size of data from a second storage unit for storing samples during sample restoration.
If the inverse scaling is performed by the bit shift data generated after the inverse transform ID is performed to a predetermined bit value, then the maximum range of the quantized transform coefficients can be determined based on the number of bits displaced, so that samples of the second bit depth or less can be generated without truncating the samples generated after inverse scaling is performed next to the inverse transformation.
Figure 5 is a flowchart illustrating a video decoding method according to an embodiment of the present invention.
In step 51, the quantized transform coefficients can be restored by parsing blocks of a received bitstream. A maximum range of the quantized transform coefficients has been previously adjusted in an encoding process, so that the inversely quantized transform coefficients of the bit depth of a first storage unit or less
IMPI 6 ^^ can be sent by completing
INDUSTRIAL inverse and samples of a bit depth from a second storage unit or less, can be sent by performing reverse transformation and inverse scaling.
In step 53, the transform coefficients of a first bit depth or less can be restored by performing inverse quantization on the quantized transform coefficients. The bit depth transform coefficients of the first storage unit, which will store the inverse transform coefficients, or less, can be generated by performing inverse quantization on the quantized transform coefficients, without having to perform truncation. on the transformation coefficients.
In step 55, samples of a second bit depth or less can be restored by performing the inverse transform ID and inverse scaling on the transform coefficients. The samples of the bit depth of the second storage unit, which will store the samples, can be generated by performing the inverse transformation ID and the inverse scaling on the coefficients of «r-'wa ···. ·· * *. ·· ΤίΛ · * ·
<img file="MX354286B_D0033.tif" />
¿'·' ·. Ns' · -;
<img file="MX354286B_D0034.tif" />
transformation without having to perform the tru ^? ^ wñi «aSEfflÍD
INDUSTRIAL samples. _
When the data generated after the inverse transformation ID is performed is bit shifted by a predetermined bit value and is then inversely scaled, a maximum range of the quantized transform coefficients can be determined based on a bit value of shift for inverse scaling after inverse ID transformation is performed.
In the video encoding apparatus 10 according to one embodiment of the present invention and video decoding apparatus 20 according to yet another embodiment of the present invention, the blocks divided from the video data may be divided into units encoding that have a tree structure as described above. A video encoding method and apparatus and a video decoding method and apparatus based on encoding units having a tree structure and transformation units according to an embodiment of the present invention will now be described with reference to the Figures 6 to 18 below.
FIG. 6 is a block diagram of a video encoding apparatus 100 based on encoding units having a tree structure, in accordance with yet another embodiment of the present invention.
According to a
<img file="MX354286B_D0035.tif" />
Industrial invention, the video encoding apparatus 100 that uses video prediction based on encoding units having a tree structure, 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 frame based on a maximum encoding unit for the current frame of an image. If the current frame is larger than the maximum encoding unit, the image data of the current frame can be divided into at least one maximum encoding unit. The maximum encoding unit according to an embodiment of the present invention may be a data unit having a size of 32x32, 64x64, 128x128, 256x256, etc., where a shape of the data unit is a square having a width and length in boxes of 2. Image data can be sent to the encoder unit determiner
120 according to at least one maximum encoding unit.
A coding unit according to an embodiment of the present invention can be characterized by a maximum size and depth. Depth denotes a number of times that the coding unit is spatially divided from the coding unit
<img file="MX354286B_D0036.tif" />
Maximum, and as the depth increases, industrial integral coding deepest according to the depths can be divided from the maximum coding unit to a minimum coding unit. A maximum encoding unit depth is a higher depth and a minimum encoding 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 greater depth may include a plurality of coding units corresponding to the smaller depths.
As described above, the current frame image data is divided into the 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 depths. Since the maximum coding unit according to an embodiment of the present invention is divided according to depths, the image data of a spatial domain included in the maximum coding unit can be hierarchically classified according to depths.
A maximum depth and maximum size of one encoding unit, which limit the total number of
IMPI times that a maximum encoding height are determined.
MEXICAN INSTITUTE and a width of 1 A * ^ áSSSeCad hierarchically Hividjdgs<sub>r</sub> Ρ<sup>11ι = 1</sup>ό<sup>οτ1 PQ</sup>r
The encoding unit determiner 120 encodes at least one division region obtained by dividing a region of the maximum encoding unit according to the depths, and determines a depth to send a finally encoded image data, according to at least one division region. In other words, the encoding unit determiner 120 determines an encoded depth by encoding the image data in the deepest encoding units according to the depths, according to the maximum encoding unit of the current frame, and selecting a depth it has the least coding error. The determined encoded depth and the encoded image data according to the determined encoded depth are sent to the output unit 130.
<td>The data</td><td>image in</td><td>the</td><td>Unit</td><td>of</td><td>coding</td>
<td colspan="2">maximum is encoded based on</td><td>the</td><td>units</td><td>of</td><td>coding</td>
<td>deeper than</td><td>correspond</td><td>to the</td><td>less to</td><td>a</td><td>depth</td>
equal to or below the maximum depth, and the encoding results of the image data are compared based on each of the deeper encoding units. A depth that has the least coding error can be selected after comparing the coding errors.
IMPI ¿«J-Od · '· .¿Λ encoding encoding units
At least one encoded depth can be selected for each maximum encoding unit.
The size of the maximum encoding unit is hierarchically divided according to depth, and as the number of encoding units increases. Also, even if the coding units corresponding to the same depth in a maximum coding unit, each of the coding units corresponding to the same depth can be divided to a smaller depth by measuring a coding error of the image data of each encoding unit, separately. Consequently, even when the image data is included in a maximum encoding unit, the image data is divided into regions according to depths, coding errors may differ according to regions in the maximum encoding unit. and thus, the coded depths may differ according to the regions in the image data. In this way, one or more encoded depths can be determined in one encoding unit, and the image data of the maximum encoding unit can be divided according to the encoding units of at least one encoded depth.
IMPIg
MIXICAN INSTITUTE- -. _ J »F LA ΡΡΟΡΙΕΡΛ
Consequently, the encoding 'turan' determiner 120 can determine the 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 depth that is determined to be the coded depth, out of all the deeper coding units included in the maximum encoding. A coding unit of a coded depth can be hierarchically determined according to the depths in the same region of the maximum coding unit, and can be independently determined in different regions. Similarly, a depth encoded in one current region can be independently determined from a depth encoded in yet another region.
A maximum depth according to an embodiment of the present invention is an index related to the number of times the division from a maximum encoding unit to a minimum encoding unit. A first maximum depth according to an embodiment of the present invention may denote the total number of times of division from the maximum encoding unit to the minimum encoding unit. A second maximum depth according to a
<img file="MX354286B_D0037.tif" />
In the embodiment of the present invention, it can not ---- --------------- total depth levels from the unit-of.
maximum encoding towards the minimum encoding unit.
For example, when the 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, and a depth of one coding unit in which the maximum encoding unit is divided twice, can be set to 2. Here, if the minimum coding unit is a coding unit in which the maximum coding unit is divided four times, there are 5 depth levels of 0, 1, 2, 3 and 4, and thus the first maximum depth. It can be adjusted to 4, and the second maximum depth can be adjusted to 5.
Prediction encoding and transformation can be performed according to the maximum encoding unit. Prediction coding and transformation are also performed based on the deepest coding units, according to a depth equal to or at the depths less than the maximum depth, according to the maximum coding unit. The transformation can be performed according to the orthogonal transformation method or the transformation of integers.
Since the number of encoding units more
IMPI
<img file="MX354286B_D0038.tif" />
INSTITUTO MEXICANO profound increases whenever the unit of<sup>D</sup>tí ^? ^! ^^ a maximum is divided according to the depths, the encoding that includes the prediction encoding and the transformation is performed on all the deepest encoding units generated as the depth increases. For convenience of description, prediction coding and transformation will now be described based on a coding unit of current depth in 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. In order to encode the image data, operations, such as prediction encoding, transformation, and entropy encoding, are performed, and this time, the same data unit can be used for all operations or can be used in different data units for each operation.
For example, the video encoding apparatus 100 may select not only an encoding unit to encode the image data, but also a different data unit from the encoding unit to thereby perform prediction encoding on the image data in the coding unit.
In order to perform the encoding of
IPT
,., ^, -I <sub>η</sub> . r-. JHÍTITUTO MWJCAMO ϊζ'-ΑΤ & ί'ζ /!
prediction in the unit of code ícaciorKuiwaiKamav ^ J ^ ta ·; ^
A ΙΝΤΎΛΤΒΪΑΪ CE-A *
JL \ MO _____> 10
INDUSTRIAL prediction coding can be performed based on a coding unit corresponding to a coded depth, that is, based on a coding unit that is no longer divided to the coding units corresponding to a lower unit. Hereafter, the encoding unit that is no longer divided and becomes a base unit for prediction encoding will now be referred to as a prediction unit. A partition obtained by dividing the prediction unit may include a data unit obtained by dividing at least one of a height and a width of the prediction unit. A partition is a unit of data obtained by dividing a prediction unit from a coding unit, and the prediction unit can be a partition, the size of which is equal to that of the coding unit.
For example, when a 2Nx2N encoding unit (where N is a positive integer) is no longer divided and becomes a 2Nx2N prediction unit, and a partition size can be 2Nx2N, 2NxN, Nx2N, or 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, the partitions that are obtained by dividing
INDUSTRIAL
IMPI
WSWSSMS
INDUSTRIAL prediction unit, and partitions that have shapes
<img file="MX354286B_D0039.tif" />
arbitrary.
A prediction mode of the prediction unit can be at least one of an intra mode, an inter mode and a jump mode. For example, intra mode or inter mode can be performed on the 2Nx2N, 2NxN, Nx2N, or NxN partition. Also, the jump mode can only be performed on the 2Nx2N partition. Coding can be independently performed on a prediction unit in a coding unit, whereby a prediction mode having a lower coding error is selected.
The video encoding apparatus 100 can also perform the transformation on the image data in an encoding unit based not only on the encoding unit to encode the image data, but also on a data unit that is different from the unit. coding. To perform the transformation on the encoding unit, the transformation can be performed based on a transformation unit, the size of which is less than or equal to that of the encoding unit. Examples of a transformation unit can include a data unit for an intra mode and a transformation unit for an Inter mode.
Similar to units
OF INDUSTRIAL PROPERTY having a tree structure, the transformation unit in the coding unit can be recursively divided into regions of smaller size, so that the transformation unit can be determined independently in units of regions. In this way, the residual data in the coding unit can be divided according to the transformation that the structure has
<td>tree</td><td>of</td><td>agreement</td><td>to</td><td>the depths</td><td>of</td>
<td>transformation</td><td> •</td><td></td><td></td><td></td><td></td>
<td>A</td><td colspan="2">depth of</td><td colspan="2">transformation indicating</td><td>a</td>
<td colspan="2">number of times</td><td>the division</td><td>for</td><td>reach unity</td><td>of</td>
<td>transformation</td><td>to the</td><td colspan="2">divide height</td><td colspan="2">and the width of the unit</td>
encoding, can also be adjusted in the transformation unit. For example, in a current 2Nx2N encoding unit, a transformation depth may be when a size of a transformation unit is
2Nx2N, can be 1 when the size of the transformation unit is NxN, and it can be 2 when the size of the transformation unit is N / 2xN / 2. In other words, the transformation units that have a tree structure can be adjusted according to the transformation depths.
The encoding information according to the encoded depths requires not only the depth information but also the prediction information and the transformation information. Consequently, the encoding unit determiner 120 can not only determine an encoded depth that has the smallest encoding error, but also determine a partition type in a prediction unit, a prediction mode according to the prediction units, and a size of a transformation unit for the transformation.
A method of determining encoding units having a tree structure of a maximum encoding unit, prediction units / partitions, and transformation units according to the embodiments of the present invention, will be described in detail with reference to Figures 7 to 18 below.
The encoder unit determiner 120 can measure an encoding error of the deepest encoding units according to depths, by using ratio distortion optimization based on Lagrangian multipliers.
The output unit 13 0 outputs the image data of the maximum encoding unit which is encoded based on at least one encoding depth determined by the encoding unit determiner 120, and the information j'5i regarding the encoding mode of agreement
------ INDUSTRIAL encoded, in bit streams.
The encoded image data can be obtained by encoding the residual data from an image.
The information regarding the encoding mode according to an encoded depth can include the information regarding the encoded depth, regarding the type of partition in the prediction unit, the prediction mode, and the size of the transformation unit.
The information regarding the encoded depth can be defined by the use of the information divided according to the depths, which indicates whether or not the encoding is performed on the encoding units of a lesser depth instead of a current depth. If the current depth of the current encoding unit is the encoded depth, the image data of the current encoding unit is encoded and sent, and thus the divided information can be defined so as not to divide the current encoding unit to a less depth. Alternatively, if the current depth of the current encoding unit is not the encoded depth, the encoding is performed on the smallest depth encoding unit, and thus the division information can be defined to divide the current encoding unit. , to obtain the shallowest coding units i gives ^ ™↓ macano ^ * ·· ^ »^
INDUSTRIAL
If the current depth is not the encoded depth, the encoding is performed on the encoding unit which is divided into the smallest depth encoding unit. Since at least one coding unit of the smallest depth exists in a coding unit of the current depth, the coding is repeatedly performed on each coding unit of the smallest depth, and thus the coding can be recursively performed for the 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 regarding at least one coding mode is determined for a coding unit of a coded depth, the information regarding at least one encoding mode can be terminated for a maximum encoding unit. Also, an encoded depth of the image data of the maximum encoding unit may be different according to the positions, since the image data is hierarchically divided according to the depths, and thus the information regarding the encoded depth. and the encoding mode can be adjusted for the image data.
Consequently, the output unit 130 can
Ιβί * - · ~
IMPI
<img file="MX354286B_D0040.tif" />
assign encoding information ré ^^ Sffi'iEDAl '£ © a' /
INDUSTRIAL corresponding coded depth and a coding mode to at least one coding unit, the prediction unit, and a minimum unit included in the maximum coding unit.
The minimum unit according to one embodiment of the present invention is a rectangular data modality obtained by dividing the minimum encoding unit that constitutes the lowest depth by 4. Alternatively, the minimum unit may be a maximum rectangular data unit that can be included 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 the encoding information according to the encoding units, and the encoding information according to the prediction units. The encoding information according to the encoding units can include the information regarding the prediction mode and the size of the partitions. The encoding information according to the prediction units may include the information regarding an estimated direction of an Inter mode, regarding a reference image index of the inter mode, regarding a motion vector, color component of an intra mode. , and with respect to an interpolation method of the intra mode.
The information regarding a maximum size of the coding unit defined according to the tables, slices and GOPs, and the information regarding a maximum depth, can be inserted inside a header of a bit stream, a group of parameters of sequence (SPS), or a group of frame parameters.
Also, information regarding a maximum size and a minimum size of a transformation unit available for the current video may also be sent via a bitstream header, an SPS, a group of frame parameters or the like. The output unit 130 may encode an output reference information, the prediction information, the one-way prediction information, and the information regarding the types of slices including a fourth type of slice that are related to the prediction as described above with reference to Figures 1 to 6.
In video encoding apparatus 100 the deepest encoding unit may be an encoding unit obtained by dividing a height or width of an encoding unit of a greater depth by two. Among other words, when the unit size of
ΙΜΡΙ <^ current depth encoding is 2Nx2SE5TmeÍM ^ amññÓt'-3e /<sub>;</sub>f y
OF PROPERTY AND v „,. >
INDUSTRIAL * «.. 2the smallest depth coding unit is NxN.
Also, the current depth encoding unit having the size 2Nx2N can include maximum 4 of the smallest depth encoding unit.
Accordingly, the video encoding apparatus 10 can form the encoding units having the tree structure, by determining the encoding units having an optimal shape and optimum size for each maximum encoding unit, based on the size of the maximum coding unit and the maximum depth determined considering the characteristics of the current frame. Also, since the encoding can be performed on each maximum encoding unit by using any of the various prediction modes and transformations, an optimal encoding mode can be determined considering the characteristics of the encoding unit of various sizes of image.
Thus, if an image that has high resolution or large amounts of data is encoded in a conventional macroblock, a number of macroblocks per frame is excessively increased. Consequently, a number of pieces of compressed information generated for each macroblock is increased, and thus it is difficult to transmit the compressed information and the efficiency of
IMPI data compression decreases. However,
OF PROPERTY t '·'<sup>!</sup> TO?
INDUSTRIAL of 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 while which is considered an image size.
The video encoding apparatus 10 0 of Figure 6 can perform the operations of the inter-prediction apparatus 10 described above with reference to Figure 1.
The encoding unit determiner 120 can perform the operation of the transformation quantization unit 12 of the inter-prediction apparatus 10. The encoder unit determiner 120 generates the quantized transformation coefficients by performing the transformation and quantization in units of transformation blocks. The output unit 130 can perform the operations of the maximum interval determining unit 14 and the output unit 16 of the intra prediction apparatus 10.
The output unit 130 determines a maximum range of the quantized transformation coefficients in such a way that the output data obtained by performing the inverse quantization on the transformation coefficients
<img file="MX354286B_D0041.tif" />
output obtained by the inverse transformation ID and the inverse scaling on the transformation coefficients, may have a predetermined or lesser bit depth. The output unit 130 can truncate the quantized transform coefficients within the maximum range and send a truncation result in a bit stream.
According to an embodiment of the present invention, during the generation of the samples, a maximum range of the quantized transformation coefficients may have been limited considering the size of a first storage unit to store the transformation coefficients or the depths of bits of the transform coefficients during sample restoration, such that transformation coefficients of a first bit depth or less can be generated by performing inverse quantization without having to perform truncation during sample restoration.
According to an embodiment of the present invention, a maximum range of the quantized transformation coefficients may have been limited by using the size of a second storage unit to store samples from a fixed-point transformation matrix during restoration of the
INDUSTRIAL that samples of a second bit depth or less can be generated by performing reverse ID transformation and inverse scaling without having to perform truncation during sample restoration.
When inverse scaling is performed by the bit shift data, which is obtained after the inverse transformation ID is performed, by a predetermined bit value, the maximum range of the quantized transform coefficients can be determined based on the number of bits shifted to generate samples of the second bit depth or less, without having to perform the truncation of the samples obtained by performing the inverse scaling on the result of performing the inverse transformation.
FIG. 7 is a block diagram of a video decoding apparatus 200 based on encoding units having a tree structure, in accordance with an embodiment of the present invention.
The video decoding apparatus 200 using video prediction based on the encoding units having a tree structure, includes a receiver 210, an image data and the encoding information extractor 220 and an image data decoder 230 .
MEXICAN INSTITUTE Vfef 'DE LA PROPIEDAD
INDUSTRIAL
The definitions of the various terms, such as an encoding unit, a depth, a prediction unit, a transformation unit, and the information regarding the various encoding modes, for various operations of the video decoding apparatus 200 are as described above with respect to the video encoding apparatus 100 of Figure 6.
Receiver 210 receives and parses a bit stream of an encoded video. The image data and the encoding information extractor 220 extracts the encoded image data for each encoding unit from the syntactically analyzed bit stream, where the encoding units have a tree structure according to each encoding unit maximum, and sends the extracted image data to the image data decoder 230. The image data and the encoding information extractor 220 can extract the information regarding a maximum size of an encoding unit of a current frame, from a header, an SPS or a group of frame parameters related to the current frame or SPS.
Also, the image data and encoding information extractor 220 extracts the information regarding an encoded depth and a mode of · ι - <. iw in. »I, x '¿' fx · * '. - '* _. · I'
-, _,> χ -η i-- - -<sub>lf</sub>-i xirro ιιιυιν itdEXICANO <sub>L</sub>-, . · , . .
encoding for the tree structure encoding units according to each maximum encoding unit, based on the syntactically analyzed bit stream. The extracted information regarding 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 regarding the encoded depth and the encoding mode according to the maximum encoding unit can be set for the information regarding at least one encoding unit corresponding to the encoded depth, and the information regarding an encoding mode can include the information regarding a partition type of a corresponding encoding unit, which corresponds to the encoded depth, relative to a prediction mode, and a size of a transformation unit. Also, the depth division information can be extracted as the encoded depth information.
The information regarding the encoded depth and the encoding mode according to each maximum encoding unit extracted by the data
OF PROPERTY, .1 .. '
INDUSTRIAL encoding information extractor 220, is information regarding an encoded depth and a certain encoding error mode to generate minimal encoding when an encoder, such as video encoding apparatus 100, repeatedly performs encoding for each unit of deeper coding, according to depths according to each maximum coding unit. Accordingly, the video decoding apparatus 200 can restore an image by decoding the image data according to an encoded depth and an encoding mode that generates the least encoding error.
Since the encoding information regarding 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 data and the extractor. of encoding information 220 they can extract the information regarding the encoded depth and the encoding mode according to the predetermined data units. The default data units to which the same information regarding the encoded depth and the encoding mode is assigned can be inferred to be the data units included in the
IMPie>
. . . . MEXICAN INSTITUTE same maximum coding unit. t «'AnwjstrÍal
The image data decoder 23 0 restores the current frame by decoding the image data in each maximum encoding unit based on the information regarding 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 extracted information regarding the partition type, prediction mode, and transformation mode for each encoding unit from among the data units. encoding having 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 image data decoder 230 can perform intra prediction or motion compensation according to a partition and a prediction mode of each encoding unit, based on the information regarding the type of partition and the type of prediction of the prediction unit of the coding unit according to the coded depths.
Also, in order to perform the inverse transformation into maximum encoding units, the image data decoder 23 0 can read the information regarding
You * τ <sup>ζ</sup>· - · V;
MEXICAN INSTITUTE. η f-. INSIIlUluP transformation units that have a **
INDUSTRIAL __ tree-like in units of coding units, and
Z't perform the inverse transformation in units of the encoding units, based on the transformation units. By performing the inverse transformation, the pixel values of the encoding units in a spatial domain can be restored.
The image data decoder 230 can determine at least one encoded depth of a current maximum encoding unit by using the division information according to the 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 the encoded data of at least one encoding unit corresponding to each encoded depth in the current maximum encoding unit, by using the information regarding the partition type of the prediction, prediction mode, and transformation unit size for each encoding unit corresponding to the encoded depth, and send the image data of the current maximum encoding unit.
In other words, the data units that contain the encoding information that includes the same ΐ Β '__ t' · .-.
division information can be obtained
INDUSTRIAL encoding information group assigned for the default data unit te of between the coding unit, the prediction unit, and the minimum unit, and the obtained data units can be considered as a data unit to be decoded by the image data decoder 230 in the same encoding mode. A current encoding unit can be decoded by obtaining information regarding an encoding mode for each of the determined encoding units as described above.
The video decoding apparatus 200 of the
Figure 7 can perform the operations of the video decoding apparatus 20 of Figure 2.
The receiver 210 and the image data and the encoding information extractor 220 can perform the operation of the receiver unit 22 of the video decoding apparatus 20. The image data decoder 230 can perform the operations of the reverse quantization unit 24, the reverse transformation unit 26 and the image restoration unit 28 of the video decoding apparatus 20.
The image data and the encoding information extractor 220 can restore the quantized transformation coefficients by parsing the transformation blocks of a di-current.
<img file="MX354286B_D0042.tif" />
ísdx'raoriEDXD1NDUSTR1AL
<img file="MX354286B_D0043.tif" />
The restored quantized transform coefficient may be a result of truncation being performed within a predetermined range on one encoding side. A maximum range of the quantized transform coefficients may have been determined on the encoding side in such a way that the data of a bit depth of a first storage unit or less can be sent without having to perform truncation after that the inverse quantification and the data of a bit depth of a second storage unit or less is performed, can be sent without truncation after inverse transformation and inverse scaling are performed. When the data obtained after the inverse transformation ID is shifted in bits by a predetermined bit value, and is then inversely scaled, the maximum range of the quantized transformation coefficients can be determined based on a value of the shift bit for the inverse scaling after the ID reverse transformation is performed.
Thus, the image data decoder
230 you can restore the transform coefficients by performing inverse quantization on the quantized transform coefficients, and you can
<img file="MX354286B_D0044.tif" />
bits of the first storage unit or less without having to truncate the transform coefficients.
Also, the image data decoder 230 can restore the samples by performing the inverse transform ID and inverse scaling on the transform coefficients, and generate the transform coefficients having the bit depth of the second storage unit or minor without having to truncate the restored samples.
Thus, the video decoding apparatus 200 can obtain the information regarding 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 box. In other words, the encoding units having the tree structure determined to be the optimal encoding units in each maximum encoding unit, can be decoded.
Consequently, even if the image data has high resolution and a large amount of data, the image data can be efficiently decoded and restored through the use of an encoding unit size and encoding mode, which are adaptively determined
<img file="MX354286B_D0045.tif" />
INSTITUTO MEXICANO CÍ according to the characteristics of the data of id the use of the information regarding an optimal coding mode received from an encoder.
<td></td><td>The</td><td>Figure 8 is a diagram for</td><td>describe</td><td>a</td>
<td>concept</td><td>of</td><td>the encoding units of</td><td>according to</td><td>a</td>
<td>modality</td><td>of</td><td>the present invention.</td><td></td><td></td>
<td></td><td>A</td><td colspan="2">size of a coding unit can</td><td>to be</td>
<td>expressed</td><td>in</td><td>width by height, and it can be</td><td colspan="2">64x64, 32x32,</td>
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 partitioned into
16x16, 16x8, 8x16, or 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 32 0 video data, a resolution is 1920x1080, a maximum size of one encoding unit is 64, and a maximum depth is 3. In video data 330, a resolution is 352x288, a maximum size of one encoding unit is 16, and a maximum depth is 1. The maximum depth shown in Figure 8 denotes a total number of divisions from a maximum encoding unit to a minimum decoding unit.
IMPI
MEXICAN INSTITUTE OF THE PRiWHL AD INDUSTRIAL
<img file="MX354286B_D0046.tif" />
If a resolution is high or a data amount is large, a maximum size of an encoding unit can be large not only to increase the efficiency of the encoding, 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 the resolution greater 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 having a longitudinal axis size of 64, and encoding units having an axis size longitudinal of 32 and 16, since depths are increased to two layers by dividing the maximum encoding unit twice. Meanwhile, since the maximum video data depth 33 0 is
1, encoding units 335 of video data 330 may include a maximum encoding unit having a longitudinal axis size of 16, and encoding units having a longitudinal axis size of 8 as depths are increased to one layer by dividing the maximum encoding unit once.
Since the maximum depth of video data 320 is 3, the encoding units 325 of video data 320
<img file="MX354286B_D0047.tif" />
may include a coding unit
DS PROHIBIT IT!)
INDUSTRIAL 'Τ' longitudinal axis size 64, and encoding units having longitudinal axis sizes 32, 16, and 8 as depths are increased to 3 layers by dividing the maximum encoding unit three times. As depth increases, detailed information can be precisely expressed.
FIG. 9 is a block diagram of an image encoder 400 based on the encoding units, according to an embodiment of the present invention.
<td></td><td>The</td><td>encoder</td><td>images</td><td> 400</td><td>makes</td><td>the</td>
<td colspan="2">operations</td><td>of the determiner of</td><td>Unit</td><td colspan="2">coding</td><td> 120</td>
<td colspan="2">of the appliance</td><td>100 encoding</td><td colspan="2">video for</td><td>encode</td><td>the</td>
<td>data of</td><td colspan="2">image. In other words:</td><td>flush a</td><td>intra</td><td>predictor</td><td> 410</td>
<td>makes</td><td>the</td><td>intra prediction</td><td>on</td><td>the</td><td>units</td><td>of</td>
coding in an intra mode, from a current structure
405, and a motion estimator 420 and a motion compensator 425 performs the inter estimation and the motion compensation on the encoding units in an inter mode between the current structure 405, by using the current structure 405, and a Reference structure 495.
The data sent from intra predictor 410, motion estimator 420, and motion compensator
425 is sent as a transformation coefficient
<img file="MX354286B_D0048.tif" />
quantized, through a transform quantizer 440. The quantized transformation coefficient is restored as data in a spatial domain through an inverse quantizer 460 and an inverse transformer 470, and the restored data in the spatial domain is sent as the structure of reference 495 after being post-processed through a 480 unlocking unit and a 490 loop filter unit. The quantized transform coefficient can be sent as a 455 bit stream through an entropy encoder
450 .
In order for the image encoder 400 to be applied to the video encoding apparatus 100, all of the elements of the image encoder 400, i.e. the intra predictor 410, the motion estimator
420, Motion Compensator 425, Transformer 430, Quantizer 440, Entropy Encoder 450, Reverse Quantizer 460, Reverse Transformer 470, Unlock Unit 480, and Loop Filter Unit 490 perform operations with base on each coding unit among the coding units that have a tree structure, while the maximum depth of each maximum coding unit is considered.
Especially, intra predictor 410, motion estimator 420, and motion compensator 425 determine partitions and a mode of pre
<img file="MX354286B_D0049.tif" />
encoding unit from among the encoding units that have a tree structure, while the maximum size and maximum depth of a current maximum encoding unit is considered, and transformer 430 determines the size of the transformation unit in each unit of coding among the coding units that have a tree structure.
The image encoder 400 can determine the quantized transform coefficients by performing the transform and quantize on the transform units of the current structure 405, truncate the quantized transform coefficients within a maximum range thereof, and then transmit a result of truncation. The maximum range of the quantized transform coefficients can be determined in consideration of a bit depth or a storage size and an offset number of bits of a bit shift operation for inverse scaling during sample restoration, so that data of a predetermined bit depth can be generated without having to trim the output data obtained by performing the inverse quantization and send the data obtained by performing the inverse transformation and inverse scaling during the restoration of the samples.
The encoder encoding, invention.
Figure 10 of agreement images
<img file="MX354286B_D0050.tif" />
MEXICAN INSTITUTE OF PROPERTY
INDUSTRIAL is a block diagram of a
500 based on the units of a modality of the present
A parser 510 parses the encoded image data to be decoded, and the encoding information required for decoding from a bit stream 505. The encoded image data is sent as inverse quantized data through a entropy decoder
520 and an inverse quantizer 530, and the inverse quantized data is restored to the image data in a spatial domain through an inverse transformer 540.
An intra predictor 550 performs the intra prediction on the encoding units in an intra mode with respect to the image data in the spatial domain, and a motion compensator 560 performs the motion compensation on the encoding units in an inter mode by the use of a 585 reference structure.
The image data in the spatial domain, which passed through the intra predictor 550 and the motion compensator 560, can be sent as a restored structure 595 after being post-processed through an unlock unit 570 and a unit loop filtration
580. Also, the image data that is
<img file="MX354286B_D0051.tif" />
Through the unlock unit 570 and the loop filter unit 580 it can be shipped as reference frame 585.
In order to decode the image data in the image data decoder 230 of the video decoding apparatus 200, the image decoder 500 can perform the operations that are performed after the parser 510 performs an operation.
In order for the image decoder
500 be applied in the video decoding apparatus 200, all the elements of the image decoder 5 00, that is, the parser 510, the entropy decoder 520, the inverse quantizer 530, the inverse transformer 540, the intra predictor 550, motion compensator 560, unlocking unit 570, and the loop filter unit 580 performs the operations based on the coding units that have a tree structure for each maximum coding unit.
Specifically, intra prediction 550 and motion compensator 560 perform partition-based operations and a prediction mode for each of the encoding units having a tree structure, and inverse transformer 540 perform operations based on a unit size of .ΜΡϊΟ'Α transformation for each encoding unit HS ^ ruTo ^ xic ^ Nc d
INDUSTRIAL
Image decoder 500 can parse and restore quantized transform coefficients by performing transformation and quantization on transformation units of a bit stream. Since the data of a bit depth of a storage unit is generated by performing the inverse quantization on the quantized transformation coefficients, the truncation does not need to be performed after the inverse quantization is performed. Also, even if truncation is skipped after inverse quantization is performed and after inverse scaling is performed, samples of a maximum or lesser bit depth can be restored.
Figure 11 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 to thereby consider the characteristics of an image. A maximum height, maximum width, and maximum depth of the encoding units can be adaptively determined from a -iVi j? í according to the characteristics of the image ^ nvf & MEPdAftd ^ cré.e ^ '?.
I »THE PROPERTY
INDUSTRIAL <sup>v</sup>'- · .US' · 'set differently by a user. The sizes of the deepest coding units according to the depths can be determined according to the predetermined maximum size of the coding unit.
In a hierarchical structure 600 of the coding units, according to an embodiment of the present invention, the maximum height and maximum width of the coding units are each 64, and the maximum depth is 4. In this case , the maximum depth denotes the total number of times the division from a maximum code unit to a minimum code unit.
Since a depth increases along a vertical axis of hierarchical structure 600, a height and width of the deepest coding unit are each divided. Also, a prediction unit and the partitions, which are the basis for the prediction coding of each deeper coding unit, are shown along a horizontal axis of the 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, a height per width is 64x64. Depth increases along the vertical axis, and a unit of
<img file="MX354286B_D0052.tif" />
620 encoding having a size ÓiH5TrmJUUftAiu »« <J aí
OF THE RltOFWDAD tjNcecrA'iW '*' INDUSTRY !.
depth of 1, a 630 encoding unit having a size of 16x16 and a depth of 2, a 640 encoding unit having a size of 8x8 and a depth of 3, and a 650 encoding unit having a size of 4x4 and a depth of 4 exist. Coding unit 650 which is 4x4 in size and depth of 4 is a maximum coding unit.
The prediction unit and the partitions of a coding unit are arranged along the horizontal axis according to each depth. In other words, if the 610 encoding unit having the size 64x64 and the depth of 0 is a prediction unit, the prediction unit can be divided into partitions included in the 610 encoding unit, i.e. the 610 partition having 64x64 in size, 612 partitions that are 64x32 in size, 614 partitions that are 32x64 in size, or 616 partitions that are 32x32 in size.
Similarly, a prediction unit of the 620 encoding unit having the size of 32x32 and the 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 are 32x16 in size, 624 partitions that are 16x32 in size, and 626 partitions that are
16x16 & Ρ ϊ iNJTmrro Mexican · <“· '</ 4
PROPERTY Vy *** ^ · **; *? ^ /
INDUSTRIAL
Similarly, a prediction unit of encoding unit 630 having the size of 16x16 and depth of 2 can be divided into partitions included in encoding unit 630, i.e. a partition having a size of 16x16 included in encryption unit 630, 632 partitions that are 16x8 in size, 634 partitions that are 8x16 in size, and 636 partitions that are 8x8 in size.
Similarly, a prediction unit of the 640 encoding unit having the size of 8x8 and the depth of 3 can be divided into partitions included in the 640 encoding unit, i.e. a partition having the size of 8x8 included in coding unit
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 prediction unit of encoding unit 650 is only assigned to a partition that is 4x4 in size.
In order to determine at least one encoded depth of the encoding units constituting the maximum encoding unit 610 the
TT; yr 1
MEXICAN INSTITUTE of te rminadSVJSfefl
<img file="MX354286B_D0053.tif" />
encoding 120 of the video encoding apparatus 100 encodes for the encoding units corresponding to each depth included in the maximum encoding unit 610.
A number of deeper encoding units according to depths that include data in the same interval and the same size, increases as depth increases. For example, four coding units corresponding to a depth of 2 are required to cover the data that is included in a coding unit corresponding to a depth of 2.
one. Consequently, in order to compare the coding results of the same data according to the depths, the coding unit corresponding to the depth of 1 and four coding units corresponding to the depth of 2 are each coded.
In order to perform coding for a current depth of between the depth, at least one coding error can be selected for the current depth by performing the coding for each prediction unit in the coding units corresponding to the current depth , along the horizontal axis of hierarchical structure 600. Alternatively, the minimum coding error can be searched for
ΪΜΡΪ £ ~ -¾ Comparison of the smallest coding errors at depths, by performing the coding for each depth as the depth increases along the vertical axis of the hierarchical structure 600. A depth and a partition that have the error Minimum encoding in the 610 encoding unit can be selected as the encoded depth and a participation type of the 610 encoding unit.
FIG. 12 is a diagram for describing a relationship between an encoding unit 710 and transformation units 720, according to an embodiment of the present invention.
The video encoding apparatus 100 or 200 encodes or decodes an image according to the 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 not larger than the corresponding encoding unit.
For example, on apparatus 100 or 200 if a size of the 710 encoding unit is 64x64, the transformation can be performed by using the 720 transformation units having a size of 32x32.
<img file="MX354286B_D0054.tif" />
<img file="MX354286B_D0055.tif" />
that are 64x64 in size can be encoded by performing the transformation on each of the transformation units that are 32x32, 16x16, 8x8, and 4x4 in size, which are smaller than 64x64, and then a unit of transformation that has the least coding error.
Figure 13 is a diagram for describing the coding information of the coding units corresponding to a coded depth, according to an embodiment of the present invention.
The output unit 130 of the video encoding apparatus 100 can encode and transmit information 800 regarding a partition type, information 810 regarding a prediction mode, and information 820 regarding a transformation unit size for each transformation unit. encoding corresponding to an encoded depth, such as information regarding an encoding mode.
Information 800 indicates information regarding a type of a partition obtained by dividing a prediction unit from a current encoding unit, wherein the partition is a data unit for prediction encoding from the current encoding unit. For example, a current encoding unit Cu_0 that has a size of
2Nx2N can be divided into any of
<img file="MX354286B_D0056.tif" />
VSiíí, λ8 £ 2
OF THE PROPERTY ÓV-rX- ¿· '»
INDUSTRIAL · * '' which is 2Nx2N in size, an 804 partition which is 2Nx2N in size, an 806 partition which is Nx2N size, and an 808 partition which is NxN size. Here, information 800 regarding a partition type is adjusted to indicate one of partition 804 that is 2NxN in size, partition 806 that is Nx2N in size, and partition 808 that 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., an intra mode 812, an inter mode 814, or a jump mode 816.
The information 82 0 indicates the size in which a transmission unit is going to be based on when the transformation is performed on a current encoding unit. For example, the transformation unit can be a first transformation unit intra 822, a second unit transformation unit 824, a first inter transformation unit 826 or a second intra transformation unit 828.
The image data and the encoding information extractor 220 of the video decoding apparatus 200 can extract and use the information 800, 810 and
820 for decoding.
Figure 14 is a diagram of · * · r »r .: iiií?. ·; - · ·
DELAPRÓmi> A-> '*,
INDUSTRIAL deeper coding according to depths, according to an embodiment of the present invention.
The division information can be used to indicate a change in depth. The division information indicates whether a coding unit of a current depth is divided into coding units of a lesser depth.
A prediction unit 910 for the prediction encoding of an encoding unit 900 having a depth of 0 and a size of 2N_0x2N_0 can include partitions of a partition type 912 that has a size of 2N_0x2N_0, a partition type 914 that it is 2N_0xN_0 in size, a 916 partition type is N_Ox2N_0, and a 918 partition type is N_0xN_0. Figure 9 illustrates only partition types 912 to 918 that are obtained by symmetrically dividing prediction unit 910, but a partition type is not limited to these, and prediction unit 910 partitions can include asymmetric partitions, partitions that have a default shape, and partitions that have a geometric shape.
Prediction encoding is repeatedly performed on a partition that has a size of
X, ·. -.
Jr- JL (.-, -. ..- \\
2Ν_0χ2Ν_0, two partitions that have, faith '?
INDUSTRIAL
2N_0x2N_0, two partitions that have a size of
N_0x2N_0, and four partitions of a size N_OxN_0, according to each type of partition. Prediction encoding in an intra mode and an inte mode can be performed on partitions that have the sizes of 2N_0x2N0, N_0x2N_0, 2N_OxN_0, and N_0xN_0. Prediction encoding in a jump mode is performed only on the partition that is 2N_0x2N_0 in size.
If a coding error is smaller in one of partition types 912 to 916, the prediction unit 910 may not be divided to a lesser 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 on the 930 encoding units that have a depth of 2 and a size of N_0xN_O to look for a minimal encoding error.
A prediction unit 940 for the prediction encoding of 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 is 2N_lx2N_l in size, a partition 944 that has a size of 2N_lxN_l, a partition 946 that has a
100 size of N_lx2N_l, and a partition 948<sup>INS1</sup><3Vf§RÍí'í ^^<sup>n</sup>^<sup>;</sup>· - '· ury / · /
INDUSTRIAL '* size of N ΙχΝ 1.
If an encoding error is the smallest in partition type 948, a depth is changed from 1 to 2 to divide partition type 948 in step 950, and encoding is repeatedly performed on encoding units 960, which they have a depth of 2 and a size of N_2xN_2 to look for a minimal encoding error.
When a maximum depth is d, the units of coding according to the depths can be performed up to when a depth becomes d-1, and the division information can be coded as up to when a depth is from 0 to d- 2. In other words, when coding 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 970, a prediction unit 990 for the prediction coding of 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_ ( dl), a 994 partition type that has a size of 2N_ (d-1) xN_ (d-1), a 996 partition type that has a size of N_ (d-1) x2N_ (d-1), and a type of partition 998 which
101 it has a size of N (dl) xN (d-1).
<img file="MX354286B_D0057.tif" />
Prediction encoding can be repeatedly performed on one partition that is 2N_ (d-1) x2N_ (d-1), two partitions that are 2N_ (d-1) xN_ (d-1), two partitions that are N_ (d-1) x2N_ (d-1) in size, four partitions that are N_ (d-1) xN_ (d-1) in size from partition types 992 to 998 to search for a partition type that has minimal encoding error.
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 divided to a lesser depth, and a depth encoded for the encoding units constituting a current maximum encoding unit 900 is determined to be d-1 and a partition type of the current maximum encoding unit 900 can be determined to be N- (d-1) xN_ (d -one). Also, since the maximum depth is d and a maximum 980 encoding unit that has a lower depth of d-1 is no longer divided to a lesser depth, the division information for one encoding unit
980 it is not established.
A 999 data unit can be a minimum unit for the current maximum encoding unit. A
102
IMPI minimum unit according to a .ngm modality.
the á »éusnjpr 1NDUSTMAL ^> · -invention can be a rectangular data unit obtained by dividing a minimum coding unit 980 by 4. By repeatedly performing the encoding, the video encoding apparatus 100 can select a depth having the least encoding error by comparing the encoding errors according to the depths of the encoding unit 900, to determine an encoded depth , and set a corresponding partition type and a prediction mode as a coded depth encoding mode.
As such, the minimum coding errors according to depths are compared at all depths from 1 to d, and a depth that has the least coding error can be determined as a coded depth. The coded depth, the partition type of the prediction unit, and the prediction mode can be coded and transmitted as information regarding a coding 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 depth
103 encoded is set to 1.
<img file="MX354286B_D0058.tif" />
The image data and the encoding information extractor 220 of the video decoding apparatus 200 can extract and use the information regarding 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 coded depth by using the division information according to the depths, and use the information regarding a coding mode of the corresponding depth, for decoding.
Figures 15, 16 and are diagrams to describe a relationship between the encoding units
1010, prediction units 1060, and transformation units 1070, according to one embodiment of the present invention.
The encoding units 1010 are encoding units having a tree structure, corresponding to the encoded depths determined by the video encoding apparatus 100, in a maximum encoding unit. The prediction units 1060 are partitions of the prediction units of each of the encoding units
104 * You '
1010, and transformation units 10
INDUSTRIAL transformation of each of the 1010 coding units.
When a depth of a maximum coding unit is 0 in the coding units
1010, the depths of encoding units 1012 and 1054 are 1, the depths of encoding units 1014, 1016, 1018, 028, 1050 and 1052 are 2, the depths of encoding units 1020, 1024,
1026, 1030, 1032, and 1048 are 3, and the depths of encoding units 1040, 1042, 1044, and 1046 are 4.
In 1060 prediction units, some 1014, 1016, 1022, 1032, 1048 encoding units,
1050, 1052 and 1054 are partitioned for prediction coding. In other words, the partition types in encoding units 1014, 1022,
1050 and 1054 are 2NxN in size, the partition types in encoding units 1016, 1048, and
1052 they are Nx2N in size, and a partition type of encoding unit 1032 is NxN. The prediction units and partitions of the 1010 encoding units are smaller than or equal to each encoding unit.
The transformation or inverse transformation is performed on the image data of the unit of
105
IMPIAS 1052 encoding in tran units
A TKVFiEDAD V * »» ·. »·> * '* · << · >> INDUSTRIAL in a data unit that is smaller than the 1052 encoding unit. Also, the encoding units
1014, 1016, 1022, 1032, 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, apparatuses 100 and 200 can perform intra prediction, motion estimation, motion compensation, transformation, and inverse transformation individually on a data unit in the same encoding unit.
Consequently, the coding is recursively performed on each of the coding units having a hierarchical structure in each region of a maximum coding unit, to determine an optimal coding unit, and thus the coding units can be obtained they have a recursive tree structure. The encoding information may include division information regarding a coding unit, information regarding a partition type, information regarding a prediction mode, and information regarding a size of a transformation unit. Table 1 shows the encoding information that can be set by devices 100 and 200.
106
Γ) τ
Table 1 ií fí;
MEXICAN INSTITUTE «'' · Bfi.'Λ
OF THE PROPIEPAÜ mnnmnAi. * · »
<td colspan="5">Division 0 Information (Coding About the Coding Unit that Tamáñó has ~ 'as<sup>-</sup>2Nx2N and Current Depth of d)</td><td>information one</td>
<td>Mode of</td><td colspan="2">Partition Type</td><td colspan="2">Unit Size</td><td>Encode</td>
<td>Prediction</td><td></td><td></td><td>Transformation</td><td></td><td>Repeatedly</td>
<td></td><td>Kind of</td><td>Kind of</td><td>Information of</td><td>Information of</td><td>the units</td>
<td>Intra</td><td>Partition</td><td>Partition</td><td>division 0 of</td><td>division 1 of</td><td>of</td>
<td>Inter</td><td>Symmetric</td><td>Asymmetric</td><td>the unit of</td><td>the unit of</td><td>Coding</td>
<td></td><td></td><td></td><td>Transformation</td><td>Transformation</td><td>have</td>
<td>Jump</td><td></td><td></td><td></td><td>NxN</td><td>depth</td>
<td>(Only</td><td></td><td></td><td></td><td>(Kind</td><td>less than d + 1</td>
<td>2Nx2N)</td><td>2Xx2N</td><td>2NxnU</td><td></td><td>Symmetrical)</td><td></td>
<td></td><td>2NxN</td><td>2NxnD</td><td>2Nx2N</td><td></td><td></td>
<td></td><td>2Nx2N</td><td>nLx2N</td><td></td><td>N / 2XN / 2</td><td></td>
<td></td><td>NxN</td><td>nRx2N</td><td></td><td>(Kind</td><td></td>
<td></td><td></td><td></td><td></td><td>Asymmetric)</td><td></td>
The output unit 130 of the video encoding apparatus 100 can output the encoding information regarding the encoding units having a tree structure, and the image data and the encoding information extractor 220 of the decoding apparatus Video encoder 200 can extract the encoding information regarding the encoding units having a tree structure from a received bit stream.
The division information indicates whether a current encoding unit is divided into the units of
107
Ρϊ shallower coding. If the<sup>IN</sup>? St '£ á ^<sup>F</sup>¿<sub>l</sub>2kicíñ »?. Déf · j
INDUSTRIAL division of a current depth d is 0, a depth, in which a current coding unit is no longer divided into a smaller depth, it is a coded depth, and thus the information regarding a partition type, mode of prediction, and a unit size The output unit 130 of the video coding apparatus 100 can send the coding information regarding the coding units having a tree structure, and the image data and the encoding information extractor 220 of the video decoding apparatus 200 can extract the encoding information regarding the encoding units having a tree structure from a received bitstream.
The division information indicates whether a current encoding unit is divided into encoding units of lesser 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 smaller depth, is a coded depth, and thus the information regarding 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
108
<img file="MX354286B_D0059.tif" />
the division information, the cost £ 5 * oaiQáffln '^' - ¿£ # s ^ t: Λ
OF THE PROPERTY AND AND /
INDUSTRIAL ___________ independently performed in four division coding units of lesser depth.
A prediction mode can be one of an intra mode, an inter mode, and a jump mode. Intra mode and inter mode can be defined on all partition types, and jump mode is defined only on a partition type that is 2Nx2N in size.
Information about the partition type can indicate the symmetric partition types that have sizes of 2Nx2N, 2NxN, Nx2N, and NxN, which are obtained by symmetrically dividing a height or width of a prediction unit, and the partition types. asymmetric 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 respectively obtained 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 respectively be obtained by dividing the width of the prediction unit by 1: 3 and
3:1.
The size of the transformation unit can be adjusted to be two types in intra mode and two types in inter mode. In other words, if the information in
109
PREVENT division of the transformation unit is 0 wsftJn ^ StesWSo'í, -de - la -,?;
Df THE PROPERTY 1 »,>« „; &
INDUSTRIAL -<sup>3</sup> transformation unit can be 2Nx2N, which is the size of the current encoding unit. If the division information of the transformation unit 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 is a symmetric partition type, a transformation unit size can be NxN, and if the partition type of the current encoding unit is an asymmetric partition type, the transformation unit size can be N / 2xN / 2.
Coding information regarding
<td>units of</td><td>coding that</td><td>have</td><td>a</td><td>structure</td>
<td>tree</td><td>may include the</td><td>less</td><td>a</td><td>unit of</td>
<td>coding</td><td>corresponding to a</td><td colspan="2">depth</td><td>encoded,</td>
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 the adjacent data units are included in the same coding unit that corresponds to the coded depth by comparing the coding information of the data units.
110 " and. - »IMPIOS adjacent data. Also, a unit 'W ^ ííMf
The corresponding INDUSTRIAL corresponding to a coded depth is determined by using the encoding information of a data unit, and thus a distribution of the coded depths in a maximum coding unit can be determined.
Consequently, if a current encoding unit is predicted based on the encoding information of the adjacent data units, the encoding information of the data units in deeper encoding units adjacent to the current encoding unit may be directly referred and used.
Alternatively, if a current encoding unit is predicted based on the encoding information of the adjacent data units, the data units adjacent to the current encoding unit are searched using the encoded information of the data units, and the units adjacent code numbers can be referenced for prediction of the current code unit.
Figure 18 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
111
Table 1. A maximum encoding unit
<img file="MX354286B_D0060.tif" />
coding units 1302, 1304, 1306, 1313, 1314, 1316 and
1318 from the coded depths. Here, since the coding unit 1318 is a coding unit of a coded depth, the division information can be set to 0. The information regarding a partition type of the coding unit 1318 having a size of 2Nx2N, can be adjusted to be one of a kind
<td>partition</td><td> 1322</td><td>than</td><td>has</td><td>a</td><td>size</td><td>of</td><td>2Nx2N,</td><td>a</td><td>type</td><td>of</td>
<td>partition</td><td> 1324</td><td>than</td><td>has</td><td>a</td><td>size</td><td>of</td><td>2Nx2N,</td><td>a</td><td>type</td><td>of</td>
<td>partition</td><td> 1326</td><td>than</td><td>has</td><td>a</td><td>size</td><td>of</td><td>2Nx2N,</td><td>a</td><td>type</td><td>of</td>
<td>partition</td><td> 1328</td><td>than</td><td>has</td><td colspan="2">a 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>
<td>partition</td><td> 1334</td><td>than</td><td>has</td><td>a</td><td>size</td><td>of</td><td>2NxnD,</td><td>a</td><td>type</td><td>of</td>
<td>partition</td><td> 1336</td><td>than</td><td>has</td><td>a</td><td colspan="3">size of nLx2N, and</td><td>a</td><td>type</td><td>of</td>
partition 1338 that is nRx2N in size.
The division information of the transformation unit, that is, a flag of size Tu, is a type of a transformation index. The size of a transformation unit that corresponds to the transformation index can vary according to a prediction unit type or a partition type of an encoding unit.
For example, when the partition type is set to be symmetric, that is, the partition type 1322, 1324, 1326, or 1328, the transformation unit 1342 that
112
IMPI
MEXICAN INSTITUTE US THE PROPERTY
INDUSTRIAL
<img file="MX354286B_D0061.tif" />
<td>has</td><td>a</td><td>size</td><td>of</td><td colspan="2">2Nx2N is adjusted</td><td>when the flag</td><td>of</td>
<td>size</td><td>YOU</td><td>is 0</td><td>, and</td><td>a</td><td colspan="2">transformation unit 1344</td><td>than</td>
<td>has</td><td>a</td><td>size</td><td>of</td><td>NxN</td><td>it's tight</td><td>when the flag</td><td>of</td>
<td>size</td><td>YOU</td><td>is 1.</td><td></td><td></td><td></td><td></td><td></td>
<td></td><td></td><td>When</td><td>the</td><td>type</td><td>partition</td><td>is adjusted for</td><td>to be</td>
symmetric, i.e. partition type 1332, 1334, 1336, or 1338 a 1352 transformation unit that has a size of 2Nx2N is set if a TU size flag is 0, and a 1354 transformation unit that is N / 2xN / 2 is adjusted if a flag of size TU is 1.
Referring to Figure 18, the TU size flag is a flag that has a value of 0 or 1, but is not limited to a 1-bit flag, and a transformation unit can be hierarchically divided while the size flag TU increases to O, 1, 2, 3, .... The TU size flag can be used as a modality of the transformation index.
<td></td><td>In</td><td>this</td><td>case,</td><td>the</td><td>size</td><td>of a unit</td><td>of</td>
<td colspan="2">transformation</td><td>than</td><td>has been</td><td colspan="2">effectively</td><td>used can</td><td>to be</td>
<td>expressed</td><td>by</td><td>the</td><td>use of</td><td>a</td><td colspan="2">TU size flag of</td><td>a</td>
<td>unit of</td><td colspan="3">transformation,</td><td>of</td><td>according to</td><td>a modality of</td><td>the</td>
<td>Present</td><td colspan="2">invention</td><td>together</td><td>with</td><td>a size</td><td colspan="2">maximum and one size</td>
<td>minimum of</td><td>the</td><td colspan="2">unit of</td><td colspan="2">transformation.</td><td>According to</td><td>a</td>
<td>modality</td><td>of</td><td>the</td><td colspan="3">present invention,</td><td>apparatus 100</td><td>of</td>
<td colspan="2">coding</td><td colspan="3">video can</td><td>encode</td><td>information</td><td>of</td>
113
<img file="MX354286B_D0062.tif" />
p I (£<sup>:</sup> · '70 maximum transformation unit size
INDUSTRIAL bÍl · minimum transformation unit size, and a maximum TU size flag. The result of encoding the maximum transformation unit size information, the minimum transformation unit size information, and the maximum TU size flag can be inserted into an SPS. In accordance with one embodiment of the present invention, the video decoding apparatus 200 can decode the video using the information from the
<td>size</td><td>of</td><td>maximum transformation unit, the</td><td colspan="2">information</td><td>of the</td>
<td>size</td><td>of</td><td>minimum transformation unit and</td><td>the</td><td>flag</td><td>of</td>
<td>size</td><td>YOU</td><td>maximum.</td><td></td><td></td><td></td>
<td></td><td></td><td>For example, if the size of</td><td>a</td><td>Unit</td><td>of</td>
current encoding is 64x64 and a maximum transformation unit size is 32x32, so the size of a transformation unit can be 32x32 when a flag of TU size is 0, it can be 16x16 when the flag of TU size is 1, and it can be 8x8 when the flag size
TU is 2.
As yet another example, if the current encoding unit size is 32x32 and a minimum transformation unit size is 32x32, then the transformation unit size can be 32x32 when the TU size flag is 0. Here, the TU size flag cannot be set to a value other than 0, since the size of the
114
<img file="MX354286B_D0063.tif" />
transformation unit cannot be less than
As yet another example, if the current encoding unit size is 64x64 and a maximum TU size flag is 1, then the TU size flag can be 0 or 1. Here, the TU size flag cannot be set to a value other than 0 or 1.
Thus, if you define that the flag size
TU maximum is MaxTransformSizelndex, a minimum transformation unit size is MinTransformSize, and a transformation unit size is RootTuSize when the flag of TU size is 0, then a current minimum transformation unit size CurrMinTuSize that can be determined in a current coding unit, can be defined by Equation (1):
CurrMinTuSize = max (MinTransformSize,
CurrMinTuSize / (2 ^ MaxTransformSizelndex)) (1)
Compared to the current minimum transformation unit size CurrMinTuSize that can be determined in the current encoding unit, a CurrMinTuSize transformation unit size when the TU size flag is 0, can denote a maximum transformation unit size that can be selected in the system. In equation (1),
RootTuSize / (2<sup>TO</sup>MaxTransformSizeIndex) denotes a size of
115
ΙΜΡϊ £ ϊ> υ transformation unit when size H5T ^ oM ^^ cp<sub>:</sub>;;of; <;
INDUSTRIAL 'RootTuSize transformation when TU size flag is
0, is divided a number of times corresponding to the maximum TU size flag, and MinTransformSize denotes a minimum transformation size. Thus, a smaller value of between RootTuSize / (2<sup>TO</sup>MaxTransformSizelndex) and MinTransformSize can be the current CurrMinTuSize minimum transformation unit size that can be determined in the current encoding unit.
According to an embodiment of the present invention, the maximum transformation unit size
CurrMinTuSize can vary according to the type of a prediction mode.
For example, if a current prediction mode is an integer mode, then CurrMinTuSize can be determined using Equation (2) below. In Equation (2), MaxTransformSize denotes a maximum transformation unit size and PUSize denotes a current prediction unit size.
RootTuSize = min (MaxTransformSize, PUSize) ...... (2)
That is, if the current prediction mode is inter mode, the size of the CurrMinTuSize transformation unit, when the TU size flag is 0, may be a smaller value between the maximum transformation unit size and the size prediction unit
116 current.
<img file="MX354286B_D0064.tif" />
If a mode of a current partition unit is an intra mode, CurrMinTuSize can be determined by using equation (3) below. In Equation (3), PartitionSize denotes the size of the current partition unit.
CurrMínTuSize = min (MaxTransformSize, PartitionSize) ..... (3)
That is, if the current prediction mode is intra mode, the size of the transformation unit
RootTuSize when the TU size flag is 0 can be a smaller value between the size of the maximum transformation unit and the size of the current partition unit.
However, the size of the current maximum transformation unit CurrMinTuSize that varies according to the type of a prediction mode in a partition unit is only an example and the present invention is not limited thereto.
According to a video encoding method performed based on the encoding units having a tree structure described above with reference to Figures 6 to 18, the image data in the spatial domain is encoded for each encoding unit that it has a tree structure. According to a video coding method made based on
117
<img file="MX354286B_D0065.tif" />
- · Α ».And the encoding units that have arborescent, the image data in the spatial domain is m the morndad f /
INDUSTRIAL £ -> - * restored by decoding the maximum encoding units to restore one frame and video that is a sequence of frames. The restored video can be played using a playback device, can be stored on a recording medium, or can be transmitted via a network.
Also, a shift parameter can be signaled in frame units, slices, maximum encoding units, encoding units having a tree structure, prediction units of one encoding unit, transformation units of one encoding unit. For example, a maximum encoding unit that has the least error with respect to the original block can be restored by adjusting the restored pixel values of maximum encoding units by using restored shift values based on the shift parameters. received from the maximum encoding units.
The embodiments of the present invention can be written as computer programs and can be implemented in general-purpose digital computers that run programs that use a computer-readable recording medium. Examples of the recording medium
118
IMPI «faith»
INDUSTRIAL eg ROM, computer readable disks include industrial flexible magnetic storage media, hard drives etc (eg CD-ROMs or DVDs)
<img file="MX354286B_D0066.tif" />
and optical recording media
While the present invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and detail may be made therein without departing from the spirit and the scope of the present invention as defined by the appended claims. Preferred modalities should be considered in a descriptive sense only and not for purposes of limitation. Therefore, the scope of the invention is defined not by the detailed description of the invention, but by the appended claims, and all differences within the scope will be considered as included in the present invention.
<td>It is noted that</td><td>in relation to this date,</td><td>the</td>
<td>best method known for the</td><td>applicant to carry</td><td>the</td>
<td>practice the said invention,</td><td>is the one that is clear from</td><td>the</td>
present description of the invention.
119
MIXICAN INSTITUTE OT LA PROPIKOALi «MMISTRIAL
<img file="MX354286B_D0067.tif" />
as above, it
Contents45
80 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
82 members in 14 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 61503017 | United States of America | – | |
| 201161503017 | United States of America | P | |
| 2012005244 | Republic of Korea | W |
Members82
| Document | Office | Kind | |
|---|---|---|---|
| CA2840939A1 | Canada | A1 | |
| CA3007186A1 | Canada | A1 | |
| WO2013002619A2 | World Intellectual Property Organization (WIPO) | A2 | |
| KR20130004180A | Republic of Korea | A | |
| TW201306603A | Taiwan Province of China | A | |
| WO2013002619A3 | World Intellectual Property Organization (WIPO) | A3 | |
| AU2012276363A1 | Australia | A1 | |
| PH12014500018A1 | Philippines | A1 | |
| CN103765893A | China | A | |
| MX2014000055A | Mexico | A | |
| EP2728874A2 | European Patent Office (EPO) | A2 | |
| US2014140411A1 | United States of America | A1 | |
| KR20140085387A | Republic of Korea | A | |
| JP2014523699A | Japan | A | |
| KR101470923B1 | Republic of Korea | B1 | |
| KR20150009492A | Republic of Korea | A | |
| EP2728874A4 | European Patent Office (EPO) | A4 | |
| US2015181235A1 | United States of America | A1 | |
| US2015215620A1 | United States of America | A1 | |
| EP2902918A1 | European Patent Office (EPO) | A1 | |
| RU2014102989A | Russian Federation | A | |
| CN104837021A | China | A | |
| CN104837026A | China | A | |
| EP2905708A1 | European Patent Office (EPO) | A1 | |
| JP2015164332A | Japan | A | |
| CN104935924A | China | A | |
| TWI502970B | Taiwan Province of China | B | |
| TW201540054A | Taiwan Province of China | A | |
| KR20150124419A | Republic of Korea | A | |
| KR20150124420A | Republic of Korea | A | |
| TWI519142B | Taiwan Province of China | B | |
| AU2012276363B2 | Australia | B2 | |
| AU2016201362A1 | Australia | A1 | |
| TW201613356A | Taiwan Province of China | A | |
| KR101617795B1 | Republic of Korea | B1 | |
| KR101635509B1 | Republic of Korea | B1 | |
| TWI542203B | Taiwan Province of China | B | |
| US9392285B2 | United States of America | B2 | |
| KR101642979B1 | Republic of Korea | B1 | |
| US9407917B2 | United States of America | B2 | |
| US9414074B2 | United States of America | B2 | |
| TW201630426A | Taiwan Province of China | A | |
| ZA201400703B | South Africa | B | |
| US2016286236A1 | United States of America | A1 | |
| MX343865B | Mexico | B | |
| MX344091B | Mexico | B | |
| TWI562621B | Taiwan Province of China | B | |
| TW201703536A | Taiwan Province of China | A | |
| US9549202B2 | United States of America | B2 | |
| KR101708029B1 | Republic of Korea | B1 | |
| KR20170037901A | Republic of Korea | A | |
| US2017104996A1 | United States of America | A1 | |
| RU2620718C2 | Russian Federation | C2 | |
| JP6141900B2 | Japan | B2 | |
| AU2016201362B2 | Australia | B2 | |
| JP2017130982A | Japan | A | |
| TWI601419B | Taiwan Province of China | B | |
| AU2017248434A1 | Australia | A1 | |
| US9888242B2 | United States of America | B2 | |
| MX354286BThis record | Mexico | B | |
| MX354287B | Mexico | B | |
| PH12014500018B1 | Philippines | B1 | |
| PH12017501637A1 | Philippines | A1 | |
| PH12017501637B1 | Philippines | B1 | |
| PH12017501638A1 | Philippines | A1 | |
| PH12017501638B1 | Philippines | B1 | |
| PH12017501639A1 | Philippines | A1 | |
| PH12017501639B1 | Philippines | B1 | |
| PH12017501640A1 | Philippines | A1 | |
| PH12017501640B1 | Philippines | B1 | |
| KR101861821B1 | Republic of Korea | B1 | |
| KR20180071208A | Republic of Korea | A | |
| RU2660613C1 | Russian Federation | C1 | |
| CA2840939C | Canada | C | |
| AU2017248434B2 | Australia | B2 | |
| JP6388685B2 | Japan | B2 | |
| MY168044A | Malaysia | A | |
| KR101969932B1 | Republic of Korea | B1 | |
| RU2689196C1 | Russian Federation | C1 | |
| CA3007186C | Canada | C | |
| MY175432A | Malaysia | A | |
| MY175434A | Malaysia | A |
Numbers
- Publication
- 354286
- Application
- 2015007104
Titles2
- Spanish
- METODO DE CODIFICACION DE VIDEO CON AJUSTE DE PROFUNDIDAD DE BITS PARA CONVERSION DE PUNTO FIJO Y APARATO PARA EL MISMO, Y METODO DE DECODIFICACION DE VIDEO Y APARATO PARA EL MISMO.
- English
- VIDEO ENCODING METHOD WITH BIT DEPTH ADJUSTMENT FOR FIXED-POINT CONVERSION AND APPARATUS THEREFOR, AND VIDEO DECODING METHOD AND APARATUS THEREFOR.
Classification
- CPC, 19
- G06F17/147
- H04N19/115
- H04N19/44
- H04N19/60
- H04N19/122
- H04N19/126
- H04N19/136
- H04N19/182
- H04N19/184
- H04N19/42
- H04N19/124
- H04N19/70
- H04N19/18
- H04N19/187
- H04N19/45
- H04N19/146
- H04N19/176
- H04N19/34
- H04N19/625
- IPC, 3
- H04N19 89
- H04N19 115
- H04N19 136