Adaptive jitter buffer for internet telephony
First Claim
1. A system for receiving digital voice signals transmitted over a data network, comprising:
- a jitter buffer, having a variable storage size, arranged to receive packets of data comprising the digital voice signals, to store said packets, and to serially output said packets;
a jitter buffer manager which (a) monitors the arrival of said packets, (b) determines at least one variation parameter which measures the variation in transit delay among said arriving packets, and (c) controls the jitter buffer size in response to the variation parameter; and
a speed control module, which responds to a control signal from said jitter buffer manager by modifying a rate of consumption of packets serially output from said jitter buffer, to compensate for changes in said jitter buffer'"'"'s storage size comprising comparing an average packet delay with a reference delay corresponding to a temporally centered position in said buffer; and
adjusting said variable rate of transfer of packets from said buffer when said average packet delay deviates from said centered position by more than a threshold amount, thereby moving said centered position to align with said average packet delay.
7 Assignments
0 Petitions
Accused Products
Abstract
In an improved system for receiving digital voice signals from a data network, a jitter buffer manager monitors packet arrival times, determines a time varying transit delay variation parameter and adaptively controls jitter buffer size in response to the variation parameter. A speed control module responds to a control signal from the jitter buffer manager by modifying the rate of data consumption from the jitter buffer, to compensate for changes in buffer size, preferably in a manner which maintains audio output with acceptable, natural human speech characteristics. Preferably, the manager also calculates average packet delay and controls the speed control module to adaptively align the jitter buffer'"'"'s center with the average packet delay time.
221 Citations
15 Claims
-
1. A system for receiving digital voice signals transmitted over a data network, comprising:
-
a jitter buffer, having a variable storage size, arranged to receive packets of data comprising the digital voice signals, to store said packets, and to serially output said packets;
a jitter buffer manager which (a) monitors the arrival of said packets, (b) determines at least one variation parameter which measures the variation in transit delay among said arriving packets, and (c) controls the jitter buffer size in response to the variation parameter; and
a speed control module, which responds to a control signal from said jitter buffer manager by modifying a rate of consumption of packets serially output from said jitter buffer, to compensate for changes in said jitter buffer'"'"'s storage size comprising comparing an average packet delay with a reference delay corresponding to a temporally centered position in said buffer; and
adjusting said variable rate of transfer of packets from said buffer when said average packet delay deviates from said centered position by more than a threshold amount, thereby moving said centered position to align with said average packet delay. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of receiving digitally encoded, packetized audio transmitted across a data network, comprising the steps of:
-
monitoring the arrival times of audio packets as they are received from the network;
loading said packets into a buffer having an adjustable size;
calculating an average packet delay relative to a synchronous serial output from said buffer, calculating a time-varying variance parameter which quantifies deviations in packet delay from said average packet delay;
adjusting said size of said buffer in response to a calculated value of said time-varying variance parameter, transferring said packets serially from said buffer at a variable rate to compensate for changes in size of said buffer, comparing an average packet delay with a reference delay which corresponds to a temporally centered position in said buffer, and adjusting said variable rate of transfer of packets from said buffer when said average packet delay deviates from said centered position by more than a threshold amount, thereby moving said centered position to align with said average packet delay. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification