US8872928B2ActiveUtilityA1

Methods and apparatus for subspace video stabilization

Assignee: JIN HAILINPriority: Sep 14, 2010Filed: Nov 24, 2010Granted: Oct 28, 2014
Est. expirySep 14, 2030(~4.2 yrs left)· nominal 20-yr term from priority
G06T 7/262H04N 23/6811H04N 23/683H04N 5/23254G06T 7/206H04N 5/23267
85
PatentIndex Score
9
Cited by
53
References
19
Claims

Abstract

Methods, apparatus, and computer-readable storage media for subspace video stabilization. A subspace video stabilization technique may provide a robust and efficient approach to video stabilization that achieves high-quality camera motion for a wide range of videos. The technique may transform a set of input two-dimensional (2D) motion trajectories so that they are both smooth and resemble visually plausible views of the imaged scene; this may be achieved by enforcing subspace constraints on feature trajectories while smoothing them. The technique may assemble tracked features in the video into a trajectory matrix, factor the trajectory matrix into two low-rank matrices, and perform filtering or curve fitting in a low-dimensional linear space. The technique may employ a moving factorization technique that is both efficient and streamable.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A non-transitory computer-readable storage medium comprising program instructions that, responsive to execution by one or more processors, implement:
 factoring two-dimensional (2D) feature trajectories from an input video sequence into a coefficient matrix representing features in the input video sequence and eigen-trajectories representing camera motion over time in the input video sequence; 
 applying an interactive spline fitting technique to the eigen-trajectories effective to generate smoothed eigen-trajectories that simulate smooth camera motion; 
 multiplying the smoothed eigen-trajectories that simulate smooth camera motion with the coefficient matrix representing features in the input video sequence effective to generate smoothed 2D feature trajectories; and 
 warping the input video sequence according to the smoothed 2D feature trajectories to generate a stabilized output video sequence. 
 
     
     
       2. The non-transitory computer-readable storage medium as recited in  claim 1 , wherein the coefficient matrix describes each feature as a linear combination of the eigen-trajectories. 
     
     
       3. The non-transitory computer-readable storage medium as recited in  claim 1 , wherein, in said factoring 2D feature trajectories from an input video sequence, the program instructions are further executable by the one or more processors to implement applying a moving factorization technique that repeats performing factorization in a window of k frames of the input video sequence, moving the window forward b frames, and performing factorization in the moved window, where k and b are positive integers, and where k is greater than b so that the factored windows overlap. 
     
     
       4. The non-transitory computer-readable storage medium as recited in  claim 3 , wherein at least one eigen-trajectory is kept fixed when said factorization is performed in the moved window. 
     
     
       5. The non-transitory computer-readable storage medium as recited in  claim 1 , wherein said warping is performed in accordance with a content-preserving warp technique. 
     
     
       6. A non-transitory computer-readable storage medium comprising program instructions that, responsive to execution by one or more processors, implement a subspace video stabilization module configured to:
 apply a two-dimensional (2D) point tracking technique to an input video sequence of a scene to determine 2D trajectories of multiple scene points; 
 assemble the 2D trajectories into an incomplete trajectory matrix; 
 perform moving factorization to determine a time-varying subspace approximation of input motion that locally represents the incomplete trajectory matrix as eigen-trajectories representing camera motion over time and a coefficient matrix that describes each feature as a linear combination of the eigen-trajectories; 
 apply an interactive spline fitting technique to the eigen-trajectories to smooth the input motion while respecting the low rank relationship of the motion of points in the scene, the interactive spline fitting enabling a user to select frames to which a quadratic or cubic spline is applied to smooth the input motion; 
 multiply the smoothed eigen-trajectories that represent the smooth input motion with the coefficient matrix that describes each feature to generate a set of smoothed 2D trajectories; and 
 apply a rendering technique to the input video sequence to generate a stabilized output video sequence according to the set of smoothed 2D trajectories. 
 
     
     
       7. The non-transitory computer-readable storage medium as recited in  claim 6 , wherein, in said applying a rendering technique to the input video sequence, the subspace video stabilization module is configured to apply a content-preserving warp technique to the input video sequence. 
     
     
       8. A method, comprising:
 factoring two-dimensional (2D) feature trajectories from an input video sequence into a coefficient matrix representing features in the input video sequence and eigen-trajectories representing camera motion over time in the input video sequence; 
 applying an interactive spline fitting technique to the eigen-trajectories effective to generate smoothed eigen-trajectories that simulate smooth camera motion; 
 multiplying the smoothed eigen-trajectories that simulate smooth camera motion with the coefficient matrix representing features in the input video sequence effective to generate smoothed 2D feature trajectories; and 
 warping the input video sequence according to the smoothed 2D feature trajectories to generate a stabilized output video sequence. 
 
     
     
       9. The method as recited in  claim 8 , wherein the coefficient matrix describes each feature as a linear combination of the eigen-trajectories. 
     
     
       10. The method as recited in  claim 8 , wherein said factoring 2D feature trajectories from an input video sequence is performed according to a moving factorization technique that repeatedly performs the factorization in a window of k frames of the input video sequence, moving the window forward b frames, and performing factorization in the moved window, where k and b are positive integers, and where k is greater than b so that the factored windows overlap. 
     
     
       11. The method as recited in  claim 10 , wherein said moving factorization is performed according to a linear approximation technique. 
     
     
       12. The method as recited in  claim 10 , wherein at least one eigen-trajectory is kept fixed when said factorization is performed in the moved window. 
     
     
       13. The method as recited in  claim 10 , wherein said warping is performed according to a content-preserving warp technique. 
     
     
       14. The method as recited in  claim 8 , further comprising receiving selection of a quadratic spline or a cubic spline, and wherein the interactive spline fitting technique is applied to the eigen-trajectories based on the selection of the quadratic spline or the cubic spline. 
     
     
       15. A system comprising:
 at least one processor; and 
 a memory comprising program instructions that, responsive to execution by the at least one processor, implement a video stabilization module; 
 factor two-dimensional (2D) feature trajectories from an input video sequence into a coefficient matrix representing features in the input video sequence and eigen-trajectories representing camera motion over time in the input video sequence; 
 apply an interactive spline fitting technique to the eigen-trajectories effective to generate smoothed eigen-trajectories that simulate smooth camera motion; 
 multiply the smoothed eigen-trajectories that simulate smooth camera motion with the coefficient matrix representing features in the input video sequence effective to generate smoothed 2D feature trajectories; and 
 warp the input video sequence according to the smoothed 2D feature trajectories to generate a stabilized output video sequence. 
 
     
     
       16. The system as recited in  claim 15 , wherein the coefficient matrix describes each feature as a linear combination of the eigen-trajectories. 
     
     
       17. The system as recited in  claim 15 , wherein, to factor the 2D feature trajectories, the video stabilization module is further implemented to apply a moving factorization technique that repeatedly performs the factorization in a window of k frames of the input video sequence, moving the window forward b frames, and performing factorization in the moved window, where k and b are positive integers, and where k is greater than b so that the factored windows overlap. 
     
     
       18. The system as recited in  claim 17 , wherein said factorization is performed according to a linear approximation technique. 
     
     
       19. The system of  claim 15 , wherein to apply the interactive spline fitting technique, the video stabilization module is further implemented to:
 receive selection of a quadratic spline or cubic spline; and 
 apply the interactive spline fitting technique based on the selection of the quadratic spline or the cubic spline.

Join the waitlist — get patent alerts

Track US8872928B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.