IP Library Granted Patent US 12701219
Granted Patent B2
US 12701219 · App. 18/789,525 · Granted Aug 4, 2026

Bi-prediction without signaling cu-level weights

Inventors: Cheung Auyeung (Sunnyvale, CA); Xiang Li (Saratoga, CA); Shan Liu (San Jose, CA)
Assignee: Tencent America LLC
H04N19/105H04N19/132H04N19/139H04N19/159H04N19/172H04N19/176H04N19/52H04N19/573
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12701219
App. No.
18/789,525
Granted
Aug 4, 2026
Kind
B2
Abstract

In a method of video processing in a decoder, information of a coding block in a current picture is decoded from a bitstream. The information indicates a bi-prediction mode. A first motion vector associated with a first reference picture and a second motion vector associated with a second reference picture for a bi-prediction of the coding block are determined. A first reference template in the first reference picture is determined based on a current template of the coding block and the first motion vector. A second reference template in the second reference picture is determined based on the current template of the coding block and the second motion vector. A weight to be applied in the bi-prediction mode is calculated based on the current template and a difference between the first reference template and the second reference template. The coding block is reconstructed using the bi-prediction with the calculated weight.

Claims (59)

1 . A method of video processing in a decoder, comprising:

decoding information of a coding block in a current picture from a bitstream, the information indicating a bi-prediction mode;

determining a first motion vector associated with a first reference picture and a second motion vector associated with a second reference picture for a bi-prediction of the coding block;

determining a first reference template in the first reference picture based on a current template of the coding block and the first motion vector;

determining a second reference template in the second reference picture based on the current template of the coding block and the second motion vector;

calculating a weight to be applied in the bi-prediction mode according to a cost function that is based on a square of an absolute difference between the current template and a predicted current template, the predicted current template being determined based on the first reference template, a constant value, and the second reference template; and

reconstructing the coding block using the bi-prediction with the calculated weight.

2 . The method of claim 1 , wherein the weight is not signaled in the bitstream.

3 . The method of claim 1 , wherein the current template comprises one or more reconstructed samples that neighbor the coding block.

4 . The method of claim 3 , wherein the current template comprises at least one of:

one or more rows of samples above the coding block; or

one or more columns of samples to a left of the coding block.

5 . The method of claim 3 , wherein the current template comprises at least one of:

a row of samples that is immediately above the coding block; or

a column of samples that is immediately to a left of the coding block.

6 . The method of claim 1 , wherein the calculating the weight comprises:

determining the weight that minimizes the cost function that is based on the current template and the predicted current template.

7 . The method of claim 6 , wherein the cost function is based on respective samples differences of the current template to the predicted current template that is predicted based on the first reference template and the second reference template using a bi-prediction model with the weight.

8 . The method of claim 1 , wherein the calculating the weight comprises:

determining the weight in a bi-prediction model by ordinary least squares.

9 . The method of claim 1 , wherein the calculating the weight comprises:

clipping the weight.

10 . The method of claim 1 , wherein:

the determining the first motion vector associated with the first reference picture comprises:

determining an initial first motion vector,

determining a first refinement of the initial first motion vector, and

determining the first motion vector based on the initial first motion vector and the first refinement; and

the determining the second motion vector associated with the second reference picture comprises:

determining an initial second motion vector,

determining a second refinement of the initial second motion vector, and

determining the second motion vector based on the initial second motion vector and the second refinement.

11 . A method of video processing in an encoder, comprising:

determining a first motion vector associated with a first reference picture and a second motion vector associated with a second reference picture for a bi-prediction of a coding block in a current picture;

determining a first reference template in the first reference picture based on a current template of the coding block and the first motion vector;

determining a second reference template in the second reference picture based on the current template of the coding block and the second motion vector;

calculating a weight to be applied in a bi-prediction mode according to a cost function that is based on a square of an absolute difference between the current template and a predicted current template, the predicted current template being determined based on the first reference template, a constant value, and the second reference template; and

encoding the coding block in a bitstream using the bi-prediction with the calculated weight.

12 . The method of claim 11 , wherein the weight is not signaled in the bitstream.

13 . The method of claim 11 , wherein the current template comprises one or more reconstructed samples that neighbor the coding block.

14 . The method of claim 13 , wherein the current template comprises at least one of:

one or more rows of samples above the coding block; or

one or more columns of samples to a left of the coding block.

15 . The method of claim 13 , wherein the current template comprises at least one of:

a row of samples that is immediately above the coding block; or

a column of samples that is immediately to a left of the coding block.

16 . The method of claim 11 , wherein the calculating the weight comprises:

determining the weight that minimizes the cost function that is based on the current template and the predicted current template.

17 . The method of claim 16 , wherein the cost function is based on respective samples differences of the current template to the predicted current template that is predicted based on the first reference template and the second reference template using a bi-prediction model with the weight.

18 . The method of claim 11 , wherein the calculating the weight comprises:

determining the weight in a bi-prediction model by ordinary least squares.

19 . The method of claim 11 , wherein the calculating the weight comprises:

clipping the weight.

20 . A non-transitory computer-readable storage medium storing instructions which, when executed by a processor, cause the processor to perform a method of encoding a bitstream comprising:

determining a first motion vector associated with a first reference picture and a second motion vector associated with a second reference picture for a bi-prediction of a coding block in a current picture;

determining a first reference template in the first reference picture based on a current template of the coding block and the first motion vector;

determining a second reference template in the second reference picture based on the current template of the coding block and the second motion vector;

calculating a weight to be applied in a bi-prediction mode according to a cost function based on a square of an absolute difference between the current template and a predicted current template, the predicted current template being determined based on the first reference template, a constant value, and the second reference template;

encoding the coding block in the bitstream using the bi-prediction with the calculated weight; and

transmitting the encoded bitstream.