IP Library › Granted Patent US 9,344,636
Granted Patent B2
US 9,344,636 · App. 14/292,562 · Granted May 17, 2016

Scene motion correction in fused image systems

Inventors: Marius Tico (Mountain View, CA); Rolf Toft (Palo Alto, CA); Paul M. Hubel (Mountain View, CA)
Assignee: Apple Inc.
H04N5/2353H04N5/265
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,344,636
App. No.
14/292,562
Granted
May 17, 2016
Kind
B2
Abstract

Techniques to capture and fuse short- and long-exposure images of a scene from a stabilized image capture device are disclosed. More particularly, the disclosed techniques use not only individual pixel differences between co-captured short- and long-exposure images, but also the spatial structure of occluded regions in the long-exposure images (e.g., areas of the long-exposure image(s) exhibiting blur due to scene object motion). A novel device used to represent this feature of the long-exposure image is a “spatial difference map.” Spatial difference maps may be used to identify pixels in the short- and long-exposure images for fusion and, in one embodiment, may be used to identify pixels from the short-exposure image(s) to filter post-fusion so as to reduce visual discontinuities in the output image.

Claims (65)

1. An electronic device, comprising:

an image capture unit;

a memory operatively coupled to the image capture unit; and

one or more processors operatively coupled to the memory and configured to execute instructions stored in the memory, the instructions configured to cause the one or more processors to—

capture, by the image capture unit, a long-exposure image having pixels;

store the long-exposure image in the memory;

capture, by the image capture unit, a short-exposure image having pixels, wherein each pixel in the short-exposure image has a corresponding pixel in the long-exposure image;

store the short-exposure image in the memory;

generate, in the memory, a difference map based on the short- and long-exposure images, the difference map having values wherein each value has a corresponding pixel in each of the short- and long-exposure images;

identify one or more connected-components in the difference map, wherein each connected component comprises one or more values;

nullify at least some of the identified one or more connected components to generate a spatial difference map, wherein each nullified connected component comprises less than a specified number of values; and

fuse, in the memory, the short- and long-exposure images based on the spatial difference map.

2. The electronic device of claim 1 , wherein the instructions to cause the one or more processors to capture a short-exposure image comprise instructions to cause the one or more processors to:

obtain, from the image capture unit, a plurality of first short-exposure images;

fuse the plurality of first short-exposure images to generate the short-exposure image; and

store the short-exposure image in the memory.

3. The electronic device of claim 1 , wherein the instructions to cause the one or more processors to generate a difference map further comprise instructions to apply a first threshold to each value in the difference map to convert each value in the difference map to a binary value.

4. The electronic device of claim 3 , wherein the instructions to cause the one or more processors to identify one or more connected-components comprise instructions to cause the one or more processors to identify, as a connected component, any pair of non-zero values that are directly adjacent in the difference map.

5. The electronic device of claim 1 , wherein the instructions to cause the one or more processors to generate a difference map comprise instructions to cause the one or more processors to generate a difference map in accordance with optical flow analysis.

6. The electronic device of claim 1 , wherein the instructions to cause the one or more processors to fuse the short- and long-exposure images based on the spatial difference map comprise instructions to cause the one or more processors to:

identify a first plurality of pixels from the short-exposure image based on the spatial difference map;

identify a second plurality of pixels from the long-exposure image based on the spatial difference map;

determine a weight mask based, at least in part, on the short-exposure image, the long-exposure image and the spatial difference map; and

generate an intermediate output image based on the short-exposure image, the long-exposure image and the weight mask.

7. The electronic device of claim 6 , further comprising instructions to cause the one or more processors to filter the intermediate output image to generate an output image.

8. The electronic device of claim 7 , wherein the instructions to cause the one or more processors to filter the intermediate output image comprise instructions to cause the one or more processors to filter each pixel in the intermediate output image in a manner that is inversely proportional to an amount of noise in the pixel.

9. A method comprising:

obtaining a long-exposure image of a scene, the long-exposure image having pixels;

obtaining a short-exposure image of the scene, the short-exposure image having pixels wherein each pixel in the short-exposure image has a corresponding pixel in the long-exposure image;

generating a difference map based on the short- and long-exposure images, the difference map having values wherein each value has a corresponding pixel in each of the short- and long-exposure images;

identifying one or more connected-components in the difference map, wherein each connected component comprises a plurality of values;

nullifying at least some of the identified connected components comprising less than a specified number of values to generate a spatial difference map; and

fusing the short- and long-exposure images based on the spatial difference map.

10. The method of claim 9 , wherein each value in the difference map is based on a block of pixels in the short-exposure image and a corresponding block of pixels in the long-exposure image.

11. The method of claim 10 , wherein fusing the short- and long-exposure images comprise:

identifying a first plurality of pixels from the short-exposure image based on the spatial difference map;

identifying a second plurality of pixels from the long-exposure image based on the spatial difference map;

filtering the first plurality of pixels based on each of the first plurality of pixel's corresponding value in the difference map; and

fusing the filtered first plurality of pixels and the second plurality of pixels to generate an output image.

12. The method of claim 9 , wherein the act of generating a difference map further comprises applying a first threshold to each value in the difference map to convert each value to a binary value.

13. The method of claim 12 , wherein identifying one or more connected-components comprise identifying, as a connected component, all pairs of non-zero values that are directly adjacent in the difference map.

14. A non-transitory program storage device comprising instructions stored thereon, the instructions readable by a processor and configured to cause one or more processors to:

obtain a long-exposure image of a scene, the long-exposure image having pixels;

obtain a short-exposure image of the scene contemporaneously with the long-exposure image, the short-exposure image having pixels wherein each pixel in the short-exposure image has a corresponding pixel in the long-exposure image;

generate a difference map based on the short- and long-exposure images, the difference map having values wherein each value has a corresponding pixel in each of the short- and long-exposure images;

identify one or more connected-components in the difference map, wherein each connected component comprises one or more values;

nullify at least some of the identified one or more connected components to generate a spatial difference map, wherein each nullified connected component comprises less than a specified number of values; and

fuse the short- and long-exposure images based on the spatial difference map.

15. The non-transitory program storage device of claim 14 , wherein the instructions to cause the one or more processors to obtain a short-exposure image comprise instructions to cause the one or more processors to:

obtain a plurality of first short-exposure images; and

combine the plurality of first short-exposure images to generate the short-exposure image.

16. The non-transitory program storage device of claim 14 , wherein the instructions to cause the one or more processors to obtain a long-exposure image comprise instructions to cause the one or more processors to:

obtain a plurality of first long-exposure images; and

combine the plurality of first long-exposure images to generate the long-exposure image.

17. The non-transitory program storage device of claim 14 , wherein each value in the difference map is based on a block of pixels in the short-exposure image and a corresponding block of pixels in the long-exposure image.

18. The non-transitory program storage device of claim 14 , wherein the instructions to cause the one or more processors to generate a difference map further comprise instructions to cause the one or more processors to apply a first threshold to each value in the difference map to convert each value in the difference map to a binary value.

19. The non-transitory program storage device of claim 18 , wherein the instructions to cause the one or more processors to identify one or more connected-components comprise instructions to cause the one or more processors to identify, as a connected component, any pair of non-zero values that are directly adjacent in the difference map.

20. The non-transitory program storage device of claim 14 , wherein the instructions to cause the one or more processors to generate a difference map comprise instructions to cause the one or more processors to generate a difference map in accordance with optical flow analysis.

21. The non-transitory program storage device of claim 14 , wherein the instructions to cause the one or more processors to fuse the short- and long-exposure images comprise instructions to cause the one or more processors to:

identify a first plurality of pixels from the short-exposure image based on the spatial difference map;

identify a second plurality of pixels from the long-exposure image based on the spatial difference map;

determine a weight mask based, at least in part, on the short-exposure image, the long-exposure image and the spatial difference map; and

generate an intermediate output image based on the short-exposure image, the long-exposure image and the weight mask.

22. The non-transitory program storage device of claim 21 , further comprising instructions to cause the one or more processors to filter the intermediate output image to generate an output image.

23. The non-transitory program storage device of claim 22 , wherein the instructions to cause the one or more processors to filter the intermediate output image comprise instructions to cause the one or more processors to filter each pixel in the intermediate output image in a manner that is inversely proportional to an amount of noise in the pixel.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2014
From: TICO, MARIUS; TOFT, ROLF; HUBEL, PAUL M.
To: APPLE INC.
Reel/Frame 033001/0837 →
Continuity (1)
Related Publication 20150350509A1 · Dec 3, 2015