Multiplex communications – Communication techniques for information carried in plural... – Combining or distributing information via time channels
Reexamination Certificate
1999-11-15
2004-06-08
Chin, Wellington (Department: 2664)
Multiplex communications
Communication techniques for information carried in plural...
Combining or distributing information via time channels
C370S235000
Reexamination Certificate
active
06747999
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to packet transmission and, particularly, to a system and method for optimizing a jitter buffer.
2. Description of the Related Art
When sending voice data across packet networks, such as telephony over LAN (ToL) or Voice over IP (VoIP) networks, the voice is usually compressed, packetized and, finally, sent across the network to the destination. When the packets are sent into the network, they are generated at a constant rate. However, due to behavior of the packet network, the even time intervals between the packets are lost as the packets transit the network. This irregularity in packet separation is referred to as “jitter.” Jitter can cause clicks, delays and other annoyances in multimedia transmission, creating overall poor reproduction quality.
A jitter buffer is often used to even out the packet separation. A jitter buffer is a FIFO (first in, first out) buffer in which packets leave the buffer at a predetermined, constant rate. Minimizing the amount of actual jitter buffering is important because the jitter buffering process introduces delays in the reproduced signal. Excessive buffering delays transmission output, while under-buffering causes gaps in the data.
Jitter rates vary throughout a transmission sequence. A jitter rate is the average variance in packet arrival times. It is measured as packets arrive over a specific implementation defined interval. The actual jitter rate reported (in accordance with IETF RFC 1889) is an exponentially averaged value of the jitter for each packet over the interval. The distribution of the averaged jitter rate is significantly different from the actual jitter values, so common queueing theory solutions are not applicable.
A Jitter Buffer designed with a constant predetermined depth is referred to as a Static Jitter Buffer. A Static Jitter Buffer does not recognize each sequence's unique jitter characteristics and can not adjust itself to meet the needs of individual sequences. The inflexibility of the Static Jitter Buffer degrades the smoothing capability of the jitter buffering process, thereby failing to provide sufficient buffering for some sequences while unnecessarily delaying others.
SUMMARY OF THE INVENTION
These and other drawbacks in the prior art are overcome in large part by a system and method according to the present invention. A jitter buffer controller according to the present invention allows the depth of the jitter buffer to be adjusted dynamically according to the varying jitter of the current sequence. The jitter buffer controller maintains a cache of previous jitter values. This cache contains exponentially averaged values that represent the long-term behavior of specific destination's jitter characteristics, i.e., a jitter characteristic memory. These values are used to initialize the jitter buffer's depth. The jitter cache prevents the buffer's depth from being initialized with an arbitrary value that disregards the specific destination's past jitter characteristics.
The jitter buffer controller uses two main variables to adjust the depth of the jitter buffer: current_depth and rise. The current_depth accounts for the current jitter while the rise “cushions” increases to the depth as a result of having a history of past jitter. These two variables are used to create a more accurate depth that is adaptive to varying jitter rates. The jitter buffer depth can change throughout a single data sequence based on the variance of the effective jitter.
REFERENCES:
patent: 4147895 (1979-04-01), Fenoglio
patent: 5146477 (1992-09-01), Cantoni et al.
patent: 5423020 (1995-06-01), Vojnovich
patent: 5528598 (1996-06-01), Ng
patent: 5534937 (1996-07-01), Zhu et al.
patent: 5550877 (1996-08-01), Waters
patent: 5621775 (1997-04-01), Etienne
patent: 5640388 (1997-06-01), Woodhead et al.
patent: 5652627 (1997-07-01), Allen
patent: 5757871 (1998-05-01), Furukawa et al.
patent: 5764298 (1998-06-01), Morrison
patent: 5778218 (1998-07-01), Gulick
patent: 5872789 (1999-02-01), Orleth et al.
patent: 5872823 (1999-02-01), Sutton
patent: 5881245 (1999-03-01), Thompson
patent: 5940479 (1999-08-01), Guy et al.
patent: 6097698 (2000-08-01), Yang et al.
patent: 6167465 (2000-12-01), Parvin et al.
patent: 6301251 (2001-10-01), Kim et al.
patent: 6377931 (2002-04-01), Shlomot
patent: 6452950 (2002-09-01), Ohlsson et al.
patent: 6473432 (2002-10-01), Nishimura et al.
Patent application, “Apparatus and Method for Adaptive Jitter Buffer Depletion”, filed Oct. 5, 1999, Ser. No. 09/412,876, Atty Dkt No. 99P7889.
Butcher Kristin
Cripe Jeff
Flanagan Mark
Grosberg Mark
Chin Wellington
Pham Brenda
Siemens Information and Communication Networks Inc.
LandOfFree
Jitter buffer adjustment algorithm does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Jitter buffer adjustment algorithm, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Jitter buffer adjustment algorithm will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3349535