Method and apparatus for an adaptive de-jitter buffer in a wireless communication system
First Claim
Patent Images
1. An apparatus, comprising:
- a memory storage unit configured to store packets of data; and
a first controller adapted to determine a target delay length for the memory storage unit, and to initiate compression of at least one packet when a number of stored packets exceeds the target delay length.
1 Assignment
0 Petitions
Accused Products
Abstract
Adaptive De-Jitter Buffer for Voice over IP (VoIP) for packet switch communications. The de-jitter buffer methods and apparatus presented avoid playback of underflows while balancing end-to-end delay. In one example, the de-jitter buffer is recalculated at the beginning of each talkspurt. In another example, talkspurt packets are compressed upon receipt of all remaining packets.
84 Citations
24 Claims
-
1. An apparatus, comprising:
-
a memory storage unit configured to store packets of data; and
a first controller adapted to determine a target delay length for the memory storage unit, and to initiate compression of at least one packet when a number of stored packets exceeds the target delay length. - View Dependent Claims (2, 3)
-
-
4. The apparatus as in 3, wherein the first controller is configured to calculate the PERdelay as:
-
PERdelay=PER_CONSTANT×
PERdelay+(1−
PER_CONSTANT)×
Current—
PERdelaywherein PER_CONSTANT is the time constant for the filter used to estimate PERdelay. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
7. The apparatus as in claim 6, wherein the first controller is configured to identify a first portion of received packets, wherein the first portion corresponds to a talkspurt, and wherein the talkspurt comprises a plurality of sequential packets.
-
8. The apparatus as in claim 7, wherein the first controller is configured to identify the first portion by encoding of the first portion.
-
9. The apparatus as in claim 8, wherein the first controller is configured to determine an anticipated playback time for a first packet of the talkspurt, and to initiate playback of the first packet of the talkspurt before the anticipated playback time.
-
10. The apparatus as in claim 9, the first controller further configured to initiate expansion of subsequent packets after playback of the first packet.
-
11. The apparatus as in claim 10, wherein the first controller is configured to identify the beginning and the end of a talkspurt.
-
12. The apparatus as in claim 11, wherein the first controller is configured to identify an end portion of the talkspurt, and compress at least one packet in the end portion of the talkspurt.
-
13. The apparatus as in claim 12, wherein the first controller is configured to identify the end portion of the talkspurt by an encoding rate of received packets.
-
14. The apparatus as in claim 13, wherein the first controller is configured to identify the end portion of the talkspurt by a silence indicator.
-
15. The apparatus as in claim 14, wherein the first controller is configured to identify the end portion of the talkspurt by an end-of-talkspurt indicator.
-
16. A method for processing packetized data, comprising:
-
storing packets of data in a memory storage unit;
determining a target delay length for the memory storage unit;
evaluating a status of the memory storage unit with respect to the target delay length, wherein the status of the memory storage unit is a measure of data stored in the memory storage unit; and
initiating time warping of at least one packet from the memory storage unit if the status of the memory storage violates the target delay length. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer-readable storage medium containing a set of instructions, the set of instructions comprising:
-
an input routine for storing packets of data in a memory storage unit;
a target delay length calculation routine for determining a target delay length for the memory storage unit;
a first routine for evaluating a status of the memory storage unit with respect to the target delay length, wherein the status of the memory storage unit is a measure of data stored in the memory storage unit; and
a second routine initiating time warping of at least one packet from the memory storage unit if the status of the memory storage violates the target delay length.
-
Specification