IP Library Granted Patent US 12676969
Granted Patent B2
US 12676969 · App. 18/398,333 · Granted Jul 7, 2026

Systems and methods for image filtering

Inventors: Xue Zhang (Hangzhou, CN); Cheng Fang (Hangzhou, CN); Dong Jiang (Hangzhou, CN); Jucai Lin (Hangzhou, CN); Jun Yin (Hangzhou, CN)
Assignee: ZHEJIANG DAHUA TECHNOLOGY CO., LTD.
H04N19/117G06T3/40H04N19/176H04N19/186H04N19/59H04N19/70H04N19/80
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 12676969
App. No.
18/398,333
Granted
Jul 7, 2026
Kind
B2
Abstract

The present disclosure provides systems and methods for image filtering. The method may include obtaining an initial image block from a reconstructed image; determining at least one candidate image block by performing a filtering operation on the initial image block using at least one trained machine learning model; and determining a target image block based on the at least one candidate image block.

Claims (67)

1 . A method, comprising:

obtaining an initial image block from a reconstructed image;

determining at least one candidate image block by performing a filtering operation on the initial image block using at least one trained machine learning model; and

determining a target image block based on the at least one candidate image block,

wherein before performing a filtering operation on the initial image block using at least one trained machine learning model, the method includes:

obtaining a size of a convolution kernel, a convolution step size, and a count of convolution kernel layers in the at least one trained machine learning model; and

expanding a size of the initial image block based on the size of the convolution kernel, the convolution step size, and the count of convolution kernel layers in the at least one trained machine learning model.

2 . The method of claim 1 , wherein the expanding a size of the initial image block includes:

expanding the size of the initial image block using pixels in the reconstructed image that around the initial image block; or

in response to determining that the pixels in the reconstructed image that around the initial image block are not obtained, expanding the size of the initial image block using pixels of the initial image block closest to pixels to be filled.

3 . The method of claim 1 , wherein the initial image block includes at least two of a luminance component, a first chrominance component, or a second chrominance component, and the at least one trained machine learning model includes:

a first model configured to, in response to determining that the initial image block is composed of the luminance component, the first chrominance component, and the second chrominance component, output a luminance component of the at least one candidate image block;

a second model configured to, in response to determining that the initial image block is composed of the luminance component and the first chrominance component, output a first chrominance component of the at least one candidate image block; and

a third model configured to, in response to determining that the initial image block is composed of the luminance component and the second chrominance component, output a second chrominance component of the at least one candidate image block.

4 . The method of claim 3 , wherein the initial image block includes the luminance component, the first chrominance component, and the second chrominance component, and the at least one trained machine learning model is configured to output the luminance component, the first chrominance component, and the second chrominance component of the at least one candidate image block.

5 . The method of claim 3 , wherein the method further includes:

dividing the luminance component of the initial image block into multiple sub-luminance components; and

inputting the multiple sub-luminance components into one or more input channels of the at least one trained machine learning model, wherein a sampling rate of each of the multiple sub-luminance components matches with a sampling rate of the first chrominance component or the second chrominance component of the initial image block.

6 . The method of claim 3 , wherein the method further includes:

upsampling the first chrominance component and the second chrominance component of the initial image block so that a sampling rate of the first chrominance component and the second chrominance component of the initial image block matches a sampling rate of the luminance component of the initial image block; or

downsampling the luminance component of the initial image block so that the sampling rate of the luminance component of the initial image block matches the sampling rate of the first chrominance component or the second chrominance component of the initial image block.

7 . The method of claim 1 , wherein the at least one trained machine learning model includes:

at least one first convolution unit configured to determine a first characteristic image block based on the initial image block;

at least one connection unit configured to determine a second characteristic image block by processing the first characteristic image block and connecting, through a residual connection, an input and an output of the at least one connection unit; and

at least one second convolution unit configured to determine a third characteristic image block based on the second characteristic image block, wherein

the at least one candidate image block is generated by connecting, through the residual connection, the third characteristic image block and the initial image block.

8 . The method of claim 7 , wherein the at least one connection unit includes at least one third convolution unit.

9 . The method of claim 7 , wherein the connecting, through the residual connection, the third characteristic image block and the initial image block includes:

determining a scaling factor; and

connecting, through the residual connection, the third characteristic image block and the initial image block based on the scaling factor.

10 . The method of claim 9 , wherein the determining the scaling factor includes:

determining the scaling factor by comparing costs of a plurality of candidate factors.

11 . The method of claim 1 , wherein the at least one trained machine learning model is determined based on an image quality parameter.

12 . The method of claim 11 , wherein the image quality parameter includes a quantization parameter (QP).

13 . The method of claim 1 , wherein whether to apply the at least one trained machine learning model to the initial image block is included in a syntax switch.

14 . A method for image coding, comprising:

obtaining pixel values of a current image block;

filtering the pixel values of the current image block using at least one trained machine learning model; and

coding the current image block with a syntax switch that controls whether the at least one trained machine learning model is applied to the current image block based on the filtered pixel values,

wherein the at least one trained machine learning model includes:

at least one first convolution unit configured to determine a first characteristic image block based on the current image block;

at least one connection unit configured to determine a second characteristic image block by processing the first characteristic image block and connecting, through a residual connection, an input and an output of the at least one connection unit; and

at least one second convolution unit configured to determine a third characteristic image block based on the second characteristic image block wherein

a filtered current image block is generated by connecting, through the residual connection, the third characteristic image block and the current image block.

15 . The method of claim 14 , wherein the coding the current image block includes:

determining a rate-distortion cost of the filtered pixel values of the current image block; and

in response to a determination that the rate-distortion cost is less than a threshold or less than a rate-distortion cost of other filtering techniques, assigning a value indicating that the at least one trained machine learning model is applied to filter the current image block to the switch syntax.

16 . A system, comprising:

at least one storage device storing executable instructions for image filtering; and

at least one processor in communication with the at least one storage device, wherein when executing the executable instructions, the at least one processor is configured to cause the system to perform operations including:

obtaining an initial image block from a reconstructed image;

determining at least one candidate image block by performing a filtering operation on the initial image block using at least one trained machine learning model; and

determining a target image block based on the at least one candidate image block,

wherein the initial image block includes at least two of a luminance component, a first chrominance component, or a second chrominance component, and the at least one trained machine learning model includes:

a first model configured to, in response to determining that the initial image block is composed of the luminance component, the first chrominance component, and the second chrominance component, output a luminance component of the at least one candidate image block;

a second model configured to, in response to determining that the initial image block is composed of the luminance component and the first chrominance component, output a first chrominance component of the at least one candidate image block; and

a third model configured to, in response to determining that the initial image block is composed of the luminance component and the second chrominance component, output a second chrominance component of the at least one candidate image block.

17 . The system of claim 16 , wherein before performing a filtering operation on the initial image block using at least one trained machine learning model, the at least one processor is configured to cause the system to perform operations including:

obtaining a size of a convolution kernel, a convolution step size, and a count of convolution kernel layers in the at least one trained machine learning model; and

expanding a size of the initial image block based on the size of the convolution kernel, the convolution step size, and the count of convolution kernel layers in the at least one trained machine learning model.

18 . The system of claim 17 , wherein the expanding a size of the initial image block includes:

expanding the size of the initial image block using pixels in the reconstructed image that around the initial image block; or

in response to determining that the pixels in the reconstructed image that around the initial image block are not obtained, expanding the size of the initial image block using pixels of the initial image block closest to pixels to be filled.

19 . The system of claim 16 , wherein the initial image block includes the luminance component, the first chrominance component, and the second chrominance component, and the at least one trained machine learning model is configured to output the luminance component, the first chrominance component, and the second chrominance component of the at least one candidate image block.

20 . The system of claim 16 , wherein the at least one processor is further configured to cause the system to perform operations including:

dividing the luminance component of the initial image block into multiple sub-luminance components; and

inputting the multiple sub-luminance components into one or more input channels of the at least one trained machine learning model, wherein a sampling rate of each of the multiple sub-luminance components matches with a sampling rate of the first chrominance component or the second chrominance component of the initial image block.