Rolling shutter reduction based on motion sensors
First Claim
1. A method for reducing rolling shutter distortion in a frame of image data, comprising:
- estimating motion of a base row of the frame based on motion sensor data representing motion of image sensor during capture;
for a plurality of other rows of the frame, estimating a motion difference between motion of each other row and the base row based on the motion sensor data;
generating a perspective transform for each other row based on the estimated motion difference; and
applying the generated perspective transforms to image data of the rows to generate corrected frame data.
1 Assignment
0 Petitions
Accused Products
Abstract
This disclosure pertains to devices, methods, and computer readable media for reducing rolling shutter distortion effects in captured video frames based on timestamped positional information obtained from positional sensors in communication with an image capture device. In general, rolling shutter reduction techniques are described for generating and applying image segment-specific perspective transforms to already-captured segments of a single image or images in a video sequence, to compensate for unwanted distortions that occurred during the read out of the image sensor. Such distortions may be due to, for example, the use of CMOS sensors combined with the movement of the image capture device. In contrast to the prior art, rolling shutter reduction techniques described herein may be applied to captured images or videos in real-time or near real-time using positional sensor information and without intensive image processing that would require an analysis of the content of the underlying image data.
27 Citations
37 Claims
-
1. A method for reducing rolling shutter distortion in a frame of image data, comprising:
-
estimating motion of a base row of the frame based on motion sensor data representing motion of image sensor during capture; for a plurality of other rows of the frame, estimating a motion difference between motion of each other row and the base row based on the motion sensor data; generating a perspective transform for each other row based on the estimated motion difference; and applying the generated perspective transforms to image data of the rows to generate corrected frame data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for reducing rolling shutter distortion in an input frame, comprising:
-
determining motion of each input row of the input frame; finding a motion difference between the motion of a base row of the input frame and each of the input rows; and generating a plurality of transformed rows according to a plurality of corresponding perspective transforms, wherein the perspective transforms correct for shutter distortion associated with input rows based on the motion difference. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium storing computer-executable instructions that, when executed, cause a processor to execute a method comprising:
-
determining motion of each input row of an input frame; finding a motion difference between the motion of a base row of the input frame and each of the input rows; and generating a plurality of transformed rows according to a plurality of corresponding perspective transforms, wherein the perspective transforms correct for shutter distortion associated with input rows based on the motion difference. - View Dependent Claims (16, 17, 18)
-
-
19. An apparatus comprising:
-
a image sensor to capture and output a sequence of input rows of an input frame; a motion sensor to output motion data corresponding to motion of the apparatus at approximately the time the image sensor captures the sequence of input rows; a memory to store a corrected frame; and a controller configured to; estimate motion of each input row based on the motion data; find a motion difference for each row between the motion of the row and a base row of the input frame; generate a perspective transform for each row based on the motion difference of the corresponding row; apply the corresponding generated perspective transform to each row to generate a corrected row; assemble the corrected rows into the corrected frame; and store the corrected frame in the memory. - View Dependent Claims (20, 21, 22)
-
-
23. A chip comprising:
-
a video device driver configured to receive a captured frame including a plurality of captured rows; a motion sensor driver configured to receive motion data associated with the captured rows; and a rolling shutter distortion processor configured to; determine motion of each captured row of the captured frame; find a motion difference between the motion of a base row of the captured frame and each of the captured rows; and generate a plurality of transformed rows according to a plurality of corresponding perspective transforms, wherein the perspective transforms correct for shutter distortion associated with input rows based on the motion difference. - View Dependent Claims (24, 25)
-
-
26. A non-transitory computer-readable storage medium storing computer-executable instructions that, when executed, cause a processor to perform a method comprising:
-
estimating motion of a base row of the frame based on motion sensor data representing motion of image sensor during capture; for a plurality of other rows of the frame, estimating a motion difference between motion of each other row and the base row based on the motion sensor data; generating a perspective transform for each other row based on the estimated motion difference; and applying the generated perspective transforms to image data of the rows to generate corrected frame data. - View Dependent Claims (27, 28, 29)
-
-
30. An apparatus comprising:
-
a image sensor to capture and output a sequence of rows of a frame of image data; a motion sensor to output motion data corresponding to motion of the apparatus at approximately the time the image sensor captures the sequence of rows; a memory to store a corrected frame; and a controller configured to; estimate motion of a base row of the frame based on the motion data representing motion of the apparatus during capture; for a plurality of other rows of the frame, estimate a motion difference between motion of each other row and the base row based on the motion data; generate a perspective transform for each other row based on the estimated motion difference; and apply the generated perspective transforms to image data of the rows to generate corrected frame data. - View Dependent Claims (31, 32, 33)
-
-
34. A chip comprising:
-
a video device driver configured to receive a captured frame including a plurality of captured rows; a motion sensor driver configured to receive motion data associated with the captured rows; and a rolling shutter distortion processor configured to; estimate motion of a base row of the frame based on the motion data; for a plurality of other rows of the frame, estimate a motion difference between motion of each other row and the base row based on the motion data; generate a perspective transform for each other row based on the estimated motion difference; and apply the generated perspective transforms to image data of the rows to generate corrected frame data. - View Dependent Claims (35, 36, 37)
-
Specification