Establishing optimal latency in streaming data applications that use data packets
AssigneeIntel Corporation
InventorsDavid L. Graumann, Claudia M. Henry
Life of this patent
Estimating the term…
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.
Claims29
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.
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.