Dynamic jitter and latency-tolerant rendering
AssigneeNVIDIA Corporation
InventorRouslan DIMITROV
Life of this patent
Estimating the term…
Abstract
Systems and techniques for streaming video with dynamic jitter tolerance are described. In one example, a system includes a server executing an application and generating image frames associated with the application at a frame rate, and a client which displays the image frames on a display that has a predetermined refresh rate and which monitors arrival times of the image frames in relation to the predetermined refresh rate. The server is further configured to dynamically change the frame rate based on the monitoring so that the frame rate more closely corresponds to the predetermined refresh rate of the client's display.
Claims26
A system comprising:
- a frame provider configured to provide a sequence of image frames for consumption by a frame consumer;
- the frame consumer being configured to consume said provided sequence of image frames at a predetermined consumption rate, and to monitor arrival times of the provided image frames in relation to the predetermined consumption rate,
- wherein the frame provider is further configured to adjust a rate at which it provides image frames to the frame consumer based at least in part on the monitoring.
A method of streaming video from a video rendering server device to a client device connected to a display device, comprising:
- receiving monitoring information from the client device, wherein the monitoring information includes arrival times of respective image frames of the streaming video;
- and
- adapting a frame rate at which image frames of the streaming video is generated by either speeding up or slowing down the frame rate in accordance with the received monitoring information in order to transmit the image frames with improved synchronization with a refresh interval of the display device.
An electronic device comprising a display, a memory, a network interface and at least one processor configured to:
- repeatedly measure differences between respective arrival times at the electronic device of image frames containing images generated by an application running on a remote server and expected arrival times for said image frames;
- transmitting information regarding the measured differences to the remote server;
- adapting a size of a jitter buffer in the memory in accordance with at least the measured differences;
- inserting said data frames in the adapted jitter buffer;
- and
- displaying images on the display device based on said data frames inserted in the adapted jitter buffer.
A server comprising a memory, a network interface, and at least one processor configured to:
- execute an application generating data frames of images;
- repeatedly, in response to network jitter and/or latency information received from a client device view the network interface, adapting a frame rate and transmitting the data frames to the client device via the network interface at the adapted frame rate.
A non-transitory computer readable storage medium storing instructions that when executed by a processor of a streaming video rendering server device to a client device connected to a display device, comprising:
- receiving monitoring information from the client device, wherein the monitoring information includes arrival times of respective image frames of the streaming video;
- and
- adapting a frame rate at which image frames of the streaming video is generated by either speeding up or slowing down the frame rate in accordance with the received monitoring information in order to transmit the image frames with improved synchronization with a refresh interval of the display device.
Dependencies are inferred from the claim text.