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 employing at least one processor for:
- acquiring measurements, over a time window of a predefined duration, said measurement characterizing said time-varying connection;
estimating transmittance variation of said time-varying connection according to said measurements;
initializing a new encoding rate as a nominal encoding rate;
determining an adjustment of a current encoding rate of said encoder compatible with the transmittance variation to attain the new encoding rate by;
determining a first metric as a mean value of said measurements over said time window; and
multiplying said nominal encoding rate by a first encoding coefficient determined according to a predefined function of the first metric; and
instructing said encoder to encode a signal according to said new 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.
-
Citations
22 Claims
-
1. A method of data streaming from an encoder to a decoder through a time-varying connection, the method comprising employing at least one processor for:
-
acquiring measurements, over a time window of a predefined duration, said measurement characterizing said time-varying connection; estimating transmittance variation of said time-varying connection according to said measurements; initializing a new encoding rate as a nominal encoding rate; determining an adjustment of a current encoding rate of said encoder compatible with the transmittance variation to attain the new encoding rate by; determining a first metric as a mean value of said measurements over said time window; and multiplying said nominal encoding rate by a first encoding coefficient determined according to a predefined function of the first metric; and instructing said encoder to encode a signal according to said new encoding rate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable storage medium having stored thereon instructions which cause a processor to perform the following steps:
-
acquiring measurements, over a time window of a predetermined duration, said measurements characterizing a time-varying connection between an encoder and a decoder; estimating transmittance variation of said time-varying connection according to said measurements; initializing a new encoding rate as a nominal encoding rate; determining an adjustment of a current encoding rate of said encoder compatible with the transmittance variation to attain the new encoding rate by; determining a first metric as a mean value of said measurements over said time window; and multiplying said nominal encoding rate by a first encoding coefficient determined according to a predefined function of the first metric; and instructing said encoder to encode a signal according to said new encoding rate.
-
-
15. A system of data streaming comprising:
-
an encoder, coupled to a streaming server computer, for encoding signals at respective flow rates; a decoder, coupled to a client device, for detecting encoded signals received from said encoder through a connection of time-varying capacity; a flow controller, coupled to the streaming server computer, for receiving upstream control packets from the client device; a processor associated with said flow controller; a non-transitory computer readable storage medium having stored thereon processor-readable instructions which cause said processor to; acquire measurements characterizing said connection from contents of said upstream control packets, the measurements being acquired over a time window of a predefined duration; estimate transmittance variation of said connection according to said measurements; initialize a new encoding rate as a nominal encoding rate; determine an adjustment of a current encoding rate of said encoder compatible with said transmittance variation to attain a new encoding rate by multiplying said nominal encoding rate by a first encoding coefficient, said first encoding coefficient being determined according to a predefined function of a first metric derived from said measurements; and instruct said encoder to encode a signal according to said new encoding rate. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
Specification