Removing noise from an image via efficient patch distance computations

US9251569B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9251569-B2
Application numberUS-201314022462-A
CountryUS
Kind codeB2
Filing dateSep 10, 2013
Priority dateSep 10, 2013
Publication dateFeb 2, 2016
Grant dateFeb 2, 2016

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.

Systems and methods herein provide for reduced computations in image processing and a more efficient way of computing distances between patches in patch-based image denoising. One method is operable within a processing system to remove noise from a digital image by generating a plurality of lookup tables of pixel values based on a plurality of comparisons of the digital image to offsets of the digital image, generating integral images from the lookup tables, and computing distances between patches of pixels in the digital image from the integral images. The method also includes computing weights for the patches of pixels in the digital image based on the computed distances and applying the weights to pixels in the digital image on a patch-by-patch basis to restore values of the pixels.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of removing noise from a digital image, the method comprising: generating a plurality of lookup tables of pixel values based on comparisons of the digital image to a plurality of offset images that are pixelwise shifted images of the entire digital image; generating integral images from the lookup tables; computing distances to patches of pixels in the digital image from the integral images; computing weights for the patches of pixels in the digital image based on the computed distances; multiplying the computed weights by respective offset values of the plurality of offset images; and applying the weights to pixels in the digital image on a patch-by-patch basis to restore values of the pixels. 2. The method of claim 1 , further comprising: pixelwise shifting the digital image to generate the plurality of offset images of the digital image; and comparing the digital image to the plurality of offset images of the digital image to generate the lookup tables. 3. The method of claim 1 , wherein generating at least one of the lookup tables comprises: subtracting pixel values at pixel locations in the digital image from pixel values at corresponding pixel locations in one offset image of the plurality of offset images; and obtaining absolute values for each subtraction to generate the at least one lookup table. 4. The method of claim 1 , wherein generating at least one of the lookup tables comprises: subtracting pixel values at pixel locations in the digital image from pixel values at corresponding pixel locations in one offset image of the plurality of offset images; and squaring each subtraction to generate the at least one lookup table with squared difference values. 5. The method of claim 1 , wherein computing the distances comprises: arithmetically operating on values at corner pixels of a patch in the integral image. 6. The method of claim 1 , wherein applying the weights to the pixels in the digital image on a patch-by-patch basis comprises: processing the digital image via a non-local means denoising algorithm. 7. The method of claim 1 , wherein applying the weights to the pixels in the digital image on a patch-by-patch basis comprises: processing the digital image via a BM3D denoising algorithm. 8. The method of claim 1 , further comprising: storing the computed distances for reuse in subsequent weight computations. 9. The method of claim 1 , wherein: each of the offset values represent a pixel value in a pixelwise shifted image; and the multiplying is performed by multiplying each of the computed weights by a corresponding pixel value in a corresponding offset image of the plurality of offset images. 10. A processing system operable to remove noise from a digital image, the processing system comprising: a processor operable to generate a plurality of lookup tables of pixel values based on comparisons of the digital image to a plurality of offset images that are pixelwise shifted images of the entire digital image, to generate integral images from the lookup tables, to compute distances between patches of pixels in the digital image from the integral images, to compute weights for the patches of pixels in the digital image based on the computed distances, to multiply the computed weights by respective offset values of the plurality of offset images, and to apply the weights to pixels in the digital image on a patch-by-patch basis to restore values of the pixels. 11. The processing system of claim 10 , wherein the processor is further operable to: pixelwise shift the digital image to generate the plurality of offset images of the digital image; and compare the digital image to the plurality of offset images of the digital image to generate the lookup tables. 12. The processing system of claim 10 , wherein the processor is further operable to: subtract pixel values at pixel locations in the digital image from pixel values at corresponding pixel locations in one offset image of the plurality of offset images; and obtain absolute values for each subtraction to generate at least one of the lookup tables. 13. The processing system of claim 10 , wherein the processor is further operable to: subtract pixel values at pixel locations in the digital image from pixel values at corresponding pixel locations in one offset image of the plurality of offset images; and square each subtraction to generate at least one of the lookup tables with squared difference values. 14. The processing system of claim 10 , wherein the processor is further operable to: arithmetically operate on values at corner pixels of a patch in the integral image. 15. The processing system of claim 10 , wherein the processor is further operable to: process the digital image via a non-local means denoising algorithm to apply the weights to pixels in the digital image on a patch-by-patch basis. 16. The processing system of claim 10 , wherein the processor is further operable to: process the digital image via a BM3D denoising algorithm to apply the weights to pixels in the digital image on a patch-by-patch basis. 17. The processing system of claim 10 , wherein the processor is further operable to: store the computed distances for reuse in subsequent weight computations. 18. The processing system of claim 10 , wherein: each of the offset values represent a pixel value in a pixelwise shifted image; and to said multiply, the processor is operable to multiply each of the computed weights by a corresponding pixel value in a corresponding offset image of the plurality of offset images. 19. A non-transitory computer readable medium comprising instructions that, when executed by a processor, are operable to direct the processor to: generate a plurality of lookup tables of pixel values based on comparisons of the digital image to a plurality of offset images that are pixelwise shifted images of the entire digital image; generate integral images from the lookup tables; compute distances between patches of pixels in the digital image from the integral images; compute weights for the patches of pixels in the digital image based on the computed distances; multiply the computed weights by respective offset values of the plurality of offset images; and apply the weights to pixels in the digital image on a patch-by-patch basis to restore values of the pixels. 20. The computer readable medium of claim 19 , further comprising instructions that direct the processor to: pixelwise shift the digital image to generate the plurality of offset images of the digital image; and compare the digital image to the plurality of offset images of the digital image to generate the lookup tables. 21. The computer readable medium of claim 19 , further comprising instructions that direct the processor to: arithmetically operate on values at corner pixels of a patch in the integral image. 22. The computer readable medium of claim 19 , further comprising instructions that direct the processor to: process the digital image via a non-local means denoising algorithm to apply the weights to pixels in the digital image on a patch-by-patch basis. 23. The computer readable medium of claim 19 , further comprising instructions that direct the processor to: process the digital image via a BM3D denoising algorithm to apply the weights to pixels in the digital image on a patch-by-patch basis. 24. The computer readable mediu

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 US9251569B2 cover?
Systems and methods herein provide for reduced computations in image processing and a more efficient way of computing distances between patches in patch-based image denoising. One method is operable within a processing system to remove noise from a digital image by generating a plurality of lookup tables of pixel values based on a plurality of comparisons of the digital image to offsets of the …
Who is the assignee on this patent?
Adobe Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06T5/002. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 02 2016 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).