IP Library Granted Patent US 12,137,129
Granted Patent B2
US 12,137,129 · App. 17/885,662 · Granted Nov 5, 2024

Utilization of compute for a media service

Inventors: Pavan K. Kamaraju (Portland, OR); Steven Funasaki (Portland, OR); Renganathan Veerasubramanian (Portland, OR)
Assignee: STREEM, LLC
H04L65/403G06F9/5083
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,137,129
App. No.
17/885,662
Granted
Nov 5, 2024
Kind
B2
Abstract

Embodiments include systems and methods for offloading media service operation to one or graphical processing unit (GPUs). In some embodiments, a computer system, includes a first computer device to provide a media service that involves implementing media service operations and transmit a first media service request for a first media service operation of the media service operations. In addition, the computer system includes a second computer device that includes one or more GPUs. The second computer device is to implement the first media service operation with the one or more GPUs in response to the first computer device transmitting the first media service request for the first media service operation.

Claims (67)

1. A computer system, comprising:

a first computer device to:

provide a media service, including a video teleconferencing call, that involves implementing media service operations between a customer computer device and a service provider computer device; and

transmit from the first computer device a first media service request for a media service operation of the media service operations, the media service operation including processing of video frames; and

a second computer device that includes one or more graphical processing units (GPUs), wherein the second computer device is to implement the media service operation of the processing of the video frames with the one or more GPUs to generate modified versions of the video frames in response to receipt of the first media service request from the first computer device, the second computer to transmit the modified versions of the video frames back to the first computer for presentation during the video teleconferencing call.

2. The computer system of claim 1 , further comprising:

a third computer device to implement a load balancer, wherein the third computer device is to:

receive the first media service request from the first computer device;

determine a configuration of the one or more GPUs based on the media service operation; and

transmit to the second computer device a second media service request that identifies the configuration and the media service operation, the configuration identifying at least one of the one or more GPU s to perform the media service operation based on available resources.

3. The computer system of claim 2 , wherein the second computer device is to implement the media service operation with the one or more GPUs by:

receiving the second media service request;

implement the media service operation with the identified GPUs in the configuration in response to receiving the second media service request.

4. The computer system of claim 3 , wherein the third computer device is to determine the configuration of the one or more GPUs based on the media service operation by:

matching the media service operation to the configuration from a plurality of different configurations for the one or more GPUs.

5. The computer system of claim 1 , wherein the second computer device is to implement the media service operation with the one or more GPUs by:

receiving a media artifact related to the media service;

implementing the media service operation on the media artifact;

storing the media artifact in response to implementing the media service operation on the media artifact.

6. The computer system of claim 1 , wherein the second computer device is to implement the media service operation with the one or more GPUs by:

receiving a media artifact related to the media service;

implementing the media service operation on the media artifact;

transmitting the media artifact to the media service of the first computer device in response to implementing the media service operation on the media artifact.

7. A method of processing data, comprising:

providing, on a first computer device, a media service, including a video teleconferencing call, that involves implementing media service operations between a customer computer device and a service provider computer device;

transmitting from the first computer device a first media service request for a media service operation of the media service operations with the first computer device, the media service operation including processing of video frames;

implementing the media service operation of the processing of the video frames with one or more graphical processing units (GPUs) included in a second computer device to generate modified versions of the video frames in response to receipt of the media service request from the first computer device; and

transmitting the modified versions of the video frames from the second computer back to the first computer for presentation during the video teleconferencing call.

8. The method of claim 7 , further comprising:

receiving, at a third computer device that implements a load balancer, the first media service request from the first computer device;

determining, with the load balancer of the third computer device, a first configuration of the one or more graphical processing units (GPUs) based on the media service operation; and

transmitting a second media service request that identifies the first configuration and the media service operation from the third computer device to the second computer device, the first configuration identifying at least one of the one or more GPU s to perform the media service operation based on available resources.

9. The method of claim 8 , wherein implementing the media service operation with the one or more GPUs comprises:

receiving the second media service request at the second computer device;

implementing the media service operation with the identified one or more-GPUs in the first configuration in response to the second computer device receiving the second media service request.

10. The method of claim 9 , wherein determining the first configuration of the one or more GPUs based on the media service operation comprises:

matching the media service operation to the first configuration from a plurality of different configurations for the one or more GPUs.

11. The method of claim 7 , wherein implementing the media service operation with the one or more GPUs comprises:

receiving a media artifact related to the media service;

implementing the media service operation on the media artifact;

storing the media artifact in response to implementing the media service operation on the media artifact.

12. The method of claim 7 , wherein implementing the media service operation with the one or more GPUs comprises:

receiving a media artifact related to the media service;

implementing the media service operation on the media artifact;

transmitting the media artifact to the media service of the first computer device in response to implementing the media service operation on the media artifact.

13. A non-transitory computer readable medium (CRM) that stores computer executable instructions that, in response to being executed by at least one processor of an apparatus, to cause the apparatus to:

provide, on a first computer device, a media service, including a video teleconferencing call, that involves implementing media service operations between a customer computer device and a service provider computer device;

transmit from the first computer device a first media service request for a media service operation of the media service operations, the media service operation including processing of video frames;

implement the media service operation of the processing of the video frames with one or more graphical processing units (GPUs) to generate modified versions of the video frames included in a second computer device receipt of the first media service request from the first computer device, the second computer to transmit the modified versions of the video frames back to the first computer for presentation during the video teleconferencing call.

14. The non-transitory CRM of claim 13 , wherein the instructions are to further cause the apparatus to:

receive, at a third computer device that implements a load balancer, a first media service request from the first computer device, wherein the media service request is the first media service request;

determine, with the load balancer of the third computer device, a first configuration of the one or more graphical processing units GPUs based on the media service operation; and

transmit to the second computer device a second media service request that identifies the first configuration and the first media service operation from the third computer device to the second computer device, the configuration identifying at least one of the one or more GPU s to perform the media service operation based on available resources.

15. The non-transitory CRM of claim 14 , wherein the instructions are to further cause the apparatus to implement the first media service operation with the one or more GPUs by:

receiving the second media service request at the second computer device;

implementing the media service operation with the identified GPUs in the first configuration in response to the second computer device receiving the second media service request.

16. The non-transitory CRM of claim 15 , wherein the instructions are to further cause the apparatus to determine the first configuration of the one or more GPUs based on the media service operation by:

matching the media service operation to the first configuration from a plurality of different configurations for the one or more GPUs.

17. The non-transitory CRM of claim 13 , wherein the instructions are to further cause the apparatus to implement the first media service operation with the one or more GPUs by:

receiving a media artifact related to the media service;

implementing the media service operation on the media artifact;

storing the media artifact in response to implementing the media service operation on the media artifact.

18. The non-transitory CRM of claim 13 , wherein the instructions are to further cause the apparatus to implement the first media service operation with the one or more GPUs by:

receiving a media artifact related to the media service;

implementing the media service operation on the media artifact;

transmitting the media artifact to the media service of the first computer device in response to implementing the media service operation on the media artifact.

19. The computer system of claim 1 , wherein the media service operation of the processing of the video frames in the video teleconferencing call includes generating a mesh using a depth map, generating textures for the mesh, identifying 3D objects, generating a layout from a video recording of a physical space, or any combination thereof.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2022
From: KAMARAJU, PAVAN K.; FUNASAKI, STEVEN; VEERASUBRAMANIAN, RENGANATHAN
To: STREEM, LLC
Reel/Frame 060779/0908 →
Continuity (1)
Related Publication 20240056491A1 · Feb 15, 2024