A63F2300/534

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.

Interactive latency measurement

The described technology is generally directed towards techniques to measure interaction latency. Interaction latency can be measured at a client device by measuring time intervals between user inputs and corresponding feedback, such as video frames responsive to the user inputs. Feedback can comprise communication bursts received at the client device. The communication bursts can be detected and correlated with user inputs in order to measure interaction latency. Feedback can also comprise video response features which are responsive to the user inputs. Received video frames can be analyzed to discover response features, and video frames including the response features can be correlated with user inputs in order to measure interaction latency.

SYNCHRONIZATION AND OFFSET OF VSYNC BETWEEN PEER-TO-PEER GAMING DEVICES
20220152490 · 2022-05-19 ·

A method is disclosed including setting, at a plurality of devices, a plurality of VSYNC signals to a plurality of VSYNC frequencies, wherein a corresponding device VSYNC signal of a corresponding device is set to a corresponding device VSYNC frequency. The method including sending a plurality of signals between the plurality of devices, which are analyzed and used to adjust the relative timing between corresponding device VSYNC signals of at least two devices.

SYSTEMS AND METHODS FOR PLAYER INPUT MOTION COMPENSATION BY ANTICIPATING MOTION VECTORS AND/OR CACHING REPETITIVE MOTION VECTORS
20230269393 · 2023-08-24 · ·

Systems and methods for reducing latency through motion estimation and compensation techniques are disclosed. The systems and methods include a client device that uses transmitted lookup tables from a remote server to match user input to motion vectors, and tag and sum those motion vectors. When a remote server transmits encoded video frames to the client, the client decodes those video frames and applies the summed motion vectors to the decoded frames to estimate motion in those frames. In certain embodiments, the systems and methods generate motion vectors at a server based on predetermined criteria and transmit the generated motion vectors and one or more invalidators to a client, which caches those motion vectors and invalidators. The server instructs the client to receive input from a user, and use that input to match to cached motion vectors or invalidators. Based on that comparison, the client then applies the matched motion vectors or invalidators to effect motion compensation in a graphic interface. In other embodiments, the systems and methods cache repetitive motion vectors at a server, which transmits a previously generated motion vector library to a client. The client stores the motion vector library, and monitors for user input data. The server instructs the client to calculate a motion estimate from the input data and instructs the client to update the stored motion vector library based on the input data, so that the client applies the stored motion vector library to initiate motion in a graphic interface prior to receiving actual motion vector data from the server. In this manner, latency in video data streams is reduced.

APPARATUS AND METHOD FOR REAL TIME GRAPHICS PROCESSING USING LOCAL AND CLOUD-BASED GRAPHICS PROCESSING RESOURCES

An apparatus and method for scheduling threads on local and remote processing resources. For example, one embodiment of an apparatus comprises: a local graphics processor to execute threads of an application; graphics processor virtualization circuitry and/or logic to generate a virtualized representation of a local processor; a scheduler to identify a first subset of the threads for execution on a local graphics processor and a second subset of the threads for execution on a virtualized representation of a local processor; the scheduler to schedule the first subset of threads on the local graphics processor and the second subset of the threads by transmitting the threads or a representation thereof to Cloud-based processing resources associated with the virtualized representation of the local processor; and the local graphics processor to combine first results of executing the first subset of threads on the local graphics processor with second results of executing the second subset of threads on the Cloud-based processing resources to render an image frame.

System and method for streaming game video

A system and method are described for managing the state of an online video game. A method includes initiating a new online video game in response to user input from a client device, the online video game being in a first state on a first server when initiated; executing the online video game on the server, thereby causing the online video game to enter a second state; pausing or terminating the online video game; determining differences between the first state and the second state and generating difference data containing the differences; transmitting the difference data over a network to a second server; and recreating the second state from the difference data and the first state in response to user input indicating that the user wishes to resume the online video game and in response to the second server being selected as the server on which to execute the video game.

Obtaining a user input

There are described computer-implemented methods of obtaining a user input. A first such method comprises: (a) providing access to video content, the video content representing a user interface including a plurality of elements for selection by a user; (b) playing a first portion of the video content to the user; (c) detecting a first user interaction occurring in response to the played first portion of the video content; and (d) determining a first element selected by the user based on one or more properties of the detected first user interaction. A second such method comprises: (a) providing access to one or more frames of pre-generated video content encoded in compressed video format; (b) displaying to a user initial video content encoded in compressed video format, the initial video content being based on one or more frames of the pre-generated video content, and the initial video content representing a plurality of graphical elements for selection by a user; (c) detecting a first user interaction occurring in response to the displayed initial video content; (d) determining a first graphical element selected by the user based on one or more properties of the detected first user interaction; (e) in response to the first user interaction, generating new video content encoded in compressed video format based on one or more frames of the pre-generated video content and the one or more properties of the first user interaction; and (f) displaying the new video content to the user. There are also described corresponding apparatuses, computer programs, and computer-readable media.

Providing automated user input to an application

This document relates to techniques for addressing disruptions that prevent applications from receiving user input, prevent users from providing input to an application, and/or prevents or impacts users from receiving application output. One example method involves detecting a disruption to an interactive application during interaction by a user with the interactive application, generating automated user inputs, and providing the automated user inputs to the interactive application during the disruption to the interactive application.

Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
11323740 · 2022-05-03 · ·

Systems and methods for reducing latency through motion estimation and compensation techniques are disclosed. The systems and methods include a client device that uses transmitted lookup tables from a remote server to match user input to motion vectors, and tag and sum those motion vectors. When a remote server transmits encoded video frames to the client, the client decodes those video frames and applies the summed motion vectors to the decoded frames to estimate motion in those frames. In certain embodiments, the systems and methods generate motion vectors at a server based on predetermined criteria and transmit the generated motion vectors and one or more invalidators to a client, which caches those motion vectors and invalidators. The server instructs the client to receive input from a user, and use that input to match to cached motion vectors or invalidators. Based on that comparison, the client then applies the matched motion vectors or invalidators to effect motion compensation in a graphic interface. In other embodiments, the systems and methods cache repetitive motion vectors at a server, which transmits a previously generated motion vector library to a client. The client stores the motion vector library, and monitors for user input data. The server instructs the client to calculate a motion estimate from the input data and instructs the client to update the stored motion vector library based on the input data, so that the client applies the stored motion vector library to initiate motion in a graphic interface prior to receiving actual motion vector data from the server. In this manner, latency in video data streams is reduced.

Scalable replication of object positions in virtual simulations
11316955 · 2022-04-26 · ·

Methods and systems for providing scalable replication of object positions in virtual simulations are described herein. A computing device may determine a current position of an entity in a virtual simulation. The computing device may determine, based on the current position, a time derivative of the current position of the entity. The computing device may query a dictionary for the time derivative to obtain a particular index identifying a time derivative value that corresponds to the time derivative of the current position of the entity. The dictionary may comprise one or more time derivative value pairs associated with time derivatives of one or more previous positions of the entity. When the time derivative of the current position of the entity is in the dictionary, the computing device may encode the particular index. Further, the computing device may send the particular index to a client device.