IP Library Granted Patent US 11,765,475
Granted Patent B2
US 11,765,475 · App. 17/506,218 · Granted Sep 19, 2023

Systems and methods for obtaining dark current images

Inventors: Raymond Kirk Price (Redmond, WA); Michael Bleyer (Seattle, WA); Christopher Douglas Edmonds (Carnation, WA); Casey Lee Miller (Fort Collins, CO)
Assignee: Microsoft Technology Licensing, LLC
H04N25/63G06T3/40G06T5/002G06T5/20G06T5/50H04N25/46H04N25/673G06T2207/20032G06T2207/20216
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 11,765,475
App. No.
17/506,218
Granted
Sep 19, 2023
Kind
B2
Abstract

A system for obtaining dark current images includes one or more processors and one or more hardware storage devices storing instructions that are executable by the one or more processors to configure the system to perform various acts. The acts include obtaining a first image frame, generating a first low-pass filtered image by applying a low-pass filter to the first image frame, and generating a first estimated dark current image by subtracting the first low-pass filtered image from the first image frame.

Claims (57)

1. A system for obtaining a dark current image, comprising:

one or more processors; and

one or more hardware storage devices storing instructions that are executable by the one or more processors to:

obtain a first image frame;

generate a first low-pass filtered image by applying a low-pass filter to the first image frame;

generate a first estimated dark current image by subtracting the first low-pass filtered image from the first image frame;

obtain one or more additional image frames;

generate, for each particular additional image frame of the one or more additional image frames, a respective additional low-pass filtered image by low-pass filtering the particular additional image frame of the one or more additional image frames;

generate, for each particular additional image frame of the one or more additional image frames, a respective additional estimated dark current image by subtracting the respective additional low-pass filtered image from the particular additional image frame of the one or more additional image frames; and

generate a final dark current image based on the first estimated dark current image and each of the respective additional estimated dark current images, wherein generating the final dark current image comprises computing a weighted average of the first estimated dark current image and each of the respective additional estimated dark current images, and wherein computing the weighted average comprises:

for each particular set of output pixel coordinates of the final dark current image, obtaining a set of corresponding pixel values, the set of corresponding pixel values comprising pixel values associated with pixels of the first estimated dark current image and each of the respective additional estimated dark current images that have pixel coordinates that match the particular set of output pixel coordinates of the final dark current image;

for each particular pixel value of the set of corresponding pixel values, determining a respective weight, the respective weight being determined based on a respective average pixel value computed from a respective plurality of pixels of a respective pixel patch centered on the pixel associated with the particular pixel value, wherein each of the respective weights is determined as a negative exponential of the respective average pixel value; and

for each particular set of output pixel coordinates of the final dark current image, calculating an output pixel value as a weighted average of the set of corresponding pixel values using the respective weights.

2. The system of claim 1 , further comprising an image sensor, and wherein the first image frame is captured using the image sensor.

3. The system of claim 2 , wherein the image sensor comprises a single photon avalanche diode (SPAD) array comprising a plurality of SPAD pixels.

4. The system of claim 1 , wherein the low-pass filter comprises a median filter, a mean filter, or a Gaussian filter.

5. The system of claim 4 , wherein the median filter comprises a hierarchical median filter.

6. The system of claim 5 , wherein applying the hierarchical median filter to the first image frame comprises:

until a stop condition is satisfied, iteratively performing one or more downsampling operations, wherein, for each of the one or more downsampling operations, each respective output pixel is generated based on a mean or median computed from a respective set of input pixels; and

responsive to the stop condition being satisfied, outputting the first low-pass filtered image.

7. The system of claim 6 , wherein the stop condition comprises performance of a predetermined number of iterations.

8. The system of claim 6 , wherein each of the one or more downsampling operations reduces image width by a factor of two and reduces image height by a factor of two.

9. The system of claim 6 , wherein each respective output pixel is generated by:

excluding a respective maximum-value pixel from the respective set of input pixels;

excluding a respective minimum-value pixel from the respective set of input pixels; and

computing an average value of remaining pixels of the respective set of input pixels.

10. The system of claim 6 , wherein each respective set of input pixels comprises four input pixels.

11. The system of claim 10 , wherein each respective output pixel is generated by:

computing a sum of pixel values of each pixel of the respective set of input pixels;

determining a maximum value of a respective maximum-value pixel from the respective set of input pixels;

determining a minimum value of a respective minimum-value pixel from the respective set of input pixels;

computing a modified sum by subtracting the maximum value and the minimum value from the sum; and

dividing the modified sum by two.

12. The system of claim 1 , wherein the one or more additional image frames are selected based on motion data, illuminance, or dynamic range associated with the one or more additional image frames.

13. The system of claim 1 , wherein the weighted average utilizes weights assigned based at least in part on temporal recency associated with the first estimated dark current image and each of the respective additional estimated dark current images.

14. A method for obtaining a dark current image, comprising:

obtaining a first image frame;

generating a first low-pass filtered image by applying a low-pass filter to the first image frame;

generating a first estimated dark current image by subtracting the first low-pass filtered image from the first image frame;

obtaining one or more additional image frames;

generating, for each particular additional image frame of the one or more additional image frames, a respective additional low-pass filtered image by low-pass filtering the particular additional image frame of the one or more additional image frames;

generating, for each particular additional image frame of the one or more additional image frames, a respective additional estimated dark current image by subtracting the respective additional low-pass filtered image from the particular additional image frame of the one or more additional image frames; and

generating a final dark current image based on the first estimated dark current image and each of the respective additional estimated dark current images, wherein generating the final dark current image comprises computing a weighted average of the first estimated dark current image and each of the respective additional estimated dark current images, and wherein computing the weighted average comprises:

for each particular set of output pixel coordinates of the final dark current image, obtaining a set of corresponding pixel values, the set of corresponding pixel values comprising pixel values associated with pixels of the first estimated dark current image and each of the respective additional estimated dark current images that have pixel coordinates that match the particular set of output pixel coordinates of the final dark current image;

for each particular pixel value of the set of corresponding pixel values, determining a respective weight, the respective weight being determined based on a respective average pixel value computed from a respective plurality of pixels of a respective pixel patch centered on the pixel associated with the particular pixel value, wherein each of the respective weights is determined as a negative exponential of the respective average pixel value; and

for each particular set of output pixel coordinates of the final dark current image, calculating an output pixel value as a weighted average of the set of corresponding pixel values using the respective weights.

15. One or more hardware storage devices storing instructions that are executable by one or more processors of a system to obtain a dark current image by configuring the system to:

obtain a first image frame;

generate a first low-pass filtered image by applying a low-pass filter to the first image frame;

generate a first estimated dark current image by subtracting the first low-pass filtered image from the first image frame;

obtain one or more additional image frames;

generate, for each particular additional image frame of the one or more additional image frames, a respective additional low-pass filtered image by low-pass filtering the particular additional image frame of the one or more additional image frames;

generate, for each particular additional image frame of the one or more additional image frames, a respective additional estimated dark current image by subtracting the respective additional low-pass filtered image from the particular additional image frame of the one or more additional image frames; and

generate a final dark current image based on the first estimated dark current image and each of the respective additional estimated dark current images, wherein generating the final dark current image comprises computing a weighted average of the first estimated dark current image and each of the respective additional estimated dark current images, and wherein computing the weighted average comprises:

for each particular set of output pixel coordinates of the final dark current image, obtaining a set of corresponding pixel values, the set of corresponding pixel values comprising pixel values associated with pixels of the first estimated dark current image and each of the respective additional estimated dark current images that have pixel coordinates that match the particular set of output pixel coordinates of the final dark current image;

for each particular pixel value of the set of corresponding pixel values, determining a respective weight, the respective weight being determined based on a respective average pixel value computed from a respective plurality of pixels of a respective pixel patch centered on the pixel associated with the particular pixel value, wherein each of the respective weights is determined as a negative exponential of the respective average pixel value; and

for each particular set of output pixel coordinates of the final dark current image, calculating an output pixel value as a weighted average of the set of corresponding pixel values using the respective weights.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2021
From: MILLER, CASEY LEE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 057918/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2021
From: EDMONDS, CHRISTOPHER DOUGLAS
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 057904/0344 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2021
From: PRICE, RAYMOND KIRK; BLEYER, MICHAEL
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 057850/0688 →
Continuity (1)
Related Publication 20230117006A1 · Apr 20, 2023