Abstract:
A receiver, transmitter, and method for a dynamic forward error correction (FEC) are provided. In one embodiment, the method includes: 1) transmitting frames of data during a streaming session according to a FEC repair rate, each frame being contained in a plurality of source packets and having at least one repair packet; and 2) changing the FEC repair rate at least once during the streaming session based on at least one of a number of unrecovered source packets and a number of unused repair packets.
Abstract:
Systems and methods for multiplexing audio/video data and generating transport streams for WiFi network with reduced latency for real time playback at a remote device. A virtual presentation clock reference (PCR) representing a scheduled transmission time of a transport stream packet at a transport stream multiplexer is calculated based on the network transmission rate and generation of the data packets. The virtual PCR is compared with the corresponding system PCR to derive a time difference. Based on the time difference, the transport stream multiplexer is configured to adaptively drop packets or throttle packet generation so as to synchronize the playback of audio/video data on a sink device with the generation of interleaved audio/video packets.
Abstract:
A graphics server and method for managing streaming parameters. One embodiment of the graphics server includes: (1) a real-time bandwidth estimator (RBE) configured to generate a bandwidth estimate for a network over which a rendered scene is transmittable, (2) a quality-of-service (QoS) manager configured to generate streaming parameters based on the bandwidth estimate, and (3) a graphics processing unit (GPU) configured to employ the streaming parameters to at least partially prepare the rendered scene for transmission.
Abstract:
A graphics server and method for streaming rendered content via a remote graphics rendering service is provided. In one embodiment, the server includes a memory, a graphics renderer, a frame capturer, an encoder, and a processor. The memory is configured to store a pre-computed skip-frame message indicative to a client to re-use a previously transmitted frame of the video stream. The graphics renderer is configured to identify when rendered content has not changed. When the graphics renderer identifies that the rendered content has not changed, the processor is configured to cause: (1) the frame capturer to not capture the frames of the rendered content; (2) the encoder to not encode the frames of the rendered content; and (3) the pre-encoded skip-frame message to be transmitted without requiring any pixel processing.
Abstract:
A receiver and method for estimating an available bandwidth of a data channel streaming video data are provided. In one embodiment, the receiver includes: (1) a physical interface configured to receive the video data from a network, (2) a packet memory configured to store frames of the video data, (3) a dispersed packet time calculator configured to calculate a total time for one of the frames to go through the data channel, and (4) a bandwidth estimator configured to determine the available bandwidth of the data channel based on a number of data units received for the one frame and the total time.
Abstract:
A system and method for testing a data channel are provided. In one embodiment, the method includes: (1) transmitting groups of increasing numbers of probing packets of a uniform load over successive time periods over the data channel and (2) determining a bandwidth of the data channel based on receive times and loads of at least some of successfully received ones of the groups.
Abstract:
A receiver, transmitter, and method for a dynamic forward error correction (FEC) are provided. In one embodiment, the method includes: 1) transmitting frames of data during a streaming session according to a FEC repair rate, each frame being contained in a plurality of source packets and having at least one repair packet; and 2) changing the FEC repair rate at least once during the streaming session based on at least one of a number of unrecovered source packets and a number of unused repair packets.
Abstract:
A receiver and method for estimating an available bandwidth of a data channel streaming video data are provided. In one embodiment, the receiver includes: (1) a physical interface configured to receive the video data from a network, (2) a packet memory configured to store frames of the video data, (3) a dispersed packet time calculator configured to calculate a total time for one of the frames to go through the data channel, and (4) a bandwidth estimator configured to determine the available bandwidth of the data channel based on a number of data units received for the one frame and the total time.
Abstract:
A graphics server and method for streaming rendered content via a remote graphics rendering service. One embodiment of the graphics server includes: (1) a frame capturer configured to capture frames of rendered content at a frame rate, (2) an encoder configured to encode captured frames at the frame rate, and (3) a processor configured to cause encoded frames to be transmitted if the rendered content is at least partially changed, and cause a skip-frame message to be transmitted, the skip-frame message configured to cause the frame capturer to forgo capturing and the encoder to forgo encoding if the rendered content is unchanged.
Abstract:
A graphics server and method for streaming rendered content via a remote graphics rendering service is provided. In one embodiment, the server includes a memory, a graphics renderer, a frame capturer, an encoder, and a processor. The memory is configured to store a pre-computed skip-frame message indicative to a client to re-use a previously transmitted frame of the video stream. The graphics renderer is configured to identify when rendered content has not changed. When the graphics renderer identifies that the rendered content has not changed, the processor is configured to cause: (1) the frame capturer to not capture the frames of the rendered content; (2) the encoder to not encode the frames of the rendered content; and (3) the pre-encoded skip-frame message to be transmitted without requiring any pixel processing.