GPU Command Streaming for Cloud Gaming Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud gaming systems face economic viability issues due to high energy and resource costs, and experience laggy gameplay and suboptimal response times due to large data transmissions between cloud servers and client devices.

Innovation Solution

The system transmits graphics processing unit (GPU) commands instead of fully rendered video frames, allowing client devices to perform rendering based on contextual graphics information and GPU pipeline information, reducing data transmission and compute power requirements on servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Illumination intensity

If fully rendered video frames are transmitted from cloud servers to client devices, then graphics quality is maintained, but data transmission volume increases causing lag and higher energy consumption

Engineering Contradiction:
Improvegraphics qualityVSAvoiddata transmission volume
Core Design Contradiction:
Illumination intensityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential rendering instructions (GPU commands) from the complete video frame generation process and transmits these condensed commands to the client device. This allows the client to perform local rendering, significantly reducing the data volume transmitted over the network while maintaining graphics quality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of transmitting the final rendered video frames from server to client (traditional cloud gaming model), the patent inverts the approach by transmitting the rendering commands to the client, which then generates the frames locally. This reversal eliminates the need to transmit large video data streams.

Inventive Principle:
Principle #13The other way round (Inversion)

2Extent of automation

If cloud servers render and encode video frames, then graphics processing is centralized, but energy consumption and server resource costs increase

Engineering Contradiction:
Improvecentralized processingVSAvoidserver energy consumption
Core Design Contradiction:
Extent of automationVSUse of energy by moving object

Solution Approach 1:

The patent enables client devices to perform self-service rendering by receiving GPU commands from the server and executing them locally using their own graphics processing units. This shifts the computational burden from centralized servers to distributed client devices, reducing server energy consumption and costs.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If large amounts of data are transmitted between cloud servers and client devices, then complete video frames are delivered, but response times increase and gameplay becomes laggy

Engineering Contradiction:
Improvedata transmission volumeVSAvoidresponse time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the video frame into two components: rendering commands (transmitted from server) and rendering execution (performed by client). This segmentation allows only the essential control information to be transmitted, dramatically reducing data volume and enabling faster response times while maintaining complete video output quality.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240342595A1Graphics processing unit (GPU) command streaming
Publication Date: 2024.10.17 NETFLIX INC
  • US20240342595A1 patent drawing
  • US20240342595A1 patent drawing
  • US20240342595A1 patent drawing

AI summary

The disclosed computer-implemented method includes accessing media frame generation input events produced as part of a multimedia application on a media server, selecting at least one media frame that is to be rendered according to the media frame generation input events, determining graphics processing capabilities of a client device on which the selected media frame is to be rendered, and generating a render command for the selected media frame based on the determined graphics processing capabilities of the client device. The render command includes contextual graphics information and graphics processing unit (GPU) pipeline information for use in rendering the selected media frame on the client device. The method also includes transmitting the generated render command to the client device to initiate rendering of the selected media frame using the contextual graphics information and the GPU pipeline information. Various other methods, systems, and computer-readable media are also disclosed.