IP Library › Granted Patent US 12,058,338
Granted Patent B2
US 12,058,338 · App. 17/531,144 · Granted Aug 6, 2024

Method and apparatus of local illumination compensation for inter prediction

Inventors: Alexey Konstantinovich Filippov (Moscow, RU); Vasily Alexeevich Rufitskiy (Moscow, RU)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N19/139H04N19/105H04N19/117H04N19/176H04N19/198
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 12,058,338
App. No.
17/531,144
Granted
Aug 6, 2024
Kind
B2
Abstract

A method and apparatus for local illumination compensation (LIC) for inter-prediction that uses a MinMax method to derive linear model parameters for the LIC. Values of parameters α and β for the linear model of the LIC are derived, based on reconstructed neighboring samples of the current block and reconstructed neighboring samples of the reference block. When a condition for the value of β is met, the value of α is clipped based on the value of β and the value of β is updated based on the clipped value of α before updating the inter-predicted sample values for the current block.

Claims (65)

1. An apparatus for a local illumination compensation (LIC) for inter-prediction coding, wherein the apparatus comprises:

a memory configured to store instructions; and

one or more processors coupled to the memory, wherein the instructions cause the one or more processors to be configured to:

obtain inter-predicted sample values for a current block using motion compensation;

derive values of α and β for a linear model of the LIC based on at least one reconstructed neighboring sample above the current block or reconstructed neighboring samples left of the current block, and at least one reconstructed neighboring sample above at least one reference block or reconstructed neighboring samples left of the at least one reference block,

wherein the at least one reference block corresponds to the current block,

wherein the value of β is based on a first mean value of a first set of reconstructed neighboring samples of the current block and a second mean value of a second set of reconstructed neighboring samples of the at least one reference block,

wherein the first mean value is derived using a weighted sum of a third mean value of a set of reconstructed neighboring samples above the current block and a fourth mean value of a set of reconstructed neighboring samples left of the current block,

wherein a weighting coefficient is applied either to the third mean value or the fourth mean value depending on whether a width of the current block is greater than a height of the current block,

wherein the second mean value is derived using a weighted sum of a fifth mean value of a set of reconstructed neighboring samples above the at least one reference block and a sixth mean value of a set of reconstructed neighboring samples left of the at least one reference block, and

wherein the weighting coefficient is applied either to the fifth mean value or the sixth mean value depending on whether a width of the at least one reference block is greater than a height of the at least one reference block;

update the inter-predicted sample values using the linear model and based on a and β, wherein, when a condition for a value of β is met, a value of α is clipped based on the value of β to obtain a clipped value of α and the value of β is updated based on the clipped value of α before updating the inter-predicted sample values; and

set the value of α to be equal to min(α, α max ) when β<0,

wherein α max represents a maximum value of a clipping range of the value of α.

2. The apparatus of claim 1 , wherein the condition for the value of β is met, and wherein before updating the inter-predicted sample values, the instructions further cause the one or more processors to be configured to:

clip the value of α based on the value of β to obtain the clipped value of α; and

update the value of β based on the clipped value of α.

3. The apparatus of claim 1 , wherein an absolute value of β is larger than a threshold T β , and wherein the value of α is clipped.

4. The apparatus of claim 1 , wherein the instructions further cause the one or more processors to be configured to set the value of α to be equal to max(α, α min ) when β>0, and wherein α min represents a minimum value of the clipping range of the value of α.

5. The apparatus of claim 1 , wherein the instructions further cause the one or more processors to be configured to clip the value of β before updating the inter-predicted sample values.

6. The apparatus of claim 5 , wherein after updating the value of β based on the clipped value of α, the instructions further cause the one or more processors to be configured to clip the value of β.

7. The apparatus of claim 5 , wherein the instructions further cause the one or more processors to be configured to clip the value of β after clipping the value of α.

8. The apparatus of claim 1 , wherein the instructions further cause the one or more processors to be configured to:

process at least one of the reconstructed neighboring samples above the current block or the reconstructed neighboring samples left of the current block by applying a first finite impulse response (FIR) filter; or

process at least one of the reconstructed neighboring samples above the at least one reference block or the reconstructed neighboring samples left of the at least one reference block by applying a second FIR filter.

9. The apparatus of claim 8 , wherein the instructions further cause the one or more processors to be configured to apply each of the first FIR filter and the second FIR filter when the current block is predicted using a non-affine motion compensation model.

10. The apparatus of claim 1 , wherein the instructions further cause the one or more processors to be configured to calculate the first mean value based on a sum of available reconstructed neighboring samples of the current block using a shift operation and a multiplication, and wherein the shift operation depends on a number of available reconstructed neighboring samples of the current block.

11. The apparatus of claim 10 , wherein the instructions further cause the one or more processors to be configured to further calculate the first mean value as follows:

Mean=(( S T 1+shiftOffset)·mult)»shift; and

shiftOffset= C T »1,

wherein S T1 represents the sum of the available reconstructed neighboring samples of the current block, wherein C T represents the number of available reconstructed neighboring samples of the current block, and wherein mult represents a multiplier fetched from a lookup table.

12. The apparatus of claim 1 , wherein the instructions further cause the one or more processors to be configured to calculate the second mean value based on a sum of available reconstructed neighboring samples of the at least one reference block using a shift operation and a multiplication, and wherein the shift operation depends on a number of available reconstructed neighboring samples of the at least one reference block.

13. The apparatus of claim 12 , wherein the instructions further cause the one or more processors to be configured to further calculate the second mean as follows:

Mean=(( S T2 +shiftOffset)·mult)»shift;

shiftOffset= C T »1,

wherein S T2 represents the sum of the available reconstructed neighboring samples of the at least one reference block, wherein C T represents the number of available reconstructed neighboring samples of the at least one reference block, and wherein mult represents a multiplier fetched from a lookup table.

14. The apparatus of claim 10 , wherein the available reconstructed neighboring samples of the current block comprise at least one of available reconstructed neighboring samples above the current block or available reconstructed neighboring samples left of the current block, or wherein the available reconstructed neighboring samples of the at least one reference block comprise at least one of available reconstructed neighboring samples above the at least one reference block or available reconstructed neighboring samples left of the at least one reference block.

15. The apparatus of claim 1 , wherein the reconstructed neighboring samples above the current block comprise a single row of reconstructed samples adjacent to the current block, or wherein the reconstructed neighboring samples left of the current block comprise a single column of reconstructed samples left of the current block.

16. The apparatus of claim 1 , wherein the reconstructed neighboring samples above the at least one reference block comprise a single row of reconstructed samples adjacent to the at least one reference block, or wherein the reconstructed neighboring samples left of the at least one reference block comprise a single column of reconstructed samples left of the at least one reference block.

17. A method for local illumination compensation (LIC) for inter-prediction coding, wherein the method comprises:

obtaining inter-predicted sample values for a current block using motion compensation;

deriving values of α and β for a linear model of the LIC based on at least one reconstructed neighboring sample above the current block or reconstructed neighboring samples left of the current block, and at least one reconstructed neighboring sample above at least one reference block or reconstructed neighboring samples left of the at least one reference block, wherein the at least one reference block corresponds to the current block,

wherein the value of β is based on a first mean value of a first set of reconstructed neighboring samples of the current block and a second mean value of a second set of reconstructed neighboring samples of the at least one reference block,

wherein the first mean value is derived using a weighted sum of a third mean value of a set of reconstructed neighboring samples above the current block and a fourth mean value of a set of reconstructed neighboring samples left of the current block,

wherein a weighting coefficient is applied either to the third mean value or the fourth mean value depending on whether a width of the current block is greater than a height of the current block,

wherein the second mean value is derived using a weighted sum of a fifth mean value of a set of reconstructed neighboring samples above the at least one reference block and a sixth mean value of a set of reconstructed neighboring samples left of the at least one reference block, and

wherein the weighting coefficient is applied either to the fifth mean value or the sixth mean value depending on whether a width of the at least one reference block is greater than a height of the at least one reference block;

updating the inter-predicted sample values for the current block using the linear model based on α and β, wherein, when a condition for a value of β is met, a value of α is clipped based on the value of β to obtain a clipped value of α and the value of β is updated based on the clipped value of α before updating the inter-predicted sample values; and

setting the value of α to be equal to min(α, α max ) when β<0, wherein α max represents a maximum value of a clipping range of the value of α.

18. A computer program product comprising computer-executable instructions that are stored on a non-transitory computer-readable medium and that, when executed by one or more processors, cause an apparatus to:

obtain inter-predicted sample values for a current block using motion compensation;

derive values of α and β for a linear model of local illumination compensation (LIC) based on at least one reconstructed neighboring sample above the current block or reconstructed neighboring samples left of the current block, and at least one reconstructed neighboring sample above at least one reference block or reconstructed neighboring samples left of the at least one reference block, wherein the at least one reference block corresponds to the current block,

wherein the value of β is based on a first mean value of a first set of reconstructed neighboring samples of the current block and a second mean value of a second set of reconstructed neighboring samples of the at least one reference block,

wherein the first mean value is derived using a weighted sum of a third mean value of a set of reconstructed neighboring samples above the current block and a fourth mean value of a set of reconstructed neighboring samples left of the current block,

wherein a weighting coefficient is applied either to the third mean value or the fourth mean value depending on whether a width of the current block is greater than a height of the current block,

wherein the second mean value is derived using a weighted sum of a fifth mean value of α set of reconstructed neighboring samples above the at least one reference block and a sixth mean value of a set of reconstructed neighboring samples left of the at least one reference block, and

wherein the weighting coefficient is applied either to the fifth mean value or the sixth mean value depending on whether a width of the at least one reference block is greater than a height of the at least one reference block;

update the inter-predicted sample values using the linear model based on α and β, wherein, when a condition for a value of β is met, a value of α is clipped based on the value of β to obtain a clipped value of α and the value of β is updated based on the clipped value of α before updating the inter-predicted sample values for the current block; and

set the value of α to be equal to min(α, α max ) when β<0, wherein α max represents a maximum value of a clipping range of the value of α.

19. The method of claim 17 , further comprising:

clipping the value of α based on the value of β to obtain the clipped value of α; and

updating the value of β based on the clipped value of α.

20. The computer program product of claim 18 , wherein the computer-executable instructions, when executed by the one or more processors, further cause the apparatus to:

clip the value of α based on the value of β to obtain the clipped value of α; and

update the value of β based on the clipped value of α.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2022
From: FILIPPOV, ALEXEY KONSTANTINOVICH; RUFITSKIY, VASILY ALEXEEVICH
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 058676/0141 →
Priority Claims (2)
WO PCT/RU2019/000349 · May 21, 2019 · international
WO PCT/RU2019/000399 · Jun 4, 2019 · international
Continuity (2)
Continuation PCTRU2020050102 · May 21, 2020
Related Publication 20220124343A1 · Apr 21, 2022