IP Library Granted Patent US 10,187,587
Granted Patent B2
US 10,187,587 · App. 15/097,687 · Granted Jan 22, 2019

Live updates for synthetic long exposures

Inventors: Samuel William Hasinoff (Mountain View, CA); Jiawen Chen (Mountain View, CA)
Assignee: Google LLC
H04N5/2353H04N1/2137H04N5/2355H04N5/23216H04N5/23293H04N5/35581
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 10,187,587
App. No.
15/097,687
Granted
Jan 22, 2019
Kind
B2
Abstract

An image sensor of an image capture device may capture an image. The captured image may be stored in a buffer of two or more previously-captured images. An oldest image of the two or more previously-captured images may be removed from the buffer. An aggregate image of the images in the buffer may be updated. This updating may involve subtracting a representation of the oldest image from the aggregate image, and adding a representation of the captured image to the aggregate image. A viewfinder of the image capture device may display a representation of the aggregate image.

Claims (52)

1. A method comprising:

capturing, by an image sensor of an image capture device, an image of a scene;

storing the captured image in a buffer of two or more previously-captured images of the scene;

removing, from the buffer, an oldest image of the two or more previously-captured images;

updating an aggregate image derived from the images stored in the buffer, wherein the aggregate image is based on a running summation of pixel values of the two or more images stored in the buffer, wherein the updating involves subtracting a representation of the oldest image from the aggregate image, and adding a representation of the captured image to the aggregate image, and wherein the running summation represents a live synthetic exposure of the scene; and

displaying, on a viewfinder of the image capture device, a representation of the aggregate image.

2. The method of claim 1 , further comprising:

while displaying the representation of the aggregate image, capturing a further image of the scene.

3. The method of claim 1 , wherein the viewfinder of the image capture device has a refresh rate defined by a refresh time interval, wherein the representation of the aggregate image has a synthetic exposure length defined by a synthetic exposure time interval, wherein the synthetic exposure time interval is greater than the refresh time interval.

4. The method of claim 3 , wherein synthetic exposure time interval is at least 1000 milliseconds and the refresh time interval is less than 150 milliseconds.

5. The method of claim 3 , wherein the synthetic exposure time interval is an integer multiple of the refresh time interval.

6. The method of claim 5 , further comprising:

providing, by the image capture device, one or more user interface components configured to receive a selection of the synthetic exposure time interval from a plurality of possible synthetic exposure time intervals that are different integer multiples of the refresh time interval; and

setting the synthetic exposure time interval as selected.

7. The method of claim 3 , wherein the synthetic exposure time interval is a real-number multiple of the refresh time interval.

8. The method of claim 7 , further comprising:

providing, by the image capture device, one or more user interface components configured to receive a selection of the synthetic exposure time interval from a plurality of possible synthetic exposure time intervals that are different real-number multiples of the refresh time interval; and

setting the synthetic exposure time interval as selected.

9. The method of claim 7 , wherein n represents the synthetic exposure time interval, wherein f represents a total length of all whole refresh time intervals in the synthetic exposure time interval, and wherein capturing the image of the scene comprises:

applying a gain of approximately 1+(n-f)/f to the captured image.

10. The method of claim 1 , wherein the buffer stores at least 15 previously-captured images in time order of capture.

11. The method claim 1 , wherein the displayed representation of the aggregate image is a low-resolution image, and wherein the previously-captured images and the aggregate image are high-resolution images that have higher resolutions than the low-resolution image, the method further comprising:

receiving, by the image capture device, an indication that a shutter function has been triggered; and

storing, in a memory of the image capture device, the aggregate image, such that the aggregate image is available to one or more image manipulation applications.

12. The method of claim 1 , wherein the image capture device includes an image processing pipeline that applies tone mapping to captured images, and wherein the captured image is stored in the buffer without image processing from the pipeline.

13. The method of claim 1 , wherein the image capture device includes an image processing pipeline that applies tone mapping to captured images before storing the captured images in the buffer, the method further comprising:

after tone mapping is applied and before storing the captured image in the buffer, applying reverse tone mapping to the image, wherein the reverse tone mapping removes the tone mapping from the image.

14. The method of claim 1 , wherein updating the aggregate image comprises applying image stabilization to the aggregate image.

15. An article of manufacture including a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by an image capture device, cause the image capture device to perform operations comprising:

capturing, by an image sensor of the image capture device, an image of a scene;

storing the captured image in a buffer of two or more previously-captured images of the scene;

removing, from the buffer, an oldest image of the two or more previously-captured images;

updating an aggregate image derived from the images stored in the buffer, wherein the aggregate image is based on a running summation of pixel values of the two or more images stored in the buffer, wherein the updating involves subtracting a representation of the oldest image from the aggregate image, and adding a representation of the captured image to the aggregate image, and wherein the running summation represents a live synthetic exposure of the scene; and

displaying, on a viewfinder of the image capture device, a representation of the aggregate image.

16. The article of manufacture of claim 15 , wherein the viewfinder of the image capture device has a refresh rate defined by a refresh time interval, wherein the representation of the aggregate image has a synthetic exposure length defined by a synthetic exposure time interval, wherein the synthetic exposure time interval is greater than the refresh time interval.

17. The article of manufacture of claim 16 , the operations further comprising:

providing one or more user interface components configured to receive a selection of the synthetic exposure time interval from a plurality of possible synthetic exposure time intervals that are different integer multiples of the refresh time interval; and

setting the synthetic exposure time interval as selected.

18. The article of manufacture of claim 16 , the operations further comprising:

providing one or more user interface components configured to receive a selection of the synthetic exposure time interval from a plurality of possible synthetic exposure time intervals that are different real-number multiples of the refresh time interval; and

setting the synthetic exposure time interval as selected.

19. An image capture device comprising:

an image sensor;

a viewfinder;

a processor;

a memory; and

program instructions, stored in the memory, that upon execution by the processor cause the image capture device to perform operations comprising:

capturing, by the image sensor, an image of a scene;

storing the captured image in a buffer of two or more previously-captured images of the scene;

removing, from the buffer, an oldest image of the two or more previously-captured images;

updating an aggregate image derived from the images stored in the buffer, wherein the aggregate image is based on a running summation of pixel values of the two or more images stored in the buffer, wherein the updating involves subtracting a representation of the oldest image from the aggregate image, and adding a representation of the captured image to the aggregate image, and wherein the running summation represents a live synthetic exposure of the scene; and

displaying, on the viewfinder, a representation of the aggregate image.

Assignments (2)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2016
From: HASINOFF, SAMUEL WILLIAM; CHEN, JIAWEN
To: GOOGLE INC.
Reel/Frame 038269/0335 →
Continuity (1)
Related Publication 20170302840A1 · Oct 19, 2017
Cited By (16)
US 12,192,617 US 12,314,553 US 12,394,077 US 12,401,889 US 12,495,204 US 12,506,953 US 12,530,116 US 12,602,154 US 12,647,673 US 12,659,569 US 12,666,132 US 12,671,891 US 12,701,334 US 12,707,140 US 12,737,107 US 12,739,511