IP Library Granted Patent US 12701225
Granted Patent B2
US 12701225 · App. 17/955,223 · Granted Aug 4, 2026

Adaptive loop filter classification and selection for video coding

Inventors: Ximin Zhang (San Jose, CA); Yi-Jen Chiu (San Jose, CA); Keith Rowe (Shingle Springs, CA)
Assignee: Intel Corporation
H04N19/117H04N19/172H04N19/186H04N19/82
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 12701225
App. No.
17/955,223
Granted
Aug 4, 2026
Kind
B2
Abstract

Example methods, apparatus, systems and articles of manufacture to implement adaptive loop filter classification and selection for video coding are disclosed. Examples disclosed herein determine whether a collection of available adaptive loop filter sets associated with luma components of the input picture is empty. When the collection of available adaptive loop filter sets is not empty, disclosed examples also enable adaptive loop filtering for the luma components of the input picture, and select at least one of the collection of available adaptive loop filter sets to include in a selection of adaptive loop filter sets for the input picture, with the selection based on an order in which ones of the available adaptive loop filter sets in the collection were derived. Some disclosed examples additionally or alternatively perform block classification to determine accumulated class statistics for derivation of an adaptive loop filter set associated with the input picture.

Claims (64)

1 . An apparatus comprising:

at least one memory;

machine readable instructions; and

at least one processor circuit to be programmed based on the machine readable instructions to:

determine whether a collection of available adaptive loop filter sets associated with luma components of an input picture of a video is empty; and

based on the collection of available adaptive loop filter sets not being empty:

enable adaptive loop filtering for the luma components of the input picture;

select a first number of the adaptive loop filter sets in the collection of available adaptive loop filter sets to include in a selection of adaptive loop filter sets for the input picture based on a resolution of the input picture being less than a threshold; and

select a second number of the adaptive loop filter sets in the collection of available adaptive loop filter sets to include in the selection of adaptive loop filter sets for the input picture based on the resolution of the input picture being greater than the threshold, the second number greater than the first number, the selection of adaptive loop filter sets to be used to perform adaptive loop filtering of luma components of a decoded picture corresponding to the input picture.

2 . The apparatus of claim 1 , wherein the available adaptive loop filter sets in the collection were derived for corresponding pictures of the video that preceded the input picture.

3 . The apparatus of claim 1 , wherein the first number is at least one and the second number is less than an upper limit of a size of the collection of available adaptive loop filter sets.

4 . The apparatus of claim 1 , wherein the first number of the adaptive loop filter sets includes a first quantity of most recently derived adaptive loop filter sets in the collection of available adaptive loop filter sets, and the second number of the adaptive loop filter sets includes a second quantity of the most recently derived adaptive loop filter sets in the collection of available adaptive loop filter sets.

5 . The apparatus of claim 1 , wherein one or more of the at least one processor circuit is to:

reduce a quantity of the adaptive loop filter sets in the selection of adaptive loop filter sets for the input picture based on a quantization parameter used to encode the input picture being greater than a first threshold; and

increase the quantity of the adaptive loop filter sets in the selection of adaptive loop filter sets for the input picture based on the quantization parameter used to encode the input picture being less than a second threshold.

6 . The apparatus of claim 5 , wherein the second threshold is equal to the first threshold.

7 . The apparatus of claim 5 , wherein the second threshold is less than the first threshold.

8 . The apparatus of claim 1 , wherein one or more of the at least one processor circuit is to generate the selection of adaptive loop filter sets for the input picture without performing a multiple pass search over the collection of available adaptive loop filter sets.

9 . The apparatus of claim 1 , wherein one or more of the at least one processor circuit is to disable adaptive loop filtering associated with the luma components of the input picture based on the collection of available adaptive loop filter sets being empty.

10 . The apparatus of claim 1 , wherein the collection of available adaptive loop filter sets is a first collection, and one or more of the at least one processor circuit is to:

determine whether a second collection of available adaptive loop filter sets associated with chroma components of the input picture is empty;

disable adaptive loop filtering associated with the chroma components of the input picture based on the second collection of available adaptive loop filter sets being empty; and

based on the second collection of available adaptive loop filter sets not being empty, determine whether to enable adaptive loop filtering associated with the chroma components of the input picture based on an encoding mode for the input picture.

11 . The apparatus of claim 10 , wherein one or more of the at least one processor circuit is to enable adaptive loop filtering associated with the chroma components of the input picture based on an intra picture encoding mode being active for the input picture.

12 . The apparatus of claim 10 , wherein one or more of the at least one processor circuit is to, based on an inter picture encoding mode being active for the input picture, determine whether to enable adaptive loop filtering associated with the chroma components of the input picture based on a location of the input picture in a coding group of pictures and a quantization parameter used to encode the input picture.

13 . The apparatus of claim 10 , wherein one or more of the at least one processor circuit is to:

determine whether a third collection of available adaptive loop filter sets for cross channel loop filtering associated with the input picture is empty;

disable cross channel adaptive loop filtering associated with the input picture based on the third collection of available adaptive loop filter sets being empty; and

based on the third collection of available adaptive loop filter sets not being empty, determine whether to enable cross channel adaptive loop filtering associated with the input picture based on a location of the input picture in a coding group of pictures and a quantization parameter used to encode the input picture.

14 . At least one non-transitory computer readable medium comprising computer readable instructions to cause at least one processor circuit to at least:

determine that a collection of available adaptive loop filter sets associated with luma components of an input picture of a video is not empty;

select a first number of the adaptive loop filter sets in the collection of available adaptive loop filter sets to include in a selection of adaptive loop filter sets for the input picture based on a resolution of the input picture being less than a threshold; and

select a second number of the adaptive loop filter sets in the collection of available adaptive loop filter sets to include in the selection of adaptive loop filter sets for the input picture based on the resolution of the input picture being greater than the threshold, the second number greater than the first number, the selection of adaptive loop filter sets to be signaled to a video decoder that is to perform adaptive loop filtering of luma components of a decoded picture corresponding to the input picture.

15 . The at least one non-transitory computer readable medium of claim 14 , wherein the first number is at least one and the second number is less than an upper limit of a size of the collection of available adaptive loop filter sets.

16 . The at least one non-transitory computer readable medium of claim 14 , wherein the first number of the adaptive loop filter sets includes a first quantity of most recently derived adaptive loop filter sets in the collection of available adaptive loop filter sets to include in the selection of adaptive loop filter sets, and the second number of the adaptive loop filter sets includes a second quantity of the most recently derived adaptive loop filter sets in the collection of available adaptive loop filter sets.

17 . The at least one non-transitory computer readable medium of claim 14 , wherein the instructions are to cause one or more of the at least one processor circuit to:

reduce a quantity of the adaptive loop filter sets in the selection of adaptive loop filter sets for the input picture based on a quantization parameter used to encode the input picture being greater than a first threshold; and

increase the quantity of the adaptive loop filter sets in the selection of adaptive loop filter sets for the input picture based on the quantization parameter used to encode the input picture being less than a second threshold.

18 . The at least one non-transitory computer readable medium of claim 14 , wherein the collection of available adaptive loop filter sets is a first collection, and the instructions are to cause one or more of the at least one processor circuit to:

determine whether a second collection of available adaptive loop filter sets associated with chroma components of the input picture is empty;

disable adaptive loop filtering associated with the chroma components of the input picture based on the second collection of available adaptive loop filter sets being empty; and

based on the second collection of available adaptive loop filter sets not being empty, determine whether to enable adaptive loop filtering associated with the chroma components of the input picture based on an encoding mode for the input picture.

19 . The at least one non-transitory computer readable medium of claim 18 , wherein the instructions are to cause one or more of the at least one processor circuit to:

determine whether a third collection of available adaptive loop filter sets for cross channel loop filtering associated with the input picture is empty;

disable cross channel adaptive loop filtering associated with the input picture based on the third collection of available adaptive loop filter sets being empty; and

based on the third collection of available adaptive loop filter sets not being empty, determine whether to enable cross channel adaptive loop filtering associated with the input picture based on a location of the input picture in a coding group of pictures and a quantization parameter used to encode the input picture.

20 . A method comprising:

enabling adaptive loop filtering for luma components of an input picture of a video based on a collection of available adaptive loop filter sets associated with the luma components of the input picture not being empty;

selecting, by executing an instruction with at least one processor circuit, a first number of the collection of available adaptive loop filter sets to include in a selection of adaptive loop filter sets for the input picture based on a resolution of the input picture being less than a threshold;

selecting, by one or more of the at least one processor circuit, a second number of the adaptive loop filter sets in the collection of available adaptive loop filter sets to include in the selection of adaptive loop filter sets for the input picture based on the resolution of the input picture being greater than the threshold, the second number greater than the first number; and

signaling the selection of adaptive loop filter sets to a video decoder that is to perform adaptive loop filtering of luma components of a decoded picture corresponding to the input picture.

21 . The method of claim 20 , wherein the first number is at least one and the second number is less than an upper limit of a size of the collection of available adaptive loop filter sets.

22 . The method of claim 20 , wherein the first number of the adaptive loop filter sets includes a first quantity of most recently derived adaptive loop filter sets in the collection of available adaptive loop filter sets, and the second number of the adaptive loop filter sets includes a second quantity of the most recently derived adaptive loop filter sets in the collection of available adaptive loop filter sets.

23 . The method of claim 20 , including:

reducing a quantity of the adaptive loop filter sets in the selection of adaptive loop filter sets for the input picture based on a quantization parameter used to encode the input picture being greater than a first threshold; and

increasing the quantity of the adaptive loop filter sets in the selection of adaptive loop filter sets for the input picture based on the quantization parameter used to encode the input picture being less than a second threshold.

24 . The method of claim 20 , wherein the collection of available adaptive loop filter sets is a first collection, and including:

determining whether a second collection of available adaptive loop filter sets associated with chroma components of the input picture is empty;

disabling adaptive loop filtering associated with the chroma components of the input picture based on the second collection of available adaptive loop filter sets being empty; and

based on the second collection of available adaptive loop filter sets not being empty, determining whether to enable adaptive loop filtering associated with the chroma components of the input picture based on an encoding mode for the input picture.

25 . The method of claim 24 , including:

determining whether a third collection of available adaptive loop filter sets for cross channel loop filtering associated with the input picture is empty;

disabling cross channel adaptive loop filtering associated with the input picture based on the third collection of available adaptive loop filter sets being empty; and

based on the third collection of available adaptive loop filter sets not being empty, determining whether to enable cross channel adaptive loop filtering associated with the input picture based on a location of the input picture in a coding group of pictures and a quantization parameter used to encode the input picture.