IP Library Granted Patent US 9,955,065
Granted Patent B2
US 9,955,065 · App. 14/470,785 · Granted Apr 24, 2018

Dynamic motion path blur user interface

Inventors: Gregg D. Wilensky (Pacific Palisades, CA); Nathan A. Carr (San Jose, CA); Alan L. Erickson (Highlands Ranch, CO); Yuyan Song (Milpitas, CA); Manish Kumar (Hapur, IN); Bradee Rae Evans (Alameda, CA); Sarah A. Kong (Cupertino, CA); Michael J. Orts (Santa Clara, CA); Meredith L. Stotzner (San Jose, CA); Heather M. Dolan (San Francisco, CA); Yukie Takahashi (Newark, CA)
Assignee: ADOBE SYSTEMS INCORPORATED
H04N5/23216H04N5/23229H04N5/23254H04N5/23277
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,955,065
App. No.
14/470,785
Granted
Apr 24, 2018
Kind
B2
Abstract

Dynamic motion path blur techniques are described. In one or more implementations, paths may be specified to constrain a motion blur effect to be applied to a single image. A variety of different techniques may be employed as part of the motion blur effects, including use of curved blur kernel shapes, use of a mesh representation of blur kernel parameter fields to support real time output of the motion blur effect to an image, use of flash effects, blur kernel positioning to support centered or directional blurring, tapered exposure modeling, and null paths.

Claims (35)

1. A method comprising:

displaying a path in a user interface of a computing device, the path input by a user through interaction with the user interface, in which:

the path is formed from a plurality of points, each of the points being selectable by the user through the interaction with the user interface to modify the path; and

the path is configured to constrain a motion blur to be applied as a motion blur effect to an image;

responsive to receipt of one or more inputs via the user interface involving movement of at least one point of the path from a first location to a second location in the user interface:

calculating the motion blur as part of the motion blur effect to transform the image by the computing device independently of a size of the image using the path in a mesh domain separate from an image domain of the image; and

modifying a display of the image in the image domain in the user interface by the computing device to include the calculated motion blur from the mesh domain as part of the motion blur effect as the movement of the at least one point from the first location to the second location occurs.

2. A method as described in claim 1 , wherein the modifying includes fitting a curve to the path to include the at least one point at the second location.

3. A method as described in claim 2 , wherein the curve is a kappa curve configured to allow the at least one point to be at any location along the curve.

4. A method as described in claim 1 , wherein the one or more inputs describe a drag and drop input.

5. A method as described in claim 4 , wherein the drag and drop input is provided using a gesture detected via touchscreen functionality of the computing device or a cursor control device of the computing device.

6. A method as described in claim 1 , further comprising displaying a result of application of the motion blur effect to the path in the user interface in real time as corresponding to the movement.

7. A method as described in claim 6 , wherein the result is calculated through application of a motion field generated from the path to the image, the motion field generated independent of the image.

8. A method comprising:

receiving inputs, detected by a computing device via a user interface, that describe a path to constrain a motion blur to be applied as a motion blur effect to an image;

calculating a result, by the computing device, by applying the motion blur effect to the image to transform the image to include the motion blur effect as the inputs are received, the calculating including:

generating a motion field independent of the image by constructing a mesh describing the motion field, the mesh including a plurality of edge vertices that describe each edge of the path; and a plurality of non-edge vertices that describe one or more points of the mesh away from the path;

producing a vector representation of the motion field from the mesh by applying constraints to the plurality of edge vertices, the constraints representing blur kernel parameters along the path; and

applying a distance-weighted average of the constraints to each of the plurality of non-edge vertices calculated from values of the applied constraints of respective said edge vertices; and

responsive to the receiving, outputting a result of the application of the motion blur effect to the image in the user interface by the computing device in real time as the inputs are received by the computing device.

9. A method as described in claim 8 , wherein the mesh is a triangular mesh.

10. A method as described in claim 8 , wherein the motion blur effect comprises a motion field that is calculated independent of the image.

11. A method as described in claim 9 , wherein the motion field is then transferred to a graphics processing unit for application of the motion field to the image.

12. A method as described in claim 8 , wherein the outputting the result of the application of the motion blur effect to the image in the user interface by the computing device in real time as the inputs are received by the computing device such that the motion blur effect is applied to the image as the path is drawn by a user through interaction with the user interface.

13. A method as described in claim 8 , wherein the path is formed from a plurality of points, each of the points being selectable by a user through interaction with the user interface to modify the path further comprising responsive to receipt of one or more other inputs via the user interface involving movement of at least one point of the path from a first location to a second location in the user interface, modifying the display of the path in the user interface by the computing device to include the at least one point at the second location.

14. A system comprising:

one or more modules implemented at least partially in hardware, the one or more modules configured to perform operations comprising:

calculating a motion blur effect that includes a flash effect using:

a path that describes a motion blur trajectory to constrain application of the motion blur effect to an image;

a motion field that is calculated independent of the image; and

one or more specified points in time in the motion blur trajectory to which the flash effect is to be applied;

applying the flash effect as part of the motion blur effect to the image such that the one or more points in time in the motion blur trajectory of the image specifying increased illumination of image contribution in comparison with other points in time in the motion blur trajectory that are not specified; and

outputting the applied flash effect as part of the motion blur effect to the image and rendering the image with the applied flash effect in real time.

15. A system as described in claim 14 , wherein the one or more points in time correspond to flashes and the other points in time correspond to ambient light.

16. A system as described in claim 14 , wherein the flash effect is applied using tapered exposure modeling to taper exposure of contributions of the flash effect with ambient light contributions.

Assignments (2)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2014
From: WILENSKY, GREGG D.; CARR, NATHAN A.; ERICKSON, ALAN L.; SONG, YUYAN; KUMAR, MANISH; EVANS, BRADEE RAE; KONG, SARAH A.; ORTS, MICHAEL J.; STOTZNER, MEREDITH L.; DOLAN, HEATHER M.; TAKAHASHI, YUKIE
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 033633/0735 →
Continuity (1)
Related Publication 20160063669A1 · Mar 3, 2016