FLOW-RATE ADAPTATION FOR A CONNECTION OF TIME-VARYING CAPACITY
First Claim
1. A method of data streaming from an encoder to a decoder through a time-varying connection, the method comprising steps of:
- acquiring measurements characterizing said connection;
estimating transmittance variation of said connection according to said measurements;
determining an adjustment of a current encoding rate of said encoder compatible with the transmittance variation to attain a favorable encoding rate; and
instructing said encoder to encode a signal according to said favorable encoding rate.
8 Assignments
0 Petitions
Accused Products
Abstract
A system and methods for adapting streaming data for transmission over a connection of time-varying capacity are disclosed. A streaming server individually adapts transmission rates of signals directed to subtending clients according to measurements characterizing connections from the streaming server to the clients. The measurements may relate to characteristics such as transfer delay, data-loss fraction, and occupancy level of a buffer at a client'"'"'s receiver. A flow controller associated with the streaming server derives metrics from measurements taken over selected time windows to determine a permissible transmission rate from the server to each active client. Metrics related to a specific characteristic may include a mean value over a moving window as well as short and long term tendencies of respective measurements. An adaptable encoder at the streaming server encodes signals to meet permissible transmission rates.
38 Citations
21 Claims
-
1. A method of data streaming from an encoder to a decoder through a time-varying connection, the method comprising steps of:
-
acquiring measurements characterizing said connection; estimating transmittance variation of said connection according to said measurements; determining an adjustment of a current encoding rate of said encoder compatible with the transmittance variation to attain a favorable encoding rate; and instructing said encoder to encode a signal according to said favorable encoding rate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 21)
-
-
12. A method of determining an adaptable encoding rate of a signal transmitted from a data-streaming server to a client device through a time-varying connection, the method comprising steps of:
-
determining a current encoding rate for said connection; acquiring transfer-delay measurements over a time window between a first time instant and a second time instant; acquiring a data-loss-ratio measurement over said time window; determining a slope of a regression line relating said transfer-delay measurements to respective time instants within said time window; determining a gradient of selected transfer-delay measurements immediately preceding said second time instant; determining a first tentative encoding rate according to said slope and said gradient; determining a second tentative encoding rate according to said data-loss-ratio measurement; and selecting the lesser of said first tentative encoding rate and said second tentative encoding rate as a preferred encoding rate. - View Dependent Claims (13, 14, 15)
-
-
16. A system of data streaming comprising:
-
a streaming server comprising; at least one processor; a computer-readable storage medium; a signal source; an adaptable encoder for encoding signals produced by said signal source; a source reporter for formulating downstream control packets directed to a plurality of clients; and a flow controller for receiving control packets from said plurality of clients and determining individual encoding coefficients for said plurality of clients, where each said encoding coefficient determines a respective encoding rate of said adaptable encoder; and a sink reporter associated with each client for formulating upstream control packets directed to said flow controller; wherein said flow controller processes said upstream control packets to determine a current state of a connection from said streaming server and said each client. - View Dependent Claims (17, 18, 19, 20)
-
Specification