# US 12,003,782 B2 · Pixel filtering for content

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,003,782 B2
- Document ID: US12003782B2
- Status: Granted
- Kind: B2
- Application number: 18/195,806
- Filed: 2023-05-10
- Published: 2024-01-25
- Granted: 2024-06-04
- Earliest claimed: 2019-11-07
- Assignees: Comcast Cable Communications, LLC
- Applicants: Comcast Cable Communications, LLC
- Inventors: Alexander Giladi
- Web page: https://patentgrep.com/patent/US12003782B2

## CPC

- G06T 5/70: Denoising; Smoothing
- H04N 19/80: Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation (H04N19/635, H04N19/86 take precedence)
- G06T 5/50: using two or more images, e.g. averaging or subtraction
- H04N 19/85: using pre-processing or post-processing specially adapted for video compression
- G06T 2207/10016: Video; Image sequence
- G06T 2207/20012: Locally adaptive
- H04N 19/115: Selection of the code volume for a coding unit prior to coding
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/14: Coding unit complexity, e.g. amount of activity or edge presence estimation (H04N19/146 takes precedence)
- H04N 19/17: the unit being an image region, e.g. an object
- H04N 19/182: the unit being a pixel
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Systems, apparatuses, and methods are described for filtering and/or removing defects from content, such as high dynamic range (HDR) content. A plurality of parameters for filtering one or more pixels may be determined. The parameter(s) may be used to determine one or more filter weights, and the filter weight(s) may be applied to one or more pixels and one or more corresponding prior pixels to generate one or more filtered pixels. The filtered content and/or pixels thereof may later be encoded for storage and/or transmission to users.

## Claims

### Claim 1

A method comprising:
receiving, by a computing device, a plurality of video frames of a content item, wherein each of the video frames comprises a plurality of pixels;
determining, for a first pixel in a frame of the content item, a prior corresponding pixel in a preceding frame of the content item;
determining, based on an intensity level of a pixel region in the preceding frame, whether to filter the first pixel, wherein the pixel region comprises:
the prior corresponding pixel, and
one or more pixels that surround the prior corresponding pixel; and based on a determination to filter the first pixel:
determining, based on the intensity level of the pixel region, one or more filtering parameters;
filtering, based on the one or more filtering parameters, the first pixel; and
encoding a portion of the content item that comprises the filtered first pixel.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plurality of video frames are sequential video frames.

### Claim 3 (depends on 1)

The method of claim 1, wherein the intensity level of the pixel region indicates a darkness level of the one or more pixels that surround the prior corresponding pixel, and wherein the filtering comprises adjusting a color value of the first pixel based on the intensity level.

### Claim 4 (depends on 1)

The method of claim 1, further comprising determining, based on a motion vector associated with the prior corresponding pixel, a location, in the preceding frame, of the prior corresponding pixel, wherein the location of the prior corresponding pixel in the preceding frame is different from a location, in the frame, of the first pixel.

### Claim 5 (depends on 1)

The method of claim 1, wherein the one or more filtering parameters are associated with a magnitude of error and associated with a strength of the filtering.

### Claim 6 (depends on 1)

The method of claim 1, wherein the filtering comprises:
determining, based on the intensity level, a weighted average of a color value of the first pixel and a color value of the prior corresponding pixel; and
determining, based on the weighted average of the color value of the first pixel and the color value of the prior corresponding pixel, a strength of the filtering.

### Claim 7 (depends on 1)

The method of claim 1, wherein a first color space associated with the plurality of pixels comprises a perceptually non-uniform color space, wherein the content item comprises high dynamic range (HDR) video, and wherein the filtering comprises adjustment of the first pixel based on a color value of the first pixel in a second color space that is more perceptually uniform than the first color space.

### Claim 8 (depends on 7)

The method of claim 7, wherein the first color space is a YCbCr color space.

### Claim 9 (depends on 1)

The method of claim 1 further comprising, prior to the filtering, converting the first pixel from a YCbCr color space to a Commission Internationale de l'Eclairage (CIE) 1976 L*u*v* color space.

### Claim 10

A computing device comprising:
at least one processor; and
memory storing instructions that, when executed by the at least one processor, cause the computing device to:
receive a plurality of video frames of a content item, wherein each of the video frames comprises a plurality of pixels;
determine, for a first pixel in a frame of the content item, a prior corresponding pixel in a preceding frame of the content item;
determine, based on an intensity level of a pixel region in the preceding frame, whether to filter the first pixel, wherein the pixel region comprises:
the prior corresponding pixel, and
one or more pixels that surround the prior corresponding pixel; and
based on a determination to filter the first pixel:
determine, based on the intensity level of the pixel region, one or more filtering parameters;
filter, based on the one or more filtering parameters, the first pixel; and
encode a portion of the content item that comprises the filtered first pixel.

### Claim 11 (depends on 10)

The computing device of claim 10, wherein the plurality of video frames are sequential video frames.

### Claim 12 (depends on 10)

The computing device of claim 10, wherein the intensity level of the pixel region indicates a darkness level of the one or more pixels that surround the prior corresponding pixel, and wherein the filtering comprises adjusting a color value of the first pixel based on the intensity level.

### Claim 13 (depends on 10)

The computing device of claim 10, wherein the instructions, when executed by the at least one processor, further cause the computing device to determine, based on a motion vector associated with the prior corresponding pixel, a location, in the preceding frame, of the prior corresponding pixel, wherein the location of the prior corresponding pixel in the preceding frame is different from a location, in the frame, of the first pixel.

### Claim 14 (depends on 10)

The computing device of claim 10, wherein the one or more filtering parameters are associated with a magnitude of error and associated with a strength of the filtering.

### Claim 15 (depends on 10)

The computing device of claim 10, wherein the instructions, when executed by the at least one processor, cause the computing device to filter the first pixel at least by:
determining, based on the intensity level, a weighted average of a color value of the first pixel and a color value of the prior corresponding pixel; and
determining, based on the weighted average of the color value of the first pixel and the color value of the prior corresponding pixel, a strength of the filtering.

### Claim 16 (depends on 10)

The computing device of claim 10, wherein:
a first color space associated with the plurality of pixels comprises a perceptually non-uniform color space;
the content item comprises high dynamic range (HDR) video; and
the instructions, when executed by the at least one processor, cause the computing device to filter the first pixel at least by adjusting the first pixel based on a color value of the first pixel in a second color space that is more perceptually uniform than the first color space.

### Claim 17 (depends on 16)

The computing device of claim 16, wherein the first color space is a YCbCr color space.

### Claim 18 (depends on 10)

The computing device of claim 10, wherein the instructions, when executed by the at least one processor, further cause the computing device to, prior to filtering the first pixel, convert the first pixel from a YCbCr color space to a Commission Internationale de l'Eclairage (CIE) 1976 L*u*v* color space.

### Claim 19

A system comprising:
a first computing device configured to:
receive a plurality of video frames of a content item, wherein each of the video frames comprises a plurality of pixels;
determine, for a first pixel in a frame of the content item, a prior corresponding pixel in a preceding frame of the content item;
determine, based on an intensity level of a pixel region in the preceding frame, whether to filter the first pixel, wherein the pixel region comprises:
the prior corresponding pixel, and
one or more pixels that surround the prior corresponding pixel; and
based on a determination to filter the first pixel:
determine, based on the intensity level of the pixel region, one or more filtering parameters;
filter, based on the one or more filtering parameters, the first pixel; and
encode a portion of the content item that comprises the filtered first pixel;
a second computing device configured to send, to the first computing device, the plurality of video frames.

### Claim 20 (depends on 19)

The system of claim 19, wherein the plurality of video frames are sequential video frames.

### Claim 21 (depends on 19)

The system of claim 19, wherein the intensity level of the pixel region indicates a darkness level of the one or more pixels that surround the prior corresponding pixel, and wherein the filtering comprises adjusting a color value of the first pixel based on the intensity level.

### Claim 22 (depends on 19)

The system of claim 19, wherein the first computing device is further configured to determine, based on a motion vector associated with the prior corresponding pixel, a location, in the preceding frame, of the prior corresponding pixel, wherein the location of the prior corresponding pixel in the preceding frame is different from a location, in the frame, of the first pixel.

### Claim 23 (depends on 19)

The system of claim 19, wherein the one or more filtering parameters are associated with a magnitude of error and associated with a strength of the filtering.

### Claim 24 (depends on 19)

The system of claim 19, wherein the first computing device is configured to filter the first pixel at least by:
determining, based on the intensity level, a weighted average of a color value of the first pixel and a color value of the prior corresponding pixel; and
determining, based on the weighted average of the color value of the first pixel and the color value of the prior corresponding pixel, a strength of the filtering.

### Claim 25 (depends on 19)

The system of claim 19, wherein:
a first color space associated with the plurality of pixels comprises a perceptually non-uniform color space;
the content item comprises high dynamic range (HDR) video; and
the first computing device is configured to filter the first pixel at least by adjusting the first pixel based on a color value of the first pixel in a second color space that is more perceptually uniform than the first color space.

### Claim 26 (depends on 25)

The system of claim 25, wherein the first color space is a YCbCr color space.

### Claim 27 (depends on 19)

The system of claim 19, where the first computing device is further configured to, prior to filtering the first pixel, convert the first pixel from a YCbCr color space to a Commission Internationale de l'Eclairage (CIE) 1976 L*u*v* color space.

### Claim 28

A non-transitory computer-readable medium storing instructions that, when executed, cause:
receiving, by a computing device, a plurality of video frames of a content item, wherein each of the video frames comprises a plurality of pixels;
determining, for a first pixel in a frame of the content item, a prior corresponding pixel in a preceding frame of the content item;
determining, based on an intensity level of a pixel region in the preceding frame, whether to filter the first pixel, wherein the pixel region comprises:
the prior corresponding pixel, and
one or more pixels that surround the prior corresponding pixel; and
based on a determination to filter the first pixel:
determining, based on the intensity level of the pixel region, one or more filtering parameters;
filtering, based on the one or more filtering parameters, the first pixel; and
encoding a portion of the content item that comprises the filtered first pixel.

### Claim 29 (depends on 28)

The non-transitory computer-readable medium of claim 28, wherein the plurality of video frames are sequential video frames.

### Claim 30 (depends on 28)

The non-transitory computer-readable medium of claim 28 wherein the intensity level of the pixel region indicates a darkness level of the one or more pixels that surround the prior corresponding pixel, and wherein the filtering comprises adjusting a color value of the first pixel based on the intensity level.

### Claim 31 (depends on 28)

The non-transitory computer-readable medium of claim 28, wherein the instructions, when executed, further cause determining, based on a motion vector associated with the prior corresponding pixel, a location, in the preceding frame, of the prior corresponding pixel, wherein the location of the prior corresponding pixel in the preceding frame is different from a location, in the frame, of the first pixel.

### Claim 32 (depends on 28)

The non-transitory computer-readable medium of claim 28, wherein the one or more filtering parameters are associated with a magnitude of error and associated with a strength of the filtering.

### Claim 33 (depends on 28)

The non-transitory computer-readable medium of claim 28, wherein the filtering comprises:
determining, based on the intensity level, a weighted average of a color value of the first pixel and a color value of the prior corresponding pixel; and
determining, based on the weighted average of the color value of the first pixel and the color value of the prior corresponding pixel, a strength of the filtering.

### Claim 34 (depends on 28)

The non-transitory computer-readable medium of claim 28, wherein a first color space associated with the plurality of pixels comprises a perceptually non-uniform color space, wherein the content item comprises high dynamic range (HDR) video, and wherein the filtering comprises adjustment of the first pixel based on a color value of the first pixel in a second color space that is more perceptually uniform than the first color space.

### Claim 35 (depends on 34)

The non-transitory computer-readable medium of claim 34, wherein the first color space is a YCbCr color space.

### Claim 36 (depends on 28)

The non-transitory computer-readable medium of claim 28, wherein the instructions, when executed, further cause, prior to the filtering, converting the first pixel from a YCbCr color space to a Commission Internationale de l'Eclairage (CIE) 1976 L*u*v* color space.

### Claim 37

A method comprising:
receiving, by a computing device, a plurality of video frames of a content item, wherein each of the video frames comprises a plurality of pixels;
determining, for a first pixel in a frame of the content item, a prior corresponding pixel in a preceding frame of the content item;
determining, based on a complexity level of a pixel region in the preceding frame, whether to filter the first pixel, wherein the pixel region comprises:
the prior corresponding pixel, and
one or more pixels that surround the prior corresponding pixel; and
based on a determination to filter the first pixel:
determining, based on the complexity level of the pixel region, one or more filtering parameters;
filtering, based on the one or more filtering parameters, the first pixel; and
encoding a portion of the content item that comprises the filtered first pixel.

### Claim 38 (depends on 37)

The method of claim 37, wherein the plurality of video frames are sequential video frames.

### Claim 39 (depends on 37)

The method of claim 37, wherein the complexity level of the pixel region indicates an amount of color uniformity of the pixel region based on a color difference between the one or more pixels that surround the prior corresponding pixel and the prior corresponding pixel, and wherein the filtering comprises adjusting a color value of the first pixel based on the complexity level.

### Claim 40 (depends on 37)

The method of claim 37, further comprising determining, based on a motion vector associated with the prior corresponding pixel, a location, in the preceding frame, of the prior corresponding pixel, wherein the location of the prior corresponding pixel in the preceding frame is different from a location, in the frame, of the first pixel.

### Claim 41 (depends on 37)

The method of claim 37, wherein the one or more filtering parameters are associated with a magnitude of error and associated with a strength of the filtering.

### Claim 42 (depends on 37)

The method of claim 37, wherein the filtering comprises:
determining, based on the complexity level, a weighted average of a color value of the first pixel and a color value of the prior corresponding pixel; and
determining, based on the weighted average of the color value of the first pixel and the color value of the prior corresponding pixel, a strength of the filtering.

### Claim 43 (depends on 37)

The method of claim 37, wherein a first color space associated with the plurality of pixels comprises a perceptually non-uniform color space, wherein the content item comprises high dynamic range (HDR) video, and wherein the filtering comprises adjustment of the first pixel based on a color value of the first pixel in a second color space that is more perceptually uniform than the first color space.

### Claim 44 (depends on 43)

The method of claim 43, wherein the first color space is a YCbCr color space.

### Claim 45 (depends on 37)

The method of claim 37, further comprising, prior to the filtering, converting the first pixel from a YCbCr color space to a Commission Internationale de l'Eclairage (CIE) 1976 L*u*v* color space.

### Claim 46

A computing device comprising:
at least one processor; and
memory storing instructions that, when executed by the at least one processor, cause the computing device to:
receive a plurality of video frames of a content item, wherein each of the video frames comprises a plurality of pixels;
determine, for a first pixel in a frame of the content item, a prior corresponding pixel in a preceding frame of the content item;
determine, based on a complexity level of a pixel region in the preceding frame, whether to filter the first pixel, wherein the pixel region comprises:
the prior corresponding pixel, and
one or more pixels that surround the prior corresponding pixel; and
based on a determination to filter the first pixel:
determine, based on the complexity level of the pixel region, one or more filtering parameters;
filter, based on the one or more filtering parameters, the first pixel; and
encode a portion of the content item that comprises the filtered first pixel.

### Claim 47 (depends on 46)

The computing device of claim 46, wherein the plurality of video frames are sequential video frames.

### Claim 48 (depends on 46)

The computing device of claim 46, wherein:
the complexity level of the pixel region indicates an amount of color uniformity of the pixel region based on a color difference between the one or more pixels that surround the prior corresponding pixel and the prior corresponding pixel; and
the instructions, when executed by the at least one processor, cause the computing device to filter the first pixel at least by adjusting a color value of the first pixel based on the complexity level.

### Claim 49 (depends on 46)

The computing device of claim 46, wherein the instructions, when executed by the at least one processor, further cause the computing device to determine, based on a motion vector associated with the prior corresponding pixel, a location, in the preceding frame, of the prior corresponding pixel, wherein the location of the prior corresponding pixel in the preceding frame is different from a location, in the frame, of the first pixel.

### Claim 50 (depends on 46)

The computing device of claim 46, wherein the one or more filtering parameters are associated with a magnitude of error and associated with a strength of the filtering.

### Claim 51 (depends on 46)

The computing device of claim 46, wherein the instructions, when executed by the at least one processor, cause the computing device to filter the first pixel at least by:
determining, based on the complexity level, a weighted average of a color value of the first pixel and a color value of the prior corresponding pixel; and
determining, based on the weighted average of the color value of the first pixel and the color value of the prior corresponding pixel, a strength of the filtering.

### Claim 52 (depends on 46)

The computing device of claim 46, wherein a first color space associated with the plurality of pixels comprises a perceptually non-uniform color space, wherein the content item comprises high dynamic range (HDR) video, and wherein the filtering comprises adjustment of the first pixel based on a color value of the first pixel in a second color space that is more perceptually uniform than the first color space.

### Claim 53 (depends on 52)

The computing device of claim 52, wherein the first color space is a YCbCr color space.

### Claim 54 (depends on 46)

The computing device of claim 46, wherein the instructions, when executed by the at least one processor, further cause the computing device to, prior to filtering the first pixel, converting the first pixel from a YCbCr color space to a Commission Internationale de l'Eclairage (CIE) 1976 L*u*v* color space.

### Claim 55

A system comprising:
a first computing device configured to:
receive a plurality of video frames of a content item, wherein each of the video frames comprises a plurality of pixels;
determine, for a first pixel in a frame of the content item, a prior corresponding pixel in a preceding frame of the content item;
determine, based on a complexity level of a pixel region in the preceding frame, whether to filter the first pixel, wherein the pixel region comprises:
the prior corresponding pixel, and
one or more pixels that surround the prior corresponding pixel; and
based on a determination to filter the first pixel:
determine, based on the complexity level of the pixel region, one or more filtering parameters;
filter, based on the one or more filtering parameters, the first pixel; and
encode a portion of the content item that comprises the filtered first pixel; and
a second computing device configured to send, to the first computing device, the plurality of video frames.

### Claim 56 (depends on 55)

The system of claim 55, wherein the plurality of video frames are sequential video frames.

### Claim 57 (depends on 55)

The system of claim 55, wherein:
the complexity level of the pixel region indicates an amount of color uniformity of the pixel region based on a color difference between the one or more pixels that surround the prior corresponding pixel and the prior corresponding pixel; and
the first computing device is configured to filter the first pixel at least by adjusting a color value of the first pixel based on the complexity level.

### Claim 58 (depends on 55)

The system of claim 55, wherein the first computing device is further configured to determine, based on a motion vector associated with the prior corresponding pixel, a location, in the preceding frame, of the prior corresponding pixel, wherein the location of the prior corresponding pixel in the preceding frame is different from a location, in the frame, of the first pixel.

### Claim 59 (depends on 55)

The system of claim 55, wherein the one or more filtering parameters are associated with a magnitude of error and associated with a strength of the filtering.

### Claim 60 (depends on 55)

The system of claim 55, wherein the first computing device is configured to filter the first pixel at least by:
determining, based on the complexity level, a weighted average of a color value of the first pixel and a color value of the prior corresponding pixel; and
determining, based on the weighted average of the color value of the first pixel and the color value of the prior corresponding pixel, a strength of the filtering.

### Claim 61 (depends on 55)

The system of claim 55, wherein:
a first color space associated with the plurality of pixels comprises a perceptually non-uniform color space;
the content item comprises high dynamic range (HDR) video; and
the first computing device is configured to filter the first pixel at least by adjusting the first pixel based on a color value of the first pixel in a second color space that is more perceptually uniform than the first color space.

### Claim 62 (depends on 61)

The system of claim 61, wherein the first color space is a YCbCr color space.

### Claim 63 (depends on 55)

The system of claim 55, wherein the first computing device is further configured to, prior to filtering the first pixel, converting the first pixel from a YCbCr color space to a Commission Internationale de l'Eclairage (CIE) 1976 L*u*v* color space.

### Claim 64

A non-transitory computer-readable medium storing instructions that, when executed, cause:
receiving, by a computing device, a plurality of video frames of a content item, wherein each of the video frames comprises a plurality of pixels;
determining, for a first pixel in a frame of the content item, a prior corresponding pixel in a preceding frame of the content item;
determining, based on a complexity level of a pixel region in the preceding frame, whether to filter the first pixel, wherein the pixel region comprises:
the prior corresponding pixel, and
one or more pixels that surround the prior corresponding pixel; and based on a determination to filter the first pixel:
determining, based on the complexity level of the pixel region, one or more filtering parameters;
filtering, based on the one or more filtering parameters, the first pixel; and
encoding a portion of the content item that comprises the filtered first pixel.

### Claim 65 (depends on 64)

The non-transitory computer-readable medium of claim 64, wherein the plurality of video frames are sequential video frames.

### Claim 66 (depends on 64)

The non-transitory computer-readable medium of claim 64, wherein the complexity level of the pixel region indicates an amount of color uniformity of the pixel region based on a color difference between the one or more pixels that surround the prior corresponding pixel and the prior corresponding pixel, and wherein the filtering comprises adjusting a color value of the first pixel based on the complexity level.

### Claim 67 (depends on 64)

The non-transitory computer-readable medium of claim 64, wherein the instructions, when executed, further cause determining, based on a motion vector associated with the prior corresponding pixel, a location, in the preceding frame, of the prior corresponding pixel, wherein the location of the prior corresponding pixel in the preceding frame is different from a location, in the frame, of the first pixel.

### Claim 68 (depends on 64)

The non-transitory computer-readable medium of claim 64, wherein the one or more filtering parameters are associated with a magnitude of error and associated with a strength of the filtering.

### Claim 69 (depends on 64)

The non-transitory computer-readable medium of claim 64, wherein the filtering comprises:
determining, based on the complexity level, a weighted average of a color value of the first pixel and a color value of the prior corresponding pixel; and
determining, based on the weighted average of the color value of the first pixel and the color value of the prior corresponding pixel, a strength of the filtering.

### Claim 70 (depends on 64)

The non-transitory computer-readable medium of claim 64, wherein a first color space associated with the plurality of pixels comprises a perceptually non-uniform color space, wherein the content item comprises high dynamic range (HDR) video, and wherein the filtering comprises adjustment of the first pixel based on a color value of the first pixel in a second color space that is more perceptually uniform than the first color space.

### Claim 71 (depends on 70)

The non-transitory computer-readable medium of claim 70, wherein the first color space is a YCbCr color space.

### Claim 72 (depends on 64)

The non-transitory computer-readable medium of claim 64, wherein the instructions, when executed, further cause, prior to the filtering, converting the first pixel from a YCbCr color space to a Commission Internationale de l'Eclairage (CIE) 1976 L*u*v* color space.
