Telephony by Adaptive Digital

CONFERENCING SOFTWARE by ADAPTIVE DIGITAL

ADT CONFERENCING C54x , C55x , C64x

CONFERENCING version 4.0

The Adaptive Digital Technologies Conferencing software is designed to provide conference call capability to telephone systems as well as to voice and video conference servers. Our conferencing algorithm adds the active conference input signals together to form a composite signal. Before sending the composite signal back to each conference party, that party’s transmission is removed from the composite signal to avoid the perception of echo. The conference algorithm is available in a narrowband version, which operates at the typical telephony sampling rate of 8 kHz, as well as a wideband version, which operates at an audio sampling rate of 16 kHz. The wideband version is suitable to be used in high-end conferencing equipment as well as in VoIP applications in which wideband audio is supported. Also available is the mixed rate version. That is able to bridge together both narrowband and wideband conference parties into a single conference.

You might ask, what’s the big deal? Why can’t I simply add the signals together?

Adding the signals together works well enough if the number of conference participants is very small and there is no need to support mixed narrowband and wideband simultaneously. Of course, you do need to subtract each party’s own speech from the conference composite (sum) as mentioned above to avoid the perception of echo.

As the number of conference participants increases, we run into a few more issues to deal with. For example, each participant presumably has some level of background noise. The noise level may be low as is the case in an office environment (without any fans running.) The noise level can also be quite high – as is the case for a person on a cell phone while driving. And it can be anywhere in between. If we were to add all the input signals blindly, the noise would accumulate more and more as the number of conference participants increased. Furthermore, when using fixed point arithmetic, the summation of many signals – some of which include speech signals – can cause overflow or clipping, a very undesirable condition.

Our algorithm uses a variety of techniques to combat these issues. For example, only a few “dominant” speakers’ signals are added to the conference at any given time. This reduces the number of signals being added. Furthermore, noise suppression is employed on all input channels. So even when there is significant background noise that would otherwise bleed into the conference sum, the noise suppressor reduces the extent of such noise. Automatic Level Control is employed to combat overflow and clipping as well as to compensate for different amounts of network loss that is seen in party’s input signal. We have integrated all these algorithms and optimized them to work together to achieve optimum voice quality in high-density conference situations.

Finally, Adaptive Digital’s conference algorithm includes support for mixing narrowband (8 kHz sampled) and wideband (16 kHz sampled) participants into the same conference. While this is not brain-surgery in and of itself, combining this feature with the other features in a way that preserves voice quality is quite important.

Not to be overlooked is the fact that we have combined all this functionality using a minimum of processor resources (MIPS and Memory). After all, if you need high density conferencing, you probably want to do so with a minimum number of processors and as little memory as possible.

All that said, in addition to the more sophisticated, voice quality enhancing features, we added a simple but useful feature. Sometimes it is desirable to allow one (or more) participants to take precedence to others in the conference summation regardless of voice activity. We call these participants “priority” participants. The user can set conference participants to be priority participants and set them back to “normal participants” at any time during an active conference.

Data sheet:.pdf

FEATURES

  1. Narrowband, Wideband, and Mixed Narrowband/Wideband capable

  2. Number of conference participants is user configurable

  3. Channels can be added and deleted from conference at any time

  4. Automatic Level Control

  5. Overflow Protection

  6. Voice Activity Detection

  7. Noise Suppression

  8. Dominant Speaker Selection

  9. Multi-conference capable

  10. Functions are “C” callable

AVAILABILITY

ADT Conferencing is available on the TMS320™ DSP Family

C54x™DSP, C55x™DSP, & C64x™DSP Generations

SPECIFICATIONS


ADT CONFERENCING C54x

All Memory usage is given in units of 16-bit word.

Software

Peak Loading (MIPS)

Program Memory

Scratch Memory

Persistent Memory

Narrowband

0.38+ N*0.35

1783

371+4*FS+6*DN

38 + N*26

Wideband

0.76+N*0.70

1783

371+4*FS+6*DN

38 + N*26

Mixed

0.50+N*1.77

2100

435+5*FS+70*DN

166 + N*26

N = Number of channels in conference
FS = Frame Size
DN: Number of Dominant Channels

Last update: 05/29/2007



ADT CONFERENCING C55x

All Memory usage is given in units of byte.

Software

Peak Loading (MIPS)

Program Memory

Scratch Memory

Persistent Memory

Narrowband

0.6 + N*0.30

3602

8*FS + 12*DN + 874

52*N + 88

Wideband

1.2 + N*0.6

3602

8*FS + 12*DN + 874

52*N + 88

Mixed

1.0 + N*1.6

4100

10*FS + 70*DN + 1002

52*N + 344

N = Number of channels in conference
FS = Frame Size

Last update: 05/29/2007


ADT CONFERENCING C64x

All Memory usage is given in units of byte.

Software

Peak Loading (MIPS)

Program Memory

Scratch Memory

Persistent Memory

Narrowband

0.35 + N*0.25

9280

8*FS + 12*DN + 1026

60 + 116*NC + 32*NCP

Wideband

0.70 + N*0.50

9280

8*FS + 12*DN + 1026

60 + 116*NC + 32*NCP

Mixed

0.9 + N * 1.2

10400

(10+DN)*FS + 12*DN + 1154

60 + 116*NC + 288*NCP

NCP = Number of participants in conference

NC = Number of conferences

MAX_DOMN = maximum dominant N setting

FS = Frame Size


Last update: 09/25/2007

 

FUNCTION

Conf_ADT_init (…) Initialize a conference

Conf_ADT_run (…) Perform conferencing function

CONF_ADT_addMember(…) Add a member to a conference

CONF_ADT_removeMember(…) Remove a member from a conference

CONF_ADT_setPriority(…) Set a conference member as a priority speaker

CONF_ADT_clearPriority(…) Clear a conference member’s priority status

CONF_ADT_close(…) Close a conference

 

 

PRODUCTS