Video processing system and method for automatic enhancement of digital video
First Claim
1. A method for automatically enhancing a video having video frames and captured by a camera, comprising:
- performing global motion computation to determine the motion of the camera and generate global alignment transforms;
performing local motion computation using the global alignment transforms to determine motion of each pixel in each of the video frames and generate optic flow vectors; and
performing denoising of the video using the optic flow vectors and a temporal median filter having flow outlier rejection.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention includes an automatic video enhancement system and method for automatically enhancing video. The automated video enhancement method uses frame-to-frame motion estimation as the basis of the video enhancement. Motion estimation includes the computation of global motion (such as camera motion) and the computation of local motion (such as pixel motion). The automated video enhancement method includes generating global alignment transforms, generating optic flow vectors, and using these global alignment transforms and optic flow vectors to enhance the video. The invention also includes video processing and enhancement techniques that use the frame-to-frame motion estimation. These techniques include a deinterlace process, a denoise process, and a warp stabilization process that performs both damped and locked stabilization.
-
Citations
26 Claims
-
1. A method for automatically enhancing a video having video frames and captured by a camera, comprising:
-
performing global motion computation to determine the motion of the camera and generate global alignment transforms; performing local motion computation using the global alignment transforms to determine motion of each pixel in each of the video frames and generate optic flow vectors; and performing denoising of the video using the optic flow vectors and a temporal median filter having flow outlier rejection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for processing a video having a video frame sequence, comprising:
-
computing global alignment affine transforms using the video frame sequence to reduce camera motion; computing optic flow vectors using the global alignment affine transforms and the video frame sequence; and performing deinterlacing on the video frame sequence using the optic flow vectors and a temporal median filter with flow outlier rejection to generate a denoised, deinterlaced video. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A method for processing a video containing a video frame sequence, comprising:
-
performing global motion computation to using an affine transformation to generate global alignment affine transforms; performing warp stabilization on the video frame sequence using the global alignment affine transforms;
wherein performing warp stabilization further comprises;discovering any blurry frames within the video frame sequence; discarding the blurry frames; synthesizing new frames using the global alignment affine transforms; and replacing the discarded blurry frames with the new frames.
-
-
20. A method for processing a video containing a video frame sequence, comprising:
-
performing global motion computation to using an affine transformation to generate global alignment affine transforms; performing warp stabilization on the video frame sequence using the global alignment affine transforms using the global alignment affine transforms to determine moving pixels in a video frame of the video frame sequence; and discarding the moving pixels within the video frame. - View Dependent Claims (21)
-
-
22. A method for processing a video containing a video frame sequence, comprising:
-
performing global motion computation to using an affine transformation to generate global alignment affine transforms; performing warp stabilization on the video frame sequence using the global alignment affine transforms, wherein the warped stabilization is a damped stabilization, and performing the warp stabilization further comprises; determining a curve corresponding to an actual motion of a camera that captured the video; applying a smoothing operation to the actual camera motion to yield an intended camera motion; and determining the difference between the intended camera motion and the actual camera motion to recover camera jitter.
-
-
23. A method for processing a video containing a video frame sequence, comprising:
-
performing global motion computation to using an affine transformation to generate global alignment affine transforms; performing warp stabilization on the video frame sequence using the global alignment affine transforms, wherein the warned stabilization is a locked stabilization, and performing the warp stabilization further comprises; determining a video frame from the video frame sequence to use as a reference frame; and canceling out moving pixels in a video frame discovered by the global alignment affine transforms. - View Dependent Claims (24, 25, 26)
-
Specification