Video stabilization system and method
First Claim
1. A method for stabilizing a video recording of a scene made with a video camera, comprising the steps of:
- separating video data of the video recording into a plurality of frames;
dividing each frame into a plurality of blocks;
determining for each frame, a motion vector for each block representing direction and magnitude of motion in the block, said motion vectors being determined from a comparison of each block in a first one of the frames and a second one of the frames;
comparing the motion vectors for each block in one of the plurality of frames with the motion vectors for each block in another of the plurality of frames adjacent to the one frame; and
detecting camera movement when the motion vectors for the one frame are different from motion vectors for an adjacent frame; and
modifying the video data to compensate for the camera movement.
0 Assignments
0 Petitions
Accused Products
Abstract
A system (26) for stabilizing a video recording of a scene (20, 22, & 24) made with a video camera (34) is provided. The video recording may include video data (36) and audio (38) data. The system (26) may include source frame storage (64) for storing source video data (36) as a plurality of sequential frames. The system (26) may also include a processor (50) for detecting camera movement occurring during recording and for modifying the video data (36) to compensate for the camera movement. Additionally the system (26) may include destination frame storage (70) for storing the modified video data as plurality of sequential frames.
-
Citations
17 Claims
-
1. A method for stabilizing a video recording of a scene made with a video camera, comprising the steps of:
-
separating video data of the video recording into a plurality of frames; dividing each frame into a plurality of blocks; determining for each frame, a motion vector for each block representing direction and magnitude of motion in the block, said motion vectors being determined from a comparison of each block in a first one of the frames and a second one of the frames; comparing the motion vectors for each block in one of the plurality of frames with the motion vectors for each block in another of the plurality of frames adjacent to the one frame; and detecting camera movement when the motion vectors for the one frame are different from motion vectors for an adjacent frame; and modifying the video data to compensate for the camera movement. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for stabilizing a video recording of a scene made with a video camera, the video recording including video data and audio data, the method comprising the steps of:
-
separating the video data from the audio data; detecting camera movement occurring during recording by, separating the video data into a plurality of frames, dividing each frame into a plurality of blocks, determining a motion vector for each block of each frame, the motion vector representing direction and magnitude in the block, said motion vectors being determined from a comparison of each block in a first one of the frames and a second one of the frames; analyzing the motion vectors for each block over a plurality of frames; and determining camera movement when motion vectors for one frame in the plurality of frames are different from motion vectors for adjacent frames in the plurality of frames; modifying the video data to compensate for the camera movement by warping the video data, the warping step further comprising the steps of, determining a source address for the video data, determining a destination address for the video data, and translating the video data from the source address to the destination address; and recombining the video data with the audio data after the modifying step. - View Dependent Claims (12, 13)
-
-
14. A system for stabilizing a video recording of a scene made by a video camera comprising:
-
a source frame storage for storing a plurality of frames of video data of the video recording; a processor coupled to said source frame storage for dividing each frame into a plurality of blocks and determining a motion vector for each block in said plurality of frames, said motion vectors being determined from a comparison of each block in a first one of said plurality of frames and a second one of said plurality of frames, said processor comparing motion vectors for each block in one of the plurality of frames with the motion vectors for each block in an adjacent frame, detecting camera movement when the motion vectors for the one frame are different from the motion vectors in the adjacent frame and modifying said video data to compensate for said camera movement. - View Dependent Claims (15, 16, 17)
-
Specification