IP Library Granted Patent US 11,477,447
Granted Patent B2
US 11,477,447 · App. 17/032,741 · Granted Oct 18, 2022

Single pass filter coefficients selection

Inventors: Zohair Sahraoui (Markham, CA); Edward Harold (Markham, CA)
Assignee: ATI TECHNOLOGIES ULC
H04N19/117H04N19/103H04N19/147H04N19/149H04N19/176
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,477,447
App. No.
17/032,741
Granted
Oct 18, 2022
Kind
B2
Abstract

Techniques for encoding and decoding media content, and more specifically to selecting filter coefficients for filtering coding artifacts from the encoded media content are described. The filter coefficients are selected by an encoder for a given frame based on a statistical record of one or more previous frames in a data stream. The statistical record indicates the effectiveness of different sets of filter coefficients in reducing encoding artifacts for the one or more previous frames. By employing the statistical record to select filter coefficients for the next frame in the data stream, the encoder is able to select the filter coefficients relatively quickly, reducing encoding latency while ensuring that a decoder is able to effectively decode the encoded frames.

Claims (60)

1. A method comprising:

determining a subset of filter coefficient combinations of a set of filter coefficient combinations associated with a filter based on applying a cost function to a first frame of a frame stream, wherein the filter comprises a constrained directional enhancement filter comprising at least two non-linear low pass filters; and

providing the subset of filter coefficient combinations for filtering a second frame of the frame stream.

2. The method of claim 1 , wherein determining the subset of filter coefficient combinations comprises:

determining the subset of filter coefficient combinations based on applying the cost function to each coding block of the first frame.

3. The method of claim 1 , further comprising:

determining that the subset of filter coefficient combinations satisfy a cost function threshold; and

selecting the subset of filter coefficient combinations from the set of filter coefficient combinations associated with the filter based on determining that the subset of filter coefficient combinations satisfy the cost function threshold.

4. The method of claim 1 , further comprising:

analyzing each filter coefficient candidate of the set of filter coefficient combinations based on applying the cost function to the first frame of the frame stream;

updating a counter of one or more filter coefficient candidates of the set of filter coefficient combinations based on analyzing each filter coefficient candidate of the set of filter coefficient combinations; and

selecting the subset of filter coefficient combinations from the set of filter coefficient combinations based on the updated counter of the one or more filter coefficient candidates.

5. The method of claim 1 , further comprising:

determining a statistical model associated with the set of filter coefficient combinations based on applying the cost function to the first frame of the frame stream, wherein the statistical model identifies filter coefficient combinations for at least the first frame or the second frame, or both, of the frame stream.

6. The method of claim 5 , wherein determining the statistical model comprises:

determining a histogram representing a performance of the subset of filter coefficient combinations of the set of filter coefficient combinations associated with the filter based on applying the cost function to the first frame of the frame stream.

7. The method of claim 1 , further comprising:

determining an average of a performance metric associated with the subset of filter coefficient combinations; and

determining a standard deviation associated with the subset of filter coefficient combinations based on the determined average of the performance metric associated with the subset of filter coefficient combinations.

8. The method of claim 7 , further comprising:

removing one or more filter coefficient combinations of the subset of filter coefficient combinations based on the standard deviation;

selecting one or more additional filter coefficient combinations of the set of filter coefficient combinations based on a filter coefficient candidate selection procedure; and

including the one or more additional filter coefficient combinations to the subset of filter coefficient combinations for filtering the second frame of the frame stream.

9. The method of claim 8 , wherein selecting the one or more additional filter coefficient combinations comprises:

selecting the one or more additional filter coefficient combinations based on a filter coefficient combinations replacement value associated with each of the one or more additional filter coefficient combinations.

10. The method of claim 8 , wherein selecting the one or more additional filter coefficient combinations comprises:

selecting the one or more additional filter coefficient combinations based on the one or more additional filter coefficient combinations having a highest counter value compared to other filter coefficient combinations in the set of filter coefficient combinations.

11. The method of claim 8 , wherein selecting the one or more additional filter coefficient combinations comprises:

selecting the one or more additional filter coefficient combinations based on a round-robin operation on the set of filter coefficient combinations.

12. The method of claim 1 , further comprising:

generating a bitstream associated with the frame stream; and

inserting frame correlation information in the generated bitstream, wherein the frame correlation information comprises a respective subset of filter coefficient combinations for each frame of the frame stream.

13. The method of claim 1 , wherein the cost function comprises a rate distortion cost function.

14. The method of claim 1 , wherein each filter coefficient combination comprises a first filter coefficient of a first non-linear low pass filter of the at least two non-linear low pass filters and a second filter coefficient of a second non-linear low pass filter of the at least two non-linear low pass filters.

15. An apparatus comprising:

one or more processors;

memory coupled to the one or more processors; and

instructions executable by the one or more processors to:

determine a subset of filter coefficient combinations of a set of filter coefficient combinations associated with a filter based on applying a cost function to a first frame of a frame stream, wherein the filter comprises a constrained directional enhancement filter comprising at least two non-linear low pass filters; and

provide the subset of filter coefficient combinations for filtering a second frame of the frame stream.

16. The apparatus of claim 15 , wherein the instructions to determine the subset of filter coefficient combinations are further executable by the one or more processors to:

determine the subset of filter coefficient combinations based on applying the cost function to each coding block of the first frame.

17. The apparatus of claim 15 , wherein the instructions are further executable by the one or more processors to:

determine that the subset of filter coefficient combinations satisfy a cost function threshold; and

select the subset of filter coefficient combinations from the set of filter coefficient combinations associated with the filter based on determining that the subset of filter coefficient combinations satisfy the cost function threshold.

18. The apparatus of claim 15 , wherein the instructions are further executable by the one or more processors to:

analyze each filter coefficient candidate of the set of filter coefficient combinations based on applying the cost function to the first frame of the frame stream;

update a counter of one or more filter coefficient candidates of the set of filter coefficient combinations based on analyzing each filter coefficient candidate of the set of filter coefficient combinations; and

select the subset of filter coefficient combinations from the set of filter coefficient combinations based on the updated counter of the one or more filter coefficient candidates.

19. A method comprising:

determining a subset of filter coefficient combinations of a set of filter coefficient combinations associated with a filter based on applying a cost function to a first frame of a frame stream;

providing the subset of filter coefficient combinations for filtering a second frame of the frame stream; and

determining a statistical model associated with the set of filter coefficient combinations based on applying the cost function to the first frame of the frame stream, wherein the statistical model identifies filter coefficient combinations for at least the first frame or the second frame, or both, of the frame stream.

20. An apparatus comprising:

one or more processors;

memory coupled to the one or more processors; and

instructions executable by the one or more processors to:

determine a subset of filter coefficient combinations of a set of filter coefficient combinations associated with a filter based on applying a cost function to a first frame of a frame stream;

provide the subset of filter coefficient combinations for filtering a second frame of the frame stream; and

determine a statistical model associated with the set of filter coefficient combinations based on applying the cost function to the first frame of the frame stream, wherein the statistical model identifies filter coefficient combinations for at least the first frame or the second frame, or both, of the frame stream.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2021
From: SAHRAOUI, ZOHAIR; HAROLD, EDWARD
To: ATI TECHNOLOGIES ULC
Reel/Frame 055933/0143 →
Continuity (1)
Related Publication 20220103814A1 · Mar 31, 2022