IP Library Granted Patent US 12,075,037
Granted Patent B2
US 12,075,037 · App. 17/810,969 · Granted Aug 27, 2024

Predicting filter coefficients from fixed filters for video coding

Inventors: Marta Karczewicz (San Diego, CA); Wei-Jung Chien (San Diego, CA); Li Zhang (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/117H04N19/136H04N19/14H04N19/176H04N19/463H04N19/70H04N19/80H04N19/82G06T5/70H04N19/587
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,075,037
App. No.
17/810,969
Granted
Aug 27, 2024
Kind
B2
Abstract

An example device for filtering a decoded block of video data includes one or more processing units configured to construct filters for classes of blocks of a current picture of video data. To construct filters for each of the classes, the processing units are configured to determine a value of a flag that indicates whether a fixed filter is used to predict a set of filter coefficients of the class, and in response to the fixed filter being used to predict the set of filter coefficients, determine an index value into a set of fixed filters and predict the set of filter coefficients of the class using a fixed filter of the set of fixed filters identified by the index value.

Claims (59)

1. A method of filtering a decoded block of video data, the method comprising:

assigning a set of n fixed filters to each class of a plurality of classes of blocks of a current picture of video data, wherein a fixed filter is used to predict filter coefficients of a filter to be applied to a decoded block of video data;

for each class which uses a fixed filter, selecting a fixed filter of the set of n fixed filters, wherein a first fixed filter is selected for a first class, and a second fixed filter, different than the first fixed filter, is selected for a second class;

for each class that uses a fixed filter, generating the set of filter coefficients to be applied to a decoded block of video data of the class, including adding filter coefficients of the selected fixed filter to a set of signaled filter coefficients for the class, wherein a common set of signaled filter coefficients is used for at least the first class and the second class;

decoding a current block of a current picture of the video data;

determining a class for the current block;

selecting a generated set of filter coefficients that corresponds to the class for the current block; and

filtering at least one pixel of the current block using the selected set of filter coefficients.

2. The method of claim 1 , further comprising determining, for each of the classes, whether a fixed filter is used to predict the set of filter coefficients, including determining, for each of the classes, a value of a flag that indicates whether the fixed filter is used to predict the set of filter coefficients for the class.

3. The method of claim 1 , further comprising:

constructing a plurality of filters; and

determining a value representing one of:

that all of the sets of filter coefficients for all of the classes are predicted from at least one of the fixed filters; or

that some of the sets of filter coefficients of the classes are predicted from one or more of the fixed filters and the remaining sets of filter coefficients are not predicted from any of the fixed filters.

4. The method of claim 3 , further comprising, when the value represents that all of the sets of filter coefficients for all of the classes are predicted from at least one of the fixed filters, determining index values for each of the classes representing the one of the fixed filters from which the set of filter coefficients for the corresponding class is predicted.

5. The method of claim 3 , further comprising, when the value represents that all of the sets of filter coefficients for all of the classes are predicted from at least one of the fixed filters, preventing coding of a flag that indicates whether a fixed filter is used to predict a set of filter coefficients of each class.

6. The method of claim 3 , further comprising, when the value represents that some of the sets of filter coefficients of the classes are predicted from one or more of the fixed filters:

determining which of the classes correspond to sets of filter coefficients that are predicted from one or more of the fixed filters; and

for each of the sets of filter coefficients that are predicted from one or more of the fixed filters, determining the index value representing the fixed filter of the one or more fixed filters from which the corresponding set of filter coefficients is predicted.

7. The method of claim 1 , further comprising encoding the current block prior to decoding the current block.

8. A device for filtering a decoded block of video data, the device comprising:

a memory configured to store the video data; and

one or more processing units implemented in circuitry and configured to:

assign a set of n fixed filters to each class of a plurality of classes of blocks of a current picture of video data, wherein a fixed filter is used to predict filter coefficients of a filter to be applied to a decoded block of video data;

for each class that uses a fixed filter, selecting a fixed filter of the set of n fixed filters, wherein a first fixed filter is selected for a first class, and a second fixed filter, different than the first fixed filter, is selected for a second class;

for each class which uses a fixed filter, generate the set of filter coefficients to be applied to a decoded block of video data of the class by adding filter coefficients of the selected fixed filter to a set of signaled filter coefficients of the class, wherein a common set of signaled filter coefficients is used for at least the first class and the second class;

decode a current block of a current picture of the video data;

determine a class for the current block;

select the generated set of filter coefficients that corresponds to the class for the current block; and

filter at least one pixel of the current block using the selected set of filter coefficients.

9. The device of claim 8 , wherein the one or more processing units are further configured to determine, for each of the classes, whether a fixed filter is used to predict the set of filter coefficients according to a value of a flag that indicates whether the fixed filter is used to predict the set of filter coefficients for the class.

10. The device of claim 8 , wherein the one or more processing units are further configured to:

construct a plurality of filters; and

determine a value representing one of:

that all of the sets of filter coefficients for all of the classes are predicted from at least one of the fixed filters; or

that some of the sets of filter coefficients of the classes are predicted from one or more of the fixed filters and the remaining sets of filter coefficients are not predicted from any of the fixed filters.

11. The device of claim 10 , wherein the one or more processing units are further configured to, when the value represents that all of the sets of filter coefficients for all of the classes are predicted from at least one of the fixed filters, determine index values for each of the classes representing the one of the fixed filters from which the set of filter coefficients for the corresponding class is predicted.

12. The device of claim 10 , wherein the one or more processing units are further configured to, when the value represents that all of the sets of filter coefficients for all of the classes are predicted from at least one of the fixed filters, prevent coding of a flag that indicates whether a fixed filter is used to predict a set of filter coefficients of each class.

13. The device of claim 10 , wherein the one or more processing units are further configured to, when the value represents that some of the sets of filter coefficients of the classes are predicted from one or more of the fixed filters:

determine which of the classes correspond to sets of filter coefficients that are predicted from one or more of the fixed filters; and

for each of the sets of filter coefficients that are predicted from one or more of the fixed filters, determine the index value representing the fixed filter of the one or more fixed filters from which the corresponding set of filter coefficients is predicted.

14. The device of claim 8 , wherein the one or more processing units are further configured to encode the current block prior to decoding the current block.

15. The device of claim 8 , wherein the device is a wireless communication device, further comprising:

a receiver configured to receive video data including the current picture.

16. The device of claim 15 , wherein the wireless communication device is a cellular telephone and the video data is received by the receiver and modulated according to a cellular communication standard.

17. A non-transitory computer-readable storage medium having stored therein instructions that, when executed, cause a processor to:

assign a set of n fixed filters to each class of a plurality of classes of blocks of a current picture of video data, wherein a fixed filter is used to predict filter coefficients of a filter to be applied to a decoded block of video data;

for each class that uses a fixed filter, select a fixed filter of the set of n fixed filters, wherein a first fixed filter is selected for a first class, and a second fixed filter, different than the first fixed filter, is selected for a second class;

for each class that uses a fixed filter, generate the set of filter coefficients to be applied to a decoded block of video data of the class, including instructions that cause the processor to add filter coefficients of the selected fixed filter to a set of signaled filter coefficients for the class, wherein a common set of signaled filter coefficients is used for at least the first class and the second class;

decode a current block of a current picture of the video data;

determine a class for the current block; selecting a generated set of filter coefficients that corresponds to the class for the current block; and

filter at least one pixel of the current block using the selected set of filter coefficients.

18. The non-transitory computer-readable storage medium of claim 17 , further comprising instructions that cause the processor to determine, for each of the classes, whether a fixed filter is used to predict the set of filter coefficients, including instructions that cause the processor to determine, for each of the classes, a value of a flag that indicates whether the fixed filter is used to predict the set of filter coefficients for the class.

19. The non-transitory computer-readable storage medium of claim 17 , further comprising instructions that cause the processor to:

construct a plurality of filters; and

determine a value representing one of:

that all of the sets of filter coefficients for all of the classes are predicted from at least one of the fixed filters; or

that some of the sets of filter coefficients of the classes are predicted from one or more of the fixed filters and the remaining sets of filter coefficients are not predicted from any of the fixed filters.

20. The non-transitory computer-readable storage medium of claim 17 , further comprising instructions that cause the processor to encode the current block prior to decoding the current block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2022
From: KARCZEWICZ, MARTA; CHIEN, WEI-JUNG; ZHANG, LI
To: QUALCOMM INCORPORATED
Reel/Frame 060413/0504 →
Continuity (4)
Continuation 15432848 · Feb 14, 2017
Provisional Application 62324776 · Apr 19, 2016
Provisional Application 62295461 · Feb 15, 2016
Related Publication 20220337825A1 · Oct 20, 2022
Cited By (1)
US 12,470,709