Technique for deblurring images

US9767538B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9767538-B2
Application numberUS-201314018362-A
CountryUS
Kind codeB2
Filing dateSep 4, 2013
Priority dateSep 4, 2013
Publication dateSep 19, 2017
Grant dateSep 19, 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.

An image capture application captures a sequence of images via a digital camera. The sequence of images may have undesirable levels of blurriness due to the motion of objects in the field of view of the digital camera or due to movement of the digital camera itself. A deblur engine within the image capture application generates image segments within one of the captured images, where a given image segment includes pixel values that move coherently between different images in the sequence. The deblur engine then deblurs each image segment based on the coherent motion of each different image segment and combines the resultant, deblurred image segments into a deblurred image. Advantageously, blurriness caused by the combined effects of moving objects and camera motion may be reduced, thereby improving the ability of a digital camera to provide high-quality images. As such, the user experience of digital photography may be enhanced.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method for generating an image, the method comprising: capturing a sequence of images that includes a first image and a second image; selecting a first image segment within the first image that represents a first group of real-world objects based on a comparison of the first image and the second image; generating a first motion estimate for a first portion of the first image segment and a second motion estimate for a second portion of the first image segment relative to a region in the second image that corresponds to the first image segment; performing a first deblurring operation on the first portion of the first image segment based on a first blur kernel derived from the first motion estimate to generate a first deblurred portion of the first image segment; performing the first deblurring operation on the second portion of the first image segment based on a second blur kernel derived from the second motion estimate to generate a second deblurred portion of the first image segment; and generating a deblurred version of the first image by combining the first deblurred portion of the first image segment and the second deblurred portion of the first image segment. 2. The computer-implemented method of claim 1 , wherein the comparison of the first image with the second image comprises identifying a first set of pixel values associated with the first image that moves coherently between the first image and the second image, wherein the first set of pixel values corresponds to the first group of real-world objects. 3. The computer-implemented method of claim 2 , wherein identifying the first set of pixel values associated with the first image comprises: generating a velocity vector field representing the movements of each pixel value between the first image and the second image; and grouping together a set of pixel values having velocity vectors of approximately equal magnitude and approximately equal direction to designate as the first set of pixel values. 4. The computer-implemented method of claim 1 , wherein performing the first deblurring operation comprises: estimating the first blur kernel associated with the first portion of the first image segment based on the first motion estimate; reducing blurriness within the first portion of the first image segment during exposure of the sequence of images based on the first blur kernel. 5. The computer implemented method of claim 4 , wherein estimating the first blur kernel comprises: estimating the velocity of a first pixel value in a first set of pixel values associated with the first image segment relative to other pixel values in the first set of pixel values; and determining an amount of blurriness associated with the first pixel value that is caused by the velocity of the first pixel value. 6. The computer-implemented method of claim 1 , further comprising: generating a second image segment within the first image that represents a second group of real-world objects; generating a third motion estimate for the second image segment relative to a region in the second image that corresponds to the second image segment; performing a second deblurring operation based on the third motion estimate to generate a second deblurred image segment; and superimposing the first deblurred portion of the first image segment, the second deblurred portion of the first image segment, and the second deblurred image segment to generate the deblurred version of the first image. 7. The computer-implemented method of claim 6 , wherein performing the second deblurring operation comprises: estimating a third blur kernel associated with the second image segment based on the third motion estimate; reducing blurriness within the second image segment during exposure of the sequence of images based on the third blur kernel. 8. The computer implemented method of claim 7 , wherein estimating the third blur kernel comprises: estimating the velocity of a second pixel value in a second set of pixel values associated with the second image segment relative to other pixel values in the second set of pixel values; and determining an amount of blurriness associated with the second pixel value that is caused by the velocity of the second pixel value. 9. The computer-implemented method of claim 1 , wherein the first image and the second image are sequential images. 10. The computer-implemented method of claim 1 , further comprising: determining a first fraction of blur that is attributable to motion associated with the first portion of the first image segment; and generating the first blur kernel based on the first fraction. 11. A non-transitory computer-readable medium storing program instructions that, when executed by a processing unit, cause the processing unit to generate an image by performing the steps of: capturing a sequence of images that includes a first image and a second image; selecting a first image segment within the first image that represents a first group of real-world objects based on a comparison of the first image and the second image; selecting a second image segment within the first image that represents a second group of real-world objects based on a second comparison of the first image and the second image; generating a first motion estimate for a first portion of the first image segment and a second motion estimate for a second portion of the first image segment relative to a region in the second image that corresponds to the first image segment; generating a third motion estimate for a first portion of the second image segment and a fourth motion estimate for a second portion of the second image segment relative to a region in the second image that corresponds to the second image segment; performing a first deblurring operation on the first portion of the first image segment based on a first blur kernel derived from the first motion estimate to generate a first deblurred portion of the first image segment; performing the first deblurring operation on the second portion of the first image segment based on a second blur kernel derived from the second motion estimate to generate a second deblurred portion of the first image segment; performing a second deblurring operation on the first portion of the second image segment based on a third blur kernel derived from the third motion estimate to generate a first deblurred portion of the second image segment; performing the second deblurring operation on the second portion of the second image segment based on a fourth blur kernel derived from the fourth motion estimate to generate a second deblurred portion of the second image segment; and combining the first deblurred portion of the first image segment, the second deblurred portion of the first image segment, the first deblurred portion of the second image segment, and the second deblurred portion of the second image segment to generate a deblurred version of the first image. 12. The non-transitory computer-readable medium of claim 11 , wherein the comparison of the first image with the second image comprises identifying a first set of pixel values associated with the first image that moves coherently between the first image and the second image, wherein the first set of pixel values corresponds to the first group of real-world objects. 13. The non-transitory computer-readable medium of claim 12 , wherein the step of identifying the first set of pixel values associated with the first image comprises: generating a velocity vector field representing the movements of each pixel value between the first image and the second image; and grouping

Assignees

Inventors

Classifications

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 US9767538B2 cover?
An image capture application captures a sequence of images via a digital camera. The sequence of images may have undesirable levels of blurriness due to the motion of objects in the field of view of the digital camera or due to movement of the digital camera itself. A deblur engine within the image capture application generates image segments within one of the captured images, where a given ima…
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06T5/003. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 19 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).