Establishing optimal latency in streaming data applications that use data packets
First Claim
1. A system comprising:
- an under-run forecasting mechanism to determine an estimate of when a supply of data packets will be exhausted to generate an under-run predicted time and update the under-run predicted rime based on a comparison with a current time;
a statistics monitoring mechanism to measure arrival fluctuations of the supply of data packets to generate a target latency;
a playback queuing mechanism to build latency in the supply of data packets based on the under-run predicted time determined by the under-run forecasting mechanism and the target latency determined by the statistics monitoring mechanism; and
a playback device to convert and play the supply of data packets, wherein the under-run forecasting mechanism is to determine the estimate of when the supply of data packets will be exhausted by adding an amount of time spanned by the supply of data packets received by the playback device to a running under-run prediction time.
1 Assignment
0 Petitions
Accused Products
Abstract
Building optimal latency in streaming applications that use data packets. In one embodiment, a system having an under-run forecasting mechanism, a statistics monitoring mechanism, and a playback queuing mechanism. The under-run forecasting mechanism determines an estimate of when a supply of data packets to convert will be exhausted. The statistics monitoring mechanism measures the arrival fluctuations of the supply of data packets. The playback queuing mechanism builds latency in the supply of data packets based on the estimate determined by the under-run forecasting mechanism and the arrival fluctuations measured by the statistics monitoring mechanism. In one embodiment, the supply of data packets relates to audio.
90 Citations
29 Claims
-
1. A system comprising:
-
an under-run forecasting mechanism to determine an estimate of when a supply of data packets will be exhausted to generate an under-run predicted time and update the under-run predicted rime based on a comparison with a current time;
a statistics monitoring mechanism to measure arrival fluctuations of the supply of data packets to generate a target latency;
a playback queuing mechanism to build latency in the supply of data packets based on the under-run predicted time determined by the under-run forecasting mechanism and the target latency determined by the statistics monitoring mechanism; and
a playback device to convert and play the supply of data packets, wherein the under-run forecasting mechanism is to determine the estimate of when the supply of data packets will be exhausted by adding an amount of time spanned by the supply of data packets received by the playback device to a running under-run prediction time. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
determining an estimate of when a supply of data packets will be exhausted to generate an under-run predicted time;
updating the under-run predicted time based on a comparison with a current time;
measuring arrival fluctuations of the supply of data packets to generate a target latency;
building latency in the supply of data packets if the supply of data packets is less than the target latency; and
imposing no queuing if it is determined that building latency in the supply of data packets if the supply of data packets is less than the target latency, requires queuing data at a level more than a threshold amount. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
receiving the supply of data packets; and
,playing the supply of data packets.
-
-
9. The method of claim 6, wherein the supply of data packets relates to audio.
-
10. The method of claim 6, wherein updating the under-run predicted time based on a comparison with a current time includes adding an amount time for playing back a supply of data packets to the under-run predicted time if the under-run predicted time is greater than or equal to the current time.
-
11. The method of claim 6, wherein measuring the arrival fluctuations of the supply of data packets comprises monitoring a distribution of an arrival of the supply of data packets.
-
12. The method of claim 6, wherein measuring the arrival fluctuations of the supply of data packets comprises monitoring a characteristic of previously predicted under-run times.
-
13. The method of claim 6, wherein building latency in the supply of data packets if the supply of data packets is less than the target latency includes determining if the under-run predicted time is less than a short under-run time limit.
-
14. A machine-readable medium having processor instructions stored thereon for execution by a processor to perform a method comprising:
-
determining an estimate of when a supply of data packets will be exhausted to generate an under-run predicted time;
updating the under-run predicted time based on a comparison with a current time;
measuring arrival fluctuations of the supply of data packets to generate a target latency;
building latency in the supply of data packets if the supply of data packets is less than the target latency; and
imposing no queuing if it is determined that building latency in the supply of data packets, if the supply of data packets is less than the target latency, requires queuing data at a level more than a threshold amount. - View Dependent Claims (15, 16, 17, 18, 19, 20)
receiving the supply of data packets; and
,playing the supply of data packets.
-
-
16. The machine-readable medium of claim 14, wherein the supply of data packets relates to audio.
-
17. The machine-readable medium of claim 14, wherein determining the estimate of when the supply of data packets will be exhausted comprises adding an amount of time to convert the supply of data packets to a running under-run prediction time.
-
18. The machine-readable medium of claim 14, wherein measuring the arrival fluctuations of the supply of data packets comprises:
-
monitoring a distribution of an arrival of the supply of data packets; and
,monitoring a characteristic of previously predicted under-run times.
-
-
19. The machine-readable medium or claim 14, wherein building latency in the supply of data packets if the supply of data packets is less than the target latency includes determining if the under-run predicted time is less than a short under-run time limit.
-
20. The machine-readable medium of claim 14, wherein updating the under-run predicted time based on a comparison with a current time includes updating the under-run predicted time based on a comparison with a an absolute system time.
-
21. A system comprising:
-
an under-run forecasting mechanism to determine an estimate of when a supply of data packets will be exhausted to generate an under-run predicted time and update the under-run predicted time based on a comparison with a current time;
a statistics monitoring mechanism to measure arrival fluctuations of the supply of data packets to generate a target latency; and
a playback queuing mechanism to build latency in the supply of data packets based on the under-run predicted time determined by the under-run forecasting mechanism and the target latency determined by the statistics monitoring mechanism, wherein the statistics monitoring mechanism is to provide a histogram of time differences between the under-run predicted time and the current time. - View Dependent Claims (22, 23)
-
-
24. A method comprising:
-
determining an estimate of when a supply of data packets will be exhausted to generate an under-run predicted time;
updating the under-run predicted time based on a comparison with a current time;
measuring arrival fluctuations of the supply of data packets to generate a target latency;
building latency in the supply of data packets if the supply of data packets is less than the target latency; and
generating a histogram of time differences between the under-run predicted time and the current time. - View Dependent Claims (25, 26)
-
-
27. A machine-readable medium having processor instructions stored thereon for execution by a processor to perform a method comprising:
-
determining an estimate of when a supply of data packets will be exhausted to generate an under-run predicted time;
updating the under-run predicted time based on a comparison with a current time;
measuring arrival fluctuations of the supply of data packets to generate a target latency;
building latency in the supply of data packets if the supply of data packets is less than the target latency; and
generating a histogram of time differences between the under-run predicted time and the current time. - View Dependent Claims (28, 29)
-
Specification