IP Library › Granted Patent US 11,317,150
Granted Patent B2
US 11,317,150 · App. 16/904,554 · Granted Apr 26, 2022

Video blurring systems and methods

Inventor: Juha Turunen (Sunnyale, CA)
Assignee: Netflix, Inc.
H04N21/4542H04N21/44008H04N21/44213
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,317,150
App. No.
16/904,554
Granted
Apr 26, 2022
Kind
B2
Abstract

The disclosed computer-implemented method includes determining that an image is to be blurred. The image has multiple pixels arranged along horizontal and/or vertical axes. The method next includes identifying a boundary size for a sliding window within which pixel values are to be sampled from the image and sampling, from pixels that lie on an axis that is diagonal relative to the horizontal/vertical axis of the image, various pixel values from within the boundary of the sliding window. The pixels sampled along the diagonal angle within the sliding window are selected according to a specified noise pattern. The method further includes performing an initial convolution pass on the pixels surrounding the sampled pixels to blur at least some of the pixels surrounding the sampled pixels, and then presenting the blurred image. Various other methods, systems, and computer-readable media are also disclosed.

Claims (43)

1. A computer-implemented method comprising:

determining, by a hardware processor of an electronic device, that at least a portion of an image is to be blurred, the image including a plurality of pixels arranged along at least one of a horizontal axis or a vertical axis;

identifying a boundary size for a sliding window within which pixel values are to be sampled from the image, the sliding window including a plurality of different characteristics including window size, shape, placement, or rotation;

sampling, from pixels that lie on an axis that is diagonal relative to at least one of the horizontal axis of the image or the vertical axis of the image, one or more pixel values from within the boundary of the sliding window, wherein the plurality of characteristics of the sliding window are dynamically changeable at each pixel sampled during the sampling, and wherein the pixels sampled along the diagonal angle within the sliding window are selected according to a specified noise pattern;

identifying one or more computing resources of the electronic device including at least the hardware processor;

performing an initial convolution pass on one or more pixels surrounding the sampled pixels to blur at least some of the pixels surrounding the sampled pixels, wherein the blurring is performed at a variable quality level that is dynamically determined based on the identified computing resources of the electronic device; and

presenting the image, at least a portion of which is blurred as a result of the initial convolution pass.

2. The computer-implemented method of claim 1 , further comprising performing a subsequent convolution pass on one or more different image pixels surrounding the sampled pixels.

3. The computer-implemented method of claim 2 , wherein the initial convolution pass is performed at a specified diagonal angle, and wherein the subsequent convolution pass is performed at an opposite diagonal angle that is opposite to the specified diagonal angle.

4. The computer-implemented method of claim 2 , wherein multiple-pass convolutions are performed to reduce a number of samples taken within the sliding window.

5. The computer-implemented method of claim 1 , wherein the image is one of a plurality of sequential images in a video media item.

6. The computer-implemented method of claim 1 , wherein at least a portion of the plurality of sequential images is sequentially blurred according to the sampling.

7. The computer-implemented method of claim 1 , wherein the pixels within the sliding window are selected for sampling on a per-pixel basis.

8. The computer-implemented method of claim 1 , further comprising, subsequent to presenting the blurred image, transitioning back to the original, unblurred image.

9. The computer-implemented method of claim 1 , wherein a specified number of pixels are sampled from within the sliding window.

10. The computer-implemented method of claim 1 , wherein the specified number of pixels that are to be sampled within the sliding window is selected by a user.

11. The computer-implemented method of claim 10 , wherein the specified number of pixels that are to be sampled within the sliding window is selected based on at least one of electronic device specifications and available processing resources on the electronic device.

12. The computer-implemented method of claim 11 , wherein the specified number of pixels that are to be sampled within the sliding window is dynamically adapted based on currently available processing resources.

13. A system comprising:

at least one physical processor of an electronic device; and

physical memory comprising computer-executable instructions that, when executed by the physical processor, cause the physical processor to:

determine, by the physical processor of the electronic device, that at least a portion of an image is to be blurred, the image including a plurality of pixels arranged along at least one of a horizontal axis or a vertical axis;

identify a boundary size for a sliding window within which pixel values are to be sampled from the image, the sliding window including a plurality of different characteristics including window size, shape, placement, or rotation;

sample, from pixels that lie on an axis that is diagonal relative to at least one of the horizontal axis of the image or the vertical axis of the image, one or more pixel values from within the boundary of the sliding window, wherein the plurality of characteristics of the sliding window are dynamically changeable at each pixel sampled during the sampling, and wherein the pixels sampled along the diagonal angle within the sliding window are selected according to a specified noise pattern;

identify one or more computing resources of the electronic device including at least the physical processor;

perform an initial convolution pass on one or more pixels surrounding the sampled pixels to blur at least some of the pixels surrounding the sampled pixels, wherein the blurring is performed at a variable quality level that is dynamically determined based on the identified computing resources of the electronic device; and

present the image, at least a portion of which is blurred as a result of the initial convolution pass.

14. The system of claim 13 , wherein the sliding window comprises a circle with a specified radius within which the one or more pixels are sampled, and wherein the size of the radius is dynamically controlled per-pixel.

15. The system of claim 13 , further comprising:

identifying one or more portions of content within the image;

determining that the identified content has one or more prominent angles; and

altering the sampling of pixels that lie on an axis that is diagonal relative to at least one of the horizontal axis of the image or the vertical axis of the image, such that the altered sampling avoids the one or more prominent angles.

16. The system of claim 15 , further comprising rotating the sliding window by a dynamically determined amount at each sampled pixel.

17. The system of claim 13 , wherein the specified noise pattern comprises a blue noise filter.

18. The system of claim 17 , wherein noise values selected from the blue noise pattern are accessed from a lookup table, and wherein the accessed noise values are implemented for a plurality of convolutions before new noise values are accessed.

19. The system of claim 18 , wherein the sliding window is at least partially altered prior to performing each convolution.

20. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

determine, by a hardware processor of an electronic device, that at least a portion of an image is to be blurred, the image including a plurality of pixels arranged along at least one of a horizontal axis or a vertical axis;

identify a boundary size for a sliding window within which pixel values are to be sampled from the image, the sliding window including a plurality of different characteristics including window size, shape, placement, or rotation;

sample, from pixels that lie on an axis that is diagonal relative to at least one of the horizontal axis of the image or the vertical axis of the image, one or more pixel values from within the boundary of the sliding window, wherein the plurality of characteristics of the sliding window are dynamically changeable at each pixel sampled during the sampling, and wherein the pixels sampled along the diagonal angle within the sliding window are selected according to a specified noise pattern;

identify one or more computing resources of the electronic device including at least the hardware processor;

perform an initial convolution pass on one or more pixels surrounding the sampled pixels to blur at least some of the pixels surrounding the sampled pixels, wherein the blurring is performed at a variable quality level that is dynamically determined based on the identified computing resources of the electronic device; and

present the image, at least a portion of which is blurred as a result of the initial convolution pass.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: TURUNEN, JUHA
To: NETFLIX, INC
Reel/Frame 052975/0297 →
Continuity (1)
Related Publication 20210400345A1 · Dec 23, 2021