Image registration methods for still image stabilization
First Claim
1. A non-transitory program storage device, readable by a programmable control device and comprising instructions stored thereon to cause the programmable control device to:
- obtain a first image and a first one or more additional images;
obtain motion information corresponding to each of the first one or more additional images;
compensate for motion between the first image and each of the first one or more additional images based, at least in part, on each image'"'"'s corresponding motion information to generate a second one or more additional images, by;
determining a transform matrix for each of a plurality of segments of each of the first one or more additional images based, at least in part, on the motion information, andapplying the transform matrix for each of the first one or more additional images to the corresponding first one or more additional image,wherein each of the second one or more additional images has a corresponding image in the first one or more additional images, and wherein each segment corresponds to a plurality of pixel rows in an image; and
register the second one or more additional images with respect to the first image based, at least in part, on a pixel-level analysis of the first image and each of the second one or more additional images to generate an output image.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and computer readable media to improve image stabilization operations are described. A novel approach to pixel-based registration of non-reference images to a reference frame in a set of commonly captured images is disclosed which makes use of pyramid decomposition to more efficiently detect corners. The disclosed pixel-based registration operation may also be combined with motion sensor data-based registration approaches to register non-reference images with respect to the reference frame. When the registered non-reference images are combined with the pre-selected reference image, the resulting image is a quality stabilized image.
-
Citations
15 Claims
-
1. A non-transitory program storage device, readable by a programmable control device and comprising instructions stored thereon to cause the programmable control device to:
-
obtain a first image and a first one or more additional images; obtain motion information corresponding to each of the first one or more additional images; compensate for motion between the first image and each of the first one or more additional images based, at least in part, on each image'"'"'s corresponding motion information to generate a second one or more additional images, by; determining a transform matrix for each of a plurality of segments of each of the first one or more additional images based, at least in part, on the motion information, and applying the transform matrix for each of the first one or more additional images to the corresponding first one or more additional image, wherein each of the second one or more additional images has a corresponding image in the first one or more additional images, and wherein each segment corresponds to a plurality of pixel rows in an image; and register the second one or more additional images with respect to the first image based, at least in part, on a pixel-level analysis of the first image and each of the second one or more additional images to generate an output image. - View Dependent Claims (2, 3, 4)
-
-
5. A non-transitory program storage device, readable by a programmable control device and comprising instructions stored thereon to cause the programmable control device to:
-
obtain a first image and a first one or more additional images; obtain motion information corresponding to each of the first one or more additional images; determine a transform matrix for each of a plurality of segments of each of the first one or more additional images based, at least in part, on the motion information, wherein each segment corresponds to a plurality of pixel rows in an image; apply the transform matrix for each of the first one or more additional images to the corresponding first one or more additional image; and register the first one or more additional images with respect to the first image based, at least in part, on a pixel-level analysis of the first image, the first one or more additional images and the transform matrices for each of the first one or more additional images to generate an output image. - View Dependent Claims (6, 7)
-
-
8. A non-transitory program storage device, readable by a programmable control device and comprising instructions stored thereon to cause the programmable control device to:
-
obtain a first image having a plurality of pixels arranged in rows; obtain a first one or more additional images, wherein a plurality of pixels in the first image have corresponding pixels in each of the first one or more additional images; obtain motion information corresponding to each of the first one or more additional images; determine a first transform matrix for each segment of each of the first one or more additional images based, at least in part, on the motion information, wherein each segment corresponds to a one or more rows of pixels; compensate for motion between the first image and each of the first one or more additional images based, at least in part, on each image'"'"'s corresponding motion information to generate a second one or more additional images, wherein each of the second one or more additional images has a corresponding image in the first one or more additional images; determine a second transform matrix for each of the first one or more additional images based, at least in part, on a pixel-level analysis of the first image and the second one or more additional images; combine each image'"'"'s first transform matrices and the corresponding second transform matrices to generate a transformation matrix for each segment of each of the first one or more additional images; apply the transformation matrices to corresponding segments of the first one or more additional images to generated one or more transformed segments for each of the first one or more additional images; and combine the transformed segments for each of the first one or more additional images to register the first one or more additional images. - View Dependent Claims (9, 10, 11)
-
-
12. A non-transitory program storage device, readable by a programmable control device and comprising instructions stored thereon to cause the programmable control device to:
-
obtain a first and a second images; obtain motion information corresponding to the first and second images; compensate for motion between the first and second images based, at least in part, on the motion information corresponding to the first and second images, wherein the instructions to compensate for motion between the first and second images further comprise instructions to; apply pyramid decomposition on each of the first and the second images to generate a plurality of levels for each image; detect corners at each level of the first image; for each corner detected at each of level the first image, search for a corresponding corner in a corresponding level of the second image; and generate a transformation matrix for each corresponding corner identified based on locations of the corresponding corners; and apply the transformation matrices to the second image to register the second image, wherein the second image is registered based, at least in part, on a pixel-level analysis of the first image and the second image. - View Dependent Claims (13, 14, 15)
-
Specification