Data streaming through time-varying transport media
First Claim
1. A method of data streaming from an encoder to a decoder through a time-varying connection, the method comprising:
- employing a hardware processor coupled to said encoder to perform;
associating an encoding coefficient with said time-varying connection, said encoding coefficient determining a flow rate of an output of said encoder;
associating multiple performance characteristics with said time-varying connection;
defining multiple performance metrics having one-to-one correspondence to said multiple performance characteristics;
at a current encoding coefficient, acquiring multiple sets of performance measurements of said time-varying connection over a time window, each set of performance measurements corresponding to one of said multiple performance characteristics;
determining a current value of each performance metric using a corresponding set of performance measurements to produce a set of current values of performance metrics;
determining a preferred encoding coefficient according to said current value of each performance metric;
determining a set of acceptance intervals, each acceptance interval corresponding to a respective performance metric and having a respective lower bound and a respective upper bound;
increasing said current encoding coefficient to produce said preferred encoding coefficient subject to a determination that each element in said set of current values is lower than a lower bound of a corresponding acceptance interval; and
decreasing said current encoding coefficient to produce said preferred encoding coefficient subject to a determination that at least one element in said set of current values exceeds an upper bound of a corresponding acceptance interval.
8 Assignments
0 Petitions
Accused Products
Abstract
Methods of data streaming from an encoder to a decoder through a connection subjected to time-varying conditions are disclosed. The connection is assigned a nominal flow rate and an encoding coefficient associated with the connection modifies the nominal flow rate to determine a permissible flow rate compatible with a time-varying state of the connection. Multiple performance characteristics are associated with the connection and corresponding sets of performance measurements taken over adaptively selected time windows are acquired. Performance metrics having one-to-one correspondence to the performance characteristics are determined and compared with lower bounds and upper bounds of respective predefined acceptance intervals. A current encoding coefficient is computed as a function of the performance metrics and used to determine the permissible flow rate. The encoder'"'"'s configuration is adapted to produce an encoded signal which maximizes signal fidelity under the constraint of the permissible flow rate.
-
Citations
19 Claims
-
1. A method of data streaming from an encoder to a decoder through a time-varying connection, the method comprising:
employing a hardware processor coupled to said encoder to perform; associating an encoding coefficient with said time-varying connection, said encoding coefficient determining a flow rate of an output of said encoder; associating multiple performance characteristics with said time-varying connection; defining multiple performance metrics having one-to-one correspondence to said multiple performance characteristics; at a current encoding coefficient, acquiring multiple sets of performance measurements of said time-varying connection over a time window, each set of performance measurements corresponding to one of said multiple performance characteristics; determining a current value of each performance metric using a corresponding set of performance measurements to produce a set of current values of performance metrics; determining a preferred encoding coefficient according to said current value of each performance metric; determining a set of acceptance intervals, each acceptance interval corresponding to a respective performance metric and having a respective lower bound and a respective upper bound; increasing said current encoding coefficient to produce said preferred encoding coefficient subject to a determination that each element in said set of current values is lower than a lower bound of a corresponding acceptance interval; and decreasing said current encoding coefficient to produce said preferred encoding coefficient subject to a determination that at least one element in said set of current values exceeds an upper bound of a corresponding acceptance interval. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A system for data streaming comprising:
-
a plurality of client devices, each client device having a client processor and a decoding device; and a streaming server in communication with said plurality of client devices through a communication network, said streaming server comprising at least one server processor, an encoder, and a flow controller configured to; associate an encoding coefficient with a time-varying connection between said streaming server and a selected client device, said encoding coefficient determining a flow rate of an output of said encoder; acquire multiple sets of performance measurements of said time-varying connection over a time window, each set of performance measurements corresponding to one of predefined multiple performance characteristics of said time-varying connection; determine a set of current values of performance metrics, having a one-to-one correspondence to said multiple performance characteristics, using a corresponding set of performance measurements; determine a preferred encoding coefficient according to said current values; maintain a set of acceptance intervals, each acceptance interval corresponding to a respective performance metric and having a respective lower bound and a respective upper bound; and increasing a current encoding coefficient to produce said preferred encoding coefficient subject to a determination that each element in said set of current values is lower than a lower bound of a corresponding acceptance interval; and decreasing said current encoding coefficient to produce said preferred encoding coefficient subject to a determination that at least one element in said set of current values exceeds an upper bound of a corresponding acceptance interval. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification