IP Library › Granted Patent US 12,639,868
Granted Patent B2
US 12,639,868 · App. 18/726,060 · Granted May 26, 2026

Simulating light reflecting off an object

Inventor: Dongeek Shin (Mountain View, CA)
Assignee: Google LLC
G06T11/60G06T7/40G06V10/764G06V10/82G06V20/70G06F3/14G06T2210/52
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,639,868
App. No.
18/726,060
Granted
May 26, 2026
Kind
B2
Abstract

A computing device is described that includes one or more processors, an image sensor that captures an image at a location of the computing device, and at least one module. The at least one module is operable by the one or more processors to capture, by the image sensor of the computing device, an image frame, determine, based on the image frame, one or more characteristics of light produced by one or more light sources, apply a light source image, generated with the one or more characteristics of light associated with the one or more light sources, to an image of an object, to generate an adjusted image to simulate effects of the one or more light sources on the object; and output, for display by the computing device, the adjusted image.

Claims (82)

1 . A method comprising:

capturing, by an image sensor of a computing device, an image frame;

determining, by one or more processors of the computing device and based on the image frame, one or more characteristics of light produced by one or more light sources;

identifying, by the one or more processors, one or more items in the image frame;

determining, by the one or more processors, one or more labels that correspond to the one or more items identified in the image frame;

generating, based on the one or more labels, a mask image corresponding to the one or more light sources;

generating, by the one or more processors, an adjusted image by at least applying a light source image to an image of an object to simulate effects of the one or more light sources on the object, wherein the light source image is generated based on the one or more characteristics of light produced by the one or more light sources associated with the mask image; and

outputting, by the one or more processors and for display, the adjusted image.

2 . The method of claim 1 , wherein the identifying the one or more items further comprises:

identifying, by the one or more processors, the one or more items within the image frame with a class object detector.

3 . The method of claim 1 , wherein generating the mask image further comprises:

generating, by the one or more processors with image texture analysis, a texture map of boundaries corresponding to surface textures from the image; and

generating, by the one or more processors, the mask image associated with the one or more light sources based on the texture map.

4 . The method of claim 1 , wherein generating the mask image further comprises:

sending the one or more characteristics of light produced by one or more light sources to a remote computing device to identify one or more items in the image frame corresponding to the one or more light sources, and to generate the mask image; and

receiving the mask image from the remote computing device.

5 . The method of claim 1 , further comprising:

computing the light source image with a machine learning model trained to generate the light source image based on the mask image.

6 . The method of claim 1 , further comprising:

sending, from the computing device to a remote computing device, the mask image; and

receiving, by the computing device, and from the remote computing device, the light source image generated using the mask image.

7 . The method of claim 1 , further comprising:

determining, by the computing device, whether movement of a display device satisfies a threshold value;

responsive to determining that the movement is greater than the threshold value, capturing, by the computing device, image frames at a rate of at least 30 cycles per second (Hz); and

responsive to determining that the movement is less than the threshold value, capturing, by the computing device, image frames at a rate less than 30 cycles per second (Hz).

8 . The method of claim 7 , further comprising:

receiving, by the computing device, motion data generated by a motion sensor of the display device,

wherein determining whether the movement of the display satisfies the threshold value is based on the motion data.

9 . A computing device comprising:

an image sensor configured to capture an image frame;

a display device;

a memory; and

one or more processors operably coupled to the memory and configured to:

determine, based on the image frame, one or more characteristics of light produced by one or more light sources;

identify one or more items in the image frame;

determine one or more labels that correspond to the one or more items identified in the image frame;

generate, based on the one or more labels, a mask image corresponding to the one or more light sources;

apply a light source image, generated with the one or more characteristics of light associated with the one or more light sources associated with the mask image, to an image of an object to generate an adjusted image to simulate effects of the one or more light sources on the object; and

output, for display by the display device, the adjusted image.

10 . The computing device of claim 9 , wherein the one or more processors are configured to generate the mask image by at least being configured to:

send, to a remote computing device, the one or more characteristics of light produced by one or more light sources remote computing device to identify one or more items in the image frame corresponding to the one or more light sources, and to generate the mask image; and

receive, from the remote computing device, the mask image generated by at least applying a machine learning model to the mask image.

11 . The computing device of claim 9 , wherein the one or more processors are configured to generate the mask image by at least being configured to:

generate a texture map of boundaries corresponding to surface textures from the image; and

generate the mask image associated with the one or more light sources based on the texture map.

12 . The computing device of claim 9 , wherein the one or more processors are configured to generate the mask image by at least being configured to:

identify one or more items in the image frame;

determine one or more labels that correspond to the one or more items identified in the image frame; and

generate, based on the one or more labels, the mask image corresponding to the one or more light sources.

13 . The computing device of claim 9 , further comprising:

one or more motion sensors that generate motion data based on movement of the computing device,

wherein the one or more processors are further configured to:

determine, based on the motion data, whether movement of the display device satisfies a threshold value;

responsive to determining that the movement is greater than the threshold value, capture, using the image sensor, image frames at a rate of at least 30 cycles per second (Hz); and

responsive to determining that the movement is less than the threshold value, capture, using the image sensor, image frames at a rate less than 30 cycles per second (Hz).

14 . A non-transitory computer-readable medium encoded with instructions that, when executed by one or more processors of a computing device, cause the one or more processors to:

capture, using an image sensor of the computing device, an image frame;

determine, based on the image frame, one or more characteristics of light produced by one or more light sources;

identify one or more items in the image frame;

determine one or more labels that correspond to the one or more items identified in the image frame;

generate, based on the one or more labels, a mask image corresponding to the one or more light sources;

generate an adjusted image by at least applying a light source image to an image of an object to simulate effects of the one or more light sources on the object, wherein the light source image is generated based on the one or more characteristics of light produced by the one or more light sources associated with the mask image; and

output, for display, the adjusted image.

15 . The non-transitory computer-readable medium of claim 14 , wherein the instructions further cause the one or more processors to:

determine whether movement of a display device satisfies a threshold value;

responsive to determining that the movement is greater than the threshold value, capture image frames at a rate of at least 30 cycles per second (Hz); and

responsive to determining that the movement is less than the threshold value, capture image frames at a rate less than 30 cycles per second (Hz).

16 . The non-transitory computer-readable medium of claim 14 , wherein the instructions cause the one or more processors to generate the mask image by at least causing the one or more processors to:

send, to a remote computing device, the one or more characteristics of light produced by one or more light sources remote computing device to identify one or more items in the image frame corresponding to the one or more light sources, and to generate the mask image; and

receive, from the remote computing device, the mask image generated by at least applying a machine learning model to the mask image.

17 . The non-transitory computer-readable medium of claim 14 , wherein the instructions cause the one or more processors to generate the mask image by at least causing the one or more processors to:

generate a texture map of boundaries corresponding to surface textures from the image; and

generate the mask image associated with the one or more light sources based on the texture map.

18 . The non-transitory computer-readable medium of claim 14 , wherein the instructions cause the one or more processors to generate the mask image by at least causing the one or more processors to:

identify one or more items in the image frame;

determine one or more labels that correspond to the one or more items identified in the image frame; and

generate, based on the one or more labels, the mask image corresponding to the one or more light sources.

19 . The non-transitory computer-readable medium of claim 14 , wherein the instructions further cause the one or more processors to:

generate, using one or more motion sensors, motion data based on movement of the computing device,

determine, based on the motion data, whether movement of a display device of the computing device satisfies a threshold value;

responsive to determining that the movement is greater than the threshold value, capture, using the image sensor, image frames at a rate of at least 30 cycles per second (Hz); and

responsive to determining that the movement is less than the threshold value, capture, using the image sensor, image frames at a rate less than 30 cycles per second (Hz).

Continuity (1)
Related Publication 20250061628A1 · Feb 20, 2025
References Cited (41)
US 8344995B2 · Jeon · 2013 [cited by examiner]
US 8508666B2 · Higuchi · 2013 [cited by examiner]
US 8749478B1 · Bowen · 2014 [cited by examiner]
US 8963901B2 · Chang · 2015 [cited by examiner]
US 9245484B2 · Yamazaki · 2016 [cited by examiner]
US 9743486B2 · Chuang · 2017 [cited by examiner]
US 9984634B2 · Reeves · 2018 [cited by examiner]
US 10048764B2 · Kang · 2018 [cited by examiner]
US 11012603B2 · Suman · 2021 [cited by examiner]
US 11217021B2 · Motta et al. · 2022 [cited by applicant]
US 11378804B2 · Terashima · 2022 [cited by examiner]
US 11410622B2 · Zhang · 2022 [cited by examiner]
US 11531390B1 · Canberk · 2022 [cited by examiner]
US 11699708B2 · Bai · 2023 [cited by examiner]
US 11790498B1 · Zhang · 2023 [cited by examiner]
US 12099657B2 · Lee · 2024 [cited by examiner]
US 20080122821A1 · Nilsson · 2008 [cited by examiner]
US 20130135295A1 · Li · 2013 [cited by examiner]
US 20140285477A1 · Cho et al. · 2014 [cited by applicant]
US 20140333656A1 · Wang · 2014 [cited by applicant]
US 20150187108A1 · Mullins · 2015 [cited by examiner]
US 20150346511A1 · Osterhout · 2015 [cited by examiner]
US 20160210932A1 · Imana · 2016 [cited by applicant]
US 20160358538A1 · Schuch · 2016 [cited by examiner]
US 20170007459A1 · Deng · 2017 [cited by examiner]
US 20190139512A1 · Chen · 2019 [cited by examiner]
US 20190369752A1 · Ikeda · 2019 [cited by examiner]
US 20190377948A1 · Lee · 2019 [cited by examiner]
US 20200151956A1 · Goslin · 2020 [cited by examiner]
US 20200192089A1 · Haddick · 2020 [cited by examiner]
US 20200242845A1 · Jones · 2020 [cited by examiner]
US 20210097943A1 · Wyatt · 2021 [cited by applicant]
US 20220044489A1 · Konings · 2022 [cited by examiner]
US 20220262077A1 · Kim · 2022 [cited by examiner]
Alhakamy et al., “Real-time Illumination and Visual Coherence for Photorealistic Augmented/Mixed Reality”, ACM Computing Surveys, vol. 53, No. 3, May 28, 2020, 35 pp. [cited by applicant]
First Examination Report from counterpart Indian Application No. 202447053861 dated Aug. 12, 2025, 12 pp. [cited by applicant]
Gardner et al., “Learning to Predict Indoor Illumination from a Single Image”, ACM Transactions on Graphics, vol. 36, No. 6, Nov. 2017, pp. 1-14. [cited by applicant]
International Search Report and Written Opinion of International Application No. PCT/US2022/070190 dated Nov. 29, 2022, 17 pp. [cited by applicant]
Invitation to Pay Additional Fees and, Where Applicable, Protest Fee from International Application No. PCT/US2022/070190 dated Oct. 6, 2022, p. 10. [cited by applicant]
Kan et al., “DeepLight: light source estimation for augmented reality using deep learning”, The Visual Computer, vol. 35, No. 6, Springer, May 7, 2019, 11 pp. [cited by applicant]
Response to Communication Pursuant to Rules 161(1) and 162 EPC dated Jul. 9, 2024, from counterpart European Application No. 22705503.5, filed Jan. 2, 2025, 28 pp. [cited by applicant]