Methods and system for digitally stabilizing video captured from rolling shutter cameras
First Claim
Patent Images
1. A method of determining row motion vectors for each row in a current frame of a pixel array, the method comprising:
- dividing the current frame into strips, each strip including a plurality of rows;
identifying blocks of pixels within each strip;
determining block motion vectors for each block;
using the block motion vectors for each block to determine a strip motion vector for each strip; and
using the strip motion vectors to determine the row motion vectors.
2 Assignments
0 Petitions
Accused Products
Abstract
An imaging device and methods of stabilizing video captured using a rolling shutter operation. Motion estimation is used to determine a row motion vector for individual rows of a current frame of a pixel array. The row motion vectors are used to map the location of pixels in the current frame to a mapped frame representing a single acquisition time for the current frame.
32 Citations
10 Claims
-
1. A method of determining row motion vectors for each row in a current frame of a pixel array, the method comprising:
-
dividing the current frame into strips, each strip including a plurality of rows; identifying blocks of pixels within each strip; determining block motion vectors for each block; using the block motion vectors for each block to determine a strip motion vector for each strip; and using the strip motion vectors to determine the row motion vectors. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of selecting pixel blocks for motion estimation from a strip of n pixel rows using only two rows of memory, wherein n is any power of two greater than zero, the method comprising:
-
inputting the first two rows of the strip into the memory; dividing the memory into two-by-n pixel blocks; determining a feature score for each block; selecting half of the blocks with a feature score greater than determined for the other half of the blocks; discarding the unselected blocks; filling the available memory with portions of additional rows in the strip that correspond to the selected blocks; and repeating the determining, the selecting, the discarding and the filling steps until the memory contains n-by-n blocks. - View Dependent Claims (7, 8, 9, 10)
-
Specification