# US 8,149,918 B2 · Method of estimating coded block pattern and method of determining block mode using the same for moving picture encoder

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,149,918 B2
- Document ID: US8149918B2
- Status: Granted
- Kind: B2
- Application number: 11/529,973
- Filed: 2006-09-29
- Published: 2007-05-10
- Granted: 2012-04-03
- Earliest claimed: 2005-11-10
- Assignees: Electronics and Telecommunications Research Institute
- Inventors: Jin Wuk Seok; Chang Sik Cho; Bum Ho Kim; Hyung Kook Jun; Jeong Woo Lee; Eun Young Kim
- Web page: https://patentgrep.com/patent/US8149918B2

## CPC

- H04N 19/577: Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
- H04N 19/103: Selection of coding mode or of prediction mode
- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/136: Incoming video signal characteristics or properties
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/18: the unit being a set of transform coefficients
- H04N 19/196: being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters (processing of motion vectors H04N19/513)
- H04N 19/61: in combination with predictive coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Provided are a coded block pattern (CBP) estimating method which is performed using an average value and a dispersion value between blocks of CBPs in a moving picture encoder for IP-TVs (Internet Protocol-Televisions), and a block mode decision method, which can determine all block modes with only the first 16×16 block. Accordingly, since an additional operation for mode determination is not necessary, an amount of calculation and thus a calculation time can be remarkably reduced.

## Claims

### Claim 1

A Coded Block Pattern (CBP) estimation method comprising:
estimating motion in units of a macroblock of 16×16 pixel size, to thus determine a current macroblock and a reference macroblock corresponding to the current macroblock;
calculating an average value and a dispersion value of individual 4×4 blocks in the current macroblock and corresponding 4×4 blocks in the reference macroblock which have been determined by estimation without performing a separate discrete cosine transform (DCT) operation; and
estimating CBP (Coded Block Pattern) values of the 4×4 blocks in the current macroblock using the calculated average and dispersion values,
wherein the average value is calculated using an equation (2) and the dispersion value is calculated using an equation (3) as follows,
m
4
×
4
=
∑
t
=
0
3
⁢
∑
j
=
0
3
⁢
(
P
⁡
(
i
,
j
,
t
-
1
)
-
P
_
⁡
(
i
,
j
,
t
)
)
(
2
)
V
4
×
4
=
1
16
⁢
∑
t
=
0
3
⁢
∑
j
=
0
3
⁢
(
P
⁡
(
i
,
j
,
t
-
1
)
-
m
4
×
4
)
2
(
3
)
wherein
P(i,j,t−1) is a pixel value of an ith column and jth row point of t−1 frame in said unit 4×4 block, and
P(i,j,t) is a pixel value of an ith column and jth row point of t frame in said 4×4 block estimated through the P(i,j,t−1).

### Claim 2 (depends on 1)

The CBP estimation method of claim 1, wherein the CBP values estimation process is performed using an equation (4) as follows,
ECBP
=
m
4
×
4
·
Q
⁡
(
(
Q
⁢
⁢
P
+
12
)
⁢
⁢
%
⁢
⁢
6
,
0
,
0
)
+
2
⁢
f
2
16
+
Q
⁢
⁢
P
+
12
6
+
u
⁡
(
V
4
×
4
-
(
15
+
θ
t
)
)
(
4
)
wherein
u(x) is a unit step function which is equal to one if
x≧o and otherwise is equal to zero, and θ is a parameter introduced for CBP estimation and is adaptively updated according to an equation (5) as follows,
θt+1=θt+εg(ECBP−CBP)·(1−g(ECBP−CBP)) (5)
wherein ε is an adaptation coefficient and is selected as an arbitrary value between 0.1 and 0.25, CBP is an actual CBP value obtained after undergoing DCT and quantization processes in a determined block mode, a function
g(x) is expressed as the following equation
g
⁡
(
x
)
=
1
1
+
exp
⁡
(
-
λ
·
x
)
wherein a coefficient λ is an arbitrary value not less than 4.6, and an estimated CBP has a value of zero or one.

### Claim 3 (depends on 1, 2)

A method of determining a block mode for performing a motion compensation process using CBP (Coded Block Pattern) values which are estimated using a CBP estimation method claimed in any one of claims 1 to 2, the method comprising:
(a) determining a block mode without performing an additional motion estimation (ME) process and corresponding 4×4 blocks, among block modes which are configurable with 4×4 blocks constituting a current macroblock, based on estimated CBP values of the current macroblock;
(b) performing an additional motion estimation process with respect to 4×4 blocks corresponding to a block mode for which the additional motion estimation process is needed;
(c) estimating CBP values with respect to the 4×4 blocks of the block mode for which the additional motion estimation process has been performed in said step (b); and
(d) determining a block mode without performing an additional motion estimation (ME) process and corresponding 4×4 blocks, among block modes which are configurable with 4×4 blocks constituting a current macroblock, based on estimated CBP values of the current macroblock including the estimated CBP values obtained in said step (c).

### Claim 4 (depends on 3)

The block mode determination method of claim 3, wherein the block modes which are configurable with the 4×4 blocks is a 16×16 block mode, a 16×8 block mode, a 8×16 block mode, a 8×8 block mode, a 8×4 block mode, and a 4×8 block mode, and wherein
said step (a) comprises determining the corresponding block mode into a block mode having no need to perform an additional motion estimation process, if the number of ones in the estimated CBP values of the 4×4 blocks respectively corresponding to the 16×16 block mode, the 16×8 block mode, the 8×16 block mode, the 8×8 block mode, the 8×4 block mode, and the 4×8 block mode is equal to or less than a predetermined number.
