IP Library Granted Patent US 9,786,031
Granted Patent B2
US 9,786,031 · App. 15/295,854 · Granted Oct 10, 2017

Distortion of digital images using spatial offsets from image reference points

Inventor: Nils Kokemohr (Hamburg, DE)
Assignee: Google Inc.
G06T3/0093G06F3/04845G06F3/04847G06K9/00536G06T5/00G06T5/007G06T11/00G06T11/001G06T11/60H04N1/622G06T2200/24
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,786,031
App. No.
15/295,854
Granted
Oct 10, 2017
Kind
B2
Abstract

A method for distorting a digital image comprising receiving the coordinates of one or more than one image reference point defined by a user within the digital image, receiving one or more than one spatial offset assigned by the user and associated with the coordinates of the one or more than one defined image reference point, providing a mixing function algorithm embodied on a computer-readable medium for distorting the digital image, calculating an offset matrix by applying the mixing function algorithm based on the one or more than one spatial offset and the coordinates of the one or more than one defined image reference point; and distorting the digital image by application of the offset matrix. A graphic tag may be associated with each of the defined image reference points and displayed over the digital image, and the assignment of the spatial offset may be accomplished by movement of the graphic tag with the pointing device. Abstract image reference points may be used to limit distortion.

Claims (50)

1. A method for applying enhancements to a digital image, the method comprising the steps of:

providing a graphical user interface to display a preview of an image to a user;

receiving a selection of an image reference point from the user;

overlaying a graphical mark over the image for the image reference point;

determining coordinates for each pixel in a plurality of pixels in the image that are associated with the image reference point;

receiving parameters for one or more than one image modification functions; and

selectively modifying the plurality of pixels with the one or more than one image modification functions based on the coordinates of each of the plurality of pixels.

2. The method of claim 1 , wherein receiving the selection of the image reference point includes receiving the coordinates for each pixel in the plurality of pixels from the user.

3. The method of claim 1 , wherein the image reference point is an abstract image reference point and the plurality of pixels include all pixels associated with the image.

4. The method of claim 3 , wherein receiving the selection of the image reference point includes the user instructing an activation of the image reference point.

5. The method of claim 1 , wherein determining the coordinates for each pixel in the plurality of pixels includes:

identifying an initial pixel that corresponds to a location of the image reference point; and

identifying one or more surrounding pixels that are each near the initial pixel.

6. The method of claim 5 , wherein selectively modifying the plurality of pixels with the one or more than one image modification functions includes making a stronger modification to the surrounding pixels than to secondary pixels that surround the surrounding pixels.

7. The method of claim 1 , wherein the image is a first image and further comprising:

saving the image reference point; and

applying the image reference point to a second image.

8. The method of claim 1 , wherein selectively modifying the plurality of pixels includes determining a distance in Euclidean space between a current pixel and one of the plurality of pixels and modifying the current pixel based on the distance between the current pixel and the one of the plurality of pixels.

9. The method of claim 1 , wherein receiving the selection of the image reference point from the user comprises:

receiving an instruction from the user to move the image reference point from a current location to a new location.

10. The method of claim 1 , further comprising:

performing pattern recognition to classify an object in the image, wherein the object corresponds to a plurality of object pixels; and

wherein determining the coordinates for each pixel in the plurality of pixels includes associating the plurality of object pixels with the image reference point.

11. The method of claim 1 , further comprising:

receiving an assignment of an image editing function for the image reference point from the user.

12. A system comprising:

a display;

a non-transitory machine-readable medium including instructions stored thereon; and

a hardware processor coupled to the display and the non-transitory machine readable medium, wherein the instructions, when operated upon by the hardware processor, cause the hardware processor to:

provide a graphical user interface to display a preview of an image to a user;

receive a selection of an image reference point;

overlay a graphical mark over the image for the image reference point;

determine coordinates for each pixel in a plurality of pixels in the image that are associated with the image reference point, wherein each pixel in the plurality of pixels is associated with an effect strength that is calculated as a function of a corresponding pixel location in relation to an initial pixel location of the image reference point;

receive parameters for one or more than one image modification function; and

selectively modify the plurality of pixels with the one or more than one image modification functions based on the effect strength for each pixel in the plurality of pixels.

13. The system of claim 12 , wherein receiving the selection of the image reference point includes receiving the coordinates for each pixel in the plurality of pixels from the user.

14. The system of claim 12 , wherein determining the coordinates for each pixel in the plurality of pixels includes identifying one or more surrounding pixels that are each near the initial pixel.

15. The system of claim 14 , wherein selectively modifying the plurality of pixels with the one or more than one image modification functions includes making a stronger modification to the surrounding pixels than to secondary pixels that surround the surrounding pixels.

16. The system of claim 12 , wherein selectively modifying the plurality of pixels includes determining a distance in Euclidean space between the initial pixel and one of the plurality of pixels and modifying the initial pixel based on the distance between the initial pixel and the one of the plurality of pixels.

17. A non-transitory computer-readable medium storing a computer program that is executable by at least one processor, the computer program including instructions that cause the at least one processor to perform operations comprising:

providing a graphical user interface to display an image to a user;

receiving a selection of an image reference point from the user;

overlaying a graphical mark over the image for the image reference point;

determining coordinates for each pixel in a plurality of pixels in the image that are associated with the image reference point;

receiving parameters for one or more than one image modification functions; and

selectively modifying the plurality of pixels with the one or more than one image modification functions based on the coordinates of each of the plurality of pixels.

18. The computer-readable medium of claim 17 , wherein receiving the selection of the image reference point includes receiving the coordinates for each pixel in the plurality of pixels from the user.

19. The computer-readable medium of claim 17 , wherein determining the coordinates for each pixel in the plurality of pixels includes identifying one or more surrounding pixels that are each near the initial pixel.

20. The computer-readable medium of claim 17 , wherein selectively modifying the plurality of pixels with the one or more than one image modification functions includes making a stronger modification to the surrounding pixels than to secondary pixels that surround the surrounding pixels.

21. The computer-readable medium of claim 17 , wherein selectively modifying the plurality of pixels includes determining a distance in Euclidean space between a current pixel and one of the plurality of pixels and modifying the current pixel based on the distance between the current pixel and the one of the plurality of pixels.

Assignments (4)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2017
From: KOKEMOHR, NILS
To: NIK MULTIMEDIA, INC.
Reel/Frame 042752/0219 →
CHANGE OF NAME Recorded Jun 19, 2017
From: NIK MULTIMEDIA, INC.
To: NIK SOFTWARE, INC.
Reel/Frame 042752/0226 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2017
From: NIK SOFTWARE, INC.
To: GOOGLE INC.
Reel/Frame 042752/0234 →
Continuity (11)
Continuation 14602296 · Jan 22, 2015
Continuation 14050312 · Oct 9, 2013
Continuation 13109179 · May 17, 2011
Continuation 12855568 · Aug 12, 2010
Continuation 12577453 · Oct 12, 2009
Continuation 11279958 · Apr 17, 2006
Continuation 11072609 · Mar 3, 2005
Continuation 10824664 · Apr 13, 2004
Division 10280897 · Oct 24, 2002
Provisional Application 60336498 · Oct 24, 2001
Related Publication 20170039678A1 · Feb 9, 2017