U.S. patent application number 13/877503 was filed with the patent office on 2013-07-25 for method for encoding/decoding block information using quad tree, and device for using same.
This patent application is currently assigned to KOREA ADVANCED INSTITUTE OF SCIENCE AND TECHNOLOGY. The applicant listed for this patent is Chie Teuk Ahn, Suk Hee Cho, Jin Soo Choi, Se Yoon Jeong, Hui Yong Kim, Jin Woong Kim, Jong Ho Kim, Mun Churl Kim, Bum Shik Lee, Ha Hyun Lee, Jin Ho Lee, Sung Chang Lim. Invention is credited to Chie Teuk Ahn, Suk Hee Cho, Jin Soo Choi, Se Yoon Jeong, Hui Yong Kim, Jin Woong Kim, Jong Ho Kim, Mun Churl Kim, Bum Shik Lee, Ha Hyun Lee, Jin Ho Lee, Sung Chang Lim.
Application Number | 20130188731 13/877503 |
Document ID | / |
Family ID | 46137143 |
Filed Date | 2013-07-25 |
United States Patent
Application |
20130188731 |
Kind Code |
A1 |
Kim; Jong Ho ; et
al. |
July 25, 2013 |
METHOD FOR ENCODING/DECODING BLOCK INFORMATION USING QUAD TREE, AND
DEVICE FOR USING SAME
Abstract
Disclosed decoding method of the intra prediction mode comprises
the steps of: determining whether an intra prediction mode of a
present prediction unit is the same as a first candidate intra
prediction mode or as a second candidate intra prediction mode on
the basis of 1-bit information; and determining, among said first
candidate intra prediction mode and said second candidate intra
prediction mode, which candidate intra prediction mode is the same
as the intra prediction mode of said present prediction unit on the
basis of additional 1-bit information, if the intra prediction mode
of the present prediction unit is the same as at least either the
first candidate intra prediction mode or the second candidate intra
prediction mode, and decoding the intra prediction mode of the
present prediction unit.
Inventors: |
Kim; Jong Ho; (Daejeon,
KR) ; Kim; Hui Yong; (Daejeon, KR) ; Jeong; Se
Yoon; (Daejeon, KR) ; Lim; Sung Chang;
(Daejeon, KR) ; Lee; Ha Hyun; (Seoul, KR) ;
Lee; Jin Ho; (Daejeon, KR) ; Cho; Suk Hee;
(Daejeon, KR) ; Choi; Jin Soo; (Daejeon, KR)
; Kim; Jin Woong; (Daejeon, KR) ; Ahn; Chie
Teuk; (Daejeon, KR) ; Kim; Mun Churl;
(Daejeon, KR) ; Lee; Bum Shik; (Daejeon,
KR) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Kim; Jong Ho
Kim; Hui Yong
Jeong; Se Yoon
Lim; Sung Chang
Lee; Ha Hyun
Lee; Jin Ho
Cho; Suk Hee
Choi; Jin Soo
Kim; Jin Woong
Ahn; Chie Teuk
Kim; Mun Churl
Lee; Bum Shik |
Daejeon
Daejeon
Daejeon
Daejeon
Seoul
Daejeon
Daejeon
Daejeon
Daejeon
Daejeon
Daejeon
Daejeon |
|
KR
KR
KR
KR
KR
KR
KR
KR
KR
KR
KR
KR |
|
|
Assignee: |
KOREA ADVANCED INSTITUTE OF SCIENCE
AND TECHNOLOGY
Daejeon
KR
|
Family ID: |
46137143 |
Appl. No.: |
13/877503 |
Filed: |
October 4, 2011 |
PCT Filed: |
October 4, 2011 |
PCT NO: |
PCT/KR2011/007326 |
371 Date: |
April 3, 2013 |
Current U.S.
Class: |
375/240.18 |
Current CPC
Class: |
H04N 19/64 20141101;
H04N 19/44 20141101; H04N 19/60 20141101; H04N 19/46 20141101; H04N
19/18 20141101; H04N 19/70 20141101; H04N 19/593 20141101 |
Class at
Publication: |
375/240.18 |
International
Class: |
H04N 7/26 20060101
H04N007/26 |
Foreign Application Data
Date |
Code |
Application Number |
Oct 4, 2010 |
KR |
10-2010-0096559 |
Dec 21, 2010 |
KR |
10-2010-0131794 |
May 24, 2011 |
KR |
10-2011-0049257 |
Oct 4, 2011 |
KR |
10-2011-0100675 |
Claims
1. A method for decoding transform unit information using a quad
tree structure, comprising: decoding integrated code block flag
information in a transform unit; and decoding a split information
flag based on size information and the integrated code block flag
information in the transform unit.
2. The method of claim 1, wherein the decoding of the split
information flag based on the size information in the transform
unit and the integrated code block flag information includes:
decoding the code block flag information in the transform unit
without decoding the split information flag information when
transform coefficients are not present in the transform unit; and
decoding the code block flag information in the transform unit when
the transform unit is not additionally split based on the split
information flag.
3. The method of claim 1, further comprising decoding the code
block flag information in the transform unit without decoding the
integrated code flag and the split information flag, when the size
in the transform unit is the same as a minimum transform unit that
is not split into an additional transform unit.
4. The method of claim 1, wherein the integrated code block flag
uses a quad tree structure that is an integrated code block flag
that is applied only in a fixed transform depth by fixing a
transform depth, to which the integrated code block flag is
applied, to one or an integrated code block flag that is applied at
a plurality of transform unit depth by defining the transform depth
by a predetermined parameter.
5. A method for decoding transform unit information using a quad
tree structure, comprising: decoding pattern information in a
transform unit based on a transform unit information joint flag in
which an integrated code block flag and a transform information
flag are joint and encoded; and decoding code block flag
information and split information flag information in a transform
unit corresponding to the pattern information based on the pattern
information.
6. The method of claim 5, wherein the pattern information is
variable generated based on the number of cases in which the code
block flag is present in a predetermined transform unit and the
number of cases in which the split information flag is present.
7. The method of claim 5, wherein the pattern information is
binary-coded based on a table using variable length coding.
8. The method of claim 5, wherein the pattern information encodes
the pattern information based on 4 bit information representing a
luminance code block flag value by most significant bit (MSB), a cb
code block flag by MSB-1, a cr code block flag by MSB-2, a
spilt_flag by a least significant bit (LSB).
9. A video decoding apparatus, comprising: an entropy decoder
decoding integrated code block flag information and size
information in a transform unit and decoding a split information
flag and decoding transform coefficients in the transform unit
based on the integrated code block flag information and size
information in the transform unit; and an inverse transformer
inversely transforming transform coefficient information in the
transform unit provided from the entropy decoder.
10. The video decoding apparatus of claim 9, wherein the entropy
decoder decodes the code block flag information in the transform
unit without decoding the split information flag information when
transform coefficients are not present in the transform unit; and
decodes the code block flag information in the transform unit when
the transform unit is not additionally split based on the split
information flag.
11. The video decoding apparatus of claim 9, wherein the entropy
decoder decodes the code block flag information in the transform
unit without decoding the integrated code flag and the split
information flag, when the size in the transform unit is the same
as a minimum transform unit that is not split into an additional
transform unit.
12. A video decoding apparatus, comprising: an entropy decoder
decoding pattern information in a transform unit based on a
transform unit information joint flag in which an integrated code
block flag and a transform information flag are joint and encoded
and decoding code block flag information and split information flag
information in a transform unit corresponding to the pattern
information based on the pattern information; and an inverse
transformer inversely transforming transform coefficient
information in the transform unit provided from the entropy
decoder.
13. The video decoding apparatus of claim 12, wherein the pattern
information is variable generated based on the number of cases in
which the code block flag is present in a predetermined transform
unit and the number of cases in which the split information flag is
present.
14. The video decoding apparatus of claim 12, wherein the pattern
information is binary-coded based on a table using variable length
coding.
15. The video decoding apparatus of claim 12, wherein the pattern
information encodes the pattern information based on 4 bit
information representing a luminance code block flag value by most
significant bit (MSB), a cb code block flag by MSB-1, a cr code
block flag by MSB-2, a spilt_flag by a least significant bit (LSB).
Description
TECHNICAL FIELD
[0001] The present invention relates to a block information
encoding/decoding method using a quad tree and an apparatus using
the same, and more particularly, to a video encoding/decoding
method.
BACKGROUND ART
[0002] Recently, with the expansion of broadcasting services having
high definition (HD) resolution in the country and around the
world, many users have been accustomed to a high resolution and
definition video, such that many organizations have conducted many
attempts to develop next-generation video devices. In addition, the
interest in HDTV and ultra high definition (UHD) having a
resolution four times higher than that of HDTV have increased and
thus, a compression technology for higher-resolution and
higher-definition video have been required.
[0003] For the video compression, an inter prediction technology
predicting pixel values included in a current picture from a
picture before and/or after the current picture, an intra
prediction technology predicting pixel values included in the
current picture using pixel information in the current picture, an
entropy encoding technology allocating a short code to symbols
having a high appearance frequency and a long code to symbols
having a low appearance frequency, or the like, may be used.
[0004] An example of the video compression technology may include a
technology providing a predetermined network bandwidth under a
limited operation environment of hardware, without considering a
flexible network environment. However, in order to compress video
data applied to the network environment in which the bandwidth is
frequently changed, a new compression technology is required. To
this end, a scalable video encoding/decoding method may be
used.
DISCLOSURE
Technical Problem
[0005] The present invention provides a method for decoding
transform unit information using a quad tree so as to increase
video encoding efficiency.
[0006] The present invention also provides a method for decoding
transform unit information using a quad tree and a joint encoding
method so as to increase video encoding efficiency.
[0007] The present invention also provides an apparatus for
decoding transform unit information using a quad tree so as to
increase video encoding efficiency.
[0008] The present invention also provides an apparatus for
decoding transform unit information using a quad tree and a joint
encoding method so as to increase video encoding efficiency.
Technical Solution
[0009] In an aspect, there is provided a method for decoding
transform unit information using a quad tree structure, including:
decoding integrated code block flag information in a transform
unit; and decoding a split information flag based on size
information and the integrated code block flag information in the
transform unit.
[0010] The decoding of the split information flag based on the size
information in the transform unit and the integrated code block
flag information may include: decoding the code block flag
information in the transform unit without decoding the split
information flag information when transform coefficients are not
present in the transform unit; and decoding the code block flag
information in the transform unit when the transform unit is not
additionally split based on the split information flag.
[0011] The method for decoding transform unit information using a
quad tree structure may further include decoding the code block
flag information in the transform unit without decoding the
integrated code flag and the split information flag, when the size
in the transform unit is the same as a minimum transform unit that
is not split into an additional transform unit.
[0012] The integrated code block flag may be applied only in a
fixed transform depth by fixing a transform depth, to which the
integrated code block flag is applied, to one or may be adapted at
a plurality of transform unit depth by defining the transform depth
by a predetermined parameter.
[0013] In another aspect, there is provided a method for decoding
transform unit information using a quad tree structure, including:
decoding pattern information in a transform unit based on a
transform unit information joint flag in which an integrated code
block flag and a transform information flag are joint and encoded;
and decoding code block flag information and split information flag
information in a transform unit corresponding to the pattern
information based on the pattern information.
[0014] The pattern information may be variable generated based on
the number of cases in which the code block flag is present in a
predetermined transform unit and the number of cases in which the
split information flag is present.
[0015] The pattern information may be binary-coded based on a table
using variable length coding.
[0016] The pattern information may code the pattern information
based on 4 bit information representing a luminance code block flag
value by most significant bit (MSB), a cb code block flag by MSB-1,
a cr code block flag by MSB-2, a spilt_flag by a least significant
bit.
[0017] In another aspect, there is provided a video decoding
apparatus, including: an entropy decoder decoding integrated code
block flag information and size information in a transform unit and
decoding a split information flag and decoding transform
coefficients in the transform unit based on the integrated code
block flag information and size information in the transform unit;
and an inverse transformer inversely transforming transform
coefficient information in the transform unit provided from the
entropy decoder.
[0018] The entropy decoder may decodes the code block flag
information in the transform unit without decoding the split
information flag information when transform coefficients are not
present in the transform unit; and decode the code block flag
information in the transform unit when the transform unit is not
additionally split based on the split information flag.
[0019] The entropy decoder may decode the code block flag
information in the transform unit without decoding the integrated
code flag and the split information flag, when the size in the
transform unit is the same as a minimum transform unit that is not
split into an additional transform unit.
[0020] In another aspect, there is provided a video decoding
apparatus, including: an entropy decoder decoding pattern
information in a transform unit based on a transform unit
information joint flag in which an integrated code block flag and a
transform information flag are joint and encoded and decoding code
block flag information and split information flag information in a
transform unit corresponding to the pattern information based on
the pattern information; and an inverse transformer inversely
transforming transform coefficient information in the transform
unit provided from the entropy decoder.
[0021] The pattern information may be variable generated based on
the number of cases in which the code block flag is present in a
predetermined transform unit and the number of cases in which the
split information flag is present.
[0022] The pattern information may be binary-coded based on a table
using variable length coding.
[0023] The pattern information may code the pattern information
based on 4 bit information representing a luminance code block flag
value by most significant bit (MSB), a cb code block flag by MSB-1,
a cr code block flag by MSB-2, a spilt_flag by a least significant
bit.
Advantageous Effects
[0024] As set forth above, the block information encoding/decoding
method using the quad tree and the apparatus using the same
according to the exemplary embodiments of the present invention can
represent the transform coefficient information and the division
possible information in the current transform unit by using the
integrated code flag information and the division information flag.
Therefore, the exemplary embodiments of the present invention can
increase the encoding/decoding efficiency by encoding/decoding the
transform coefficient information and the division possible
information in the transform unit using the smaller bit.
DESCRIPTION OF DRAWINGS
[0025] FIG. 1 is a block diagram showing a video encoding apparatus
according to an exemplary embodiment of the present invention.
[0026] FIG. 2 is a block diagram showing a video decoder according
to another exemplary embodiment of the present invention.
[0027] FIG. 3 is a flow chart showing a method for transmitting
transform unit information using a quad tree structure according to
another exemplary embodiment of the present invention.
[0028] FIG. 4 is a conceptual diagram showing a method for applying
an integrated code block flag and a division information flag
according to another exemplary embodiment of the present
invention.
[0029] FIG. 5 is a conceptual diagram showing a method for applying
an integrated code block flag and a division information flag
according to another exemplary embodiment of the present
invention.
[0030] FIG. 6 is a conceptual diagram showing a method for applying
an integrated code block flag and a division information flag
according to another exemplary embodiment of the present
invention.
[0031] FIG. 7 is a conceptual diagram showing a method for
differently applying an integrated code block flag and a division
information flag according to another exemplary embodiment of the
present invention depending on depth information in a transform
unit
[0032] FIG. 8 is a conceptual diagram showing a process of decoding
transform unit information in a quad tree structure according to
another exemplary embodiment of the present invention.
[0033] FIG. 9 is a flow chart showing a method for encoding
transform coefficient information and division information in a
transform unit when a transform unit information coupling flag is
used.
[0034] FIG. 10 is a conceptual diagram showing a method for
coupling and encoding an integrated code flag and a division
information flag according to another exemplary embodiment of the
present invention and integrating transform unit information in
transform units present at the same depth.
MODE FOR INVENTION
[0035] Although the present invention can be modified variously and
have several embodiments, the exemplary embodiments are illustrated
in the accompanying drawings and will be described in detail in the
detailed description. However, the present invention is not limited
to the specific embodiments and should be construed as including
all the changes, equivalents, and substitutions included in the
spirit and scope of the present invention.
[0036] Further, terms used in the specification, `first`, `second`,
etc. can be used to describe various components, but the components
are not to be construed as being limited to the terms. The terms
are only used to differentiate one component from other components.
For example, the first component may be called the second component
without departing from the scope of the present invention.
Likewise, the second component may be called the first component.
The term `and/or` includes a combination of a plurality of items or
any one of a plurality of terms.
[0037] In the case it is stated that any components are "connected"
or "coupled" to other components, it is to be understood that the
components may be directly connected or coupled to other
components, but there is another component therebetween. On the
other hand, in the case that it is stated that any components are
"directly connected" or "directly coupled" to other components, it
is to be understood that there is no another component
therebetween.
[0038] The terms used in the specification are used to describe
only specific embodiments and are not intended to limit the present
invention. Singular forms are intended to include plural forms
unless the context clearly indicates otherwise. It will be further
understood that the terms "comprises" or "have" used in this
specification, specify the presence of stated features, steps,
operations, components, parts, or a combination thereof, but do not
preclude the presence or addition of one or more other features,
numerals, steps, operations, components, parts, or a combination
thereof. Unless indicated otherwise, it is to be understood that
all the terms used in the specification including technical and
scientific terms has the same meaning as those that are understood
by those who skilled in the art. It must be understood that the
terms defined by the dictionary are identical with the meanings
within the context of the related art, and they should not be
ideally or excessively formally defined unless the context clearly
dictates otherwise.
[0039] Hereinafter, exemplary embodiments of the present invention
will be described in detail with reference to the accompanying
drawings. In describing the present invention, like components are
denoted by like reference numerals in order to help in an overall
understanding of the present invention and descriptions of the same
or like components will not be repeated.
[0040] FIG. 1 is a block diagram showing a video encoding apparatus
according to an exemplary embodiment of the present invention.
[0041] Referring to FIG. 1, a video encoding apparatus 100 may
include a picture splitter 105, a predictor 110, a transformer 115,
a quantizer 120, a realignment unit 125, an entropy encoder 130, a
dequantizer 135, an inverse transformer 140, a filter unit 145, and
a memory 150.
[0042] Each component shown in FIG. 1 are independently shown so as
to represent different characteristic functions in the video
encoding apparatus and does not mean that each component is formed
in separated hardware or a single software configuration unit. In
other words, each constitutional part includes each of enumerated
constitutional parts for convenience. Thus, at least two
constitutional parts of each constitutional part may be joined to
form one constitutional part or one constitutional part may be
divided into a plurality of constitutional parts to perform each
function. The embodiment where each constitutional part is joined
and the embodiment where one constitutional part is divided are
also included in the scope of the present invention, if not
departing from the essence of the present invention.
[0043] In addition, some of constituents may not be indispensable
constituents performing essential functions of the present
invention but be selective constituents improving only performance
thereof. The present invention may be implemented by including only
the indispensable constitutional parts for implementing the essence
of the present invention except the constituents used in improving
performance. The structure including only the indispensable
constituents except the selective constituents used in improving
only performance is also included in the scope of the present
invention.
[0044] The picture splitter 105 may split the input picture in at
least one processing unit. In this case, the processing unit may be
a prediction unit (PU), a transform unit (TU), and an encoding unit
(CU). The picture splitter 105 may split a single picture in a
joint of a plurality of encoding units, prediction units, and
transform units and may code the pictures by selecting a joint of
the single encoding unit, the prediction unit, and the transform
unit using a predetermined reference (for example, cost
function).
[0045] For example, the single picture may be divided into the
plurality of encoding units. In order to split the encoding unit in
the picture, a recursive tree structure such as a quad tree
structure may be used. The encoding unit split in other encoding
units using a route as a single video or a maximum size encoding
unit may be split with children nodes corresponding to the number
of split encoding units. The encoding unit that is no more split
according to a predetermined limitation becomes a leaf node. That
is, the single encoding unit may be split in a maximum of four
other encoding units if it is assumed that only a quadratic split
is performed on a single encoding unit.
[0046] Hereinafter, in the exemplary embodiment of the present
invention, a meaning of the encoding unit may be used as a meaning
of the encoding unit as well as a meaning of the decoding unit.
[0047] The prediction unit may be split with shapes, such as at
least one square, one rectangle, or the like, having the same size
within the single encoding unit or a type in one of the split
prediction units within the single encoding unit may be split with
a type different from other prediction units.
[0048] When the prediction unit performing intra-picture prediction
is generated based on the encoding unit, if it is assumed that the
prediction unit is not the minimum encoding unit, an inter-picture
prediction may be performed without the encoding unit being spilt
into a plurality of prediction units (N.times.N).
[0049] The predictor 110 may include an inter-picture predictor
performing the inter-picture prediction and an intra-picture
prediction performing the inter-picture prediction. It is possible
to determine whether the inter-picture prediction is performed on
the prediction unit or the intra-picture prediction is performed
thereon and it is possible to determine detailed information (for
example, an intra-picture prediction mode, a motion vector, a
reference picture, or the like) according to each prediction
method. In this case, a processing unit performing the prediction
and a processing unit defining the prediction method and the
detailed contexts may be different from each other. For example,
the prediction method, the prediction mode, or the like, may be
determined in the prediction unit and the prediction performance
may also be performed in the transform unit. A residual value
(residual block) between the generated prediction block and an
original block may be input to the transformer 115. In addition,
prediction mode information, motion vector information, or the
like, used for prediction are encoded in the entropy encoder 130,
together with the residual value, which may be in turn transmitted
to the decoder. When a specific encoding mode is used, it is
possible to code the original block as it is without generating the
prediction block through the predictor 110 and transmit the encoded
original block to the decoder.
[0050] The inter-picture predictor may predict the prediction unit
based on at least one picture information of pictures before and
after the current picture. The inter-picture predictor may include
a reference picture interpolator, a motion predictor, and a motion
compensator.
[0051] The reference picture interpolator may receive reference
picture information from the memory 150 and may generate pixel
information of integer pixels or less in the reference picture. In
the case of a luminance pixel, in order to generate the pixel
information of an integer pixel or less in a 1/4 pixel unit, a
DCT-based 8 tap interpolation filter having different filter
coefficients may be used. In the case of a chrominance pixel, in
order to generate the pixel information of an integer pixel or less
in a 1/8 pixel unit, a DCT-based 4 tap interpolation filter having
different filter coefficients may be used.
[0052] The motion predictor may perform the motion prediction based
on the reference picture interpolated by the reference picture
interpolator. As the method for calculating the motion vector,
various methods such as full search-based block matching algorithm
(FBMA), three step search (TSS), new three-step search algorithm
(NTS), or the like, may be used. The motion vector may have a
motion vector value in a 1/2 or 1/4 pixel unit based on the
interpolated pixel. The motion predictor may predict the current
prediction unit by making the motion prediction method different.
As the motion prediction method, various methods such as a skip
method, a merge method, an advanced motion vector prediction (AMVP)
method, or the like, may be used.
[0053] The intra-picture predictor may generate the prediction unit
based on the reference pixel information around the current block
that is the pixel information in the current picture. Since the
peripheral blocks in the current prediction unit are blocks
performing the inter-picture prediction, the reference pixel
included in the block performing the inter-picture prediction may
be replaced with the reference pixel information of the block
performing the intra-picture prediction therearound, when the
reference pixel is a pixel subjected to the inter-picture
prediction That is, when the reference pixel is not used, the
non-used reference pixel information may be replaced with at least
one of the usable reference pixels.
[0054] In the intra-picture prediction, the prediction mode may
include a directional prediction mode using the reference pixel
information according to the prediction direction and a
non-directional mode not using the directional information at the
time of performing the prediction. The mode for predicting the
luminance information and the mode for predicting the chrominance
information may be different from each other and the intra-picture
prediction mode information predicting the luminance information so
as to predict the chrominance information or the predicted
luminance signal information may be used.
[0055] When the size of the prediction unit and the size of the
transform unit are the same at the time of performing the
intra-picture prediction, even though the intra-picture prediction
is performed on the prediction unit based on a pixel present at the
left of the prediction unit, a pixel present at the top left
thereof, and a pixel present at the top, when the size of the
prediction unit and the size of the transform unit is different
from each other at the time of performing the intra-picture
prediction, the intra-picture prediction may be performed using the
reference pixel based on the transform unit. In addition, the
intra-picture prediction using N.times.N split may be performed on
only the minimum encoding unit.
[0056] The intra-picture prediction method may generate the
prediction block after an adaptive intra smoothing filter is
applied to the reference pixel according to the prediction mode.
The type of the AIS filter applied to the reference pixel may be
different. In order to perform the intra-picture prediction method,
the intra-picture prediction mode of the current prediction unit
may be predicted from the intra-picture prediction mode in the
prediction unit present around the current prediction unit. When
the prediction mode in the current prediction unit is predicted
using the mode information predicted from the peripheral prediction
unit and when the intra-picture prediction mode in the current
prediction unit and the peripheral prediction unit are the same,
the information that the prediction mode in the current prediction
unit and the peripheral prediction unit are the same may be
transmitted using the predetermined flag information and when the
prediction modes in the current prediction unit and the peripheral
prediction unit are different from each other, the prediction mode
information of the current block may be encoded using the entropy
encoding.
[0057] In addition, the residual block including the residual
information that is a difference value between the prediction unit
performing the prediction and the original block in the prediction
unit may be generated based on the prediction unit generated in the
predictor 110. The generated residual block may be input to the
transformer 115. The residual block including the original block
and the residual information in the prediction unit generated
through the predictor 110 may be transformed using the transform
method such as a discrete cosine transform (DCT0 or a discrete sine
transform (DST) in the transformer 115. In order to transform the
residual block, whether the DCT is applied or the DST is applied
may be determined based on the intra-picture prediction mode
information in the prediction unit used so as to generate the
residual block.
[0058] The quantizer 120 may quantize values transformed into a
frequency domain in the transformer 115. Quantization coefficients
may be changed according to the block or the importance of video.
The values calculated in the quantizer 120 may be provided to the
dequantizer 135 and the realignment unit 125.
[0059] The realignment unit 125 may perform the realignment of
coefficient values for quantized residual values.
[0060] The realignment unit 125 may change two-dimensional block
type coefficients into one-dimensional vector type by a coefficient
scanning method. For example, the realignment unit 125 may scan
from DC coefficients to coefficients in a high frequency domain by
using a zig-zag scan method to change the block type coefficients
into the one-dimensional vector type. Rather than the zig-zag scan
method, a vertical scan method scanning the two-dimensional block
type coefficients in a column direction and a horizontal scan
method scanning the two-dimensional block type coefficients in a
row direction may be used according to the size of the transform
unit and the inter-picture prediction mode. That is, whether any
scan method of the zig-zag scan, the vertical direction scan, and
the horizontal direction scan may be determined according to the
size of the transform unit and the intra-picture prediction
mode.
[0061] The entropy encoder 130 may perform the entropy encoding
based on the values calculated by the realignment unit 125. For the
entropy encoding, encoding methods such as exponential golomb,
context-adaptive variable length coding (CAVLC), context-adaptive
binary arithmetic encoding (CABAC), or the like, may be used.
[0062] The entropy encoder 130 may code various information such as
residual coefficient information and block type information,
prediction mode information, split unit information, prediction
unit information, transmission unit information, motion vector
information, reference frame information, block interpolation
information, filtering information, or the like, in the encoding
unit from the realignment unit 125 and the predictor 110.
[0063] The entropy encoder 130 may perform the entropy encoding on
the coefficient values in the encoding unit input from the
realignment unit 125.
[0064] The entropy encoder 130 may be stored with a table for
performing the entropy encoding such as a variable length coding
table and may perform the entropy encoding using the stored
variable length coding table. In performing the entropy encoding,
code word allocation for the code numbers of the corresponding
information to some code words included in the table may be changed
by using a counter using method or a direct swapping method For
example, in the case of several upper code numbers to which a
smaller bit number of code words is allocated in the table mapping
the code numbers and the code words, a mapping sequence of the
table adaptively mapping the encoder words to the code numbers so
as to allocate the code words of a short length to the code numbers
in which the summed generation frequency of the code numbers is
largest by using the counter may be changed. When the frequency
counted in the counter reaches the predetermined threshold value,
the counting may be again performed by dividing the counting
frequency written in the counter into 1/2.
[0065] The position of the code numbers in the table that do not
perform the counting may be changed with the position of the code
numbers just above the entropy encoding table using the direct
swapping method when the information corresponding to the code
number is generated. That is, the smaller number of bits allocated
to the corresponding code number in the entropy encoding table may
be allocated.
[0066] The entropy encoder 130 may code the integrated code block
flag at the current transform depth and code the split information
flag based on the integrated code block flag information. In
addition, the entropy encoder 130 may join and code the split
information flag based on the integrated code block flag
information. Hereinafter, the exemplary embodiment of the present
invention will be described below with reference to the additional
encoding method.
[0067] The dequantizer 135 and the inverse transformer 140
inversely quantize the quantized values in the quantizer 120 and
inversely transform the values transformed in the transformer 115.
The residual generated in the dequantizer 135 and the inverse
transformer 140 may generate a reconstructed block by being joined
with the prediction unit predicted through a motion estimator, a
motion compensator, and an intra predictor that are included in the
predictor 110.
[0068] The filter unit 145 may include at least one of a deblocking
filter, an offset compensator, and an adaptive loop filter
(ALF).
[0069] The deblocking filter may remove block distortion generated
due to a boundary between the blocks at the reconstructed picture.
In order to determine whether the deblocking is performed, it is
possible to determine whether the deblocking filter is applied to
the current block based on the pixels included in several columns
or rows included in the block. When the deblocking filter is
applied to the block, a strong filter or a weak filter may be
applied according to necessary deblocking filtering strength. In
addition, in applying the deblocking filter, horizontal direction
filtering and vertical direction filtering at the time of
performing the vertical filtering and the horizontal filtering may
be processed in parallel.
[0070] The offset compensator may correct the offset with the
original picture for the video performing the deblocking in the
pixel unit In order to perform the offset compensation for the
specific picture, the predetermined number of pixels included in
the video is divided and then, the region performing the offset is
determined, and the method of applying the offset to the
corresponding region and the method of applying the offset in
consideration of the edge information each pixel may be used.
[0071] The adaptive loop filter (ALF) may perform the filtering
based on a value obtained by comparing the filtered reconstructed
picture and the original picture. The filtering may be differently
performed for each group by dividing the pixel included in the
video into the predetermined group and then, determining a single
filter to be applied to the corresponding group. The information
regarding whether the ALF is applied may be transmitted for each
encoding unit (CU) and the size and coefficient of the ALF to be
applied to each block may be changed. The ALF may have various type
and thus, the number of coefficients included the filter may be
changed. The filtering related information of the ALF (filter
coefficient information, ALF on/off information, filter type
information) may be transmitted by being included in the
predetermined parameter set in the bit stream.
[0072] The memory 150 may store the reconstructed block or the
pictures calculated through the filter unit 145, wherein the stored
reconstructed blocks or pictures may be provided to the predictor
110 at the time of performing the inter-picture prediction.
[0073] FIG. 2 is a block diagram showing a video decoder according
to another exemplary embodiment of the present invention.
[0074] Referring to FIG. 2, a video decoder 200 may include an
entropy decoder 210, a realignment unit 215, a dequantizer 220, an
inverse transformer 225, a predictor 230, a filter unit 235, and a
memory 240.
[0075] In the video coder, when the video bit stream is input, the
input bit stream may be decoded by a procedure reverse to the video
coder.
[0076] The entropy decoder 210 may perform the entropy decoding by
a procedure reverse to one performing the entropy encoding in the
video coder. For example, in the video coder, the VLC table used to
perform the entropy encoding is implemented by the same variable
length coding table even in the entropy decoder to perform the
entropy decoding. The information for generating the prediction
block among the decoded information in the entropy decoder 210 may
be provided to the predictor 230 and the residual performing the
entropy decoding in the entropy decoder may be input to the
realignment unit 215.
[0077] Similar to the entropy encoder even in the entropy decoder
210, the code word allocation table may be changed using the
counter or the direct swapping method and perform the entropy
decoding based on the changed code word allocation table.
[0078] The information regarding the intra-picture prediction and
the inter-picture prediction performed in the encoder may be
decoded. As described above, when there are predetermined
limitations at the time of performing the intra-picture prediction
and the inter-picture prediction in the video coder, the
information regarding the intra-picture prediction and the
inter-picture prediction for the current block may be provided by
performing the entropy decoding based on the above-mentioned
limitations. The entropy decoder may perform the decoding operation
described in FIGS. 3 to 8 of the exemplary embodiment of the
present invention.
[0079] The entropy decoder 210 may decode the integrated code block
flag information in the transform unit and decode the split
information flag based on the size information and the integrated
code block flag information in the transform unit. In addition, the
pattern information in the transform unit is decoded based on the
transform unit information coupling flag encoded by coupling the
integrated code block flag with the transform information flag and
the code block flag information and the split information flag
information in the transform unit corresponding to the pattern
information may be decoded based on the pattern information. The
entropy decoding process will be described in detail in the
following exemplary embodiment of the present invention.
[0080] The realignment unit 215 may perform the realignment based
on a method for realigning bit streams, which are subjected to the
entropy decoding in the entropy decoder 210, in the coder. The
coefficients represented by the one-dimensional vector type may be
again recovered into the coefficients in the two-dimensional block
type and realigned. The realignment unit may perform the
realignment by receiving information relating to the coefficient
scanning performed in the encoder and a method for reversely
scanning the information based on the scanning sequence performed
in the corresponding coder.
[0081] The dequantizer 220 may perform the dequantization based on
the quantization parameter provided in the encoder and the
realigned coefficient values of the block.
[0082] The inverse transformer 225 may perform the DCT performed in
the transformer and the inverse DCT and the inverse DST on the DST
with reference to the quantization results performed in the video
coder. The inverse transform may be performed based on the
transmission unit determined in the video coder. The transformer of
the video encoder may selectively perform the DCT and the DST
according to the prediction method and various information such as,
the size and the prediction direction of the current block, or the
like, and the inverse transformer 225 of the video decoder may
perform the inverse transform based on the transform information
performed in the transformer of the video coder.
[0083] At the time of performing the transform, the transform may
be performed based on the encoding unit rather than the transform
unit.
[0084] The predictor 230 may generate the prediction block based on
the prediction block generation related information provided from
the entropy decoder 210 and the previously decoded block or the
picture information provided from the memory 240.
[0085] As described above, similar to the operation in the video
coder, when the size of the prediction unit and the size of the
transform unit are the same as each other at the time of performing
the intra-picture, even though the intra-picture prediction is
performed on the prediction unit based on a pixel present at the
left of the prediction unit, a pixel present at the top left
thereof, and a pixel present at the top, when the size of the
prediction unit and the size of the transform unit is different
from each other at the time of performing the intra-picture
prediction, the intra-picture prediction may be performed using the
reference pixel based on the transform unit. In addition, the
intra-picture prediction using N.times.N split may be performed on
only the minimum encoding unit.
[0086] The predictor 230 may include a prediction unit
determinator, an inter-picture predictor, and an intra-picture
predictor. The prediction unit determinator may receive various
information such as the prediction unit information input from the
entropy decoder, the prediction mode information of the
intra-picture prediction method, the motion prediction related
information of the inter-picture prediction method, or the like,
divide the prediction unit in the current encoding unit, and
differentiate whether the prediction unit performs the
inter-picture prediction or the intra-picture prediction. The
inter-picture predictor may perform the inter-picture prediction
for the current prediction unit based on the information included
in at least one of the pictures before or after the current picture
including the current prediction unit by using the information
necessary for the inter-picture prediction of the current
prediction unit provided from the video coder.
[0087] In order to perform the inter-picture prediction, it is
possible to determine whether the motion prediction method of the
prediction unit included in the corresponding encoding unit may
corresponds to any one of a skip mode, a merge mode, and an AMVP
mode based on the encoding unit.
[0088] The intra-picture predictor may generate the prediction
block based on the pixel information within the current picture.
When the prediction unit is a prediction unit performing the
intra-picture prediction, the intra-picture prediction may be
performed based on the intra-picture mode information of the
prediction unit provided from the video coder. The intra-picture
predictor may include an AIS filter, a reference pixel
interpolator, and a DC filter. The AIS filter, which is a part
performing the filtering on the reference pixel of the current
block, may be applied by determining whether the filter is applied
according to the prediction mode of the current prediction unit.
The AIS filtering may be performed on the reference pixel of the
current block by using the prediction mode of the prediction unit
and the AIS filter information provided from the video coder. When
the prediction mode of the current block is a mode that does not
perform the AIS filtering, the AIS filter may not be applied.
[0089] The reference pixel interpolator may generate the reference
pixel in the pixel unit of the integer value or less by
interpolating the reference pixel when the prediction mode of the
prediction unit is the prediction unit performing the intra-picture
prediction based on the pixel value interpolating the reference
pixel. When the prediction mode of the current prediction unit is
the prediction mode generating the prediction block without
interpolating the reference pixel, the reference pixel may not be
interpolated. The DC filter may generate the prediction block
through the filtering when the prediction mode of the current block
is the DC mode.
[0090] The reconstructed block or picture may be provided to the
filter unit 235. The filter unit 235 may include a deblocking
filter, an offset compensator, and ALF.
[0091] The information regarding whether the deblocking filter is
applied to the corresponding block or the picture from the video
encoder and if it is determined that the deblocking filter is
applied, the information regarding whether the strong filter is
applied or the weak filter is applied may be provided. The
deblocking filter of the video decoder may receive the deblocking
filter related information provided from the video encoder and may
perform the deblocking filtering on the corresponding block in the
video decoder. Similar to the video coder, the vertical deblocking
filtering and the horizontal deblocking filtering are first
performed but any one of the vertical deblocking and the horizontal
deblocking may be performed in the overlapping portion. The
vertical deblocking filtering or the horizontal deblocking
filtering that is not previously performed at the overlapping
portion where the vertical deblocking filtering and the horizontal
deblocking filter overlap each other may be performed. It is
possible to perform parallel processing of the deblocking filtering
through the deblocking filtering process.
[0092] The offset compensator may perform the offset compensation
on the reconstructed picture based on the type of the offset
compensation, the offset value information, or the like, applied to
the picture at the time of the encoding.
[0093] The ALF may perform the filtering based on the value
obtained by comparing the reconstructed picture after the filtering
is performed and the original picture. The ALF may be applied to
the encoding unit based on the information regarding whether the
ALF is applied, the ALF coefficient information, or the like, that
are provided from the coder. The ALF information may be provided by
being included in the specific parameter set.
[0094] The memory 240 may store the reconstructed picture or the
block so as to be used as the picture or the reference block and
may also provide the reconstructed picture to an output unit.
[0095] As described above, in the exemplary embodiment of the
present invention, the encoding unit is used as a term to be the
encoding unit for convenience of explanation, but may be the unit
performing the encoding as well as the decoding. Hereinafter, the
encoding/decoding method of the intra-picture prediction mode using
two candidate intra prediction modes described in FIGS. 3 to 12
according to the exemplary embodiment of the present invention may
be performed so as to meet functions of each module described in
FIGS. 1 and 2. The encoder and decoder are included in the scope of
the present invention.
[0096] Hereinafter, a binary code representing the predetermined
flag information used in the exemplary embodiment of the present
invention is only by way of example and therefore, the same
information may be represented by different binary codes, which is
included in the scope of the present invention.
[0097] FIG. 3 is a flow chart showing a method for transmitting
transform unit information using a quad tree structure according to
another exemplary embodiment of the present invention.
[0098] Referring to FIG. 3, it is determined whether the size of
the current transform unit is larger than a minimum transform unit
(S300).
[0099] The size of the current transform unit may be calculated
based on coefficients representing transform depth information
(trafoDepth), size information in a maximum transform unit or may
directly be calculated through coefficients representing block size
information.
[0100] The integrated code block flag information is transmitted
only when the size of the current transform unit is larger than the
minimum transform unit and does not transmit the integrated code
block flag information when the size of the current transform unit
is the size of the minimum transform unit, each code block flag
cbf_y, cbf_u, and cbf_v may immediately be encoded in the current
transform unit (S340).
[0101] The code block flag cbf_luma or cbf_y may represent whether
at least one transform coefficient rather than 0 among the
transform coefficient values transforming the luminance signals is
present in the current transform unit, cbf_cb may represent whether
at least one transform coefficient rather than 0 among the
transform coefficient values transforming the chrominance signal cb
is present in the current transform unit, and cbf_cr may represent
whether at least one transform coefficient rather than 0 among the
transform coefficient values transforming the chrominance signal cr
is present in the current transform unit.
[0102] When the size of the current transform unit is larger than
the minimum transform unit, the integrated code block flag is
encoded at the current transform depth (S310).
[0103] The integrated code block flag, is a flag representing
whether the transform quantization coefficients of the luminance
signal and the chrominance signal are present, means that at least
one transform coefficient rather than 0 is present in the
corresponding transform unit when the integrated code block flag is
not 0.
[0104] The integrated code flag may be used as the flag
representatively representing the Y/Cb/Cr code block flag. If any
one of cbfs of Y/Cb/Cr is not 0, the integrated code flag may be
represented by a value rather than 0 and if all of cbfs of Y/Cb/Cr
are 0, the integrated code flag may be represented by 0.
[0105] Whether the fixed depth used by the integrated code block
flag is applied to various units such as sequence, picture, slice,
or the like, may be changed by fixedly defining the transform depth
used by the integrated code block flag in advance or adaptively
changing the transform depth to which the integrated code block
flag may be applied. The information for adaptively changing the
transform depth may be included in a sequence parameter set (SPS),
a picture parameter set (PPS), and a slice header.
[0106] The split information flag is phase-coded at the current
transform depth according to the integrated code block flag
information (S320).
[0107] The information regarding whether the current transform unit
is split may be transmitted through context element
split_transform_flag. Hereinafter, in the exemplary embodiment of
the present invention, the split information flag may be used as
the same meaning as split_transform_flag.
[0108] For example, when the current transform unit is split, the
value of the split information flag is set to be values rather than
0 and when the current transform unit is not split, the value of
the split information flag may be set to be 0. The context element
and the binary code for representing the context element
information used in the exemplary embodiment of the present
invention is only by way of an example and therefore, another
context element and the binary code of another context element may
be used unless they are in the scope of the present invention.
[0109] In the block information transmission method using the quad
tree according to the exemplary embodiment of the present
invention, the split information may be differently transmitted
according to the integrated code flag.
[0110] When the integrated code block flag is not 0 and the current
transform unit is not split into the lower transform unit, the
integrated code block flag has 0 as the split information flag and
when the integrate code block flag is not 0 and the current
transform unit is split into the lower transform unit, the
integrated code block flag may have the value rather than 0 as the
split information flag value. In addition, when the integrated code
block flag is 0, the unnecessary split information may not be
transmitted by not additionally transmitting the split information
for the current transform unit. Joint encoding may be performed by
joining the integrated code block fag and the split information
flag. When the integrated code block flag and the split information
flag is joint-coded, procedures of steps S300 to S320 may be
changed. When the integrated code block flag is applied, the
encoding method determines what information among cbf_y, cbf_u,
cbf_v, and split_flag needs to be encoded in the current transform
unit and then, represents the split_transform_flag by the
predetermined pattern information and may represent each of the
code block flag cbf_y, cbf_u, and cbf_v and the split information
flag split_transform_flag in the current transform unit based on
the pattern information. The encoding method using the integrated
code flag will be described in more detail below.
[0111] It is determined whether the current transform unit is
additionally split (S330).
[0112] When the transform unit is additionally split, it is
determined whether the size of the split transform unit by
returning to S300 is the transform unit of the minimum size and if
it is determined that the split transform unit is the transform
unit of the minimum size, a procedure for encoding the transform
unit information may be ended after immediately converting the
transform coefficient information cbf_y, cbf_u, and cbf_v each
present in the transform unit without transmitting the integrated
code block flag information by returning to step S340.
[0113] Hereinafter, a method for transmitting the integrate code
block flag and the split information flag based on the encoding
unit will be described with reference to FIGS. 4 to 6. That is, the
transform coefficient information in the transform unit and the
split information included in the encoding unit may be transmitted
for each unit. However, in the block information transmitting
method using a tree according to the exemplary embodiment of the
present invention may transmit the integrated code block flag and
the split information flag for each transform unit.
[0114] FIG. 4 is a conceptual diagram showing a method for applying
an integrated code block flag and a division information flag
according to another exemplary embodiment of the present
invention.
[0115] Referring to FIG. 4, the top end of FIG. 4 and the bottom
end of FIG. 4 are an all zero coefficient block (AZCB) in which the
transform coefficient included in the current transform unit is not
present and when the integrated code block flag is applied to only
the uppermost transform block, FIG. 4 shows a conceptual diagram of
the method for transmitting the integrated code block flag and the
split information flag.
[0116] Hereinafter, in the exemplary embodiment of the present
invention, the all zero coefficient block (AZCB) in which the
transform coefficient is not in the current transform unit may be
represented by a term called the zero transform coefficient
transform unit.
[0117] The top end of FIG. 4 shows the case in which the size of
the encoding unit is the same as the size of the uppermost
transform unit and the case in which the transform coefficient
included in the transform unit is not present.
[0118] When the size of the encoding unit is the same as the size
of the uppermost transform unit and the transform coefficient
included in the transform unit is not present, additional split is
not performed. As a result, the integrated code block flag is set
to be 0 in the uppermost transform unit and the size information of
the current transform unit and the transform coefficient
information may be transmitted without transmitting the split
information flag.
[0119] That is, in the block information transmitting method using
the quad tress according to the exemplary embodiment of the present
invention, since the zero transform coefficient transform unit in
which the transform coefficient is not present is not split in the
additional transform unit and therefore, the split information is
not unnecessary, such that the split information flag is not
additionally transmitted.
[0120] The bottom end of FIG. 4 shows the case in which the size of
the encoding unit is different from the size of the uppermost
transform unit and the case in which the transform coefficient
included in the transform unit is not present.
[0121] When the size of the uppermost transform unit is smaller
than the encoding unit and the uppermost transform unit included in
the encoding unit is the all zero transform coefficient transform
unit, the integrated code block flag is set to be 0 and the size
information of the current transform unit and the transform
coefficient information may be transmitted without transmitting the
split information flag.
[0122] FIG. 5 is a conceptual diagram showing a method for applying
an integrated code block flag and a division information flag
according to another exemplary embodiment of the present
invention.
[0123] When the top end and the bottom end of FIG. 5 are provided
with the transform coefficient included in the current transform
unit and the integrated code block flag is applied to only the
uppermost transform block, FIG. 5 is a conceptual diagram showing
the method for transmitting the integrated code flag and the split
information flag.
[0124] The top end of FIG. 5 shows the case in which the size of
the encoding unit is the same as the size of the uppermost
transform unit and the case in which the uppermost transform
coefficient is not split into the additional transform unit while
the transform coefficient being present.
[0125] The integrated code block flag is set to be a value rather
than 0 in the uppermost transform unit and the split information
flag is transmitted as 0, thereby transmitting the information
regarding whether the current transform unit is split and the
transform coefficient information.
[0126] The bottom end of FIG. 5 shows the case in which the size of
the encoding unit is the same as the size of the uppermost
transform unit and the case in which the uppermost transform unit
is split into the additional transform unit while the transform
coefficient being present.
[0127] When the size of the uppermost transform unit is the same as
the size of the encoding unit and at least on of the lower split
transform units is a block in which the transform coefficient is
present, the integrated code flag is set to be a value rather than
0 in the uppermost transform unit and the split information flag is
transmitted as a value rather than 0 and as a result, whether the
transform coefficient is present in the transform unit included in
the current encoding unit and the split state may be
represented.
[0128] FIG. 6 is a conceptual diagram showing a method for applying
an integrated code block flag and a division information flag
according to still yet another exemplary embodiment of the present
invention.
[0129] FIG. 6 shows the case in which the size of the uppermost
transform unit is smaller than the encoding unit and the transform
coefficient is present.
[0130] When the size of the uppermost transform unit is smaller
than the encoding unit and the transform coefficient is present,
since the integrated code block flag is transmitted as a value
rather than 0 and is split into the transform unit having the
smaller size that the current encoding unit, the split information
of the transform unit included in the current encoding unit may be
represented without transmitting the split information flag.
[0131] FIG. 7 is a conceptual diagram showing a method for
differently applying an integrated code block flag and a division
information flag according to another exemplary embodiment of the
present invention depending on depth information in a transform
unit.
[0132] In FIG. 7, the integrated code block flag and the split
information flag may be transmitted based on the transform
unit.
[0133] The top end of FIG. 7 shows the case in which the depth of
the transform unit is 0, that is, the integrated code flag is
applied to only the uppermost transform unit.
[0134] When the depth of the transform unit is 0, the integrated
code block flag and the split information flag are applied to only
the uppermost encoding unit, the integrated code block flag may be
transmitted based on whether the transform coefficient is present
in the upper transform unit based on the uppermost transform unit
and the split information flag regarding whether the uppermost
transform unit is additionally split may be transmitted. In the
case of the top end of FIG. 7, since the transform coefficient is
present based on the uppermost transform unit, the integrated code
block flag may be set to be a value rather than 0
(cbf_yuv[depth]!=0) and the split information flag may be set to be
1 (split_transform_flag[depth]!=0).
[0135] The bottom end of FIG. 7 show the case in which the
integrated code block flag and the split information flag is
applied up to depth 1 of the transform unit.
[0136] In the bottom block of FIG. 7, when the depth of the
transform unit is 0, since the transform coefficient is present,
the integrated code block flag may be set to be a value rather than
0 and since the transform coefficient is split into the additional
lower transform unit, the split information flag may be set to be
1.
[0137] When the transform depth is 1, the integrated code flag and
the split information flag may again be applied to each transform
unit. For example, when a first transform unit 700, a second
transform unit 710, a third transform unit 720, and a fourth
transform unit 730 are set based on a Z scan direction, the first
transform unit 700 to the third transform unit 720 does not include
the transform coefficient and therefore, the integrated code block
flag is transmitted as 0 and all the transform coefficients are 0
and therefore, is not split into the additional coefficient unit,
such that the split information flag may not be transmitted
(cbf_yuv[depth]=0, split_transform_flag[depth]=0). Since the fourth
transform unit 730 includes the transform coefficient and is
additionally split into the transform unit, the integrated code
flag is transmitted as a value rather than 0 and the split
information flat may be transmitted as 1 (cbf_yuv[depth]!=0,
split_transform_flag[depth]!=0).
[0138] The following Table 1 shows a context transmitting the
integrated code flag and the split information flag.
TABLE-US-00001 TABLE 1 transform_tree { cbf_yuv (Depth)
split_transform_flag (Depth) ... ... ...
[0139] Referring Table 1, the integrated code block flag and the
split information flag may be represented in the transform tree
syntax according to the transform unit depth information.
[0140] FIG. 8 is a conceptual diagram showing a process of decoding
transform unit information in a quad tree structure according to
another exemplary embodiment of the present invention.
[0141] The transform unit disclosed at the left of FIG. 8 shows the
case in which the size of the maximum transform unit is 32.times.32
and the size of the minimum transform unit is 4.times.4.
[0142] The left of FIG. 8 is a block showing the split state in the
current transform unit and whether the transform coefficient is
present and the right of FIG. 8 shows a tree structure showing a
method for representing the integrated code block flag and the
split information flag, respectively, at each depth of the
transform unit.
[0143] FIG. 8 shows the case in which cbf_yuv_flag is a value
rather than 0 and the transform coefficient is present at the
transform unit depth 0, when the transform depth is 0 800 and the
split_transform_flag is 1 and means that the spilt is performed in
the lower transform unit.
[0144] FIG. 8 shows the information regarding whether the transform
coefficient is present in the transform unit split into the
transform unit depth 1 and whether the transform unit of the
transform unit depth 1 is additionally split, when the transform
depth is 1 810, 820, 830, and 840. That is, the first transform
block 850 transmits 0 as the value of the integrated code block
flag and does not additionally transmit the split information flag
since the transform coefficient is not present. The fourth
transform block 860 is the same as the first transform block and
the second transform block 870 and the third transform block 880
transmit the integrated code block flag as the value rather than 0
since there is the transform coefficient and may transmit the split
information flag as 1 since the integrated code block flag is split
into the additional transform unit.
[0145] Considering the additionally split transform unit based on
the second transform block, the current transform unit is not
additionally split 880, each of the cbf_y, cbf_u, and cbf_v may be
transmitted and when the current transform unit is additionally
split 890, the integrated code block flag information and the split
information flag may be transmitted in the current transform
unit.
[0146] When the additionally split transform unit is the minimum
transform unit 895, the cbf_y, cbf_u, and cbf_v information in the
minimum unit may be immediately transmitted.
[0147] As described above, in the block information transmitting
method using the quad tree according to another exemplary
embodiment of the present invention and the apparatus using the
method, the integrated code block flag and the split information
flag may be joined and encoded.
[0148] When a joint of the integrated code block flag and the split
information flag is patterned and encoded, the same information may
be transmitted at smaller bit values, rather than encoding each of
split_transform_flag representing the cbf_y, cbf_u, and cbf_v and
the split information that is each component of the integrated code
block flag. When the joint encoding is used, cbf_y, cbf_u, and
cbf_v that are each component of the integrated code block flag and
split_transform_flag information representing the split information
may be joined and encoded.
[0149] cbf_yuv_split_flag joined and encoded by each component,
that is, cbf_y, cbf_u, cbf_v, that may calculate the integrated
code block flag with the split_transform_flag information may be
represented by a single context element and the term, the transform
unit information joint flag is used as the same meaning as the
cbf_yuv_split_flag.
[0150] The following Table 2 is a table for performing the joint
encoding for transmitting a joint of the integrated code flag and
the split information flag.
TABLE-US-00002 TABLE 2 Pattern No. cbf_y cbf_y cbf_y splitflag Code
Word 1 1 0 0 0 1 2 1 0 0 1 10 3 1 1 0 0 110 4 1 1 0 1 1110 5 1 1 1
0 11110 6 1 1 1 1 111110 . . . . . . . . . . . . . . . . . .
[0151] Referring to FIG. 2, the case in which cbf_y, cbf_u, and
cbf_v that are each component of the integrated code block flag and
the split_transform_flag representing the split information may be
output may be defined by a single table. For example, the transform
unit information joint flag may code the case in which each
component, that is, cbf_y, cbf_u, and cbf_v of the integrated code
block flag and the split_transform_flag representing the split
information may be output based on the pattern information.
[0152] For example, in the transform unit of the upper unit, when
the cbf_u and the cbf_v are encoded in advance, the cbf_u and the
cbf_v information does not need to be encoded in the lower
transform unit and when the current transform unit is the minimum
encoding unit, only the cbf_y needs to be encoded. In this case,
only the information regarding whether the luminance signal is
present in the current transform unit through pattern 1 may be
encoded. That is, the pattern in the current transform unit is 1
and the information regarding whether the luminance signal is
additionally present in the current transform unit may be
transmitted.
[0153] As another example, in the transform unit of the upper unit,
the cbf_u and the cbf_v are encoded in advance and when the current
transform unit is not the transform unit of the minimum size, the
information regarding whether the luminance signal is present in
the current transform unit based on pattern 2 may be encoded. That
is, the pattern in the current transform unit is 2 and the
information regarding whether the luminance signal in the current
transform unit is present and whether the current transform unit is
split may be transmitted.
[0154] Only the corresponding information may be encoded by
determining what information is required to code in the current
transform unit through the method using the pattern. The pattern
information may be first represented by the 4 bit information
representing a cbf-y value by MSB, a cbf-u by MSB-1, cbf-v by
MSB-2, and split_flag by LSB and the flag pattern may also be
subjected to binary encoding using the VLC code at the time of
being encoded later.
[0155] The following Table 3 shows a syntax structure of the
transform unit information joint flag that joins and encodes the
integrated code flag with the split information flag.
TABLE-US-00003 TABLE 3 transform_tree { ... ... ...
cbf_yuv_split_trans (Depth) ... ... ...
[0156] Referring to FIG. 3, the luminance signal information, the
chrominance signal information, and the split information may be
represented in the encoding unit by adding a cbf_yuv_split_trans
that is a new context element to a transform_tree context.
[0157] In the block information transmitting method using the quad
tree according to another exemplary embodiment of the present
invention may join and code once the transform unit information
joint flag of the transform units having the same size present at
the same depth.
[0158] FIG. 9 is a flow chart showing a method for encoding
transform coefficient information and division information in a
transform unit when a transform unit information coupling flag is
used.
[0159] Referring to FIG. 9, a pattern of the code block flag and
the split information flag to perform the encoding in the transform
unit are encoded (S900).
[0160] The pattern information on the code block flag and the split
information flag may be encoded based on Table 2.
[0161] The corresponding code block flag and the split information
flag are encoded based on the encoded pattern information
(S910).
[0162] The values of the code block flag and the split information
flag corresponding to the corresponding pattern information are
encoded based on the encoded pattern information.
[0163] For example, when the pattern information is 2, the
information regarding whether the luminance signal is present in
the current transform unit may be encoded.
[0164] FIG. 10 is a conceptual diagram showing a method for
coupling and encoding an integrated code flag and a division
information flag according to another exemplary embodiment of the
present invention and integrating transform unit information in
transform units present at the same depth.
[0165] Referring to FIG. 10, each block represents the transform
unit and numbers listed on each transform unit means the pattern
information on the joint flag information. For convenience, 0 in
the block and Table described below means pattern 1, pattern 1
means pattern 2, and pattern 3 means pattern 4.
[0166] Referring to the left of FIG. 10, the transform unit
consists of four transform units that is pattern information 1 and
referring to the right of FIG. 10, the transform unit consists of
four transform units that are 2, 4, 2, and 1.
[0167] That is, the single upper transform unit pattern information
may be generated by again joining the pattern information of the
lower transform unit in the upper transform unit. The following
Table 4 is a Table representing the upper transform unit pattern
information.
TABLE-US-00004 TABLE 4 cbf_yuv_split_flag First First First First
Pattern Transform Transform Transform Transform Code No. Unit Unit
Unit Unit Word 1 0 0 0 0 1 2 1 1 1 1 10 3 1 1 1 2 110 4 1 1 0 3
1110 5 1 3 1 0 11110 6 3 1 3 1 111110 . . . . . . . . . . . . . . .
. . .
[0168] Referring to Table 4, in the case of the transform unit
present in the left of FIG. 8, number 1 transform unit may have a
pattern value of cbf_yuv_split_trans of 0, number 2 transform unit
may have a pattern value of cbf_yuv_split_trans of 0, number 3
transform unit may have a pattern value of cbf_yuv_split_trans of
0, and number 4 transform unit may have a pattern value of
cbf_yuv_split_trans of 0 in a z scan direction and may also have
new pattern information 1. In the case of the transform unit
present in the left of FIG. 10, number 1 transform unit may have a
pattern value of cbf_yuv_split_trans of 1, number 2 transform unit
may have a pattern value of cbf_yuv_split_trans of 3, number 3
transform unit may have a pattern value of cbf_yuv_split_trans of
1, and number 4 transform unit may have a pattern value of
cbf_yuv_split_trans of 5.
[0169] The upper transform block pattern information may also be
used by being defined as the new context element in the transform
tree context.
[0170] FIG. 11 is a flow chart for decoding the block information
having the quad tree structure according to another exemplary
embodiment of the present invention.
[0171] Referring to FIG. 11, the integrated code block flag
information in the current transform unit is decoded (S1100).
[0172] The split information flag is decoded based on the size
information of the current transform unit and the integrated code
flag information (S1110).
[0173] When the transform unit information joint flag
cbf_yuv_split_flag in which the above-mentioned integrated code
block flag with the split_transform_flag are joined is used,
processes of S1100 and S1110 may be changed. As described in Table
2, the transform unit information joint flag information in the
current transform unit is decoded and the information regarding
whether the luminance signal and the chrominance signal are present
in the current transform unit or spilt based on the decoded pattern
information may be additionally decoded.
[0174] FIG. 12 is a flow chart showing a method for decoding
transform unit information joint flag information according to
another exemplary embodiment of the present invention.
[0175] Referring to FIG. 12, the pattern information is decoded
based on the transform unit information joint flag information
(S1200).
[0176] The code block flag or the split information flag
information corresponding to the pattern are decoded based on the
decoded pattern information (S1210).
[0177] That is, the pattern information is provided based on the
above-mentioned Table 2 and the code block flag information and the
split information flag information corresponding to the
corresponding pattern information may be decoded.
[0178] While the present invention has been shown and described in
connection with the embodiments, it will be apparent to those
skilled in the art that modifications and variations can be made
without departing from the spirit and scope of the invention as
defined by the appended claims.
* * * * *