Image stabilization
AssigneeHewlett-Packard Development Company, L.P.
InventorMaurizio Pilu
Life of this patent
Estimating the term…
Abstract
A video stabilization scheme which uses a dynamic programming algorithm in order to determine a best path through a notional stabilization band defined in terms of a trajectory of an image capture element. The best path is used in order to produce an optimally stabilized video sequence within the bounds defined by the image capture area of the image capture element.
Claims34
A method of stabilizing a sequence of images captured from respective sub-areas of a capture area of an image capture element, the method comprising:
- receiving data relating to a path of the image capture element during capture of a sequence of images;
- for a desired size of image, defining, in association with the received data, at least two boundary conditions defining a stabilization band for the sequence;
- using captured image data disposed within the stabilization band, deriving a stabilization path within the band for the sub-area;
- defining an associated trellis of length T within the stabilization band:
- incrementally shifting the position of the trellis with respect to time along the stabilization band;
- and
- for each position of the trellis within the stabilization band, deriving a portion of a stabilization path from data disposed within the stabilization band at the position of the trellis within the band.
A method of stabilizing a sequence of images comprising:
- receiving data relating to a component of motion of an image capture element;
- receiving data captured using said image capture element;
- defining at least two boundary conditions relating to a desired size of image for the stabilized sequence using said data relating to a component of motion of the image capture element, the at least two boundary conditions defining a stabilization band for the component of motion;
- deriving a stabilization path which lies within said stabilization band;
- processing the captured data, using said stabilization path, in order to generate data for forming the stabilized image sequence;
- defining an associated trellis of length T within the stabilization band;
- incrementally shifting the position of the trellis with respect to time along the stabilization band;
- and
- for each position of the trellis within the stabilization band, deriving a portion of a stabilization path from data disposed within the stabilization band at the position of the trellis within the band.
Apparatus suitable for stabilizing a sequence of images captured from respective sub-areas of a capture area of an image capture element, comprising:
- a processor that receives data relating to a path of the image capture element during capture of a sequence of images;
- a module that defines, in association with the received data, at least two boundary conditions defining a stabilization band for the sequence for a desired size of image,
- a trellis, the trellis a two-dimensional array of discrete points, wherein data is received by the processor relating to a time slice of length T of data relating to a path of the image capture element during capture of a sequence of images, and wherein the processor defines the trellis of length T within the stabilization band;
- wherein the processor derives a stabilization path within the band using captured image data disposed within the stabilization band, for the sub-areas, incrementally shifts the position of the trellis with respect to time along the stabilization band, and, for each position of the trellis within the stabilization band, derives a portion of a stabilization path from data disposed within the stabilization band at the position of the trellis within the band.
A computer-readable medium encoded with a computer program for processing a sequence of images captured using an image capture area of an image capture element and, the program comprising logic configured to:
- receive data relating to a path of the image capture element during capture of a sequence of images;
- define, in association with the received data and for a desired size of image, at least two boundary conditions defining a stabilization band for the sequence;
- and
- derive, using captured image data disposed within the stabilization band, a stabilization path within the band for the sub-areas;
- define an associated trellis of length T within the stabilization band;
- incrementally shift the position of the trellis with respect to time along the stabilization band;
- and
- for each position of the trellis within the stabilization band, derive a portion of a stabilization path from data disposed within the stabilization band at the position of the trellis within the band.
Dependencies are inferred from the claim text.