Video image stabilization with enforced stabilization constraints

US9787902B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9787902-B1
Application numberUS-201615179680-A
CountryUS
Kind codeB1
Filing dateJun 10, 2016
Priority dateJun 10, 2016
Publication dateOct 10, 2017
Grant dateOct 10, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques to improve a digital image capture device's ability to stabilize a video stream—while enforcing desired stabilization constraints on particular images in the video stream—are presented that utilize an overscan region and a look-ahead technique enabled by buffering a number of video input frames before generating a first stabilized video output frame. More particularly, techniques are disclosed for buffering an initial number of input frames so that a “current” frame can use motion data from both “past” and “future” frames to adjust the value of a stabilization strength parameter and/or the weighted contribution of particular frames from the buffer in the determination of stabilization motion values for the current frame. Such techniques keep the current frame within its overscan and ensure that the stabilization constraints are enforced, while maintaining desired smoothness in the video stream. In some embodiments, the stabilization constraint may comprise a maximum allowed frame displacement.

First claim

Opening claim text (preview).

The invention claimed is: 1. A non-transitory program storage device comprising instructions stored thereon to cause one or more processors to: obtain a first time-sequenced set of images, wherein: each image in the first time-sequenced set of images has a capture time and motion data; one image in the first time-sequenced set of images is designated as a current image; a first one or more images within the first time-sequenced set of images having capture times before the current image are designated past images; and a second one or more images within the first time-sequenced set of images having capture times after the current image are designated future images; select a first image from the first time-sequenced set of images to meet a first stabilization constraint; identify a weighting value for each image in the first time-sequenced set of images based, at least in part, on the proximity of the respective image's capture time to the capture time of the current image; adjust the identified weighting value for the selected first image according to a first weighting adjustment value; identify a first stabilization motion value for the current image in the first time-sequenced set of images based, at least in part, on the identified weighting values and the adjusted weighting value for the selected first image; apply the first stabilization motion value to the current image to stabilize the current image; and store the stabilized current image in a memory. 2. The non-transitory program storage device of claim 1 , wherein the motion data for each image comprises gyroscope information. 3. The non-transitory program storage device of claim 1 , wherein the identified weighting value for each image in the first time-sequenced set of images is further based, at least in part, on a stabilization strength parameter value for the current image. 4. The non-transitory program storage device of claim 1 , wherein the first weighting adjustment value is further determined based, at least in part, on the proximity of the selected first image's capture time to the capture time of the current image. 5. The non-transitory program storage device of claim 1 , wherein the first weighting adjustment value is further determined based, at least in part, on whether the selected first image is presently a past image or a future image. 6. The non-transitory program storage device of claim 1 , wherein the first stabilization constraint comprises a maximum allowed displacement for the stabilization of the selected first image. 7. The non-transitory program storage device of claim 1 , wherein the instructions to apply the first stabilization motion value to the current image to stabilize the current image further comprise instructions to aggregate one or more pixels with the current image, so as to maintain a consistent Field of View (FOV) between the current image and the other images in the first time-sequenced set of images. 8. A video image stabilization method, comprising: obtaining a first time-sequenced set of images, wherein: each image in the first time-sequenced set of images has a capture time and motion data; one image in the first time-sequenced set of images is designated as a current image; a first one or more images within the first time-sequenced set of images having capture times before the current image are designated past images; and a second one or more images within the first time-sequenced set of images having capture times after the current image are designated future images; selecting a first image from the first time-sequenced set of images to meet a first stabilization constraint; identifying a weighting value for each image in the first time-sequenced set of images based, at least in part, on the proximity of the respective image's capture time to the capture time of the current image; adjusting the identified weighting value for the selected first image according to a first weighting adjustment value; identifying a first stabilization motion value for the current image in the first time-sequenced set of images based, at least in part, on the identified weighting values and the adjusted weighting value for the selected first image; applying the first stabilization motion value to the current image to stabilize the current image; and storing the stabilized current image in a memory. 9. The method of claim 8 , wherein the motion data for each image comprises one or more time stamped gyroscope data points. 10. The method of claim 8 , wherein the identified weighting value for each image in the first time-sequenced set of images is further based, at least in part, on a stabilization strength parameter value for the current image. 11. The method of claim 8 , wherein the first weighting adjustment value is further determined based, at least in part, on the proximity of the selected first image's capture time to the capture time of the current image. 12. The method of claim 8 , wherein the first stabilization constraint comprises a maximum allowed displacement for the stabilization of the selected first image. 13. The method of claim 8 , wherein the act of applying the first stabilization motion value to the current image to stabilize the current image further comprises aggregating one or more pixels with the current image, so as to maintain a consistent FOV between the current image and the other images in the first time-sequenced set of images. 14. A video image capture device, comprising: an image sensor; memory communicatively coupled to the image sensor; one or more motion sensors; one or more processors operatively coupled to the image sensor, the memory and the one or more motion sensors configured to execute instructions causing the one or more processors to: obtain a first time-sequenced set of images, wherein: each image in the first time-sequenced set of images has a capture time and motion data; one image in the first time-sequenced set of images is designated as a current image; a first one or more images within the first time-sequenced set of images having capture times before the current image are designated past images; and a second one or more images within the first time-sequenced set of images having capture times after the current image are designated future images; select a first image from the first time-sequenced set of images to meet a first stabilization constraint; identify a weighting value for each image in the first time-sequenced set of images based, at least in part, on the proximity of the respective image's capture time to the capture time of the current image; adjust the identified weighting value for the selected first image according to a first weighting adjustment value; identify a first stabilization motion value for the current image in the first time-sequenced set of images based, at least in part, on the identified weighting values and the adjusted weighting value for the selected first image; apply the first stabilization motion value to the current image to stabilize the current image; and store the stabilized current image in a memory. 15. The video image capture device of claim 14 , wherein the motion data for each image comprises gyroscope information. 16. The video image capture device of claim 14 , wherein the identified weighting value for each image in the first time-sequenced set of images is further based, at least in part, on a stabilization strength parameter value for the current image. 17. The video image capture device of claim 14 , wherein the first weighting adjustment value is

Assignees

Inventors

Classifications

  • based on additional sensors, e.g. acceleration sensors · CPC title

  • H04N23/683Primary

    performed by a processor, e.g. controlling the readout of an image memory · CPC title

  • Electricity · mapped topic

  • Electricity · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9787902B1 cover?
Techniques to improve a digital image capture device's ability to stabilize a video stream—while enforcing desired stabilization constraints on particular images in the video stream—are presented that utilize an overscan region and a look-ahead technique enabled by buffering a number of video input frames before generating a first stabilized video output frame. More particularly, techniques are…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification H04N23/6812. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 10 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).