Skip to main content

Packet audio playout delay adjustment: performance bounds and algorithms


In packet audio applications, packets are buffered at a receiving site and their playout delayed in order to compensate for variable network delays. In this paper, we consider the problem of adaptively adjusting the playout delay in order to keep this delay as small as possible, while at the same time avoiding excessive “loss” due to the arrival of packets at the receiver after their playout time has already passed. The contributions of this paper are twofold. First, given a trace of packet audio receptions at a receiver, we present efficient algorithms for computing a bound on the achievable performance of any playout delay adjustment algorithm. More precisely, we compute upper and lower bounds (which are shown to be tight for the range of loss and delay values of interest) on the optimum (minimum) average playout delay for a given number of packet losses (due to late arrivals) at the receiver for that trace. Second, we present a new adaptive delay adjustment algorithm that tracks the network delay of recently received packets and efficiently maintains delay percentile information. This information, together with a “delay spike” detection algorithm based on (but extending) our earlier work, is used to dynamically adjust talkspurt playout delay. We show that this algorithm outperforms existing delay adjustment algorithms over a number of measured audio delay traces and performs close to the theoretical optimum over a range of parameter values of interest.

This is a preview of subscription content, access via your institution.

Author information

Authors and Affiliations


Rights and permissions

Reprints and Permissions

About this article

Cite this article

Moon, S., Kurose, J. & Towsley, D. Packet audio playout delay adjustment: performance bounds and algorithms. Multimedia Systems 6, 17–28 (1998).

Download citation

  • Issue Date:

  • DOI:

  • Key words:Packetized audio – Playout delay – Multimedia – Packet loss – Dynamic programming – Computer networks