Correcting rolling shutter using image stabilization
First Claim
1. A computer implemented method to perform a rolling shutter correction of images captured with an image-capturing device, comprising:
- utilizing calibration data for a camera of the image-capturing device to transform image coordinates in an image plane of an image sensor of the camera into a direction vector;
determining pre-computed pixel velocity components based on the calibration data;
capturing a sequence of images with the image-capturing device;
estimating for each image an aggregate pixel velocity based on aggregating a weighted sum of each pre-computed pixel velocity component with weights corresponding to a rotational velocity vector for each dimension; and
resampling each image to generate a new image to perform the rolling shutter correction.
1 Assignment
0 Petitions
Accused Products
Abstract
Several methods, devices and systems for correcting rolling shutter artifacts are described. In one embodiment, an image capturing system includes a rolling shutter image sensor that may cause a rolling shutter artifact (e.g., warping). The system includes a processing system that is configured to perform an automatic rolling shutter correction mechanism that utilizes calibration data based on a relationship between pixel locations in an image plane of the image sensor and their corresponding rays of light in a coordinate space. The rolling shutter mechanism determines pixel velocity components based on the calibration data and estimates for each image an aggregate pixel velocity based on an aggregation of the pixel velocity components.
89 Citations
22 Claims
-
1. A computer implemented method to perform a rolling shutter correction of images captured with an image-capturing device, comprising:
-
utilizing calibration data for a camera of the image-capturing device to transform image coordinates in an image plane of an image sensor of the camera into a direction vector; determining pre-computed pixel velocity components based on the calibration data; capturing a sequence of images with the image-capturing device; estimating for each image an aggregate pixel velocity based on aggregating a weighted sum of each pre-computed pixel velocity component with weights corresponding to a rotational velocity vector for each dimension; and resampling each image to generate a new image to perform the rolling shutter correction. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory computer readable medium containing executable computer program instructions which when executed by a data processing system cause said system to perform a method, the method comprising:
-
utilizing calibration data for the system having an image sensor to transform two-dimensional pixel coordinates in an image plane of the image sensor into a direction vector; determining pixel velocity components based on the calibration data; capturing a sequence of images with the system; determining motion data for captured images with a motion-estimating device of the system; estimating for each image an aggregate pixel velocity based on aggregating a weighted sum of each pre-computed pixel velocity component with weights corresponding to a rotational velocity vector for each dimension; and resampling each image to generate a new image to perform the rolling shutter correction. - View Dependent Claims (7, 8, 9, 10)
-
-
11. An image capturing system, comprising:
-
a rolling shutter image sensor to sense images; a storage device coupled to the image sensor, the storage device to store captured images; a motion-estimating device to detect motion data; and a processing system coupled to the storage device and the motion-estimating device, the processing system is configured to perform an automatic rolling shutter correction mechanism that utilizes calibration data based on a relationship between pixel locations in an image plane of the image sensor and their corresponding rays of light in a coordinate space, to determine pixel velocity components based on the calibration data;
to estimate for each image an aggregate pixel velocity based on aggregating a weighted sum of each pixel velocity component with weights corresponding to a rotational velocity vector for each dimension; andto resample each image to generate a new image. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer implemented method to perform a rolling shutter correction of images captured with an image-capturing device, comprising:
-
utilizing calibration data for a camera of the image-capturing device to transform image coordinates in an image plane of an image sensor of the camera into a direction vector; determining pre-computed pixel velocity components based on the calibration data; capturing a sequence of images with the image-capturing device; and estimating for each image an aggregate pixel velocity based on aggregating a weighted sum of each pre-computed pixel velocity component with a rotational velocity weight for each dimension. - View Dependent Claims (18)
-
-
19. A non-transitory computer readable medium containing executable computer program instructions which when executed by a data processing system cause said system to perform a method, the method comprising:
-
utilizing calibration data for the system having an image sensor to transform two-dimensional pixel coordinates in an image plane of the image sensor into a direction vector; determining pixel velocity components based on the calibration data; capturing a sequence of images with the system; determining motion data for captured images with a motion-estimating device of the system; and estimating for each image an aggregate pixel velocity based on aggregating a weighted sum of each pre-computed pixel velocity component with a rotational velocity weight for each dimension. - View Dependent Claims (20)
-
-
21. An image capturing system, comprising:
-
a rolling shutter image sensor to sense images; a storage device coupled to the image sensor, the storage device to store captured images; a motion-estimating device to detect motion data; and a processing system coupled to the storage device and the motion-estimating device, the processing system is configured to perform an automatic rolling shutter correction mechanism that utilizes calibration data based on a relationship between pixel locations in an image plane of the image sensor and their corresponding rays of light in a coordinate space, to determine pixel velocity components based on the calibration data; and
to estimate for each image an aggregate pixel velocity based on aggregating a weighted sum of each pre-computed pixel velocity component with a rotational velocity weight for each dimension. - View Dependent Claims (22)
-
Specification