US 12,143,731 B1
Highlight recovery for image sensors
Bartlomiej Pawlik, Singapore (SG)
Assigned to AMAZON TECHNOLOGIES, INC., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Jun. 30, 2022, as Appl. No. 17/854,656.
Int. Cl. H04N 23/88 (2023.01); G06T 7/90 (2017.01); H04N 9/64 (2023.01)
CPC H04N 23/88 (2023.01) [G06T 7/90 (2017.01); H04N 9/646 (2013.01); G06T 2207/10024 (2013.01)] 22 Claims
OG exemplary drawing
 
1. A method comprising:
receiving a first frame of image data representing a plurality of pixels arranged in a grid, wherein a first pixel of the plurality of pixels is associated with an input red pixel value CR, an input green pixel value CG, an input blue pixel value CB, and an input infrared pixel value CIR;
determining a white-balanced red pixel value CRwb for the first pixel by multiplying the input red pixel value CR by a white balance gain corresponding to a red channel WBR;
determining a clipped, white-balanced red pixel value CRwb,clipped by replacing white-balanced pixel values of CRwb greater than 1 with a value of 1 and replacing white-balanced pixel values of CRwb less than 0 with a value of 0;
determining a color-corrected red pixel value CRccm, a color-corrected green pixel value CGccm, and a color-corrected blue pixel value CBccm by multiplying a 1×4 matrix by a 4×3 color correction matrix, wherein the 1×4 matrix comprises the clipped, white-balanced red pixel value CRWB,clipped, a clipped, white-balanced green pixel value CGwb,clipped, a clipped, white-balanced blue pixel value CBwb,clipped, and a clipped, white-balanced infrared pixel value CIRwb,clipped;
determining a clipped, color-corrected red pixel value CRccm,clipped by replacing color corrected red pixel values CRccm greater than 1 with the value of 1 and replacing color-corrected red pixel values CRccm less than 0 with the value of 0;
determining an interpolation coefficient α for the first pixel based on the clipped, color-corrected red pixel value CRccm,clipped, a clipped, color-corrected green pixel value CGccm,clipped, and a clipped, color-corrected blue pixel value CBccm,clipped;
determining a first luminance value for the first pixel Cluma using a weighted combination of the input red pixel value, the input green pixel value, and the input blue pixel value; and
determining a modified red pixel value by interpolating between Cluma and an unclipped, color-corrected red pixel value CRccm,unclipped using the interpolation coefficient α.