IP Library Granted Patent US 9,007,402
Granted Patent B2
US 9,007,402 · App. 13/622,290 · Granted Apr 14, 2015

Image processing for introducing blurring effects to an image

Inventors: Kevin Systrom (San Francisco, CA); Michel Krieger (San Francisco, CA); Shayne Sweeney (San Francisco, CA)
Assignee: Facebook, Inc.
G09G3/00G06T5/002
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 9,007,402
App. No.
13/622,290
Granted
Apr 14, 2015
Kind
B2
Abstract

Image processing includes: receiving an image; applying shader code, using one or more processors, to the image to generate a blurred image version (BIV); receiving configuration information pertaining to a mask; generating the mask that includes an unblurred region and a blurred region, based at least in part on the configuration information; and applying the mask to combine the image and the BIV to render a composite image that includes an unblurred portion comprising a portion of the image corresponding to the unblurred region of the mask, and a blurred portion comprising a portion of the BIV corresponding to the blurred region of the mask.

Claims (58)

1. A system for image processing, comprising:

one or more processors to:

receive an image;

apply shader code to the image to generate a blurred image version (BIV);

receive configuration information pertaining to a mask;

generate the mask that includes an unblurred region and a blurred region, based at least in part on the configuration information; and

apply the mask to combine the image and the BIV to render a composite image that includes an unblurred portion comprising a portion of the image corresponding to the unblurred region of the mask, and a blurred portion comprising a portion of the BIV corresponding to the blurred region of the mask; and

one or more memories coupled to the one or more processors, configured to provide the one or more processors with instructions.

2. The system of claim 1 , wherein:

the configuration information includes an indication of a position in the image; and

location of the unblurred region of the mask is determined based at least in part on the indication of the position in the image.

3. The system of claim 1 , wherein the configuration information is determined according to a user input.

4. The system of claim 3 , wherein the user input is received via a touchscreen.

5. The system of claim 1 , wherein the configuration information includes a shape of the unblurred region.

6. The system of claim 1 , wherein the configuration information includes a size of the unblurred region.

7. The system of claim 1 , wherein the configuration information is determined based at least in part on user gesture information received via a touchscreen.

8. The system of claim 1 , wherein the one or more processors are further to:

receive updated configuration information of the mask;

update the mask based on the updated configuration information; and

update the composite image based at least in part on the updated mask.

9. The system of claim 1 , wherein the shader code is precomputed.

10. The system of claim 1 , wherein the shader code is precomputed for a plurality of kernels corresponding to a plurality of images sizes.

11. The system of claim 1 , wherein the shader code includes a precomputed one-dimensional kernel based on a blur function.

12. The system of claim 11 , wherein the one-dimensional kernel includes an offset used to subsample at least two neighboring pixels in the image.

13. The system of claim 1 , wherein the shader code is selected among a plurality of precomputed shader codes that correspond to images of different sizes.

14. The system of claim 1 , wherein to apply the shader code includes to:

apply a first one-dimensional kernel to the image to generate an intermediate result;

rotate the intermediate result; and

apply a second one-dimensional kernel to the rotated intermediate result.

15. The system of claim 14 , wherein to apply the shader code further includes to rotate a result of applying the second one-dimensional kernel to obtain the BIV.

16. The system of claim 14 , wherein the first one-dimensional kernel and the second one-dimensional kernel are the same.

17. The system of claim 1 , wherein to apply the mask to combine the image and the BIV to render the composite image further includes to obscure the blurred portion.

18. The system of claim 1 , wherein to apply the shader code includes to reuse a buffer configured to store an intermediate result.

19. A method of image processing, comprising:

receiving an image;

applying shader code, using one or more processors, to the image to generate a blurred image version (BIV);

receiving configuration information pertaining to a mask;

generating the mask that includes an unblurred region and a blurred region, based at least in part on the configuration information; and

applying the mask to combine the image and the BIV to render a composite image that includes an unblurred portion comprising a portion of the image corresponding to the unblurred region of the mask, and a blurred portion comprising a portion of the BIV corresponding to the blurred region of the mask.

20. The method of claim 19 , wherein:

the configuration information includes an indication of a position in the image; and

location of the unblurred region of the mask is determined based at least in part on the indication of the position in the image.

21. A computer program product for image processing, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an image;

applying shader code to the image to generate a blurred image version (BIV);

receiving configuration information pertaining to a mask;

generating the mask that includes an unblurred region and a blurred region, based at least in part on the configuration information; and

applying the mask to combine the image and the BIV to render a composite image that includes an unblurred portion comprising a portion of the image corresponding to the unblurred region of the mask, and a blurred portion comprising a portion of the BIV corresponding to the blurred region of the mask.

22. The computer program product of claim 21 , wherein:

the configuration information includes an indication of a position in the image; and

location of the unblurred region of the mask is determined based at least in part on the indication of the position in the image.

23. A system comprising:

a touchscreen interface to:

display an image; and

receive a touchscreen input gesture from a user, the touchscreen input gesture indicating configuration information of a mask to be applied to the image; and

one or more processors to:

generate the mask that includes an unblurred region and a blurred region, based at least in part on the configuration information; and

apply the mask to at least the image to render a processed image that includes an unblurred portion corresponding to the unblurred region of the mask and a blurred portion corresponding to the blurred region of the mask.

Assignments (2)
CHANGE OF NAME Recorded May 5, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059855/0899 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2012
From: SYSTROM, KEVIN; KRIEGER, MICHEL; SWEENEY, SHAYNE
To: FACEBOOK, INC.
Reel/Frame 029430/0283 →
Continuity (1)
Related Publication 20140078172A1 · Mar 20, 2014