# US 12,182,939 B2 · Real-time rendering of image content generated using implicit rendering

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,182,939 B2
- Document ID: US12182939B2
- Status: Granted
- Kind: B2
- Application number: 17/804,264
- Filed: 2022-05-26
- Published: 2023-12-21
- Granted: 2024-12-31
- Earliest claimed: 2022-05-26
- Assignees: Soul Vision Creations Private Limited
- Applicants: Soul Vision Creations Private Limited
- Inventors: Sravanth Aluru; Gaurav Baid; Shubham Jain; Shrey Chopra; Rakesh V
- Web page: https://patentgrep.com/patent/US12182939B2

## CPC

- G06N 3/0495: Quantised networks; Sparse networks; Compressed networks
- G06T 17/10: Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
- G06F 1/03: working, at least partly, by table look-up (G06F1/025 takes precedence)
- G06N 3/04: Architecture, e.g. interconnection topology
- G06N 3/08: Learning methods
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06T 15/005: {General purpose rendering architectures}
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A device for graphical rendering includes a memory and processing circuitry. The processing circuitry is configured to receive sample values, transmitted by one or more servers, of samples of an object, wherein the sample values are generated by the one or more servers from inputting coordinates into a trained neural network and outputting, from the trained neural network, the sample values of the samples, store the sample values in the memory, and render image content of the object based on the sample values.

## Claims

### Claim 1

A device for graphical rendering, the device comprising:
a memory; and
processing circuitry configured to:
receive sample values of samples of an object, wherein the sample values are transmitted by one or more servers external to the device for graphical rendering, wherein the sample values are generated by the one or more servers from inputting multiple different coordinates for different directions into a trained neural network and outputting, from the trained neural network, the sample values of the samples, wherein the sample values of samples of the object form a data structure that defines color and density values of samples of the object, for the multiple different coordinates for the different directions, from a plurality of viewing directions and positions, and wherein the sample values include sample values from a direction different than a direction in which a user is viewing;
store the sample values in the memory; and
render image content of the object based on the sample values.

### Claim 2 (depends on 1)

The device of claim 1,
wherein to store the sample values, the processing circuitry is configured to store color and density values in the memory as a lookup table, and
wherein the processing circuitry is configured to:
access, from the memory, a hash grid that identifies corresponding locations in the lookup table for respective coordinates of the samples;
determine locations in the lookup table based on the hash grid; and
access the color and density values from the lookup table based on the determined locations.

### Claim 3 (depends on 1)

The device of claim 1, wherein the processing circuitry is configured to:
determine, with execution of a vertex shader, at least a ray origin and a direction for hypothetical rays in a three-dimensional space; and
access, with execution of a fragment shader, the sample values along the hypothetical rays in the three-dimensional space based on the ray origin and the direction for hypothetical rays.

### Claim 4 (depends on 3)

The device of claim 3, wherein to render, the processing circuitry is configured to:
determine, with execution of the fragment shader, values for pixels in two-dimensional space based on the sample values along the hypothetical rays in the three-dimensional space; and
render, with the fragment shader, the determined values for the pixels.

### Claim 5 (depends on 1)

The device of claim 1, wherein to render the image content of the object, the processing circuitry is configured to:
determine the direction in which the user is viewing;
define a two-dimensional plane geometry centered to the direction in which the user is viewing; and
render the image content of the object to the two-dimensional plane geometry.

### Claim 6 (depends on 1)

The device of claim 1, wherein the processing circuitry is configured to:
determine that there is a change in the direction in which the user is viewing; and
generate information indicative of an amount to rotate the object based on the change in the direction in which the user is viewing,
wherein to render the image content, the processing circuitry is configured to render the image content based on the information indicative of the amount to rotate the object.

### Claim 7 (depends on 1)

The device of claim 1, wherein the processing circuitry comprises a graphics processing unit (GPU), and wherein the memory comprises a texture buffer for the GPU.

### Claim 8 (depends on 1)

The device of claim 1, wherein the device comprises at least one of a mobile device, a video gaming device, and a headset.

### Claim 9 (depends on 1)

The device of claim 1, wherein the trained neural network is a neural radiance field (NeRF) trained neural network.

### Claim 10

A method of graphical rendering, the method comprising:
receiving, with processing circuitry of a device for graphical rendering, sample values of samples of an object, wherein the sample values are transmitted by one or more servers external to the device for graphical rendering, wherein the sample values are generated by the one or more servers from inputting multiple different coordinates for different directions into a trained neural network and outputting, from the trained neural network, the sample values of the samples, wherein the sample values of samples of the object form a data structure that defines color and density values of samples of the object, for the multiple different coordinates for the different directions, from a plurality of viewing directions and positions, and wherein the sample values include sample values from a direction different than a direction in which a user is viewing;
storing, with the processing circuitry, the sample values in memory; and
rendering, with the processing circuitry, image content of the object based on the sample values.

### Claim 11 (depends on 10)

The method of claim 10,
wherein storing the sample values comprises storing color and density values in the memory as a lookup table,
the method further comprising:
accessing, from the memory, a hash grid that identifies corresponding locations in the lookup table for respective coordinates of the samples;
determining locations in the lookup table based on the hash grid; and
accessing the color and density values from the lookup table based on the determined locations.

### Claim 12 (depends on 10)

The method of claim 10, further comprising:
determining, with execution of a vertex shader, at least a ray origin and a direction for hypothetical rays in a three-dimensional space; and
accessing, with execution of a fragment shader, the sample values along the hypothetical rays in the three-dimensional space based on the ray origin and the direction for hypothetical rays.

### Claim 13 (depends on 12)

The method of claim 12, wherein rendering comprises:
determining, with execution of the fragment shader, values for pixels in two-dimensional space based on the sample values along the hypothetical rays in the three-dimensional space; and
rendering, with the fragment shader, the determined values for the pixels.

### Claim 14 (depends on 10)

The method of claim 10, wherein rendering the image content of the object comprises:
determining the direction in which the user is viewing;
defining a two-dimensional plane geometry centered to the direction in which the user is viewing; and
rendering the image content of the object to the two-dimensional plane geometry.

### Claim 15 (depends on 10)

The method of claim 10, further comprising:
determining that there is a change in the direction in which the user is viewing; and
generating information indicative of an amount to rotate the object based on the change in the direction in which the user is viewing,
wherein rendering the image content comprises rendering the image content based on the information indicative of the amount to rotate the object.

### Claim 16 (depends on 10)

The method of claim 10, wherein the trained neural network is a neural radiance field (NeRF) trained neural network.

### Claim 17

A non-transitory computer-readable storage medium storing instructions thereon that when executed cause one or more processors, of a device for graphical rendering, to:
receive sample values of samples of an object, wherein the sample values are transmitted by one or more servers external to the device for graphical rendering, wherein the sample values are generated by the one or more servers from inputting multiple different coordinates for different directions into a trained neural network and outputting, from the trained neural network, the sample values of the samples, wherein the sample values of samples of the object form a data structure that defines color and density values of samples of the object, for the multiple different coordinates for the different directions, from a plurality of viewing directions and positions, and wherein the sample values include sample values from a direction different than a direction in which a user is viewing;
store the sample values in memory; and
render image content of the object based on the sample values.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, further comprising instructions that cause the one or more processors to:
determine, with execution of a vertex shader, at least a ray origin and a direction for hypothetical rays in a three-dimensional space; and
access, with execution of a fragment shader, the sample values along the hypothetical rays in the three-dimensional space based on the ray origin and the direction for hypothetical rays.
