Real-time image stabilization
First Claim
1. A method for stabilizing an image in a video data stream comprising:
- a. calculating a centroid of the image, the centroid consisting of a weighted average of a value associated with each pixel as a function of the pixel'"'"'s position in the image for at least a portion of the image; and
b. translating the image such that the centroid of the image and the centroid of the same portion of a reference image approximately coincide.
5 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for stabilizing image frames in a video data stream. A weighted average or centroid of the intensity or hue associated with pixels vs. the horizontal and vertical position of each pixel is calculated for a reference frame in the video data stream. A corresponding centroid is calculated for a subsequent frame in the stream. This image frame is then translated so that the centroid of the subsequent frame and the centroid of the reference frame coincide, reducing artifacts from shaking of the video capture device. Alternatively, the video stream frames may be divided into tiles and centroids calculated for each tile. The centroids of the tiles of a subsequent frame are curve fit to the centroids of tiles in a reference frame. An affine transform is then performed on the subsequent frame to reduce artifacts in the image from movements of the video capture device.
26 Citations
18 Claims
-
1. A method for stabilizing an image in a video data stream comprising:
-
a. calculating a centroid of the image, the centroid consisting of a weighted average of a value associated with each pixel as a function of the pixel'"'"'s position in the image for at least a portion of the image; and
b. translating the image such that the centroid of the image and the centroid of the same portion of a reference image approximately coincide. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for stabilizing an image in a video data stream comprising:
-
a. dividing the image into at least two regions;
b. calculating a centroid of each region of the image, the centroid consisting of a weighted average of a value associated with each pixel of the region as a function of the pixel'"'"'s position in the region; and
c. transforming the image so that the centroids of the image and the centroids of a reference image approximately coincide. - View Dependent Claims (8, 9)
-
-
10. A computer program product for use on a computer system for stabilizing an image in a video data stream, the computer program product comprising a computer usable medium having computer readable program code thereon, the computer readable program code including:
-
a. program code for calculating a centroid of the image, the centroid consisting of a weighted average of a value associated with each pixel as a function of the pixel'"'"'s position in the image for at least a portion of the image; and
b. program code for translating the image such that the centroid of the image and the centroid of the same portion of a reference image approximately coincide. - View Dependent Claims (11, 12, 13, 14, 15, 17, 18)
-
-
16. A computer program product for use on a computer system for stabilizing an image in a video data stream, the computer program product comprising a computer usable medium having computer readable program code thereon, the computer readable program code including:
-
a. program code for dividing the image into at least two regions;
b. program code for calculating a centroid of each region of the image, the centroid consisting of a weighted average of a value associated with each pixel of the region as a function of the pixel'"'"'s position in the region; and
c. program code for transforming the image so that the centroids of the image and the centroids of a reference image approximately coincide.
-
Specification