Patent classifications
A63F2300/5593
SYNCHRONIZATION AND OFFSET OF VSYNC BETWEEN CLOUD GAMING SERVER AND CLIENT
A method is disclosed including setting, at a server, a server VSYNC signal to a server VSYNC frequency. The server VSYNC signal corresponding to generation of video frames during frame periods for the server VSYNC frequency. The method including setting, at a client, a client VSYNC signal to a client VSYNC frequency. The method including sending compressed video frames from the server to the client over a network using the server VSYNC signal, wherein the compressed video frames are based on the generated video frames. The method including decoding and displaying, at the client, the compressed video frames. The method including analyzing the timing of one or more client operations to adjust the relative timing between the server VSYNC signal and the client VSYNC signal, as the client receives the compressed video frames.
DYNAMIC CLIENT BUFFERING AND USAGE OF RECEIVED VIDEO FRAMES FOR CLOUD GAMING
A method is disclosed including setting, at a server, a server VSYNC signal to a server VSYNC frequency defining a plurality of frame periods. The server VSYNC signal corresponding to generation of a plurality of video frames at the server during the plurality of frame periods. The method including setting, at a client, a client VSYNC signal to a client VSYNC frequency. The method including sending a plurality of compressed video frames based on the plurality of video frames from the server to the client over a network using the server VSYNC signal. The method including decoding and displaying, at the client, the plurality of compressed video frames. The method including analyzing the timing of one or more client operations to set the amount of frame buffering used by the client, as the client receives the plurality of compressed video frames.
OVERLAPPING ENCODE AND TRANSMIT AT THE SERVER
A method for cloud gaming. The method including generating a video frame when executing a video game at a server. The method including scanning-in the video frame to an encoder at the server scanline-by-scanline. The method including encoding one or more encoder slices as one or more encoded slices at the encoder, wherein each encoded slice is delivered to a buffer at an encoder fill rate. The method including draining a first encoded slice from the buffer to stream the first encoded slice at a buffer drain rate over a network to a client, wherein the first encoded slice is streamed over the network before fully encoding the one or more slices of the video frame.
REDUCING LATENCY IN CLOUD GAMING APPLICATIONS BY OVERLAPPING RECEIVE AND DECODE OF VIDEO FRAMES AND THEIR DISPLAY AT THE CLIENT
A method for cloud gaming. The method including receiving one or more encoded slices of a video frame at a client, wherein the video frame was generated at a server while executing a video game, and encoded by an encoder at the server into the one or more encoded slices. The method including decoding a first encoded slice at a decoder of the client before fully receiving the one or more encoded slices of the video frame.
ENCODER TUNING TO IMPROVE TRADEOFFS BETWEEN LATENCY AND VIDEO QUALITY IN CLOUD GAMING APPLICATIONS
A method for cloud gaming. The method including generating a plurality of video frames when executing a video game at a cloud gaming server. The method including encoding the plurality of video frames at an encoder bit rate, wherein the plurality of video frames that is compressed is transmitted to a client from a streamer of the cloud gaming server. The method including measuring a maximum receive bandwidth of a client. The method including monitoring the encoding of the plurality of video frames at the streamer. The method including dynamically tuning a parameter of the encoder based on the monitoring of the encoding.
SCENE CHANGE HINT AND CLIENT BANDWIDTH USED AT ENCODER FOR HANDLING VIDEO FRAMES AFTER A SCENE CHANGE IN CLOUD GAMING APPLICATIONS
A method for cloud gaming including generating video frames when executing a video game at a cloud gaming server. The method including predicting a scene change for a first video frame for the video game, wherein the scene change is predicted before the first video frame is generated. The method including generating a scene change hint that the first video frame is a scene change. The method including sending the scene change hint to the encoder. The method including delivering the first video frame to an encoder, wherein the first video frame is encoded as an I-frame based on the scene change hint. The method including measuring a maximum receive bandwidth of a client. The method including determining whether to encode or not encode a second video frame received at the encoder based on the maximum receive bandwidth of the client and a target resolution of a client display.
EARLY SCAN-OUT OF SERVER DISPLAY BUFFER AT FLIP-TIME FOR CLOUD GAMING APPLICATIONS
A method for cloud gaming. The method including generating a video frame when executing a video game at a server. The method including performing a scan-out process by scanning the video frame scanline-by-scanline and one or more user interface features scanline-by-scanline to one or more input frame buffers, and compositing and blending the video frame and the one or more user interface features into a modified video frame. The method including scanning in the scan-out process the modified video frame to an encoder at the server scanline-by-scanline The method including beginning in the scan-out process scanning the video frame and the one or more user interface features to the one or more input frame buffers at a corresponding flip-time for the video frame.
HIGH SPEED SCAN-OUT OF SERVER DISPLAY BUFFER FOR CLOUD GAMING APPLICATIONS
A method for cloud gaming. The method including generating a video frame when executing a video game at a server, wherein the video frame is stored in a frame buffer. The method including determining a maximum pixel clock for a chip-set including a scan-out block. The method including determining a frame rate setting based on the maximum pixel clock and an image size of a target display of a client. The method including determining a speed setting value for the chip-set. The method including scanning the video frame into the scan-out block from the frame buffer. The method including scanning-out the video frame from the scan-out block to the encoder at the speed setting value.
SYSTEM AND METHOD FOR IMPROVING SMOOTHNESS IN CLOUD GAMING APPLICATIONS
A method for cloud gaming. The method including generating a video frame when executing a video game at a server. The method including performing a scan-out process to deliver the video frame to an encoder configured to compress the video frame, wherein the scan-out process begins at a flip-time of the video frame. The method including transmitting the video frame that is compressed to a client. The method including determining at the client a target display time for the video frame. The method including scheduling at the client a display time for the video frame based on the target display time.
Synchronization and offset of VSYNC between cloud gaming server and client
A method is disclosed including setting, at a server, a server VSYNC signal to a server VSYNC frequency. The server VSYNC signal corresponding to generation of video frames during frame periods for the server VSYNC frequency. The method including setting, at a client, a client VSYNC signal to a client VSYNC frequency. The method including sending compressed video frames from the server to the client over a network using the server VSYNC signal, wherein the compressed video frames are based on the generated video frames. The method including decoding and displaying, at the client, the compressed video frames. The method including analyzing the timing of one or more client operations to adjust the relative timing between the server VSYNC signal and the client VSYNC signal, as the client receives the compressed video frames.