IP Library Granted Patent US 12,477,089
Granted Patent B2
US 12,477,089 · App. 17/107,250 · Granted Nov 18, 2025

Dynamic adaptation of images for projection, and/or of projection parameters, based on user(s) in environment

Inventor: Jian Wei Leong (Mountain View, CA)
Assignee: GOOGLE LLC
H04N9/3185G06F40/20G06T3/18G06T3/4084G06T3/608G06V10/753G06V40/103G06V40/23H04N9/3188G06F3/013
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,477,089
App. No.
17/107,250
Granted
Nov 18, 2025
Kind
B2
Abstract

Implementations relate to dynamic adaptation of images for projection by a projector, based on one or more properties of user(s) that are in an environment with the projector. The projector can be associated with an automated assistant client of a client device. In some versions of those implementations, a pose of a user in the environment is determined and, based on the pose, a base image for projecting onto a surface is warped to generate a transformed image. The transformed image, when projected onto a surface and viewed from the pose of the user, mitigates perceived differences relative to the base image. The base image (on which the transformed image is based) can optionally be generated in dependence on a distance of the user. Some implementations additionally or alternatively relate to dynamic adaptation of projection parameters (e.g., a location for projection, a size of projection) based on one or more properties of user(s) that are in an environment with the projector.

Claims (66)

1 . A method implemented by one or more processors, the method comprising:

identifying a plurality of users that are in an environment with a computing device, where an automated assistant client is associated with the computing device;

determining, using sensor data from at least one sensor accessible to the computing device, that a given user, of the plurality of users, is an active user and is an only active user for the automated assistant client, wherein determining that the given user is the only active user for the automated assistant client is based on determining that the given user provided a voice input to the automated assistant client;

determining a pose of the given user that provided the voice input, wherein determining the pose is based on the sensor data or additional sensor data from at least one additional sensor accessible to the computing device;

generating, by the automated assistant client and based on the voice input, a base image for rendering to the given user via one or more output devices accessible to the automated assistant client, wherein the generating the base image comprises:

identifying, based on determining that the given user is the only active user, a search result of a search performed using text recognized from the voice input, and

generating, based on both the search and a distance from the given user to a location corresponding to the base image, the base image to display the search result of the search performed using the text recognized from the voice input,

wherein the base image, that is generated based on both the search using the text recognized from the voice input and the distance of the given user, contains an additional search result that is in addition to the search result in response to a decrease in the distance from the given user that provided the voice input to the location corresponding to the base image; and

based on the determining that the given user, that provided the voice input, is the only active user, tailoring rendering of output to the pose of the given user that provided the voice input, the output including the generated base image or a transformed image that is a transformation of the generated base image.

2 . The method of claim 1 , wherein the one or more output devices accessible to the automated assistant client is a projector, and further comprising:

causing, based on one or more output parameters, the projector to project the output onto a surface.

3 . The method of claim 1 , wherein the at least one sensor accessible to the computing device includes a presence sensor, and wherein determining, using the sensor data from the at least one sensor accessible to the computing device, that the given user is the active user for the automated assistant client comprises:

identifying gesture data captured using the presence sensor; and

determining the active user for the automated assistant client based on the gesture data.

4 . The method of claim 1 , wherein the sensor data or the additional sensor data from at least one additional sensor accessible to the computing device is gaze data that identifies a gaze of the given user, and wherein determining the pose of the active user comprises:

determining the pose of the active user based on the gaze data.

5 . The method of claim 4 , wherein, based on the determining the given user is the active user, tailoring rendering of output to the pose of the given user, the output including a base image or a transformed image that is a transformation of the base image comprises:

tailoring rendering of the output to the pose of the given user, based on the gaze data that identifies the gaze of the given user.

6 . The method of claim 1 , wherein one or more interactive user interface (UI) elements are included or excluded in the base image depending on the distance of the given user relative to the location corresponding to the base image.

7 . The method of claim 6 , wherein the one or more interactive UI elements are excluded from the base image when the distance is more than a threshold distance.

8 . The method of claim 6 , wherein the one or more interactive UI elements are included in the base image when the distance is less than the threshold distance.

9 . The method of claim 1 , wherein:

the base image is a first base image when the given user is within a first range of distances relative to the location corresponding to the base image,

the base image is a second base image when the given user is within a second range of distances relative to the location corresponding to the base image,

the first range is greater than the second range, and

the second base image includes the search result present in the first base image and the additional search result associated with the search result present in the first base image.

10 . The method of claim 1 , wherein the distance is generated from the pose of the given user.

11 . A computing device comprising,

one or more processors,

one or more sensors; and

memory configured to store instructions that, when executed by the one or more processors cause the one or more processors to perform operations that include:

identifying a plurality of users that are in an environment with the computing device, where an automated assistant client is associated with the computing device;

determining, using sensor data from at least a given sensor, of the one or more sensors, that a given user is an active user for the automated assistant client, wherein determining that the given user is the active user for the automated assistant client is based on determining that the given user provided a voice input to the automated assistant client;

determining a pose of the given user that provided the voice input, wherein determining the pose is based on the sensor data or additional sensor data from at least one additional sensor of the one or more sensors;

generating, by the automated assistant client and based on the voice input, a base image for rendering to the given user via one or more output devices accessible to the automated assistant client, wherein the generating the base image comprises:

identifying, based on determining that the given user is the only active user, a search result of a search performed using the text recognized from the voice input, and

generating, based on both the search and a distance from the given user to a location corresponding to the base image, the base image to display the search result of the search performed using the text recognized from the voice input,

wherein the base image, that is generated based on both the search using the text recognized from the voice input and the distance of the given user, contains an additional search result that is in addition to the search result, in response to a decrease in the distance from the given user that provided the voice input to the location corresponding to the base image; and

based on the determining that the given user, that provided the voice input, is the active user, tailoring rendering of output to the pose of the given user that provided the voice input, the output including the generated base image or a transformed image that is a transformation of the generated base image.

12 . The computing device of claim 11 , wherein the one or more output devices accessible to the automated assistant client is a projector, and wherein the operations further include:

causing, based on one or more output parameters, the projector to project the output onto a surface.

13 . The computing device of claim 11 , wherein the at least one sensor accessible to the computing device includes a presence sensor, and wherein determining, using the sensor data from the at least the given sensor accessible to the computing device, that the given user is the active user for the automated assistant client comprises:

identifying gesture data captured using the presence sensor; and

determining the active user for the automated assistant client based on the gesture data.

14 . The computing device of claim 11 , wherein the sensor data or the additional sensor data from at least one additional sensor accessible to the computing device is gaze data, identifying a gaze of the given user, and wherein determining the pose of the given user comprises:

determining the pose of the active user based on the gaze data.

15 . The computing device of claim 14 , wherein, based on the determining of the given user, tailoring rendering of output to the pose of the given user, the output including a base image or a transformed image that is a transformation of the base image comprises:

tailoring rendering of the output to the pose of the given user, based on the gaze data identifying the gaze of the given user.

16 . A non-transitory computer readable storage medium configured to store instructions that, when executed by one or more processors, cause the one or more processors to perform operations that include:

identifying a plurality of users that are in an environment with a computing device, where an automated assistant client is associated with the computing device;

determining, using sensor data from at least one sensor accessible to the computing device, that a given user, of the plurality of users, is an active user for the automated assistant client, wherein determining that the given user is the active user for the automated assistant client is based on determining that the given user provided a voice input to the automated assistant client;

determining a pose of the given user that provided the voice input, wherein determining the pose is based on the sensor data or additional sensor data from at least one additional sensor accessible to the computing device;

generating, by the automated assistant client and based on the voice input, a base image for rendering to the given user via one or more output devices accessible to the automated assistant client, wherein the generating the base image comprises:

identifying, based on determining that the given user is the only active user, a search result of a search performed using the text recognized from the voice input, and

generating, based on both the search and a distance from the given user to a location corresponding to the base image, the base image to display the search result of the search performed using the text recognized from the voice input,

wherein the base image, that is generated based on the search using both the text recognized from the voice input and the distance of the given user, contains an additional search result that is in addition to the search result, in response to a decrease in the distance from the given user that provided the voice input to the location corresponding to the base image; and

based on the determining that the given user, that provided the voice input, is the active user, tailoring rendering of output to the pose of the given user that provided the voice input, the output including the generated base image or a transformed image that is a transformation of the generated base image.

17 . The non-transitory computer readable storage medium of claim 16 , wherein the one or more output devices accessible to the automated assistant client is a projector, and wherein the one or more operations further include:

causing, based on one or more output parameters, the projector to project the output onto a surface.

18 . The non-transitory computer readable storage medium of claim 16 , wherein the at least one sensor accessible to the computing device includes a presence sensor, and wherein determining, using the sensor data from the at least one sensor accessible to the computing device, that the given user is the active user for the automated assistant client comprises:

identifying gesture data captured using the presence sensor; and

determining the active user for the automated assistant client based on the gesture data.

19 . The non-transitory computer readable storage medium of claim 16 , wherein the sensor data or the additional sensor data from at least one additional sensor accessible to the computing device is gaze data that identifies a gaze of the given user, and wherein determining the pose of the given user comprises:

determining the pose of the active user based on the gaze data.

20 . The non-transitory computer readable storage medium of claim 19 , wherein, based on the determining that the given user is the active user, tailoring rendering of output to the pose of the given user, the output including a base image or a transformed image that is a transformation of the base image comprises:

tailoring rendering of the output to the pose of the given user, based on the gaze data identifying the gaze of the given user.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2020
From: LEONG, JIAN WEI
To: GOOGLE LLC
Reel/Frame 054764/0823 →
Continuity (2)
Continuation 15955297 · Apr 17, 2018
Related Publication 20210082083A1 · Mar 18, 2021
References Cited (45)
US 8840250B1 · Yao et al. · 2014 [cited by applicant]
US 9588408B1 · Linnell · 2017 [cited by applicant]
US 20040036717A1 · Kjeldsen et al. · 2004 [cited by applicant]
US 20070273842A1 · Morrison et al. · 2007 [cited by applicant]
US 20080002262A1 · Chirieleison · 2008 [cited by applicant]
US 20100332226A1 · Lee · 2010 [cited by examiner]
US 20120157114A1 · Alameh · 2012 [cited by examiner]
US 20130229340A1 · Yu et al. · 2013 [cited by applicant]
US 20140143691A1 · Huang · 2014 [cited by examiner]
US 20140146644A1 · Chen · 2014 [cited by examiner]
US 20140160341A1 · Tickoo et al. · 2014 [cited by applicant]
US 20140282220A1 · Wantland · 2014 [cited by examiner]
US 20150234541A1 · Gong · 2015 [cited by applicant]
US 20150242920A1 · Summers · 2015 [cited by examiner]
US 20150281629A1 · Davies et al. · 2015 [cited by applicant]
US 20150302856A1 · Kim · 2015 [cited by examiner]
US 20150370424A1 · Joo · 2015 [cited by examiner]
US 20150381974A1 · Hoffman · 2015 [cited by examiner]
US 20160378861A1 · Eledath · 2016 [cited by examiner]
US 20170026612A1 · Rintel et al. · 2017 [cited by applicant]
US 20170069327A1 · Heigold · 2017 [cited by examiner]
US 20170272729A1 · Kass · 2017 [cited by applicant]
US 20170358141A1 · Stafford et al. · 2017 [cited by applicant]
US 20180007328A1 · Kursula et al. · 2018 [cited by applicant]
US 20180129276A1 · Nguyen · 2018 [cited by examiner]
US 20180165878A1 · Khan · 2018 [cited by examiner]
US 20190037244A1 · Melkote et al. · 2019 [cited by applicant]
US 20190088257A1 · Shah et al. · 2019 [cited by applicant]
US 20190166339A1 · De La Cruz et al. · 2019 [cited by applicant]
US 20190253371A1 · Miller · 2019 [cited by examiner]
US 20210042974A1 · Park · 2021 [cited by examiner]
US 20210150670A1 · Arora · 2021 [cited by examiner]
CN 1831932 · 2006 [cited by applicant]
CN 204166863 · 2015 [cited by applicant]
European Patent Office; International Search Report and Written Opinion of Ser. No. PCT/US2019/027794; 26 pages; dated Sep. 18, 2019. [cited by applicant]
European Patent Office; Invitation to Pay Additional Fees for Application No. PCT/US2019/027794; 21 pages; dated Jul. 24, 2019. [cited by applicant]
Makuake, “Move the bedroom to the best entertainment space. Smart light “popIn Aladdin”.” https:www.makuake.com/project/popin-aladdin/. Last accessed Mar. 20, 2018. 25 pages. [cited by applicant]
Lardinois, F., “Baidu sets its sights on Japan with a voice-enabled projector in a dome light.” https://techcrunch.com/2018/01/09/baidu-sets-its-sights-on-japan-with-a-voice-enabled-projector-in-a-dome-light/. Posted Ja… [cited by applicant]
China National Intellectual Property Administration; Notification of First Office Action issued in Application No. 201980031973.2; 35 pages; dated Nov. 2, 2021. [cited by applicant]
China National Intellectual Property Administration; Notification of the Second Office Action issued In Application No. CN201980031973.2; 28 pages dated May 30, 2022. [cited by applicant]
European Patent Office; Communication Pursuant to Article 94(3) EPC issued in Application No. 19725791.8; 10 pages; dated Nov. 7, 2022. [cited by applicant]
China National Intellectual Property Administration; Decision of Rejection issued in Application No. CN201980031973.2; 13 pages Dec. 27, 2022. [cited by applicant]
China National Intellectual Property Administration; Notification of Reexamination issued for Application No. 201980031973.2, 26 pages, dated Dec. 5, 2023. [cited by applicant]
European Patent Office; Intention to Grant issued for Application No. 19725791.8, 56 pages, dated Dec. 13, 2023. [cited by applicant]
European Patent Office, Communication issued in Application No. 24173643.8; 14 pages; dated Jul. 15, 2024. [cited by applicant]