IP Library Granted Patent US 12,039,695
Granted Patent B1
US 12,039,695 · App. 17/666,332 · Granted Jul 16, 2024

Split machine-learning assisted graphics rendering pipeline

Inventors: Haomiao Jiang (Cupertino, CA); Todd Douglas Keeler (Magrath, CA); Grant Kaijuin Yang (San Bruno, CA); Rohit Rao Padebettu (San Mateo, CA); Steven Paul Lansel (East Palo Alto, CA); Behnam Bastani (Palo Alto, CA)
Assignee: META PLATFORMS TECHNOLOGIES, LLC
G06T3/4046G06T3/4053G06T15/005G06T2200/24
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,039,695
App. No.
17/666,332
Granted
Jul 16, 2024
Kind
B1
Abstract

In particular embodiments, the disclosure provides a method comprising: rendering, on a graphics processing unit (GPU), a low-resolution image associated with a scene, the low-resolution image having a resolution that is lower than a target resolution; transmitting a version of the low-resolution image to a neural accelerator; processing, on the neural accelerator, the version of the low-resolution image using a trained machine-learning model, thereby outputting a plurality of control parameters; transmitting the control parameters from the neural accelerator to the GPU; processing, on the GPU, the low-resolution image and the control parameters to construct a high-resolution image having the target resolution, wherein the GPU is programmed to determine a plurality of pixel weights for performing an interpolation using the control parameters; and outputting the high-resolution image.

Claims (62)

1. A method comprising:

rendering, on a graphics processing unit (GPU), a low-resolution image associated with a scene, the low-resolution image having a resolution that is lower than a target resolution;

transmitting a version of the low-resolution image to a neural accelerator;

processing, on the neural accelerator, the version of the low-resolution image using a trained machine-learning model, thereby outputting a plurality of control parameters;

transmitting the control parameters from the neural accelerator to the GPU;

processing, on the GPU, the low-resolution image and the control parameters to construct a high-resolution image having the target resolution, wherein the GPU is programmed to determine a plurality of pixel weights for performing an interpolation using the control parameters; and

outputting the high-resolution image.

2. The method of claim 1 , wherein:

each of the low-resolution image and the high-resolution image comprise a plurality of pixels, respectively; and

the control parameters are used for determining, for each pixel of the high-resolution image, the one or more pixel weights respectively associated with one or more specific pixels of the low-resolution image that are used for computing a value for that pixel of the high-resolution image.

3. The method of claim 1 , wherein the pixel weights collectively indicate a respective orientation of one or more edges detected by the trained machine learning neural model in the version of the low-resolution image.

4. The method of claim 1 , wherein each of the low-resolution image and the high-resolution image comprise a color image, respectively, the method further comprising:

processing, on the GPU, the low-resolution image to generate the version of the low-resolution image;

wherein the version of the low-resolution image comprises a monochrome (one-channel) image.

5. The method of claim 1 , further comprising:

processing, on the GPU, the high-resolution image and additional data associated with the scene, thereby outputting a composite image; and

displaying the composite image on a device display.

6. The method of claim 5 , further comprising:

transmitting the composite image to a display processing unit (DPU); and

executing, on the DPU, display correction and scaling of the composite image before displaying the composite image on the device display.

7. The method of claim 1 , wherein the trained machine-learning model is programmed as a convolutional neural network (CNN).

8. A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to perform a method, the method comprising:

rendering, on a graphics processing unit (GPU), a low-resolution image associated with a scene, the low-resolution image having a resolution that is lower than a target resolution;

transmitting a version of the low-resolution image to a neural accelerator;

processing, on the neural accelerator, the version of the low-resolution image using a trained machine-learning model, thereby outputting a plurality of control parameters;

transmitting the control parameters from the neural accelerator to the GPU;

processing, on the GPU, the low-resolution image and the control parameters to construct a high-resolution image having the target resolution, wherein the GPU is programmed to determine a plurality of pixel weights for performing an interpolation using the control parameters; and

outputting the high-resolution image.

9. The system of claim 8 , wherein:

each of the low-resolution image and the high-resolution image comprise a plurality of pixels, respectively; and

the control parameters are used for determining, for each pixel of the high-resolution image, the one or more pixel weights respectively associated with one or more specific pixels of the low-resolution image that are used for computing a value for that pixel of the high-resolution image.

10. The system of claim 8 , wherein the pixel weights collectively indicate a respective orientation of one or more edges detected by the trained machine learning neural model in the version of the low-resolution image.

11. The system of claim 8 , wherein each of the low-resolution image and the high-resolution image comprise a color image, respectively, and wherein the processors are further operable when executing the instructions to perform:

processing, on the GPU, the low-resolution image to generate the version of the low-resolution image;

wherein the version of the low-resolution image comprises a monochrome (one-channel) image.

12. The system of claim 8 , wherein the processors are further operable when executing the instructions to perform:

processing, on the GPU, the high-resolution image and additional data associated with the scene, thereby outputting a composite image; and

displaying the composite image on a device display.

13. The system of claim 12 , wherein the processors are further operable when executing the instructions to perform:

transmitting the composite image to a display processing unit (DPU); and

executing, on the DPU, display correction and scaling of the composite image before displaying the composite image on the device display.

14. The system of claim 8 , wherein the trained machine-learning model is programmed as a convolutional neural network (CNN).

15. One or more computer-readable non-transitory storage media embodying software that is operable when executed to perform a method, the method comprising:

rendering, on a graphics processing unit (GPU), a low-resolution image associated with a scene, the low-resolution image having a resolution that is lower than a target resolution;

transmitting a version of the low-resolution image to a neural accelerator;

processing, on the neural accelerator, the version of the low-resolution image using a trained machine-learning model, thereby outputting a plurality of control parameters;

transmitting the control parameters from the neural accelerator to the GPU;

processing, on the GPU, the low-resolution image and the control parameters to construct a high-resolution image having the target resolution, wherein the GPU is programmed to determine a plurality of pixel weights for performing an interpolation using the control parameters; and

outputting the high-resolution image.

16. The storage media of claim 15 , wherein:

each of the low-resolution image and the high-resolution image comprise a plurality of pixels, respectively; and

the control parameters are used for determining, for each pixel of the high-resolution image, the one or more pixel weights respectively associated with one or more specific pixels of the low-resolution image that are used for computing a value for that pixel of the high-resolution image.

17. The storage media of claim 15 , wherein the pixel weights collectively indicate a respective orientation of one or more edges detected by the trained machine learning neural model in the version of the low-resolution image.

18. The storage media of claim 15 , wherein each of the low-resolution image and the high-resolution image comprise a color image, respectively, and wherein the software is further operable when executed to perform:

processing, on the GPU, the low-resolution image to generate the version of the low-resolution image;

wherein the version of the low-resolution image comprises a monochrome (one-channel) image.

19. The storage media of claim 15 , wherein the software is further operable when executed to perform:

processing, on the GPU, the high-resolution image and additional data associated with the scene, thereby outputting a composite image; and

displaying the composite image on a device display.

20. The storage media of claim 19 , wherein the software is further operable when executed to perform:

transmitting the composite image to a display processing unit (DPU); and

executing, on the DPU, display correction and scaling of the composite image before displaying the composite image on the device display.

Assignments (2)
CHANGE OF NAME Recorded Jul 6, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060591/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2022
From: JIANG, HAOMIAO; KEELER, TODD DOUGLAS; YANG, GRANT KAIJUIN; RAO PADEBETTU, ROHIT; LANSEL, STEVEN PAUL; BASTANI, BEHNAM
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 059122/0890 →