Presentation-quality buffering process for real-time audio
First Claim
1. A method of buffering packets of audio data to reduce jitter, the audio data including a plurality of bursts separated by silence, the method comprising the steps of:
- adding incoming packets of audio data to a buffer in an order generated;
detecting when the buffer contains an amount of audio data which matches a predetermined threshold amount;
detecting when a burst has ended; and
playing the audio data contained in the buffer either when the buffer contents have reached said predetermined threshold, or when a burst has ended.
2 Assignments
0 Petitions
Accused Products
Abstract
A buffering process for real-time digital audio is provided to effect of network “jitter” from inconsistent network packet delivery rates. The buffering algorithm is particularly useful for audio data including distinct bursts separated by silence, such as speech. The process holds incoming audio packets in a queue until either: (a) the buffer contents meet a predetermined threshold; or (b) the end packet of a burst is received. The result is that silent periods between bursts may expand or decrease relative to the original audio pattern, allowing cumulative jitter to be played out as silence. The threshold is sized such that the deviation in silence is unnoticeable by a listener. In an optional embodiment, the process periodically adjusts the threshold to adapt to network conditions.
-
Citations
26 Claims
-
1. A method of buffering packets of audio data to reduce jitter, the audio data including a plurality of bursts separated by silence, the method comprising the steps of:
-
adding incoming packets of audio data to a buffer in an order generated;
detecting when the buffer contains an amount of audio data which matches a predetermined threshold amount;
detecting when a burst has ended; and
playing the audio data contained in the buffer either when the buffer contents have reached said predetermined threshold, or when a burst has ended. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-readable medium having computer-executable instructions for a method of buffering packets of audio data to reduce jitter, the audio data including a plurality of bursts separated by silence, the method comprising:
-
adding incoming packets of audio data to a buffer in an order generated;
detecting when the buffer contains an amount of audio data which matches a predetermined threshold amount;
detecting when a burst has ended; and
playing the audio data contained in the buffer either when the buffer contents have reached said predetermined threshold, or when a burst has ended. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification