Optimizing playback startup time of bursty real-time streams
AssigneeNokia Corporation
InventorsEero Jyske, Timo Karras
Life of this patent
Estimating the term…
Abstract
Provided are apparatuses and methods in a digital broadcast transmission system for optimizing the buffering time of data streams prior to data consumption of playback. The optimal buffering time is calculated based on parameters from the server. The parameters may include the burst interval, buffering delay, the average size of data bursts, the amount of data in the buffer, the earliest timestamp and/or the latest timestamp.
Claims12
A method comprising:
- detecting a change in an amount of received data stored in a buffer;
- receiving a first value indicating an average data size of a data burst;
- receiving a second value indicating a buffering delay, a third value indicating the amount of received data in the buffer, and a fourth value indicating a burst interval of data bursts;
- and
- determining a buffering time based on the first value, the second value, the third value, and the fourth value by setting the buffering time equal to the second value+(((the first value−the third value)/first value)*the fourth value);
- and
- consuming the received data only after the buffering time has elapsed.
A method comprising:
- detecting a change in an amount of received data stored in a buffer;
- receiving a first value indicating an earliest timestamp corresponding to the received data stored in the buffer, wherein the received data includes corresponding timestamp information including the earliest timestamp and a latest timestamp;
- receiving a second value indicating a buffering delay and a third value indicating the burst interval and a fourth value indicating the latest timestamp;
- determining a buffering time by setting the buffering time equal to the second value+third value−(the fourth value−the first value);
- and
- consuming the received data only after the buffering time has elapsed.
An apparatus comprising:
- an interface configured to receive one or more inputs for indicating a plurality of parameters, at least one of the parameters indicating the amount of data in a buffer;
- a timer;
- and
- one or more processors, configured to perform:
- storing a start time value if the timer is off, otherwise turning the timer off;
- calculating a buffering time based on the plurality of parameters by setting the buffering time equal to the buffering delay+((the average amount of data in a data burst−the amount of data in the buffer)/the average amount of data in a data burst)*the burst interval;
- turning on the timer;
- and
- receiving data from the buffer only after the buffering time has elapsed.
An apparatus comprising:
- an interface configured to receive one or more inputs for indicating a first parameter indicating an earliest timestamp and a second parameter indicating a latest timestamp;
- a timer;
- one or more processors, configured to perform:
- storing a start time value if the timer is off, otherwise turning the timer off;
- calculating a buffering time based on the first parameter and the second parameter by setting the buffering time equal to a buffering delay+burst interval−(the second parameter−the first parameter);
- turning on the timer;
- and
- receiving data from the buffer only after the buffering time has elapsed.
A computer-readable storage medium encoded with instructions that, when executed by a computer, perform:
- detecting a change in an amount of received data stored in a buffer;
- receiving a first value indicating one of an average data size of a data burst;
- receiving a second value indicating a buffering delay, a third value indicating the amount of received data in the buffer, and a fourth value indicating a burst interval of data bursts;
- and
- determining a buffering time based on the first value, the second value, the third value, and the fourth value by setting the buffering time equal to the second value+(((the first value−the third value)/first value)*the fourth value);
- and
- consuming the received data only after the buffering time has elapsed.
Dependencies are inferred from the claim text.