Efficient method for reducing noise and blur in a composite still image from a rolling shutter camera
First Claim
1. A method of compositing a plurality of frames of a multi-frame image captured from a sensor having a rolling shutter in a digital camera, the method comprising:
- storing a first frame of the plurality into an accumulator,storing a reference copy of the first frame;
identifying at least a predetermined number of motion estimation reference points in each of a plurality of swaths of the first image, wherein the swaths extend perpendicular to a direction of motion of the rolling shutter;
for each subsequent frame after the first frame,(a) determining an overall motion vector for each swath of the subsequent image by determining a motion vector for at least some of the identified motion estimation points of a corresponding swath in the first image, and(b) re-registering each swath of the subsequent frame according to its overall motion vector, and(c) adding each re-registered swath to-the accumulator; and
after a final frame of the plurality, writing the accumulator as an output image.
1 Assignment
0 Petitions
Accused Products
Abstract
A rolling shutter digital camera. Each photographic image of a given exposure duration is captured as a multi-frame burst of frames each having a shorter exposure duration to minimize motion blur and to reduce sensor noise by averaging. Each frame is quantized into swaths, captured sequentially by the rolling shutter. Swaths of the first frames are analyzed to select a set of best motion detection reference regions. Swaths of subsequent frames are analyzed versus only those regions, to reduce required computation, and are re-registered accordingly. Corresponding swaths of each frame are accumulated. The accumulator is normalized to the desired bit depth and written as the final image. Averaging of the multiple frames is improved by re-registering swaths rather than entire frames, because of the time delta caused by the rolling shutter. Computation is further reduced by selecting candidate points only along a key line of each swath of the first frame, and still further by pre-limiting the search by using a thumbnail version of the first frame to cull most candidate points. Thresholds are used to ensure adequate motion detection regions are used for each swath.
-
Citations
12 Claims
-
1. A method of compositing a plurality of frames of a multi-frame image captured from a sensor having a rolling shutter in a digital camera, the method comprising:
-
storing a first frame of the plurality into an accumulator, storing a reference copy of the first frame; identifying at least a predetermined number of motion estimation reference points in each of a plurality of swaths of the first image, wherein the swaths extend perpendicular to a direction of motion of the rolling shutter; for each subsequent frame after the first frame, (a) determining an overall motion vector for each swath of the subsequent image by determining a motion vector for at least some of the identified motion estimation points of a corresponding swath in the first image, and (b) re-registering each swath of the subsequent frame according to its overall motion vector, and (c) adding each re-registered swath to-the accumulator; and after a final frame of the plurality, writing the accumulator as an output image. - View Dependent Claims (2, 3)
-
-
4. A method of generating a final output image from a burst of at least three frames of a multi-frame image from a sensor of a digital camera having a rolling shutter, the method comprising:
-
(A) accumulating a first frame of the multi-frame image into an accumulating image; (B) dividing the first frame into a plurality of swaths each extending perpendicular to a direction of motion of the rolling shutter such that the swaths are captured in series; (C) for each subsequent frame in the multi-frame image, (i) dividing the subsequent frame into the plurality of swaths, (ii) for each swath in the subsequent frame, (a) comparing the swath of the subsequent frame to the corresponding swath of the first frame to identify a motion vector for the swath of the subsequent frame, and (b) re-registering the swath of the subsequent frame according to the motion vector, (iii) accumulating the subsequent frame into the accumulated image; (D) outputting the accumulated image as the final output image. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
-
11. A method of compositing a plurality of at least three frames of a multi-frame image into a final output image, wherein the multi-frame image is captured by a sensor having a rolling shutter, the method comprising:
-
(A) for a first frame of the plurality of frames, (1) if the first frame is in an RGB style color space, converting the first frame to a Y′
CrCb style color space,(2) saving the converted first frame to an accumulator, (3) downsampling a Y′
luma component of the first frame to generate a thumbnail,(4) dividing the first frame into N swaths, (5) for each of the N swaths, (a) selecting a key line of pixels in the swath, (b) selecting a plurality of points along the key line, (c) for each selected point, (i) mapping the point into a location in the thumbnail, (ii) performing a first activity level calculation of a pixel at the mapped location in the thumbnail, (d) selecting a first predetermined number of candidate points from the plurality of points according to their first calculated activity levels, (e) saving the selected candidate points in the swath'"'"'s row in a candidate matrix, and (6) for each swath'"'"'s row in the candidate matrix, (a) for each saved candidate point in the row, (i) mapping the saved candidate point into a location in the first frame, and (ii) performing a second activity level calculation of a pixel at the mapped location in the first frame, (b) selecting a first predetermined number of motion detection points in the swath according to their second calculated activity levels, (c) saving the selected motion detection points in the swath'"'"'s row in an edge matrix, (B) for each subsequent frame after the first frame, (1) dividing the subsequent frame in to N swaths according to substantially a same division as for the first frame, (2) for each of the swaths of the subsequent frame, (a) for each saved motion detection point in the swath'"'"'s row of the edge matrix, (i) calculating a motion vector of a pixel region at the motion detection point in the subsequent frame versus the corresponding frame of the first frame, (b) from the calculated motion vectors, calculating an overall motion vector of the swath; (3) for each of the swaths of the subsequent frame, (a) re-registering the swath according to the overall motion vector of the swath, and (b) adding the re-registered swath to the accumulator; and (C) after a final frame of the plurality, (1) scaling the accumulator according to a number of frames in the multi-frame image, (2) writing the scaled accumulator to the final output image. - View Dependent Claims (12)
-
Specification