IP Library Granted Patent US 7,006,511
Granted Patent B2
US 7,006,511 · App. 09/907,120 · Granted Feb 28, 2006

Dynamic jitter buffering for voice-over-IP and other packet-based communication systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,006,511
App. No.
09/907,120
Granted
Feb 28, 2006
Kind
B2
Abstract

A variable-size jitter buffer is used to store information associated with a voice signal, facsimile signal or other received signal in a receiver of a packet-based communication system. The receiver determines an appropriate adjustment time for making an adjustment to the size of the buffer based at least in part on a result of a signal detection operation performed on the received signal. For example, in the case of a received voice signal, the determined adjustment time may be a time at which a state machine associated with a speech detector is in a “no speech” state. If the actual buffer size at the determined adjustment time is not within a designated range of a target computed at least in part based on one or more jitter measurements, the buffer size is adjusted at the determined adjustment time, e.g., by an amount representative of the difference between the actual buffer size and the target. The invention provides low-delay and low-complexity jitter buffering particularly well suited for use in an Internet Protocol (IP) receiver of a voice-over-IP system.

Claims (49)

1. A method for controlling a variable buffer used to store information associated with a received signal in a receiver of a packet-based communication system, the method comprising the steps of:

determining an adjustment time for making an adjustment to a current size of the variable buffer based at least in part on a result of a signal detection operation performed on the received signal, wherein the variable buffer stores reconstructed signal samples of the received signal, the reconstructed signal samples resulting from application of depacketization and reconstruction operations to corresponding received packets, the signal detection operation being applied to one or more of the reconstructed signal samples; and

if the current buffer size at the determined adjustment time is not within a designated range of a target computed at least in part based on one or more jitter measurements, adjusting the current buffer size at the determined adjustment time.

2. The method of claim 1 wherein the current buffer size is adjusted at the determined adjustment time by an amount representative of a difference between the current buffer size and the target.

3. The method of claim 1 wherein the received signal has one or more signal portions and one or more silence portions associated therewith, and wherein the signal detection operation comprises detection of at least one of the signal portions and silence portions.

4. The method of claim 3 wherein the received signal comprises a voice signal and the signal portions comprise speech portions, and further wherein the signal detection operation comprises a speech detection operation.

5. The method of claim 1 wherein the received signal comprises a facsimile signal.

6. The method of claim 1 wherein the receiver comprises an Internet Protocol (IP) receiver of a voice-over-IP communication system.

7. A method for controlling a variable buffer used to store information associated with a received signal in a receiver of a packet-based communication system, the method comprising the steps of:

determining an adjustment time for making an adjustment to a current size of the variable buffer based at least in part on a result of a signal detection operation performed on the received signal; and

if the current buffer size at the determined adjustment time is not within a designated range of a target computed at least in part based on one or more jitter measurements, adjusting the current buffer size at the determined adjustment time;

wherein the target is computed by applying a fast attack and slow decay filtering process to one or more jitter measurements made for packets transmitted through at least a portion of the system.

8. A method for controlling a variable buffer used to store information associated with a received signal in a receiver of a packet-based communication system, the method comprising the steps of:

determining an adjustment time for making an adjustment to a current size of the variable buffer based at least in part on a result of a signal detection operation performed on the received signal; and

if the current buffer size at the determined adjustment time is not within a designated range of a target computed at least in part based on one or more jitter measurements, adjusting the current buffer size at the determined adjustment time;

wherein the current buffer size is not adjusted if the current buffer size at the determined adjustment time is within a designated range of the computed target.

9. The method of claim 1 wherein the signal detection operation is implemented using a state machine having at least an active state and an idle state.

10. A method for controlling a variable buffer used to store information associated with a received signal in a receiver of a packet-based communication system, the method comprising the steps of:

determining an adjustment time for making an adjustment to a current size of the variable buffer based at least in part on a result of a signal detection operation performed on the received signal; and

if the current buffer size at the determined adjustment time is not within a designated range of a target computed at least in part based on one or more jitter measurements, adjusting the current buffer size at the determined adjustment time;

wherein the signal detection operation is implemented using a state machine having at least an active state and an idle state; and

wherein the determined adjustment time corresponds to a time at which the state machine is in the idle state.

11. A method for controlling a variable buffer used to store information associated with a received signal in a receiver of a packet-based communication system, the method comprising the steps of:

determining an adjustment time for making an adjustment to a current size of the variable buffer based at least in part on a result of a signal detection operation performed on the received signal; and

if the current buffer size at the determined adjustment time is not within a designated range of a target computed at least in part based on one or more jitter measurements, adjusting the current buffer size at the determined adjustment time;

wherein the signal detection operation is implemented using a state machine having at least an active state and an idle state; and

wherein the state machine further includes an entry state, and the active state is entered from the entry state if a particular level of detected signal energy is present for at least a designated amount of time.

12. The method of claim 11 wherein the designated amount of time is about 20 to 50 milliseconds.

13. A method for controlling a variable buffer used to store information associated with a received signal in a receiver of a packet-based communication system, the method comprising the steps of:

determining an adjustment time for making an adjustment to a current size of the variable buffer based at least in part on a result of a signal detection operation performed on the received signal; and

if the current buffer size at the determined adjustment time is not within a designated range of a target computed at least in part based on one or more jitter measurements, adjusting the current buffer size at the determined adjustment time;

wherein the signal detection operation is implemented using a state machine having at least an active state and an idle state; and

wherein the state machine further includes a holdover state, and the state machine transitions from the holdover state to the idle state if a particular level of detected signal energy is not present for at least a designated amount of time.

14. The method of claim 13 wherein the designated amount of time is about 100 to 200 milliseconds.

15. The method of claim 11 wherein the state machine transitions from the idle state to the entry state upon detection of the particular level of detected signal energy.

16. The method of claim 11 wherein the state machine transitions from the entry state to the idle state if the state machine has not been in the entry state for more than the designated amount of time and the detected signal energy drops below the particular level.

17. A method for controlling a variable buffer used to store information associated with a received signal in a receiver of a packet-based communication system, the method comprising the steps of:

determining an adjustment time for making an adjustment to a current size of the variable buffer based at least in part on a result of a signal detection operation performed on the received signal; and

if the current buffer size at the determined adjustment time is not within a designated range of a target computed at least in part based on one or more jitter measurements, adjusting the current buffer size at the determined adjustment time;

wherein a given adjustment time is selected automatically and without regard to the signal detection operation if a signal packet is not received for at least a designated amount of time.

18. The method of claim 17 wherein the designated amount of time corresponds to two packet periods.

19. An apparatus for use in a receiver of a packet-based communication system, the apparatus comprising:

a variable buffer having an adjustable size and being configured for storing information associated with a received signal in the receiver of the packet-based communication system; and

a processor coupled to the variable buffer and controlling the adjustable size thereof, the processor determining an adjustment time for making an adjustment to a current size of the variable buffer based at least in part on a result of a signal detection operation performed on the received signal;

wherein if the current buffer size at the determined adjustment time is not within a designated range of a target computed at least in part based on one or more jitter measurements, the current buffer size is adjusted at the determined adjustment time; and

wherein the variable buffer stores reconstructed signal samples of the received signal, the reconstructed signal samples resulting from application of depacketization and reconstruction operations to corresponding received packets, the signal detection operation being applied to one or more of the reconstructed signal samples.

20. An article of manufacture comprising a machine-readable medium for storing one or more software programs for use in adjusting the size of a variable buffer used to store information associated with a received signal in a receiver of a packet-based communication system, wherein the one or more software programs when executed implement the steps of:

determining an adjustment time for making an adjustment to a current size of the variable buffer based at least in part on a result of a signal detection operation performed on the received signal, wherein the variable buffer stores reconstructed signal samples of the received signal, the reconstructed signal samples resulting from application of depacketization and reconstruction operations to corresponding received packets, the signal detection operation being applied to one or more of the reconstructed signal samples; and

if the current buffer size at the determined adjustment time is not within a designated range of a target computed at least in part based on one or more jitter measurements, adjusting the current buffer size at the determined adjustment time.

Assignments (27)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
BANKRUPTCY COURT ORDER RELEASING THE SECURITY INTEREST RECORDED AT REEL/FRAME 020156/0149 Recorded Jul 25, 2022
From: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
To: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES
Reel/Frame 060953/0412 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
RELEASE OF SECURITY INTEREST Recorded Jan 9, 2018
From: CITICORP USA, INC.
To: AVAYA, INC.; SIERRA HOLDINGS CORP.; AVAYA TECHNOLOGY, LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
Reel/Frame 045032/0213 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 012816/0088 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK
To: AVAYA INC. (FORMERLY KNOWN AS AVAYA TECHNOLOGY CORP.)
Reel/Frame 044892/0158 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
CONVERSION FROM CORP TO LLC Recorded Dec 29, 2008
From: AVAYA TECHNOLOGY CORP.
To: AVAYA TECHNOLOGY LLC
Reel/Frame 022071/0420 →
REASSIGNMENT Recorded Jun 27, 2008
From: AVAYA TECHNOLOGY LLC
To: AVAYA INC
Reel/Frame 021158/0319 →
SECURITY AGREEMENT Recorded Nov 28, 2007
From: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
To: CITICORP USA, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 020166/0705 →
SECURITY AGREEMENT Recorded Nov 27, 2007
From: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 020156/0149 →
SECURITY INTEREST Recorded Apr 9, 2002
From: AVAYA TECHNOLOGY CORP.
To: BANK OF NEW YORK, THE
Reel/Frame 012816/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2002
From: AVAYA INC.
To: AVAYA TECHNOLOGIES CORP.
Reel/Frame 012702/0533 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2001
From: LANZAFAME, CHRISTOPHER; MORAN, CHRISTOPHER B.; SZAJDECKI, RICHARD
To: AVAYA INC.
Reel/Frame 012013/0254 →