# US 11,910,006 B2 · Intra block copy (IntraBC) cost estimation

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

- Number: US 11,910,006 B2
- Document ID: US11910006B2
- Status: Granted
- Kind: B2
- Application number: 17/380,403
- Filed: 2021-07-20
- Published: 2021-11-11
- Granted: 2024-02-20
- Earliest claimed: 2013-10-14
- Assignees: Texas Instruments Incorporated
- Applicants: Texas Instruments Incorporated
- Inventors: Do-Kyoung Kwon; Madhukar Budagavi
- Web page: https://patentgrep.com/patent/US11910006B2

## CPC

- H04N 19/567: Motion estimation based on rate distortion criteria
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method for encoding video data is provided that includes determining whether or not a parent coding unit of a coding unit of the video data was predicted in intra-prediction block copy (IntraBC) mode and, when it is determined that the parent coding unit was not predicted in IntraBC mode: computing activity of the coding unit, determining an IntraBC coding cost of the coding unit by computing the IntraBC coding cost of the coding unit using a two dimensional (2D) search when the activity of the coding unit is not than an activity threshold, and computing the IntraBC coding cost of the coding unit using a one dimensional (1D) search when the activity of the coding unit is less than the activity threshold, using the IntraBC coding cost to select an encoding mode from one of a plurality of encoding modes, encoding the coding unit using the selected encoding mode.

## Claims

### Claim 1

A method comprising:
computing activity of a coding unit;
determining whether the activity of the coding unit is greater than or equal to an activity threshold;
determining an intra-prediction block copy (IntraBC) coding cost of the coding unit by computing the IntraBC coding cost of the coding unit using a two dimensional (2D) search when the activity of the coding unit is greater than or equal to the activity threshold; and
selecting an encoding mode for the coding unit from one of a plurality of encoding modes based on the IntraBC coding cost.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plurality of encoding modes includes an IntraBC mode, an intra-prediction mode, and an inter-prediction mode.

### Claim 3 (depends on 2)

The method of claim 2, comprising:
determining an inter-prediction coding cost of the coding unit; and
determining an intra-prediction coding cost of the coding unit.

### Claim 4 (depends on 3)

The method of claim 3, wherein selecting the encoding mode includes comparing the inter-prediction coding cost, the intra-prediction coding cost, and the IntraBC mode coding cost.

### Claim 5 (depends on 4)

The method of claim 4, wherein the encoding mode is selected as the encoding mode having the lowest coding cost.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
computing the IntraBC coding cost of the coding unit using a 2D search;
using the IntraBC coding cost to select the encoding mode from one of the plurality of encoding modes; and
encoding the coding unit using the selected encoding mode.

### Claim 7 (depends on 6)

The method of claim 6, wherein, the plurality of encoding modes includes an IntraBC mode, an intra-prediction mode, and an inter-prediction mode, and the method further comprises:
determining an inter-prediction coding cost of the coding unit; and
determining an intra-prediction coding cost of the coding unit.

### Claim 8 (depends on 7)

The method of claim 7, wherein selecting the encoding mode includes comparing the inter-prediction coding cost, the intra-prediction coding cost, and the IntraBC coding cost.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
determining an inter-prediction coding cost of the coding unit; and
determining an intra-prediction coding cost of the coding unit.

### Claim 10 (depends on 9)

The method of claim 9, comprising, when a minimum of the inter-prediction coding cost and the intra-prediction coding cost is less than a predetermined cost threshold, selecting the encoding mode as one of either an intra-prediction mode or an inter-prediction mode based which has a lower coding cost.

### Claim 11 (depends on 10)

The method of claim 10, wherein the predetermined cost threshold is computed as a minimum of 48 and 32×λ, wherein λ is a Lagrange multiplier depending on a value of a quantization parameter.

### Claim 12 (depends on 1)

The method of claim 1, wherein computing the activity of the coding unit includes computing min(ActH, ActV), wherein:
Act
H
=
∑
j
=
0
N
-
1
⁢
∑
i
=
1
N
-
1
⁢

p
⁡
(
j
,
i
)
-
p
⁡
(
j
,
i
-
1
)

;
Act
V
=
∑
i
=
0
N
-
1
⁢
∑
j
=
1
N
-
1
⁢

p
⁡
(
j
,
i
)
-
p
⁡
(
j
-
1
,
i
)

;
p(j,i) is an original pixel at the j-th row and the i-th column of the coding unit.

### Claim 13 (depends on 1)

The method of claim 1, wherein the activity threshold is computed as 168×(1<<(bitDepth−8)).

### Claim 14

A method comprising:
computing an inter-prediction coding cost for a coding unit (CU);
computing an intra-prediction coding cost for the CU;
determining whether a minimum of the inter-prediction coding cost and the intra-prediction coding cost is less than a cost threshold;
if the minimum is greater than or equal to the cost threshold, then determining an intra-prediction block copy (IntraBC) coding cost of the coding unit using a two dimensional (2D) search;
selecting an encoding mode from an IntraBC mode, an intra-prediction mode, and an inter-prediction mode based on a coding cost of each of these encoding modes; and
encoding the coding unit using the selected encoding mode.

### Claim 15

A method comprising:
computing an inter-prediction coding cost for a coding unit (CU);
computing an intra-prediction coding cost for the CU;
determining whether a minimum of the inter-prediction coding cost and the intra-prediction coding cost is greater than a cost threshold;
when a parent CU was not predicted in an intra block copy (IntraBC) mode:
computing activity of the CU;
determining whether the activity of the CU is less than an activity threshold;
when the activity is not less than the activity threshold:
computing an IntraBC coding cost of the CU using a two dimensional (2D) search; and
selecting a mode for encoding the CU based on the inter-prediction coding cost, the intra-prediction coding cost, and the IntraBC coding cost computed with the 2D search.

### Claim 16 (depends on 14)

The method of claim 14, further comprising:
determining that a second parent coding unit of a second coding unit was predicted in an intra-prediction block copy (IntraBC) mode; and
in response to the determining that the second parent coding unit was predicted in IntraBC mode:
determining a second IntraBC coding cost of the second coding unit using the two dimensional (2D) search;
selecting the encoding mode of the second coding unit as one of the IntraBC mode, the intra-prediction mode, and the inter-prediction mode based on the coding cost of each of these encoding modes; and
encoding the second coding unit using the selected encoding mode for the second coding unit.

### Claim 17 (depends on 16)

The method of claim 16, wherein the determining of the second IntraBC coding cost, the selecting of the encoding mode of the second coding unit, and the encoding of the second coding unit are performed without computing activity of the second
coding unit.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
when the parent CU was not predicted in the IntraBC mode and when the activity is less than an activity threshold:
computing an IntraBC coding cost of the CU using a 1D search; and
selecting the encoding mode for encoding the CU based on the inter-prediction coding cost, the intra-prediction coding cost, and the IntraBC coding cost computed with the 1D search.

### Claim 19 (depends on 15)

The method of claim 15, further comprising:
when the parent CU is predicted in an IntraBC mode, computing the IntraBC coding cost of the CU using the 2D search.

### Claim 20 (depends on 1)

The method of claim 1, wherein determining the IntraBC coding cost further comprises computing the IntraBC coding cost of the coding unit using a one dimensional search when the activity of the coding unit is less than the activity threshold.
