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 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:
Embodiments of the present invention provide a low-latency approach for local or remote application streaming that reaches high FPS targets without overloading the available streaming bandwidth, for example, by limiting the bit rate to the same value that is used by traditional 60 FPS streaming solutions. A client device and server device cooperate to actively monitor and control a video stream to maintain an acceptable balance between latency and video quality by adjusting the frequency or resolution when necessary to improve the streaming experience. When the server device captures and transmits frames at a higher rate, the software stack executing on the client device is able to display frames with less delay, even on a display device limited to 60 Hz, thereby achieving additional latency reduction.
Abstract:
Embodiments of the present invention provide a low-latency approach for local or remote application streaming that reaches high FPS targets without overloading the available streaming bandwidth, for example, by limiting the bit rate to the same value that is used by traditional 60 FPS streaming solutions. A client device and server device cooperate to actively monitor and control a video stream to maintain an acceptable balance between latency and video quality by adjusting the frequency or resolution when necessary to improve the streaming experience. When the server device captures and transmits frames at a higher rate, the software stack executing on the client device is able to display frames with less delay, even on a display device limited to 60 Hz, thereby achieving additional latency reduction.
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:
Embodiments of the present invention provide a low-latency approach for local or remote application streaming that reaches high FPS targets without overloading the available streaming bandwidth, for example, by limiting the bit rate to the same value that is used by traditional 60 FPS streaming solutions. A client device and server device cooperate to actively monitor and control a video stream to maintain an acceptable balance between latency and video quality by adjusting the frequency or resolution when necessary to improve the streaming experience. When the server device captures and transmits frames at a higher rate, the software stack executing on the client device is able to display frames with less delay, even on a display device limited to 60 Hz, thereby achieving additional latency reduction.
Abstract:
Embodiments of the present disclosure relate to a binary clustered forward error correction encoding scheme. Systems and methods are disclosed that define binary clustered encodings of the media packets from which forward error correction (FEC) packets are computed. The different encodings specify which media packets in a frame are used to compute each FEC packet (a frame includes M media packets). The different encodings may be defined based on the quantity of media packets in a frame, M≤floor(2N), where each bit of the binary representation of N is associated with a different cluster pair encoding of the media packets. Each cluster pair includes a cluster for which the bit=0 and a cluster for which the bit=1. Computing FEC packets using at least two cluster pair encodings provides redundancy for each media packet, thereby improving media packet recovery rates.
Abstract:
Embodiments of the present invention provide a low-latency approach for local or remote application streaming that reaches high FPS targets without overloading the available streaming bandwidth, for example, by limiting the bit rate to the same value that is used by traditional 60 FPS streaming solutions. A client device and server device cooperate to actively monitor and control a video stream to maintain an acceptable balance between latency and video quality by adjusting the frequency or resolution when necessary to improve the streaming experience. When the server device captures and transmits frames at a higher rate, the software stack executing on the client device is able to display frames with less delay, even on a display device limited to 60 Hz, thereby achieving additional latency reduction.