IP Library Granted Patent US 12661584
Granted Patent B2
US 12661584 · App. 18/562,756 · Granted Jun 23, 2026

Hybrid cloud and local rendering

Inventor: Sim Douglas Dietrich, Jr. (Los Gatos, CA)
Assignee: GOOGLE LLC
A63F13/35G06T7/20G06T7/40G06T7/70A63F2300/8082
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 12661584
App. No.
18/562,756
Granted
Jun 23, 2026
Kind
B2
Abstract

Information is received by one or more servers regarding a plurality of components of a virtual environment to be presented for display by a remote client device. A set of remote rendering prioritization values, indicating a degree of prioritization for rendering individual components of the plurality of components by the one or more server computing devices, is determined based on the received information. Based on the set of remote rendering prioritization values, a partial scene of the virtual environment is generated at the one or more servers by rendering a set of first components of the plurality of components. The generated partial scene of the virtual environment is transmitted to the remote client device for compositing with a set of second components of the plurality of components to be rendered by the remote client device.

Claims (44)

1 . A server-implemented method, comprising:

generating, at one or more server computing devices and based at least in part on information regarding a plurality of components of a virtual environment to be presented for display by a remote client device, a set of remote rendering prioritization values indicating a degree of priority for rendering the plurality of components;

based at least in part on the set of remote rendering prioritization values, selecting a first subset of components of the plurality of components for rendering by the one or more server computing devices;

generating, via one or more neural networks, a partial scene of the virtual environment by rendering at the one or more server computing devices the selected first subset of components; and

transmitting, by the one or more server computing devices, information representing the generated partial scene for compositing with a second subset of components of the plurality of components to be rendered by the remote client device.

2 . The server-implemented method of claim 1 , further comprising transmitting at least some of the remote rendering prioritization values to the remote client device for use in rendering the second subset of components.

3 . The server-implemented method of claim 1 , further comprising receiving the information regarding the plurality of components from the remote client device.

4 . The server-implemented method of claim 1 , further comprising receiving the information regarding the plurality of components from a gaming application executed by at least one of the one or more server computing devices.

5 . The server-implemented method of claim 1 , wherein rendering the first subset of components at the one or more server computing devices includes rendering by the one or more server computing devices a first portion of the virtual environment, with a remainder of the virtual environment to be rendered by the remote client device.

6 . The server-implemented method of claim 1 , further comprising formatting the information representing the generated partial scene to a format compatible with a software application executed by the remote client device for processing and display of the virtual environment.

7 . The server-implemented method of claim 1 , wherein the first subset of components is defined by at least one environment rendering threshold.

8 . The server-implemented method of claim 7 , wherein selecting the first subset of components comprises identifying each component for which a remote rendering prioritization value assigned to the component exceeds the at least one environment rendering threshold.

9 . The server-implemented method of claim 7 , wherein generating the set of remote rendering prioritization values comprises determining the set of remote rendering prioritization values based at least in part on network conditions for one or more networks communicatively coupled to at least one of the one or more server computing devices.

10 . The server-implemented method of claim 9 , further comprising determining the environment rendering threshold based at least in part on the network conditions.

11 . The server-implemented method of claim 1 , wherein generating the set of remote rendering prioritization values comprises generating the set of remote rendering prioritization values based at least in part on a spatial proximity between a virtual viewing location in the virtual environment and one or more components of the plurality of components.

12 . The server-implemented method of claim 1 , wherein generating the set of remote rendering prioritization values comprises generating the set of remote rendering prioritization values based at least in part on a degree of complexity associated with one or more components of the plurality of components.

13 . The server-implemented method of claim 1 , wherein generating the set of remote rendering prioritization values comprises generating the set of remote rendering prioritization values based at least in part on a degree of recent motion associated with at least one of the plurality of components in the virtual environment.

14 . The server-implemented method of claim 1 , wherein generating the set of remote rendering prioritization values comprises generating the set of remote rendering prioritization values based at least in part on a degree of predicted motion associated with at least one of the plurality of components in the virtual environment.

15 . The server-implemented method of claim 1 , wherein generating the set of remote rendering prioritization values comprises generating the set of remote rendering prioritization values based at least in part on an analysis of one or more components of multiple prior virtual environments.

16 . The server-implemented method of claim 1 , wherein the information regarding the plurality of components includes one or more members of a group that includes 3D model information for one or more objects within the virtual environment, pose information for one or more objects within the virtual environment, material information for one or more objects within the virtual environment, and texture information for one or more objects within the virtual environment.

17 . The server-implemented method of claim 1 , wherein the information regarding the plurality of components includes an identifier for each of at least one object within the virtual environment, the identifier being included in an object database of the one or more server computing devices.

18 . A server, comprising:

a network interface;

one or more processors; and

a memory storing a set of executable instructions, the set of executable instructions to manipulate the one or more processors to:

generate, based at least in part on information regarding a plurality of components of a virtual environment to be presented for display by a remote client device, a set of remote rendering prioritization values indicating a degree of priority for rendering the plurality of components;

based at least in part on the set of remote rendering prioritization values, select a first subset of components of the plurality of components for rendering by the one or more processors;

generate, via one or more neural networks, a partial scene of the virtual environment by rendering the selected first subset of components; and

transmit information representing the generated partial scene for compositing with a second subset of components of the plurality of components to be rendered by the remote client device.

19 . The server of claim 18 , wherein the set of executable instructions is further to manipulate the one or more processors to transmit at least some of the remote rendering prioritization values to the remote client device for use in rendering the second subset of components.

20 . The server of claim 18 , wherein the set of executable instructions is further to manipulate the one or more processors to receive the information regarding the plurality of components from the remote client device.

21 . The server of any of claim 18 , wherein the set of executable instructions is further to manipulate the one or more processors to receive the information regarding the plurality of components from a gaming application executed by at least one of the one or more server computing devices.

22 . The server of any of claim 18 , wherein the set of remote rendering prioritization values is based on one or more members of a group that includes:

network conditions for one or more networks communicatively coupled to at least one of the one or more server computing devices;

a spatial proximity between a virtual viewing location in the virtual environment and one or more components of the plurality of components;

a degree of complexity associated with one or more components of the plurality of components;

a degree of recent motion associated with at least one of the plurality of components in the virtual environment;

a degree of predicted motion associated with at least one of the plurality of components in the virtual environment; and

an analysis of one or more components of multiple prior virtual environments.

23 . A computer-implemented method, comprising:

providing, by a client computing device and to one or more server computing devices, information regarding a plurality of components of a virtual environment to be presented for display;

receiving, by the client computing device from the one or more server computing devices and based at least in part on the provided information, a partial rendering of the virtual environment that includes a first subset of components of the plurality of components, the first subset of components having been rendered by at least one of the one or more server computing devices via one or more neural networks based at least in part on a set of remote rendering prioritization values indicating a degree of priority for rendering the plurality of components;

rendering, by the client computing device, a second subset of components of the plurality of components; and

displaying, by the client computing device, the virtual environment to a user, wherein displaying the virtual environment to the user includes compositing the first rendered subset of components with the second rendered subset of components.