U.S. patent application number 14/496601 was filed with the patent office on 2015-01-08 for apparatus and method for encoding/decoding images for intra-prediction.
The applicant listed for this patent is HUMAX HOLDINGS CO., LTD.. Invention is credited to Min Sung KIM, UI Ho LEE, Chung Ku YIE.
Application Number | 20150010079 14/496601 |
Document ID | / |
Family ID | 45402614 |
Filed Date | 2015-01-08 |
United States Patent
Application |
20150010079 |
Kind Code |
A1 |
YIE; Chung Ku ; et
al. |
January 8, 2015 |
APPARATUS AND METHOD FOR ENCODING/DECODING IMAGES FOR
INTRA-PREDICTION
Abstract
A method of decoding an image includes the steps of restoring a
residual value by performing inverse quantization and inverse
transform on the residual value by entropy decoding a received bit
stream, generating a prediction unit by performing intra prediction
selectively using one of a plurality of prediction modes on a
prediction unit split by conducting at least one of asymmetric
partitioning and geometrical partitioning, and restoring an image
by adding the residual value to the prediction unit. It may be
possible to enhance encoding efficiency of high-resolution images
having a resolution of HD or higher by performing intra prediction
on the asymmetric partitioning and/or geometrical partitioning.
Inventors: |
YIE; Chung Ku; (Incheon,
KR) ; KIM; Min Sung; (Anyang-si, KR) ; LEE; UI
Ho; (Hwaseong-si, KR) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
HUMAX HOLDINGS CO., LTD. |
Yongin-Si |
|
KR |
|
|
Family ID: |
45402614 |
Appl. No.: |
14/496601 |
Filed: |
September 25, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13808076 |
Jan 2, 2013 |
|
|
|
PCT/KR2011/004892 |
Jul 4, 2011 |
|
|
|
14496601 |
|
|
|
|
Current U.S.
Class: |
375/240.12 |
Current CPC
Class: |
H04N 19/11 20141101;
H04N 19/14 20141101; H04N 19/523 20141101; H04N 19/176 20141101;
H04N 19/107 20141101; H04N 19/593 20141101; H04N 19/94 20141101;
H04N 19/46 20141101; H04N 19/547 20141101; G06T 9/004 20130101;
H04N 19/44 20141101; H04N 19/45 20141101; H04N 19/91 20141101; H04N
19/119 20141101 |
Class at
Publication: |
375/240.12 |
International
Class: |
H04N 19/593 20060101
H04N019/593; H04N 19/176 20060101 H04N019/176; H04N 19/91 20060101
H04N019/91 |
Foreign Application Data
Date |
Code |
Application Number |
Jul 2, 2010 |
KR |
10-2010-0064009 |
Claims
1. A method of decoding an image, the method comprising the steps
of: restoring a residue by entropy-decoding a received bit stream
and by performing inverse quantization and inverse transform on the
residue; generating a prediction unit by performing
intra-prediction encoding that selectively uses one of a plurality
of prediction modes on a prediction unit which is split; and
reconstructing the image by adding the residue to the prediction,
wherein the prediction unit corresponds to a leaf coding unit when
a coding unit is split and reaches a maximum permissible depth.
2. The method of claim 1, wherein in a case where a planar
prediction mode flag is activated, a predicted pixel value of an
internal pixel of a current prediction unit is obtained by
performing bilinear interpolation using vertically and/or
horizontally directional corresponding pixel value in previously
encoded left side block and/or upper end block and/or vertically
and/or horizontally directional corresponding internal boundary
prediction pixel value of a pixel in the prediction unit.
3. The method of claim 1, wherein a partition splitting is achieved
by an asymmetric partitioning method.
4. The method of claim 3, wherein the asymmetric partitioning is
conducted along a horizontal direction to split the prediction unit
into a partition P11a having a size of 64.times.16 and a partition
P21a having a size of 64.times.48 or into a partition P12a having a
size of 64.times.48 and a partition P22a having a size of
64.times.16.
5. The method of claim 3, wherein the asymmetric partitioning is
performed along a vertical direction to split the prediction unit
into a partition P13a having a size of 16.times.64 and a partition
P23a having 48.times.64 or into a partition P14a having a size of
48.times.64 and a partition P24a having a size of 16.times.64.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application is a continuation of U.S. patent
application Ser. No. 13/808,076, filed on Jan. 2, 2013. Further,
this application claims the priorities of Korean Patent Application
No. 10-2010-0064009, filed on Jul. 2, 2010 in the KIPO (Korean
Intellectual Property Office) and National Phase application of
International Application No. PCT/KR2011/004892, filed on Jul. 4,
2011 the disclosure of which are incorporated herein in their
entirety by reference.
BACKGROUND
[0002] 1. Technical Field
[0003] The present invention is directed to encoding and decoding
images, and more specifically to an apparatuses and methods for
encoding/decoding images that may be applied to intra
prediction.
[0004] 2. Description of the Related Art
[0005] In general image compression methods, one picture is
separated into multiple blocks each having a predetermined size.
Inter-prediction and infra-prediction technologies are used to
remove redundancy between pictures so as to increase compression
efficiency.
[0006] The method of encoding images using inter prediction
predicts pixel values based on pixel correlation between blocks
from pixel values in the blocks surrounding a current block, which
have been already encoded, such as an upper block, a left block, an
upper and left block, and an upper and right block in a current
frame (or picture), and transmits their prediction errors.
[0007] In the inter-prediction encoding, among several prediction
directions (horizontal, vertical, diagonal, or average, etc.), an
optimal prediction mode (prediction direction) is selected to be
suited for characteristics of an image to be encoded.
[0008] In the existing H.264/AVC standards, in the case that the
inter-prediction encoding applies to a 4.times.4 pixel unit block,
among nine prediction modes (prediction modes 0 to 8), one most
appropriate prediction mode is selected every 4.times.4 pixel
blocks, and the selected prediction mode (prediction direction) is
encoded on a per-4.times.4 pixel block basis. Further, in the case
that the inter-prediction encoding applies to a 16.times.16 pixel
unit block, among four prediction modes (vertical prediction,
horizontal prediction, average prediction, and planar prediction),
one most appropriate prediction mode is selected every 16.times.16
pixel blocks, and the selected prediction mode (prediction
direction) is encoded on a per-16.times.16 pixel block basis.
[0009] In the existing intra-prediction encoding, a predetermined
number of prediction directions are predefined only for M.times.M
square-type symmetrical pixel blocks (M=4, 8, or 16) to perform the
intra-prediction encoding. That is, conventionally, M.times.M-size
symmetrical partitioning only is applied for inter-prediction
encoding so that a square-type symmetrical block is used as a basic
unit for the intra-prediction encoding.
SUMMARY
[0010] It is required a method of increasing coding efficiency
because there are limits for increasing coding efficiency when
intra prediction is performed using only the conventional symmetric
pixel blocks.
[0011] Especially, it is required a method of increasing coding
efficiency because there are limits for increasing coding
efficiency when intra prediction is performed on high-resolution
image having a resolution of an HD (High Definition) or higher
using only symmetric pixel blocks.
[0012] A first object of the present invention is to provide an
intra prediction encoding method and apparatus that may be
applicable to a high-resolution image having a resolution of an HD
(High Definition) or higher.
[0013] A second object of the present invention is to provide an
intra prediction decoding method and apparatus that may be
applicable to a high-resolution image having a HD (High Definition)
or higher.
[0014] To achieve the above-described first object of the present
invention, according to an aspect of the present invention, a
method of encoding an image includes the steps of performing
intra-prediction encoding by selectively using one of a plurality
of prediction modes on a prediction unit which is split by applying
at least one of asymmetric partitioning and geometrical
partitioning to an input image so as to prediction-encode the input
image and performing transform, quantization, and entropy encoding
on a residue which is a difference between a prediction unit
predicted by the intra prediction and a current prediction unit. A
pixel value in the asymmetrically partitioned prediction unit may
be predicted by using a pixel value in a block encoded earlier than
the prediction unit along one of a vertical direction, a horizontal
direction, an average value prediction, a diagonal down-right
direction, and a diagonal down-left direction.
[0015] To achieve the above-described second object of the present
invention, according to an aspect of the present invention, a
method of decoding an image includes the steps of restoring a
residue by entropy-decoding a received bit stream and by performing
inverse quantization and inverse transform on the residue,
generating a prediction unit by performing intra-prediction
encoding that selectively uses one of a plurality of prediction
modes on a prediction unit which is split by applying at least one
of asymmetric partitioning and geometrical partitioning, and
restoring the image by adding the residue to the prediction.
[0016] A pixel value in the asymmetrically partitioned prediction
unit may be predicted by using a pixel value in a block encoded
earlier than the prediction unit along one of a vertical direction,
a horizontal direction, an average value prediction, a diagonal
down-right direction, and a diagonal down-left direction. The pixel
value in the asymmetrically partitioned prediction unit may be
predicted by using the pixel value in the block encoded earlier
than the prediction unit along lines formed at the same
predetermined angle all over the entire direction within
360.degree.. The pixel value in the asymmetrically partitioned
prediction unit may be subjected to intra prediction along a line
with an angle corresponding to a slope with dx along the horizontal
direction and dy along the vertical direction based on information
on dx and dy defining the slope. A predicted pixel value of a pixel
positioned at a rightmost and lowermost end of the prediction unit
may be obtained using vertically and/or horizontally directional
corresponding pixel values in left side block and upper end block
encoded earlier than the prediction unit. The pixel value of the
pixel positioned at the rightmost and lowermost end of the
prediction unit may be obtained by performing linear interpolation
using vertically and/or horizontally directional corresponding
pixel values in the left side block and upper end block encoded
earlier than the prediction unit and vertically and/or horizontally
directional corresponding internal pixel value in the prediction
unit. A predicted pixel value of a pixel positioned at a rightmost
and lowermost end of a current prediction unit of an Nth picture
may be obtained by obtaining an average value or performing linear
interpolation using vertically and/or horizontally directional
pixel values in previously encoded left side block and upper end
block which are positioned adjacent to the current prediction unit
and vertically and/or horizontally directional corresponding pixel
values in the previously encoded left side block and upper end
block positioned adjacent to a corresponding prediction unit of an
N-1th picture.
[0017] To achieve the above-described second object of the present
invention, according to another aspect of the present invention, an
apparatus for decoding an image includes an inverse-transform unit
configured to reconstruct a residue by entropy-decoding a received
bit stream and by performing inverse quantization and inverse
transform on the residue, an intra predicting unit configured to
generate a prediction unit by performing intra-prediction encoding
that selectively uses one of a plurality of prediction modes on a
prediction unit which is split by applying at least one of
asymmetric partitioning and geometrical partitioning, and an adder
configured to reconstruct the image by adding the residue to the
prediction.
[0018] According to the above-described intra-prediction
encoding/decoding methods and apparatuses, the intra-prediction
encoding/decoding methods and apparatuses can enhance encoding
efficiency for high-resolution images having an HD or ultra HD
resolution by applying intra-prediction encoding/decoding to pixels
blocks having an asymmetrical shape or any geometrical shape with a
size of M.times.N.
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] FIG. 1 is a conceptual view illustrating a recursive coding
unit structure according to one example embodiment of the present
invention.
[0020] FIGS. 2 to 5 are conceptual views illustrating an asymmetric
partitioning method according to one example embodiment of the
present invention.
[0021] FIG. 6 is a conceptual view illustrating an intra-prediction
encoding method using an asymmetrical pixel block according to one
example embodiment of the present invention.
[0022] FIGS. 7 to 9 are conceptual views illustrating an
intra-prediction encoding method using an asymmetrical pixel block
according to another example embodiment of the present
invention.
[0023] FIG. 10 is a conceptual view illustrating an
intra-prediction encoding method based on planar prediction
according to another example embodiment of the present
invention.
[0024] FIG. 11 is a conceptual view illustrating an
intra-prediction encoding method based on planar prediction
according to another example embodiment of the present
invention.
[0025] FIG. 12 is a conceptual view illustrating a geometrical
partitioning process according to another example embodiment of the
present invention.
[0026] FIG. 13 is a block diagram illustrating a configuration of
an image encoding apparatus performing intra-prediction encoding
according to one example embodiment of the present invention.
[0027] FIG. 14 is a flowchart illustrating an image encoding method
applied with intra-prediction encoding according to one example
embodiment of the present invention.
[0028] FIG. 15 is a block diagram illustrating a configuration of
an image decoding apparatus according to one example embodiment of
the present invention.
[0029] FIG. 16 is a flowchart illustrating an image decoding method
according to one example embodiment of the present invention.
DESCRIPTION OF EXAMPLE EMBODIMENTS OF THE PRESENT INVENTION
[0030] Various modifications may be made to the present invention
and the present invention may have a number of embodiments.
Specific embodiments are described in detail with reference to the
drawings.
[0031] However, the present invention is not limited to specific
embodiments, and it should be understood that the present invention
includes all modifications, equivalents, or replacements that are
included in the spirit and technical scope of the present
invention.
[0032] The terms "first" and "second" may be used to describe
various components, but the components are not limited thereto.
These terms are used only to distinguish one component from
another. For example, the first component may be also named the
second component, and the second component may be similarly named
the first component. The term "and/or" includes a combination of a
plurality of related items as described herein or any one of the
plurality of related items.
[0033] When a component is "connected" or "coupled" to another
component, the component may be directly connected or coupled to
the other component. In contrast, when a component is directly
connected or coupled to another component, no component
intervenes.
[0034] The terms used herein are given to describe the embodiments
but not intended to limit the present invention. A singular term
includes a plural term unless otherwise stated. As used herein, the
terms "include" or "have" are used to indicate that there are
features, numerals, steps, operations, components, parts or
combinations thereof as described herein, but do not exclude the
presence or possibility of addition of one or more features,
numerals, steps, operations, components, parts or components
thereof.
[0035] Unless defined otherwise, all the terms used herein
including technical or scientific terminology have the same meaning
as are generally understood by those skilled in the art. Such terms
as defined in the dictionary as commonly used should be construed
to have the same meanings as those understood in the context of the
related technology, and unless otherwise defined, should not be
understood ideally or too formally.
[0036] Hereinafter, preferred embodiments of the present invention
will be described in greater detail with reference to the
accompanying drawings. For ease of description, the same reference
numerals are used to denote the same components throughout the
specification and the drawings, and the description thereof is not
repeated.
[0037] According to an example embodiment of the present invention,
encoding and decoding including inter/intra prediction, transform,
quantization, and entropy encoding may be performed using an
extended macroblock size of 32.times.32 pixels or more to be
applicable to high-resolution images having a resolution of HD
(High Definition) or higher, and encoding and decoding may be
conducted using a recursive coding unit (CU) structure that will be
described below.
[0038] FIG. 1 is a conceptual view illustrating a recursive coding
unit structure according to an example embodiment of the present
invention.
[0039] Referring to FIG. 1, each coding unit CU has a square shape
and may have a variable size of 2N.times.2N (unit: pixels). Inter
prediction, intra prediction, transform, quantization, and entropy
encoding may be performed on a per-coding unit basis. The coding
unit CU may include a maximum coding unit LCU and a minimum coding
unit SCU. The size of the maximum or minimum coding unit LCU or SCU
may be represented by powers of 2 which are 8 or more.
[0040] According to an example embodiment, the coding unit CU may
have a recursive tree structure. FIG. 1 illustrates an example
where a side of the maximum coding unit LCU (or CU0) has a size of
2N0 which is 128 (N0=64) while the maximum level or level depth is
5. The recursive structure may be represented by a series of flags.
For example, in the case that a coding unit CUk whose level or
level depth is k has a flag value of 0, coding on the coding unit
CUk is performed on the current level or level depth. When the flag
value is 1, the coding unit CUk is split into four independent
coding units CUk+1 having a level or level depth of k+1 and a size
of Nk+1.times.Nk+1. In this case, the coding unit CUk+1 may be
recursively processed until its level or level depth reaches the
permissible maximum level or level depth. When the level or level
depth of the coding unit CUk+1 is the same as the permissible
maximum level or level depth (which is, e.g., 4 as shown in FIG.
4), any further splitting is not permissible.
[0041] The size of the maximum coding unit LCU and the size of the
minimum coding unit SCU may be included in a sequence parameter set
(SPS). The sequence parameter set SPS may include the permissible
maximum level or level depth of the maximum coding unit LCU. For
example, in the example illustrated in FIG. 2, the permissible
maximum level or level depth is 5, and when the side of the maximum
coding unit LCU has a size of 128 pixels, five coding unit sizes,
such as 128.times.128 (LCU), 64.times.64, 32.times.32, 16.times.16,
and 8.times.8 (SCU), may be possible. That is, given the size of
the maximum coding unit LCU and the permissible maximum level or
level depth, the permissible size of the coding unit may be
determined.
[0042] Use of the above-described recursive coding unit structure
may provide the following advantages.
[0043] First, a size larger than that of the existing 16.times.16
macro-block may be supported. If an image region of interest is
homogeneous, the maximum coding unit LCU may express the image
region of interest with a smaller number of symbols than when using
a number of small blocks.
[0044] Second, compared to when using a fixed size of macro-block,
any size of maximum coding unit LCU may be supported, so that the
codec may be easily optimized to various contents, applications,
and apparatuses. That is, the size of the maximum coding unit LCU,
the maximum level or level depth may be properly selected so that
the hierarchical block structure may be optimized further than the
target application.
[0045] Third, irrespective of whether it is a macro-block,
sub-macro-block, or extended macro-block, a single unit type of a
coding unit LCU is used so that the multilevel hierarchical
structure may be simply represented by using the size of the
maximum coding unit LCU, the maximum level (or the maximum level
depth), and a series of flags. When used together with
size-independent syntax representation, the coding unit LCU is
enough to indicate one generalized size of syntax item for the
remaining coding tools, and such conformity may simplify actual
parsing processes. The maximum level value (or maximum level depth
value) may be any value and may have a value larger than a value
permitted in the existing H.264/AVC encoding scheme. All syntax
elements may be indicated in a consistent manner independent from
the size of the coding unit CU by using the size-independent syntax
representation. The splitting process for the coding unit may be
recursively indicated, and syntax elements for the leaf coding unit
(the last coding unit in the level) may be defined to the same size
regardless of the size of the coding unit. The above representation
is very effective in reducing parsing complexity and may make the
representation further clarified when a high level or level depth
is allowed.
[0046] If the hierarchical splitting process is complete, inter
prediction or intra prediction may be performed on the leaf node of
the coding unit hierarchical unit without being further split. This
leaf coding unit is used as the prediction unit PU which is a basic
unit of the inter prediction or intra prediction.
[0047] For inter prediction or intra prediction, partitioning is
fulfilled on the leaf coding unit. That is, partitioning is
performed on the prediction unit PU. Here, the prediction unit PU
is a basic unit for inter prediction or intra prediction and may be
an existing macro-block unit or sub-macro-block unit, or an
extended macro-block unit having a size of 32.times.32 pixels or
more or a coding unit.
[0048] All information related to prediction (motion vector,
difference between motion vectors, etc) is transmitted to decoder
in a unit of prediction unit which is a basic unit of
inter-prediction.
[0049] For inter prediction or intra prediction partitioning may
include asymmetrical partitioning, geometrical partitioning in any
shape other than square, or partitioning along an edge direction,
which are now described in greater detail.
[0050] FIGS. 2 to 5 are conceptual views illustrating asymmetric
partitioning according to an embodiment.
[0051] When the prediction unit PU for inter prediction or intra
prediction has a size of M.times.M (M is a natural number. The unit
of the size is pixel), asymmetric partitioning is performed along a
horizontal or vertical direction of the coding unit. FIGS. 3 to 5
illustrate examples where the size of the prediction unit PU is
64.times.64, 32.times.32, 16.times.16, 8.times.8 pixels. FIGS. 3
and 4 illustrate asymmetric partition where the size of the
prediction unit PU is more than 16.times.16 pixels which is the
size of macroblock.
[0052] Referring to FIG. 2, in the case of having a size of
64.times.64, asymmetric partitioning is conducted along a
horizontal direction to split the prediction unit into a partition
P11a having a size of 64.times.16 and a partition P21a having a
size of 64.times.48 or into a partition P12a having a size of
64.times.48 and a partition P22a having a size of 64.times.16. Or,
asymmetric partitioning is performed along a vertical direction to
split the prediction unit into a partition P13a having a size of
16.times.64 and a partition P23a having 48.times.64 or into a
partition P14a having a size of 48.times.64 and a partition P24a
having a size of 16.times.64.
[0053] Referring to FIG. 3, in the case of having a size of
32.times.32, the prediction unit may be subjected to
horizontal-direction asymmetric partitioning to be split into a
partition P11b having a size of 32.times.8 and a partition P21b
having a size of 32.times.24 or into a partition P12b having a size
of 32.times.24 and a partition P22b having a size of 32.times.8.
Or, the prediction unit may be subjected to vertical-direction
asymmetric partitioning to be split into a partition P13b having a
size of 8.times.32 and a partition P23b having a size of
24.times.32 or into a partition P14b having a size of 24.times.32
and a partition P24b having a size of 8.times.32.
[0054] Referring to FIG. 4, in the case of having a size of
16.times.16, the prediction unit PU may be subjected to
horizontal-direction asymmetric partitioning to be split into a
partition P11c having a size of 16.times.4 and a partition P21c
having a size of 16.times.12 or (although not shown in the
drawings) into an upper partition having a size 16.times.12 and a
lower partition having a size of 16.times.4. Further, although not
shown in the drawings, the prediction unit PU may be subjected to
vertical-direction asymmetric partitioning to be split into a left
partition having a size of 4.times.16 and a right partition having
a size of 12.times.16 or into a left partition having a size of
12.times.16 and a right partition having a size of 4.times.16.
[0055] Referring to FIG. 5, in the case of having a size of
8.times.8, the prediction unit PU may be subjected to
horizontal-direction asymmetric partitioning to be split into a
partition P11d having a size of 8.times.2 and a partition P21d
having a size of 8.times.6 or (although not shown in the drawings)
into an upper partition having a size 8.times.6 and a lower
partition having a size of 8.times.2. Further, although not shown
in the drawings, the prediction unit PU may be subjected to
vertical-direction asymmetric partitioning to be split into a left
partition having a size of 2.times.8 and a right partition having a
size of 6.times.8 or into a left partition having a size of
6.times.8 and a right partition having a size of 2.times.8.
[0056] FIG. 6 is a conceptual view illustrating an intra-prediction
encoding method using an asymmetric pixel block according to an
example embodiment of the present invention.
[0057] FIGS. 7 to 9 are conceptual views illustrating an
intra-prediction encoding method using an asymmetric pixel block
according to another example embodiment of the present invention.
FIGS. 6 to 9 illustrate an example of intra prediction when the
asymmetric partitioning described in connection with FIGS. 2 to 5
is used. However, the present invention is not limited thereto. The
intra-prediction encoding method illustrated in FIGS. 6 to 9 may
also apply to when various types of asymmetric partitioning
illustrated in FIGS. 2 to 5 are used.
[0058] FIG. 6 is a view for describing a prediction mode to perform
intra prediction on partition P11d having a size of 8.times.2
obtained by performing asymmetric partitioning on the prediction
unit PU whose size is 8.times.8 in a horizontal direction.
[0059] Referring to FIG. 6, a pixel value in partition P11d having
a size of 8.times.2 is predicted using a pixel value in a block
previously encoded along the prediction directions including a
vertical direction (prediction mode 0), horizontal direction
(prediction mode 1), average value prediction (prediction mode 2),
diagonal down-right direction (prediction mode 3), and diagonal
down-left direction (prediction mode 4).
[0060] For example, in the case of prediction mode 0, as the
prediction pixel value in the partition P11d having a size of
8.times.2, the pixel value positioned along the vertical direction
in the previously encoded upper block is used.
[0061] In the case of prediction mode 1, as the prediction pixel
value in the partition P11d having a size of 8.times.2, the pixel
value positioned along the horizontal direction in the previously
encoded left block is used.
[0062] In the case of prediction mode 2, as the prediction pixel
value in the partition P11d having a size of 8.times.2, the average
value of the pixels in the previously encoded left and upper blocks
is used.
[0063] In the case of prediction mode 3, as the prediction pixel
value in the partition P11d having a size of 8.times.2, the pixel
value positioned along the diagonal down-right direction in the
previously encoded upper block is used. In the case of prediction
mode 3, when the pixel in the upper block of the partition P11d is
not sufficient, two pixels in the upper and right block may be used
to make it up.
[0064] In the case of prediction mode 4, as the prediction pixel
value in the partition P11d having a size of 8.times.2, the pixel
value positioned along the diagonal down-left direction in the
previously encoded left and upper block is used.
[0065] FIG. 7 illustrates a prediction mode for performing intra
prediction on partition P21d having a size of 8.times.6 obtained by
performing asymmetric partitioning on the prediction unit PU whose
size is 8.times.8 in the horizontal direction.
[0066] Referring to FIG. 7, a pixel value in partition P21d having
a size of 8.times.6 is predicted using a pixel value in a block
previously encoded along the prediction directions including a
vertical direction (prediction mode 0), horizontal direction
(prediction mode 1), average value prediction (prediction mode 2),
diagonal down-right direction (prediction mode 3), and diagonal
down-left direction (prediction mode 4).
[0067] For example, in the case of prediction mode 0, as the
prediction pixel value in the partition P21d having a size of
8.times.6, the pixel value positioned along the vertical direction
in the previously encoded upper block is used.
[0068] In the case of prediction mode 1, as the prediction pixel
value in the partition P21d having a size of 8.times.6, the pixel
value positioned along the horizontal direction in the previously
encoded left block is used.
[0069] In the case of prediction mode 2, as the prediction pixel
value in the partition P21d having a size of 8.times.6, the average
value of the pixels in the previously encoded left and upper blocks
is used.
[0070] In the case of prediction mode 3, as the prediction pixel
value in the partition P21d having a size of 8.times.6, the pixel
value positioned along the diagonal down-right direction in the
previously encoded upper block is used. In the case of prediction
mode 3, when the pixel in the upper block of the partition P21d is
not sufficient, six pixels in the upper and right block may be used
to make it up.
[0071] In the case of prediction mode 4, as the prediction pixel
value in the partition P21d having a size of 8.times.6, the pixel
value positioned along the diagonal down-left direction in the
previously encoded left and upper block is used.
[0072] FIG. 8 illustrates a prediction mode for performing intra
prediction on partition P11c having a size of 16.times.4 obtained
by performing asymmetric partitioning on the prediction unit PU
whose size is 16.times.16 in the horizontal direction.
[0073] Referring to FIG. 8, a pixel value in partition P11c having
a size of 16.times.4 is predicted using a pixel value in a block
previously encoded along the prediction directions including a
vertical direction (prediction mode 0), horizontal direction
(prediction mode 1), average value prediction (prediction mode 2),
diagonal down-right direction (prediction mode 3), and diagonal
down-left direction (prediction mode 4).
[0074] For example, in the case of prediction mode 0, as the
prediction pixel value in the partition P11c having a size of
16.times.4, the pixel value positioned along the vertical direction
in the previously encoded upper block is used.
[0075] In the case of prediction mode 1, as the prediction pixel
value in the partition P11c having a size of 16.times.4, the pixel
value positioned along the horizontal direction in the previously
encoded left block is used.
[0076] In the case of prediction mode 2, as the prediction pixel
value in the partition P11c having a size of 16.times.4, the
average value of the pixels in the previously encoded left and
upper blocks is used.
[0077] In the case of prediction mode 3, as the prediction pixel
value in the partition P11c having a size of 16.times.4, the pixel
value positioned along the diagonal down-right direction in the
previously encoded upper block is used. In the case of prediction
mode 3, when the pixel in the upper block of the partition P11c is
not sufficient, four pixels in the upper and right block may be
used to make it up.
[0078] In the case of prediction mode 4, as the prediction pixel
value in the partition P11c having a size of 16.times.4, the pixel
value positioned along the diagonal down-left direction in the
previously encoded left and upper block is used.
[0079] FIG. 9 illustrates a prediction mode for performing intra
prediction on partition P11b having a size of 32.times.8 obtained
by performing asymmetric partitioning on the prediction unit PU
whose size is 32.times.32 in the horizontal direction.
[0080] Referring to FIG. 9, a pixel value in partition P11b having
a size of 32.times.8 is predicted using a pixel value in a block
previously encoded along the prediction directions including a
vertical direction (prediction mode 0), horizontal direction
(prediction mode 1), average value prediction (prediction mode 2),
diagonal down-right direction (prediction mode 3), and diagonal
down-left direction (prediction mode 4).
[0081] For example, in the case of prediction mode 0, as the
prediction pixel value in the partition P11b having a size of
32.times.8, the pixel value positioned along the vertical direction
in the previously encoded upper block is used.
[0082] In the case of prediction mode 1, as the prediction pixel
value in the partition P11b having a size of 32.times.8, the pixel
value positioned along the horizontal direction in the previously
encoded left block is used.
[0083] In the case of prediction mode 2, as the prediction pixel
value in the partition P11b having a size of 32.times.8, the
average value of the pixels in the previously encoded left and
upper blocks is used.
[0084] In the case of prediction mode 3, as the prediction pixel
value in the partition P11b having a size of 32.times.8, the pixel
value positioned along the diagonal down-right direction in the
previously encoded upper block is used. In the case of prediction
mode 3, when the pixel in the upper block of the partition P11b is
not sufficient, eight pixels in the upper and right block may be
used to make it up.
[0085] In the case of prediction mode 4, as the prediction pixel
value in the partition P11b having a size of 32.times.8, the pixel
value positioned along the diagonal down-left direction in the
previously encoded left and upper block is used.
[0086] FIGS. 6 to 9 illustrate examples of using a predetermined
number of prediction modes for each size of the prediction unit for
the asymmetric partition block, and prediction modes along the
other directions (not shown) for each prediction unit may also be
used. For example, the intra prediction may be performed along
lines formed at the same predetermined angle (e.g., 22.5.degree. or
11.25.degree.) all over the entire direction within 360.degree.
using pixel values in the previously encoded left and upper blocks.
Or, any angle may be previously designated by the encoder so that
the intra prediction may be performed along a line defined
according to the designated angle. To designate the angle, for
example, a slope with dx along the horizontal direction and dy
along the vertical direction may be defined, and information on dx
and dy may be transferred from the encoder to the decoder.
Predetermined angle information may also be transferred from the
encoder to the decoder.
[0087] FIG. 10 is a concept view illustrating an intra-prediction
encoding method based on planar prediction according to another
example embodiment of the present invention.
[0088] In the case that an extended macro-block having a size of
16.times.16 or more is used to encode a high-resolution image
having a HD or higher resolution or the size of the prediction unit
is increased to 8.times.8 or more, if the existing intra prediction
mode applies to the rightmost and lowermost pixel value of the
prediction unit, distortion is created by the prediction, thus
rendering it difficult to smooth the image as a smooth one.
[0089] In such case, a separate planar mode may be defined, and
when the planar mode flag is activated, as shown in FIG. 10, in
order to obtain predicted pixel value of the rightmost and
lowermost pixel (1010) of the prediction unit, a linear
interpolation may be performed using value of the pixels (1001 and
1003) and/or the value of inner pixels of prediction block. The
pixel 1001 is located in previously encoded upper block of the
prediction unit and corresponds to the rightmost and lowermost
pixel (1010) in a vertical direction. The pixel 1003 is located in
previously encoded left block of the prediction unit and
corresponds to the rightmost and lowermost pixel (1010) in a
horizontal direction. The inner pixels are pixels which are located
inside the prediction block and the inner pixels correspond to the
rightmost and lowermost pixel (1010) in a horizontal direction and
a vertical direction.
[0090] Namely, when the planar mode flag is activated, as shown in
FIG. 10, in order to obtain predicted pixel value of the rightmost
and lowermost pixel (for example pixel 1010) of the prediction
unit, a linear interpolation may be performed using value of the
pixels (1001 and 1003). The pixel 1001 is located in previously
encoded upper block of the prediction unit and corresponds to the
rightmost and lowermost pixel (1010) in a vertical direction. The
pixel 1003 is located in previously encoded left block of the
prediction unit and corresponds to the rightmost and lowermost
pixel (1010) in a horizontal direction.
[0091] Alternatively, when the planar mode flag is activated, as
shown in FIG. 10, in order to obtain predicted pixel value of the
rightmost and lowermost pixel (for example pixel 1010) of the
prediction unit, a linear interpolation may be performed using
value of the pixels (1001 and 1003) and inner pixels. The pixel
1001 is located in previously encoded upper block of the prediction
unit and corresponds to the rightmost and lowermost pixel (1010) in
a vertical direction and the pixel 1003 is located in previously
encoded left block of the prediction unit and corresponds to the
rightmost and lowermost pixel (1010) in a horizontal direction. The
inner pixels are located inside the prediction block and the inner
pixels correspond to the rightmost and lowermost pixel (1010) in a
horizontal direction and a vertical direction. When the planar mode
flag is activated, the rightmost and lowermost pixel (1010) value
of the prediction unit may be transferred from the encoder to the
decoder. Here, vertically and/or horizontally directional
corresponding pixel values (1001, 1003) in the previously encoded
left side block and upper end block indicates pixel values of the
pixels in the left side block and upper end block among already
encoded blocks adjacent to the prediction block in case the current
prediction unit consists of 8.times.8 prediction blocks as shown in
FIG. 10, a horizontally directional corresponding pixel value of
the pixel 1010 positioned at the rightmost and lowermost end of the
prediction unit indicates value of the pixel 1003, and a vertically
directional corresponding pixel value of the pixel 1010 positioned
at the rightmost and lowermost end of the prediction unit indicates
value of the pixel 1001, and a horizontally directional internal
prediction pixel value in the prediction block indicates value(s)
of at least one of pixels positioned along the horizontal direction
between the pixel 1003 and the rightmost and lowermost pixel 1010,
and a vertically directional corresponding internal prediction
pixel value in the prediction block indicates value(s) of at least
one of pixels arranged along the vertical direction between the
pixel 1001 and the rightmost and lowermost pixel 1010.
[0092] Further, in case the planar prediction mode flag is
activated, the prediction pixel value of an internal pixel of the
prediction unit may be obtained by performing bilinear
interpolation using vertically and/or horizontally directional
corresponding pixel values of the pixels in the left side block and
upper end block that are previously encoded and/or vertically
and/or horizontally directional corresponding internal boundary
prediction pixel values in the prediction unit (for example, the
vertically and/or horizontally directional corresponding internal
boundary prediction pixel values indicates value(s) of at least one
of pixels positioned along the horizontal direction between the
pixel 1003 and the rightmost and lowermost pixel 1010 or value(s)
of at least one of pixels arranged along the vertical direction
between the pixel 1001 and the rightmost and lowermost pixel 1010).
Here, the prediction pixel values of the internal pixels of the
prediction unit indicates prediction pixel values of internal
pixels arranged along the horizontal direction in the prediction
block (since 8.times.8 blocks are shown in FIG. 10, there are 8
horizontal lines, and the prediction pixel values of internal
pixels arranged along the horizontal direction in the prediction
block indicates prediction pixel values of the 8 internal pixels
arranged along the direction of each of the 8 horizontal lines) or
prediction pixel values of internal pixels arranged along the
vertical direction in the prediction block (since 8.times.8 blocks
are shown in FIG. 10, there are 8 vertical lines, and the
prediction pixel values of internal pixels arranged along the
vertical direction in the prediction block indicates prediction
pixel values of the 8 internal pixels arranged along the vertical
direction of each of the 8 vertical lines).
[0093] In case, in FIG. 10, the prediction pixel value of the
internal pixel of the prediction unit is obtained, the vertically
and/or horizontally directional corresponding pixel values in the
previously encoded left side block and upper end block indicate
pixel values of the pixels in the left side block and the upper end
block of the previously encoded blocks adjacent to the prediction
block. In case the current prediction unit consists of 8.times.8
prediction blocks as shown in FIG. 10, the horizontally directional
corresponding pixel values of the 8 pixels of the rightmost line of
the prediction unit (i.e. 8 pixels from the top to the bottom)
indicate pixel values of the pixels arranged at the same position
along the horizontal direction as the corresponding pixel of the
rightmost line of the prediction unit among the previously encoded
left side block adjacent to the prediction block, and the
vertically directional corresponding pixel values of the 8 pixels
of the lowermost end line of the prediction unit (i.e. 8 pixels
from the leftmost side to the rightmost side) indicate pixel values
of the pixels arranged at the same position along the vertical
direction as the corresponding pixel of the lowermost line of the
prediction unit.
[0094] Further, in case, in FIG. 10, the prediction pixel values of
the internal pixels of the prediction unit are obtained, the
vertically and/or horizontally directional corresponding internal
boundary prediction pixel values of the pixels in the prediction
unit indicate pixel values (predicted pixel values) of the pixels
positioned at the lowermost line or at the rightmost line in the
prediction block. In case the current prediction unit consists of
8.times.8 prediction blocks as shown in FIG. 10, for example, the
internal boundary prediction pixel value of the pixel corresponding
to the right-sided seventh pixel among 8 pixels on the fifth
horizontal line from the top of the prediction unit may be the
pixel value (or predicted pixel value) of the rightmost pixel among
the 8 pixels on the fifth horizontal line from the top of the
prediction unit. In such case, the predicted pixel value of the
right-sided seventh pixel among the 8 pixels on the fifth
horizontal line from the top of the prediction unit may be obtained
by performing bilinear interpolation using the pixel value(or
predicted pixel value) of the rightmost pixel among the 8 pixels on
the fifth horizontal line from the top of the prediction unit and
the pixel value of the previously encoded pixel arranged at the
same position along the horizontal direction as the right-sided
seventh pixel among the 8 pixels on the fifth horizontal line from
the top of the prediction unit among the pixel values of the pixels
in the previously encoded left side block adjacent to the
prediction block.
[0095] Further, in case, in FIG. 10, the predicted pixel values of
the internal pixels of the prediction unit are obtained, vertically
and/or horizontally directional corresponding internal boundary
prediction pixel values of the pixels in the prediction unit, when
the current prediction unit consists of 8.times.8 prediction blocks
as shown in FIG. 10, for example, the internal boundary prediction
pixel value of the pixel corresponding to the seventh pixel along
the vertical direction from the top among the 8 pixels on the
right-sided fifth vertical line from the leftmost side of the
prediction unit may be a pixel value of the pixel located at the
lowermost end of the 8 pixels on the right-sided fifth vertical
line from the leftmost side of the prediction unit.
[0096] In such case, the prediction pixel value of the seventh
pixel along the vertical direction from the top among the 8 pixels
on the right-sided fifth vertical line from the leftmost side of
the prediction unit may be obtained by performing bilinear
interpolation using the pixel value (or prediction pixel value) of
the pixel located at the lowermost end among the 8 pixels on the
right-sided fifth vertical line from the leftmost side of the
prediction unit and pixel value (or prediction pixel value) of the
previously encoded pixel arranged at the same position along the
vertical direction as the seventh pixel along the vertical
direction from the top among the 8 pixels on the right-sided fifth
vertical line from the leftmost side of the prediction unit among
the pixel values of the pixels in the previously encoded upper side
block adjacent to the prediction block.
[0097] Meanwhile, in case the planar prediction mode flag is
activated, the pixel value of the rightmost and lowermost end pixel
of the prediction unit may be transmitted from the encoder to the
decoder. Further, the pixel values of pixels located at the
rightmost line of FIG. 10 may be obtained by performing linear
interpolation using the rightmost and uppermost pixel 1001 and the
rightmost and lowermost pixel 1010 that have been transmitted from
the encoder. The pixel values of the pixels located at the
lowermost line of FIG. 10 may be obtained by performing linear
interpolation using the leftmost and lowermost pixel 1003 and the
rightmost and lowermost pixel 1010 that have been transmitted from
the encoder.
[0098] FIG. 11 is a conceptual view illustrating an
intra-prediction encoding method based on planar prediction
according to another example embodiment of the present
invention.
[0099] When the planar prediction mode flag is activated, as shown
in FIG. 11, a reference prediction unit for a current prediction
unit having a first size--for example, 8.times.8 pixels in FIG.
11--which is included in the Nth picture which is a current picture
to be encoded is determined at the N-1 th picture positioned
temporarily before the Nth picture. To obtain the prediction pixel
value of the rightmost and lowermost pixel in the current
prediction unit, not only vertical- and horizontal-directionally
corresponding pixel values in the previously encoded left and upper
blocks 213, which are adjacent to the current prediction unit, but
also vertical- and horizontal-directionally corresponding pixel
values in the previously encoded left and upper blocks 233, which
are adjacent to the corresponding prediction unit of the N-1th
picture are used to calculate their average values or to perform
linear interpolation.
[0100] Or, to obtain the prediction pixel value of the rightmost
and lowermost pixel in the current prediction unit, vertical- and
horizontal-directionally corresponding inner pixel values in the
current prediction unit of the Nth picture, as well as vertical-
and horizontal-directionally corresponding pixel values in the
previously encoded left and upper blocks 213, which are adjacent to
the current prediction unit, and vertical- and
horizontal-directionally corresponding pixel values in the
previously encoded left and upper blocks 233, which are adjacent to
the corresponding prediction unit of the N-1th picture are used to
calculate their average values or to perform linear
interpolation.
[0101] Further, to obtain the prediction pixel value of the
rightmost and lowermost pixel in the current prediction unit,
vertical- and horizontal-directionally corresponding inner pixel
values of the rightmost and lowermost pixel in the corresponding
unit of the N-1th picture, as well as vertical- and
horizontal-directionally corresponding inner pixel values in the
current prediction unit of the Nth picture, vertical- and
horizontal-directionally corresponding pixel values in the
previously encoded left and upper blocks 213, which are adjacent to
the current prediction unit, and vertical- and
horizontal-directionally corresponding pixel values in the
previously encoded left and upper blocks 233, which are adjacent to
the corresponding prediction unit of the N-1th picture are used to
calculate their average values or to perform linear
interpolation.
[0102] Also, in the case that the planar prediction mode flag is
activated, the prediction pixel value of the inner pixel in the
prediction unit of the Nth picture may be obtained by performing
bilinear interpolation using vertical- and horizontal-directionally
corresponding inner boundary pixel values in the corresponding
prediction unit of the N-1th picture, vertical- and
horizontal-directionally corresponding pixel values in the
previously encoded left and upper blocks in the corresponding
prediction unit of the N-1th picture, vertical- and
horizontal-directionally corresponding inner boundary pixel values
in the current prediction unit of the Nth picture and/or vertical-
and horizontal-directionally corresponding pixel values in the
previously encoded left and upper blocks in the current prediction
unit of the Nth picture.
[0103] Although FIG. 11 illustrates an example where intra
prediction is conducted using the current prediction unit of the
Nth picture and a corresponding prediction unit of the N-1th
picture, the present invention is not limited thereto. For example,
the intra prediction may also be performed using the current
prediction unit of the Nth picture and a corresponding prediction
unit of the N+1th picture, using the current prediction unit of the
Nth picture and corresponding prediction units of the N-1th picture
and the N+1th picture, or using the current prediction unit of the
Nth picture and corresponding prediction units of the N-2th
picture, N-1th picture, N+1th picture, and N+2th picture.
[0104] The current prediction unit having the second size may have
a square shape with 8.times.8, 16.times.16, or 32.times.32 pixels
or may have an asymmetric shape as illustrated in FIGS. 2 to 5. In
the case that the current prediction unit has an asymmetric shape
as illustrated in FIGS. 2 to 6, the embodiments described in
connection with FIGS. 10 and 11 may apply in order to perform inter
prediction.
[0105] That is, the intra prediction encoding method based on the
planar prediction as shown in FIGS. 10 and 11 may be applicable to
intra prediction encoding/decoding for pixel blocks the prediction
unit of which has a symmetrical shape, such as a rectangle or
square, as well as pixel blocks the prediction unit of which has an
asymmetrical shape or any geometrical shape.
[0106] FIG. 12 is conceptual view illustrating geometrical
partitioning according to another example embodiment of the present
invention.
[0107] FIG. 12 illustrates an example where the prediction unit PU
is subjected to geometrical partitioning so that the split
partitions have a shape other than square.
[0108] Referring to FIG. 12, for the prediction unit, a geometrical
boundary line L between partitions may be defined as follows. The
prediction unit PU is divided into four quadrants by x and y axes
passing through the center O of the prediction unit PU. A vertical
line is drawn from the center O to the boundary line L. Then, any
possible boundary line L positioned in any direction may be
specified by a distance .rho. from the center O to the boundary
line L and an angle .theta. from the x axis to the vertical line in
a counterclockwise direction.
[0109] For inter or intra prediction, the prediction unit PU is
divided into four quadrants with respect to its center. The second
quadrant which is the upper and left portion of the prediction unit
PU is split into a partition, and the remaining L-shaped quadrants
are split into a partition. As used herein, the "portion" of the
prediction unit PU, which corresponds to a split partition or
several split partitions, is also called "block". Or, the third
quadrant which is the lower and left portion of the prediction unit
PU is split into a partition', and the remaining quadrants are
split into a partition. Alternatively, the first quadrant which is
the upper and right portion of the prediction unit PU is split into
a partition, and the remaining quadrants are split into a
partition. Also, the lower and right portion of the prediction unit
PU which corresponds to the fourth quadrant is split into a
partition, with the remaining quadrants slit into a partition.
Further, the fourth quadrant, the lower and right portion of the
prediction unit PU, is split into a partition, with the remaining
quadrants split into a partition.
[0110] As described above, the prediction unit may be split so that
a split partition has an L shape. Accordingly, in the case that,
upon partitioning, there is a moving object in an edge block, e.g.,
the upper and left, upper and right, lower and right, or lower and
left block, it may provide more effective encoding than when the
prediction unit PU is split into four blocks. Depending on the edge
block in which the moving object is positioned among the four
partitions, the corresponding partition may be selected and
used.
[0111] The size of the block used for motion estimation may vary.
In addition, according to one example embodiment, when asymmetric
partitioning or geometrical partitioning applies, the shape of the
block may have not only the existing square shape but also
geometrical shapes, such as a rectangular or other asymmetric
shapes, an `L` shape, or a triangular shape, as shown in FIGS. 2 to
9.
[0112] Also in the case of the above-described geometrical block
partitioning including the block partitioning described in
connection with FIG. 10, the prediction modes applied in FIGS. 6 to
9 may be transformed and utilized to perform intra prediction on
the geometrical blocks.
[0113] FIG. 13 is a block diagram illustrating a configuration of
an image encoding apparatus to perform intra-prediction encoding
according to an example embodiment of the present invention.
[0114] Referring to FIG. 13, the image encoding apparatus includes
an encoder 630. The encoder 630 includes an inter predicting unit
632, an intra predicting unit 635, a subtractor 637, a transform
unit 639, a quantization unit 641, an entropy encoding unit 643, an
inverse quantization unit 645, an inverse transform unit 647, an
adder 649, and a frame buffer 651. The inter predicting unit 632
includes a motion predicting unit 631 and a motion compensating
unit 633.
[0115] The encoder 630 performs encoding on an input image. The
input image may be used on a per-prediction unit PU basis for inter
prediction in the inter predicting unit 632 or for intra prediction
in the intra predicting unit 635.
[0116] The size of the prediction unit applying to inter prediction
or intra prediction may be determined according to temporal
frequency characteristics of a frame (or picture) stored in a
buffer (not shown) included in the encoder after the input image is
stored in the buffer. For example, the prediction unit determining
unit 610 analyzes the temporal frequency characteristics of the
n-1th frame (or picture) and the nth frame (or picture), and if the
analyzed temporal frequency characteristics value is less than a
preset first threshold value, determines the size of the prediction
unit as 64.times.64 pixels. If the analyzed temporal frequency
characteristics value is equal to and more than the preset first
threshold value and less than a second threshold value, the size of
the prediction unit is determined as 32.times.32 pixels, and if the
analyzed temporal frequency characteristics value is equal to or
more than the preset second threshold value, the size of the
prediction unit is determined as 16.times.16 pixels or less. Here,
the first threshold value refers to a temporal frequency
characteristics value when a variance between frames (or pictures)
is smaller than the second threshold value.
[0117] The size of the prediction unit applying to inter prediction
or intra prediction may be determined according to spatial
frequency characteristics of a frame (or picture) stored in a
buffer (not shown) included in the encoder after the input image is
stored in the buffer. For example, in the case that the input frame
(or picture) has high uniformity or homogeneity, the size of the
prediction unit may be set to be large, for example, to 32.times.32
pixels or more, and in the case that the input frame (or picture)
has low uniformity or homogeneity (that is, when spatial frequency
is high), the size of the prediction unit may be set to be small,
for example, to 16.times.16 pixels or less.
[0118] Although not shown in FIG. 13, the operation of determining
the size of the prediction unit may be performed by an encoding
controller (not shown) receiving the input image or by a separate
prediction unit determining unit (not shown) receiving the input
image. For example, the size of the prediction unit may be
16.times.16, 32.times.32, or 64.times.64 pixels.
[0119] As described above, the prediction unit information
including the size of the prediction unit determined for inter or
intra prediction is provided to the entropy encoding unit 643 and
provided to the encoder 630 on the basis of the prediction unit
having the determined size. Specifically, in the case that encoding
and decoding are performed using the extended macro-block and the
size of the extended macro-block, the prediction block information
may include information on the size of the macro-block or the
extended macro-block. Here, the size of the extended macro-block
refers to 32.times.32 pixels or more, including, for example,
32.times.32, 64.times.64, or 128.times.128 pixels. In the case that
the above-mentioned recursive coding unit CU is used to perform
encoding and decoding, the prediction unit information may include,
instead of the information on the size of the macro-block,
information on the size of the maximum coding unit LCU to be used
for inter or intra prediction, that is, the size of the prediction
unit, and further, the prediction unit information may include the
size of the maximum coding unit LCU, the size of the minimum coding
unit SCU, the maximum permissible level or level depth, and flag
information.
[0120] The encoder 630 performs encoding on the prediction unit
having the determined size.
[0121] The inter predicting unit 632 splits the prediction unit to
be currently encoded by the above-described asymmetric partitioning
or geometrical partitioning and performs motion estimation on a
per-split partition basis to generate a motion vector.
[0122] The motion predicting unit 631 splits the provided current
prediction unit by various partitioning methods and searches a
region similar to the partitioned block to be currently encoded in
at least one reference picture (which is encoded and stored in the
frame buffer 651) positioned before and/or behind the currently
encoded picture for each partitioned block, thereby generating a
motion vector on a per-block basis. The size of the block used for
motion estimation may vary, and according to an embodiment, when
asymmetric partitioning or geometrical partitioning applies, the
shape of the block may have not only the existing square shape but
also geometrical shapes, such as a rectangular or other asymmetric
shapes, an `L` shape, or a triangular shape, as shown in FIGS. 2 to
9.
[0123] The motion compensating unit 633 generates a prediction
block (or predicted prediction unit) by performing motion
compensation using the reference picture and the motion vector
generated from the motion predicting unit 631.
[0124] The inter predicting unit 632 performs block merging on the
block and obtains a motion parameter for each merged block. The
obtained motion parameter is transferred to the decoder.
[0125] The intra predicting unit 635 may perform intra-prediction
encoding using a pixel correlation between blocks. The intra
predicting unit 635 performs intra prediction that seeks the
prediction block of the current prediction unit by predicting a
pixel value from previously encoded pixel values in the block of
the current frame (or picture) according to various embodiments as
described in connection with FIGS. 22 to 27.
[0126] The subtractor 637 performs subtraction between the
prediction block (or predicted prediction unit) provided from the
motion compensating unit 633 and the current block (or current
prediction unit) to generate a residue, and the transform unit 639
and the quantization unit 641 respectively perform DCT (Discrete
Cosine Transform) and quantization on the residue. Here, the
transform unit 639 may perform transform based on the prediction
unit size information provided from the prediction unit determining
unit 1810. For example, the transform unit 639 may conduct
transform to a size of 32.times.32 or 64.times.64 pixels. Or, the
transform unit 639 may perform transform on the basis of a separate
transform unit TU independently from the prediction unit size
information provided from the prediction unit determining unit 610.
For example, the transform unit TU size may have the minimum of
4.times.4 pixels to the maximum of 64.times.64 pixels. Or, the
maximum size of the transform unit TU may be more than 64.times.64
pixels--for example, 128.times.128 pixels. The transform unit size
information may be included in the transform unit information and
transferred to the decoder.
[0127] The entropy encoding unit 643 performs entropy encoding on
header information including quantized DCT coefficients, motion
vector, determined prediction unit information, partition
information, and transform unit information, thereby generating a
bit stream.
[0128] The inverse quantization unit 645 and the inverse transform
unit 647 respectively perform inverse quantization and inverse
transform on the data quantized by the quantization unit 641. The
adder 649 adds the inverse transformed data to the predicted
prediction unit provided from the motion compensating unit 633 to
reconstruct the image and provides the reconstructed image to the
frame buffer 651, so that the frame buffer 651 stores the stored
image.
[0129] FIG. 14 is a flowchart illustrating an image encoding method
applied with intra-prediction encoding according to an example
embodiment of the present invention.
[0130] Referring to FIG. 14, when an image is input to the encoding
apparatus (step S1401), for the input image, the prediction unit
for inter or intra prediction is split by the above-described
asymmetric or geometrical partitioning method (step S1403).
[0131] In the case that the intra prediction mode is activated, the
partitioned asymmetric block or geometric block is applied with the
intra prediction method described in connection with FIGS. 6 to 11,
thereby performing intra prediction (step S1405).
[0132] Or, when the inter prediction mode is activated, the
prediction block (or predicted prediction unit) is generated by
searching a region similar to the partitioned block to be currently
encoded in at least one reference picture (which is encoded and
stored in the frame buffer 651) positioned before and/or behind the
currently encoded picture for each partitioned block, thereby
generating a motion vector on a per-block basis, followed by
performing motion compensation using the generated motion vector
and picture.
[0133] Next, the encoding apparatus obtains a difference between
the current prediction unit and the predicted (intra-predicted or
inter-predicted) prediction unit to generate a residue, then
performing transform and quantization on the generated residue
(step S1407). Thereafter, the encoding apparatus entropy-encodes
the header information including quantized DCT coefficients and
motion parameter and generates a bit stream (step S1409).
[0134] FIG. 15 is a block diagram illustrating a configuration of
an image decoding apparatus according to an example embodiment of
the present invention.
[0135] Referring to FIG. 30, the decoding apparatus includes an
entropy decoding unit 731, an inverse quantization unit 733, an
inverse transform unit 735, a motion compensating unit 737, an
intra predicting unit 739, a frame buffer 741, and an adder
743.
[0136] The entropy decoding unit 731 receives a compressed bit
stream and performs entropy decoding on the compressed bit stream
thereby generating a quantized coefficient. The inverse
quantization unit 733 and the inverse transform unit 735
respectively perform inverse quantization and inverse transform on
the quantized coefficient to reconstruct the residue.
[0137] The header information decoded by the entropy decoding unit
731 may include the prediction unit size information which may
include, e.g., 16.times.16, 32.times.32, 64.times.64, or
128.times.128 pixels of the size of the extended macro-block.
Further, the decoded header information includes the motion
parameters for motion compensation and prediction. The motion
parameter may include the motion parameter transmitted for each
block merged by a block merging method according to an embodiment.
The decoder header information also includes a flag indicating
whether the planar mode is activated and the per-unit prediction
mode information having the above-mentioned asymmetric shape.
[0138] The motion compensating unit 737 performs motion
compensation, using the motion parameter, on the prediction unit
having the same size as the prediction unit encoded based on the
decoded header information from the bit stream by the entropy
decoding unit 731, thereby generating the predicted prediction
unit. The motion compensating unit 737 performs motion compensation
using the motion parameter transmitted for each block merged by the
block merging method according to an embodiment, thereby generating
the predicted prediction unit.
[0139] The intra predicting unit 739 performs intra-prediction
encoding using a pixel correlation between blocks. The intra
predicting unit 739 may obtain the prediction pixel value of the
current prediction unit by the intra-prediction encoding method
described in connection with FIGS. 6 to 11.
[0140] The adder 743 adds the residue provided from the inverse
transform unit 735 to the predicted prediction unit provided from
the motion compensating unit 737 or the intra predicting unit 739
to reconstruct the image and provides the reside to the frame
buffer 741 so that the frame buffer 741 stores the reconstructed
image.
[0141] FIG. 16 is a flowchart illustrating an image decoding method
according to an example embodiment of the present invention.
[0142] Referring to FIG. 16, the decoding apparatus receives the
bit stream from the encoding apparatus (step S1601).
[0143] Thereafter, the decoding apparatus performs entropy decoding
on the received bit stream (step S1603). The data decoded by
entropy decoding includes the residue which refers to a difference
between the current prediction unit and the predicted prediction
unit. The header information decoded by the entropy decoding may
include prediction unit information, motion parameters for motion
compensation and prediction, a flag indicating whether planar
prediction mode is activated, and asymmetric-type per-prediction
unit prediction mode information. The prediction unit information
may include prediction unit size information.
[0144] Here, in the case that, instead of performing encoding and
decoding using the extended macro-block and the size of the
extended macro-block, the above-mentioned recursive coding unit CU
is used for encoding and decoding, the prediction unit PU
information may include the sizes of the maximum coding unit LCU
and minimum coding unit SCU, the maximum permissible level or level
depth, and flag information.
[0145] A decoding controller (not shown) may receive from the
encoding apparatus the prediction unit PU size information applied
in the encoding apparatus and may perform to-be-described motion
compensation decoding, intra-prediction encoding, inverse
transform, or inverse quantization according to the size of the
prediction unit PU applied in the encoding apparatus.
[0146] The decoding apparatus inverse-quantizes and
inverse-transforms the entropy-encoded residue (step S1605). The
inverse transform may be performed on the basis of the prediction
unit size (for example, 32.times.32 or 64.times.64 pixels).
[0147] The decoding apparatus applies inter prediction or intra
prediction method to the prediction unit having various shapes,
such as the asymmetric or geometrical shapes described in
connection with FIGS. 6 to 11, thereby generating the predicted
prediction unit (step S1607).
[0148] The decoder adds the inverse-quantized, inverse-transformed
residue to the prediction unit predicted through the inter or intra
prediction, thereby reconstructing the image (step S1609).
[0149] Although the example embodiments of the present invention
have been described, it will be understood by one of ordinary skill
that various modifications can be made to the present invention
without departing from the scope of the invention defined by the
appended claims.
* * * * *