IP Library › Granted Patent US 11,778,177
Granted Patent B2
US 11,778,177 · App. 17/557,706 · Granted Oct 3, 2023

Adaptive loop filter with fixed filters

Inventors: Marta Karczewicz (San Diego, CA); Nan Hu (San Diego, CA); Vadim Seregin (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/117H04N19/124H04N19/132H04N19/14H04N19/159H04N19/176H04N19/70
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 11,778,177
App. No.
17/557,706
Granted
Oct 3, 2023
Kind
B2
Abstract

A video decoder can be configured to apply a first stage adaptive loop filter (ALF) to a reconstructed sample by determining a first class index for the reconstructed sample, selecting a filter from a first set of filters based on the first class index, and applying the filter from the first set of filters to the reconstructed sample to determine a first intermediate sample value; apply a second stage ALF to the reconstructed sample by determining a second class index for the reconstructed sample; select a second filter from a second set of filters based on the second class index, applying the second filter to the reconstructed sample to determine a first sample modification value, and determining a second sample modification value based on the first intermediate sample value; and determine a filtered reconstructed sample based on the reconstructed sample and the first and second sample modification values.

Claims (103)

1. A method of decoding video data, the method comprising:

applying a first stage adaptive loop filter (ALF) to a reconstructed sample of a reconstructed block for a color component, wherein applying the first stage ALF comprises:

determining a first class index for the reconstructed sample;

selecting a filter from a first set of filters based on the first class index; and

applying the filter from the first set of filters to the reconstructed sample to determine a first intermediate sample value;

applying a second stage ALF to the reconstructed sample of the reconstructed block for the color component, wherein applying the second stage ALF comprises:

determining a second class index for the reconstructed sample;

selecting a second filter from a second set of filters based on the second class index;

applying the second filter to the reconstructed sample to determine a first sample modification value;

determining a second sample modification value based on a difference between the reconstructed sample and the first intermediate sample value; and

determining a filtered reconstructed sample based on the reconstructed sample, the first sample modification value, and the second sample modification value.

2. The method of claim 1 , wherein the first set of filters comprises fixed filters and the second set of filters comprises signaled filters determined based on syntax signaled in the video data.

3. The method of claim 1 , wherein determining the first class index comprises:

determining an activity value for the reconstructed sample;

determining a direction for the reconstructed sample; and

determining the first class index based on the activity value and the direction.

4. The method of claim 3 , wherein determining the direction comprises assigning one of 56 values to the direction.

5. The method of claim 1 , wherein determining the filtered reconstructed sample based on the reconstructed sample, the first sample modification value, and the second sample modification value comprises adding the first sample modification value and the second sample modification value to the reconstructed sample.

6. The method of claim 1 , wherein determining the second sample modification value based on the first intermediate sample value comprises clipping the second sample modification value to determine a clipped sample modification value and adding the first sample modification value and the clipped sample modification value to the reconstructed sample.

7. The method of claim 6 , further comprising:

receiving, in the video data, the clipped sample modification value.

8. The method of claim 1 , further comprising:

selecting the first set of filters from a plurality of sets of fixed filters based on a quantization parameter for the reconstructed block.

9. The method of claim 1 , wherein

applying the first stage ALF further comprises determining a third class index for the reconstructed sample, selecting a third filter from a third set of filters based on the third class index, and applying the third filter from the third set of filters to the reconstructed sample to determine a second intermediate sample value;

applying the second stage ALF to the reconstructed sample further comprises:

determining a third sample modification value based on the first intermediate sample value and the second intermediate sample value; and

determining the filtered reconstructed sample based on the reconstructed sample, the first sample modification value, the second sample modification value, and the third sample modification value.

10. The method of claim 1 , further comprising:

adding a predicted sample value to a residual sample value to determine the reconstructed sample.

11. The method of claim 10 , further comprising:

applying a deblocking filter to a sum of the predicted sample value and the residual sample value to determine the reconstructed sample.

12. The method of claim 1 , further comprising:

outputting a decoded picture of the video data, wherein the decoded picture comprises the filtered reconstructed sample.

13. The method of claim 1 , wherein the method of decoding is performed as part of a video encoding process.

14. A device for decoding video data, the device comprising:

a memory configured to store video data;

one or more processors implemented in circuitry and configured to:

apply a first stage adaptive loop filter (ALF) to a reconstructed sample of a reconstructed block for a color component, wherein to apply the first stage ALF, the one or more processors are further configured to:

determine a first class index for the reconstructed sample;

select a filter from a first set of filters based on the first class index; and

apply the filter from the first set of filters to the reconstructed sample to determine a first intermediate sample value;

apply a second stage ALF to the reconstructed sample of the reconstructed block for the color component, wherein to apply the second stage ALF, the one or more processors are further configured to:

determine a second class index for the reconstructed sample;

select a second filter from a second set of filters based on the second class index;

apply the second filter to the reconstructed sample to determine a first sample modification value;

determine a second sample modification value based on a difference between the reconstructed sample and the first intermediate sample value; and

determine a filtered reconstructed sample based on the reconstructed sample, the first sample modification value, and the second sample modification value.

15. The device of claim 14 , wherein the first set of filters comprises fixed filters and the second set of filters comprises signaled filters determined based on syntax signaled in the video data.

16. The device of claim 14 , wherein to determine the first class index, the one or more processors are further configured to:

determine an activity value for the reconstructed sample;

determine a direction for the reconstructed sample; and

determine the first class index based on the activity value and the direction.

17. The device of claim 16 , wherein to determine the direction, the one or more processors are further configured to assign one of 56 values to the direction.

18. The device of claim 14 , wherein to determine the filtered reconstructed sample based on the reconstructed sample, the first sample modification value, and the second sample modification value, the one or more processors are further configured to add the first sample modification value and the second sample modification value to the reconstructed sample.

19. The device of claim 14 , wherein to determine the second sample modification value based on the first intermediate sample value, the one or more processors are further configured to clip the second sample modification value to determine a clipped sample modification value and adding the first sample modification value and the clipped sample modification value to the reconstructed sample.

20. The device of claim 19 , wherein the one or more processors are further configured to:

receive, in the video data, the clipped sample modification value.

21. The device of claim 14 , wherein the one or more processors are further configured to:

select the first set of filters from a plurality of sets of fixed filters based on a quantization parameter for the reconstructed block.

22. The device of claim 14 , wherein

to apply the first stage ALF, the one or more processors are further configured to determine a third class index for the reconstructed sample, select a third filter from a third set of filters based on the third class index, and apply the third filter from the third set of filters to the reconstructed sample to determine a second intermediate sample value;

to apply the second stage ALF to the reconstructed sample, the one or more processors are further configured to:

determine a third sample modification value based on the first intermediate sample value and the second intermediate sample value; and

determine the filtered reconstructed sample based on the reconstructed sample, the first sample modification value, the second sample modification value, and the third sample modification value.

23. The device of claim 14 , wherein the one or more processors are further configured to:

add a predicted sample value to a residual sample value to determine the reconstructed sample.

24. The device of claim 23 , wherein the one or more processors are further configured to:

apply a deblocking filter to a sum of the predicted sample value and the residual sample value to determine the reconstructed sample.

25. The device of claim 14 , wherein the one or more processors are further configured to:

output a decoded picture of the video data, wherein the decoded picture comprises the filtered reconstructed sample.

26. The device of claim 14 , wherein the device comprises a video encoding device.

27. The device of claim 26 , wherein the device comprises a wireless communication device, further comprising a receiver configured to receive encoded video data.

28. The device of claim 27 , wherein the wireless communication device comprises a telephone handset and wherein the receiver is configured to demodulate, according to a wireless communication standard, a signal comprising the encoded video data.

29. The device of claim 14 , further comprising:

a display configured to display decoded video data.

30. The device of claim 14 , wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

31. The device of claim 14 , wherein the device comprises a video encoding device.

32. A non-transitory computer-readable storage medium storing instructions that when executed by one or more processors cause the one or more processors to:

apply a first stage adaptive loop filter (ALF) to a reconstructed sample of a reconstructed block for a color component, wherein to apply the first stage ALF, the one or more processors are further configured to:

determine a first class index for the reconstructed sample;

select a filter from a first set of filters based on the first class index; and

apply the filter from the first set of filters to the reconstructed sample to determine a first intermediate sample value;

apply a second stage ALF to the reconstructed sample of the reconstructed block for the color component, wherein to apply the second stage ALF, the one or more processors are further configured to:

determine a second class index for the reconstructed sample;

select a second filter from a second set of filters based on the second class index;

apply the second filter to the reconstructed sample to determine a first sample modification value;

determining a second sample modification value based on a difference between the reconstructed sample and the first intermediate sample value; and

determine a filtered reconstructed sample based on the reconstructed sample, the first sample modification value, and the second sample modification value.

33. The method of claim 1 , wherein the second set of filters comprises filters signaled in the video data.

34. The method of claim 1 , wherein determining the second sample modification value based on the first intermediate sample value comprises:

determining a third filter from the second set of filters;

applying the third filter to the first intermediate sample value to determine the second sample modification value.

35. The method of claim 1 , wherein determining the second sample modification value based on the first intermediate sample value further comprises:

clipping the second sample modification value to determine a clipped sample modification value in response to the difference between the reconstructed sample and the first intermediate sample value being greater than a threshold value; and

adding the first sample modification value and the clipped sample modification value to the reconstructed sample.

36. The device of claim 14 , wherein the second set of filters comprises filters signaled in the video data.

37. The device of claim 14 , wherein to determine the second sample modification value based on the first intermediate sample value, the one or more processors are further configured to:

determine a third filter from the second set of filters;

apply the third filter to the first intermediate sample value to determine the second sample modification value.

38. The device of claim 14 , wherein to determine the second sample modification value based on the first intermediate sample value, the one or more processors are further configured to:

clip the second sample modification value to determine a clipped sample modification value in response to the difference between the reconstructed sample and the first intermediate sample value being greater than a threshold value; and

add the first sample modification value and the clipped sample modification value to the reconstructed sample.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2022
From: KARCZEWICZ, MARTA; HU, NAN; SEREGIN, VADIM
To: QUALCOMM INCORPORATED
Reel/Frame 058633/0838 →
Continuity (3)
Provisional Application 63148538 · Feb 11, 2021
Provisional Application 63130275 · Dec 23, 2020
Related Publication 20220201292A1 · Jun 23, 2022
Cited By (3)
US 12,627,797 US 12,641,296 US 12,684,120