IP Library Granted Patent US 11,202,047
Granted Patent B2
US 11,202,047 · App. 16/744,735 · Granted Dec 14, 2021

Systems and methods for digital photography

Inventors: William Guie Rivard (Menlo Park, CA); Adam Barry Feder (Mountain View, CA); Brian J. Kindle (Sunnyvale, CA)
Assignee: DUELIGHT LLC
H04N9/735H04N1/3871H04N5/2256H04N5/2353H04N5/2354H04N5/23232H04N5/232933H04N9/76
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,202,047
App. No.
16/744,735
Granted
Dec 14, 2021
Kind
B2
Abstract

A system, method, and computer program product are provided for rendering a combined image. In use, two or more source images including at least one strobe image and at least one ambient image are loaded. A pixel-level correction is estimated for at least one of the two or more source images based on a pixel level correction function. At least one pixel of the two or more source images is color-corrected based on the pixel-level correction. A first blend weight associated with the two or more source images is initialized, and a first combined image from the two or more source images is rendered based on the color-correction and the first blend weight. Additional systems, methods, and computer program products are also presented.

Claims (61)

1. A device, comprising:

a non-transitory memory storing instructions; and

one or more processors in communication with the non-transitory memory, wherein the one or more processors execute the instructions to:

load two or more source images;

at least partially align the two or more source images;

initialize a first blend weight associated with the two or more source images;

render a first combined image from the two or more source images;

compute a cost function for the first combined image;

reduce the cost function by updating the first blend weight;

render a second combined image based on the updated first blend weight;

display the second combined image in an image viewer;

receive a selection of a user interface control selection graphical user interface element;

determine a first action corresponding to the selection;

transmit the first action from the user interface control selection graphical user interface element to the image viewer;

render a third combined image based on the first action; and

display the third combined image in the image viewer.

2. The device of claim 1 , wherein the device is configured such that the user interface control selection graphical user interface element includes two or more available controls.

3. The device of claim 2 , wherein the device is configured such that the one or more available controls are functionally organized as a drum.

4. The device of claim 2 , wherein the device is configured such that the one or more available controls are functionally organized as a flat sheet.

5. The device of claim 2 , wherein the device is configured such that the one or more available controls include an adjustment operation to a corresponding image.

6. The device of claim 5 , wherein the device is configured such that the adjustment operation includes a flash contribution.

7. The device of claim 5 , wherein the device is configured such that the adjustment operation includes a color correction.

8. The device of claim 3 , wherein the one or more processors execute the instructions to rotate the drum up or down.

9. The device of claim 8 , wherein the device is configured such that the drum is rotated by a two-figure gesture.

10. The device of claim 8 , wherein the device is configured such that the drum is rotated by a one-figure gesture.

11. The device of claim 4 , wherein the one or more processors execute the instructions to slide the flat sheet up or down.

12. The device of claim 11 , wherein the device is configured such that the flat sheet is slid by a two-figure gesture.

13. The device of claim 11 , wherein the device is configured such that the flat sheet is slid by a one-figure gesture.

14. The device of claim 1 , wherein the device is configured such that the first action registers corresponding user interface controls.

15. The device of claim 1 , wherein the device is configured such that the first action includes enabling an active control to receive at least one of: a user input event targeting the active control, or a user input event targeting the user interface control selection graphical user interface element.

16. The device of claim 1 , wherein the one or more processors execute the instructions to emulate a physical motion in applying the first action to the image viewer.

17. The device of claim 1 , wherein the device is configured such that the first action is restricted to a window manager.

18. The device of claim 1 , wherein the device is configured such that the transmitting the first action includes performing one or more API calls via an object registration mechanism that registers settings of the user interface control selection graphical user interface element.

19. A computer program product comprising computer executable instructions stored on a non-transitory computer readable medium that when executed by a processor instruct the processor to:

load two or more source images;

at least partially align the two or more source images;

initialize a first blend weight associated with the two or more source images;

render a first combined image from the two or more source images;

compute a cost function for the first combined image;

reduce the cost function by updating the first blend weight;

render a second combined image based on the updated first blend weight;

display the second combined image in an image viewer;

receive a selection of a user interface control selection graphical user interface element;

determine a first action corresponding to the selection;

transmit the first action from the user interface control selection graphical user interface element to the image viewer;

render a third combined image based on the first action; and

display the third combined image in the image viewer.

20. A computer-implemented method, comprising:

loading, using a processor, two or more source images;

at least partially aligning, using the processor, the two or more source images;

initializing, using the processor, a first blend weight associated with the two or more source images;

rendering, using the processor, a first combined image from the two or more source images;

computing, using the processor, a cost function for the first combined image;

reducing, using the processor, the cost function by updating the first blend weight;

rendering, using the processor, a second combined image based on the updated first blend weight;

displaying, using the processor, the second combined image in an image viewer;

receiving, using the processor, a selection of a user interface control selection graphical user interface element;

determining, using the processor, a first action corresponding to the selection;

transmitting, using the processor, the first action from the user interface control selection graphical user interface element to the image viewer;

rendering, using the processor, a third combined image based on the first action; and

displaying, using the processor, the third combined image in the image viewer.

Assignments (2)
SECURITY INTEREST Recorded Jul 30, 2021
From: DUELIGHT, LLC
To: ZILKA KOTAB, P.C.
Reel/Frame 057043/0301 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2020
From: RIVARD, WILLIAM GUIE; FEDER, ADAM BARRY; KINDLE, BRIAN J.
To: DUELIGHT LLC
Reel/Frame 051539/0217 →
Cited By (5)
US 12,401,911 US 12,401,912 US 12,418,727 US 12,445,736 US 12,666,159