IP Library Granted Patent US 10,582,124
Granted Patent B2
US 10,582,124 · App. 16/384,094 · Granted Mar 3, 2020

Target image quality enhancement using a guide image

Inventors: Farhan Baqai (Fremont, CA); Zahra Sadeghipoor Kermani (Cupertino, CA)
Assignee: Apple Inc.
H04N5/23235G06K9/6202G06T3/40G06T5/50H04N5/23216H04N5/23229H04N5/232935H04N5/232939H04N5/265H04N7/18G06T2207/20221
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,582,124
App. No.
16/384,094
Granted
Mar 3, 2020
Kind
B2
Abstract

In various implementations, a method includes obtaining a target image having a first resolution and comprising a plurality of target pixels having a plurality of corresponding target pixel values, obtaining a guide image having a second resolution and comprising a plurality of guide pixels having a plurality of corresponding guide pixel values, and generating an enhanced target image based on the target image and the guide image, the enhanced target image having the second resolution and comprising a plurality of enhanced target pixels having a plurality of corresponding enhanced target pixel values. In various implementations, determining, for a particular upscaled target pixel, a similarity metric indicative of the similarity of a neighborhood of pixels around the particular upscaled target pixel to a neighborhood of pixels around a corresponding guide pixel, and determining, for the particular upscaled target pixel, an enhanced target pixel value based on the similarity metric.

Claims (41)

1. A method comprising:

obtaining a first image having a first resolution and comprising a plurality of first pixels having a plurality of corresponding first pixel values;

obtaining a second image having a second resolution and comprising a plurality of second pixels having a plurality of corresponding second pixel values; and

generating a third image based on the first image and the second image, the third image having the second resolution and comprising a plurality of third pixels having a plurality of corresponding third pixel values, wherein generating the third image comprises:

upscaling the first image from the first resolution to the second resolution to generate an upscaled first image having the second resolution and comprising a plurality of upscaled first pixels having a plurality of corresponding upscaled first pixel values; and

determining, for a particular third pixel, a corresponding third pixel value based on the upscaled first pixel value of a particular upscaled first pixel corresponding to the particular third pixel and the second pixel value of a particular second pixel corresponding to the particular third pixel.

2. The method of claim 1 , wherein the third pixel value is selected as either the upscaled first pixel value or the second pixel value.

3. The method of claim 1 , wherein the third pixel value is a weighted sum of the upscaled first pixel value and the second pixel value.

4. The method of claim 1 , wherein the third pixel value is determined based on comparing a neighborhood of pixels around the particular upscaled first pixel to a neighborhood of pixels around the particular second pixel.

5. The method of claim 4 , wherein comparing the neighborhood of pixels around the particular upscaled first pixel to the neighborhood of pixels around the particular second pixel comprises determining a normalized cross-correlation (NCC) between the neighborhood of pixels around the particular upscaled first pixel and the neighborhood of pixels around the particular second pixel.

6. The method of claim 1 , further comprising obtaining a fourth image having the second resolution and comprising a plurality of fourth pixels having a plurality of corresponding fourth pixel values, wherein determining the corresponding third pixel value is further based on the fourth pixel value of a particular fourth pixel corresponding to the particular third pixel.

7. The method of claim 6 , wherein determining the third pixel value is further based on a sharpness of a neighborhood of pixels around the particular second pixel and a sharpness of a neighborhood of pixels around the particular fourth pixel.

8. The method of claim 1 , further comprising:

detecting, via an input device of an electronic device, a capture input; and

in response to detecting the capture input, capturing, via a camera of the electronic device, a high-resolution image of a scene and a sequence of low-resolution images of the scene.

9. The method of claim 8 , wherein obtaining the first image comprises:

displaying, on a display, a set of potential target images of the sequence of low-resolution images of the scene; and

receiving, via an input device, a selection of the target image from the set of potential target images.

10. A non-transitory computer-readable medium having instructions encoded thereon which, when executed by one or more processors of an electronic device, cause the electronic device to:

obtain a first image having a first resolution and comprising a plurality of first pixels having a plurality of corresponding first pixel values;

obtain a second image having a second resolution and comprising a plurality of second pixels having a plurality of corresponding second pixel values; and

generate a third image based on the first image and the second image, the third image having the second resolution and comprising a plurality of third pixels having a plurality of corresponding third pixel values, wherein generating the third image comprises:

upscaling the first image from the first resolution to the second resolution to generate an upscaled first image having the second resolution and comprising a plurality of upscaled first pixels having a plurality of corresponding upscaled first pixel values; and

determining, for a particular third pixel, a corresponding third pixel value based on the upscaled first pixel value of a particular upscaled first pixel corresponding to the particular third pixel and the second pixel value of a particular second pixel corresponding to the particular third pixel.

11. The non-transitory computer-readable medium of claim 10 , wherein the third pixel value is selected as either the upscaled first pixel value or the second pixel value.

12. The non-transitory computer-readable medium of claim 10 , wherein the third pixel value is a weighted sum of the upscaled first pixel value and the second pixel value.

13. The non-transitory computer-readable medium of claim 10 , wherein the third pixel value is determined based on comparing a neighborhood of pixels around the particular upscaled first pixel to a neighborhood of pixels around the particular second pixel.

14. The non-transitory computer-readable medium of claim 13 , wherein the comparing the neighborhood of pixels around the particular upscaled first pixel to the neighborhood of pixels around the particular second pixel comprises determining a normalized cross-correlation (NCC) between the neighborhood of pixels around the particular upscaled first pixel and the neighborhood of pixels around the particular second pixel.

15. The non-transitory computer-readable medium of claim 10 , wherein the instructions, when executed, further cause the electronic device to obtain a fourth image having the second resolution and comprising a plurality of fourth pixels having a plurality of corresponding fourth pixel values, wherein determining the corresponding third pixel value is further based on the fourth pixel value of a particular fourth pixel corresponding to the particular third pixel.

16. The non-transitory computer-readable medium of claim 15 , wherein determining the third pixel value is further based on a sharpness of a neighborhood of pixels around the particular second pixel and a sharpness of a neighborhood of pixels around the particular fourth pixel.

17. A system comprising:

a non-transitory memory; and

one or more processors configured to:

obtain a first image having a first resolution and comprising a plurality of first pixels having a plurality of corresponding first pixel values;

obtain a second image having a second resolution and comprising a plurality of second pixels having a plurality of corresponding second pixel values; and

generate a third image based on the first image and the second image, the third image having the second resolution and comprising a plurality of third pixels having a plurality of corresponding third pixel values, wherein generating the third image comprises:

upscaling the first image from the first resolution to the second resolution to generate an upscaled first image having the second resolution and comprising a plurality of upscaled first pixels having a plurality of corresponding upscaled first pixel values; and

determining, for a particular third pixel, a corresponding third pixel value based on the upscaled first pixel value of a particular upscaled first pixel corresponding to the particular third pixel and the second pixel value of a particular second pixel corresponding to the particular third pixel.

18. The system of claim 17 , wherein the third pixel value is selected as either the upscaled first pixel value or the second pixel value.

19. The system of claim 17 , wherein the third pixel value is a weighted sum of the upscaled first pixel value and the second pixel value.

20. The system of claim 17 , wherein the third pixel value is determined based on comparing a neighborhood of pixels around the particular upscaled first pixel to a neighborhood of pixels around the particular second pixel.

Continuity (3)
Continuation 15978114 · May 12, 2018
Provisional Application 62506729 · May 16, 2017
Related Publication 20190327411A1 · Oct 24, 2019