IP Library Granted Patent US 12,229,914
Granted Patent B2
US 12,229,914 · App. 17/616,544 · Granted Feb 18, 2025

Highlight recovery for image processing pipeline

Inventor: Jun Nishimura (San Jose, CA)
Assignee: Google LLC
G06T3/4015G06T1/20G06T7/90G06T11/001G06T2207/10024
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 12,229,914
App. No.
17/616,544
Granted
Feb 18, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing highlight recovery. One of the methods includes receiving raw image data of an image, the raw image data comprising, for each of a plurality of highlight regions in the image, original channel values for one or more channels of the highlight region; processing the raw image data to generate updated image data, wherein the updated image data comprises updated channel values for each highlight region in the image, and wherein, for each of one or more highlight regions of the image, one or more updated channel values of the highlight region exceed a maximum channel value according to a predetermined data precision; and performing a hue correction process on the updated channel values of the one or more highlight regions of the image to generate final channel values that satisfy the predetermined data precision.

Claims (54)

1. A system comprising:

an image capture device configured to generate raw image data of an image, the raw image data comprising, for each of a plurality of highlight regions in the image, original channel values for one or more channels of the highlight region; and

an image signal processor comprising:

one or more components of an image processing pipeline that are configured to process the raw image data to generate updated image data, wherein the updated image data comprises updated channel values for each highlight region in the image, and wherein, for each of one or more highlight regions of the image, one or more updated channel values of the highlight region exceed a maximum channel value according to a predetermined data precision, and

a highlight recovery circuit configured to perform a hue correction process on the updated channel values of the one or more highlight regions of the image, wherein performing the hue correction process comprises processing the updated channel values to generate final channel values that i) satisfy the predetermined data precision and ii) recover hue values of the one or more highlight regions of the image, wherein performing the hue correction process comprises, for each highlight region in the image:

calculating hue values including adjusting the respective updated channel values for each of the one or more channels of the highlight region, wherein the hue values represent a proportion of the updated channel values of the channels;

generating a clipped channel value for each of the one or more channels, wherein the clipped channel value equals the respective updated channel value if the updated channel value is less than or equal to the maximum channel value, and equals the maximum channel value if the updated channel value is greater than the maximum channel value; and

calculating a final channel value for each of the one or more channels including adjusting the respective clipped channel values using the respective hue values to emulate the proportion of the updated channel values of the channels.

2. The system of claim 1 , wherein the highlight regions are individual pixels and wherein the one or more channels comprise an R channel, a G channel, and a B channel.

3. The system of claim 1 , wherein the highlight regions are groups of four pixels arranged in two-by-two grids in a color filter array, wherein each of the pixels has a single value representing a single color, and wherein the one or more channels comprise the values of the four pixels.

4. The system of claim 1 , wherein calculating, for each highlight region in the image, hue values further comprises:

determining a measure of central tendency of the respective updated channel values of the one or more channels of the highlight region; and

calculating hue values including adjusting the respective updated channel values for each of the one or more channels using the measure of central tendency of the updated channel values of the highlight region.

5. The system of claim 4 , wherein calculating, for each highlight region in the image, a final channel value for each of the one or more channels comprises:

determining a measure of the central tendency of the clipped channel values of the one or more channels; and

calculating a final channel value for each of the one or more channels including adjusting the respective clipped channel values using the respective hue values and the measure of central tendency of the clipped channel values of the highlight region.

6. The system of claim 5 , wherein for each highlight region:

the measure of central tendency of the updated channel values and the clipped channel values of the one or more channels is a mean of the respective channel values; and

calculating the hue values of the one or more channels comprises:

generating initial hue values by calculating the difference between the updated channel values and the mean of the updated channel values; and

generating the hue values by normalizing the initial hue values comprising dividing the initial hue values by a length of a first vector wherein each element of the first vector is an initial hue value.

7. The system of claim 6 , wherein calculating the final channel values of the one or more channels comprises:

generating scaled hue values by scaling the hue values by a length of a second vector, wherein each element of the second vector is a difference between the clipped channel value of a channel and the mean of the clipped channel values; and

generating the final channel values by adding the scaled hue values to the mean of the clipped channel values.

8. A method comprising:

receiving raw image data of an image, the raw image data comprising, for each of a plurality of highlight regions in the image, original channel values for one or more channels of the highlight region;

processing the raw image data to generate updated image data, wherein the updated image data comprises updated channel values for each highlight region in the image, and wherein, for each of one or more highlight regions of the image, one or more updated channel values of the highlight region exceed a maximum channel value according to a predetermined data precision; and

performing a hue correction process on the updated channel values of the one or more highlight regions of the image, wherein performing the hue correction process comprises processing the updated channel values to generate final channel values that i) satisfy the predetermined data precision and ii) recover hue values of the one or more highlight regions of the image, wherein performing the hue correction process comprises, for each highlight region in the image:

calculating hue values including adjusting the respective updated channel values for each of the one or more channels of the highlight region, wherein the hue values represent a proportion of the updated channel values of the channels;

generating a clipped channel value for each of the one or more channels, wherein the clipped channel value equals the respective updated channel value if the updated channel value is less than or equal to the maximum channel value, and equals the maximum channel value if the updated channel value is greater than the maximum channel value; and

calculating a final channel value for each of the one or more channels including adjusting the respective clipped channel values using the respective hue values to emulate the proportion of the updated channel values of the channels.

9. The method of claim 8 , wherein the highlight regions are individual pixels and wherein the one or more channels comprise an R channel, a G channel, and a B channel.

10. The method of claim 8 , wherein the highlight regions are groups of four pixels arranged in two-by-two grids in a color filter array, wherein each of the pixels has a single value representing a single color, and wherein the one or more channels comprise the values of the four pixels.

11. The method of claim 8 , wherein calculating, for each highlight region in the image, hue values further comprises:

determining a measure of central tendency of the updated channel values of the one or more channels of the highlight region; and

calculating hue values including adjusting the updated channel values for each of the one or more channels using the measure of central tendency of the updated channel values of the highlight region.

12. The method of claim 11 , wherein calculating, for each highlight region in the image, a final channel value for each of the one or more channels comprises:

determining a measure of the central tendency of the clipped channel values of the one or more channels; and

calculating a final channel value for each of the one or more channels including adjusting the respective clipped channel values using the respective hue values and the measure of central tendency of the clipped channel values.

13. The method of claim 12 , wherein for each highlight region:

the measure of central tendency of the updated channel values and the clipped channel values of the one or more channels is a mean of the respective channel values; and

calculating the hue values of the one or more channels comprises:

generating initial hue values by calculating the difference between the updated channel values and the mean of the updated channel values; and

generating the hue values by normalizing the initial hue values comprising dividing the initial hue values by a length of a first vector wherein each element of the first vector is an initial hue value.

14. The method of claim 13 , wherein calculating the final channel values of the one or more channels comprises:

generating scaled hue values by scaling the hue values by a length of a second vector, wherein each element of the second vector is a difference between the clipped channel value of a channel and the mean of the clipped channel values; and

generating the final channel values by adding the scaled hue values to the mean of the clipped channel values.

15. One or more non-transitory computer storage media encoded with computer program instructions that when executed by a plurality of computers cause the plurality of computers to perform operations, the operations comprising:

receiving raw image data of an image, the raw image data comprising, for each of a plurality of highlight regions in the image, original channel values for one or more channels of the highlight region;

processing the raw image data to generate updated image data, wherein the updated image data comprises updated channel values for each highlight region in the image, and wherein, for each of one or more highlight regions of the image, one or more updated channel values of the highlight region exceed a maximum channel value according to a predetermined data precision; and

performing a hue correction process on the updated channel values of the one or more highlight regions of the image, wherein performing the hue correction process comprises processing the updated channel values to generate final channel values that i) satisfy the predetermined data precision and ii) recover hue values of the one or more highlight regions of the image, wherein performing the hue correction process comprises, for each highlight region in the image:

calculating hue values including adjusting the respective updated channel values for each of the one or more channels of the highlight region, wherein the hue values represent a proportion of the updated channel values of the channels;

generating a clipped channel value for each of the one or more channels, wherein the clipped channel value equals the respective updated channel value if the updated channel value is less than or equal to the maximum channel value, and equals the maximum channel value if the updated channel value is greater than the maximum channel value; and

calculating a final channel value for each of the one or more channels including adjusting the respective clipped channel values using the respective hue values to emulate the proportion of the updated channel values of the channels.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2021
From: NISHIMURA, JUN
To: GOOGLE LLC
Reel/Frame 058341/0236 →
Continuity (2)
Provisional Application 62931073 · Nov 5, 2019
Related Publication 20220261954A1 · Aug 18, 2022
References Cited (34)
US 9014504B2 · Lim et al. · 2015 [cited by applicant]
US 10070109B2 · Lim et al. · 2018 [cited by applicant]
US 20080088858A1 · Marcu et al. · 2008 [cited by applicant]
US 20120288192A1 · Heidrich et al. · 2012 [cited by applicant]
US 20180007332A1 · Lim · 2018 [cited by examiner]
US 20190156516A1 · Nikkanen · 2019 [cited by examiner]
CN 101489022 · 2009 [cited by applicant]
CN 101523888 · 2009 [cited by applicant]
CN 103503429 · 2014 [cited by applicant]
CN 103888743 · 2014 [cited by applicant]
CN 104253930 · 2014 [cited by applicant]
CN 105354599 · 2016 [cited by applicant]
CN 105741248 · 2016 [cited by applicant]
CN 106559658 · 2017 [cited by applicant]
CN 106709893 · 2017 [cited by applicant]
CN 108259701 · 2018 [cited by applicant]
CN 109978848 · 2019 [cited by applicant]
CN 110022469 · 2019 [cited by applicant]
JP 2001157018 · 2001 [cited by applicant]
JP 2004304303 · 2004 [cited by applicant]
JP 2012191635 · 2012 [cited by applicant]
WO WO2014112291 · 2014 [cited by applicant]
WO WO2016152414 · 2016 [cited by applicant]
Office Action in Chinese Appln. No. 202080066899.0, mailed on Aug. 30, 2023, 28 pages (with English translation). [cited by applicant]
Aiping et al., “Low-Light Image Enhancement Based on Tone Mapping and Dark Channel Fusion” Journal of Tianjin University, vol. 51, Issue 7, Jul. 2018, 769-776 (with English abstract). [cited by applicant]
Liang et al., “Based on dynamic background update and dark channel prior of fire smoke detection algorithm” Computer Applications Studies, vol. 34, Issue 3, May 2017, 958-960 (with English abstract). [cited by applicant]
Notice of Allowance in Chinese Appln. No. 202080066899.0, mailed on Feb. 4, 2024, 8 pages (with English translation). [cited by applicant]
Notice of Allowance in Japanese Appln. No. 2022-521331, mailed on Dec. 26, 2023, 5 pages (with English translation). [cited by applicant]
Robin, “Superbend upgrade at the Advanced Light Source” Proceedings of the 2003 Particle Accelerator Conference, May 2004, 224-228. [cited by applicant]
Office Action in Japanese Appln. No. 2022-521331, mailed on Aug. 8, 2023, 10 pages (with English translation). [cited by applicant]
IN Office Action in Indian Appln. No. 202247018307, dated Aug. 24, 2022, 6 pages (with English Translation). [cited by applicant]
PCT International Search Report and Written Opinion in International Appln. No. PCT/US2020/058528, dated Jan. 29, 2021, 13 pages. [cited by applicant]
PCT International Preliminary Report on Patentability in International Appln. No. PCT/US2020/058528, dated May 19, 2022, 8 pages. [cited by applicant]
Notice of Allowance in European Appln. No. 20817107.4, dated Jun. 21, 2023, 8 pages. [cited by applicant]