CA1210541A - Conferencing system adaptive signal conditioner - Google Patents

Conferencing system adaptive signal conditioner

Info

Publication number
CA1210541A
CA1210541A CA000454586A CA454586A CA1210541A CA 1210541 A CA1210541 A CA 1210541A CA 000454586 A CA000454586 A CA 000454586A CA 454586 A CA454586 A CA 454586A CA 1210541 A CA1210541 A CA 1210541A
Authority
CA
Canada
Prior art keywords
signals
transmit
speech
level
conferee
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA000454586A
Other languages
French (fr)
Inventor
Michael S. Lane
Steven D. Scholbrock
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Application granted granted Critical
Publication of CA1210541A publication Critical patent/CA1210541A/en
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing

Abstract

CONFERENCING SYSTEM ADAPTIVE SIGNAL CONDITIONER

Abstract The disclosed arrangement of digital signal processor and echo cancellor is connectable to four wire transmission facilities on a per port basis for providing adaptive signal conditioning to reduce noise and improve level contrast among conferees of a digital conference connection. The digital signal processor applies an adaptive gain value to incoming speech signals for either increasing or decreasing the level of these signals to meet a predetermined threshold. A fixed gain adjustment is applied to incoming noise signals to reduce the level of these signals. The arrangement also provides a last-talker holdover mode in which the last gain adjustment applied to last-talker speech is applied to idle channel noise on that line.

Description

- I ~l2~

CONFERENCING SYSTEM ADAPTIVE SIGNAL CONDITIONER

Technical Field This invention relatPs to the art of signal conditioning and more particularly to a signal conditioning arrangement which provides level compensation, eliminates echo signals and greatly reduces noise signals.
In communication systems level contrast is the term used to characterize the speech energy of one speaker as compared against the speech energy of another speaker.
In such systems, level contrast between speakers is affected by the quality of the transmission facilities, and in two party conversations the contrast is generally not noticeable. In conference connections involving three parties, however~ level contra5t is generally noticeable particularly when contrasting the speech energy of the most distant speaker against the near-end speaker. The problem of level contrast becomes more acute when the size of a conference connection involves more than three parties.
Because of these problems, business customer systems, such as PBXs, do not guarantee the quality of a conferencing connection involving more than two trunks.
Traditionally, these problems have been solved with an echo suppressing anti-singing (ESAS) circuit which is essentially two echo suppressors placed back to back.
However, an ESAS circuit cannot be used as a signal conditioner in a digital conferencing system since such circuits use switched gain techniques thereby blocking double talk from occurring. Double talk, defined as the ; 30 capability of allowing simultaneous utterances from multiple speakers, is an essential feature of digital conferencing systems. ESAS circuits also introduce line noise when switching and tend to clip leading and trailing speech syllables.
Also~ in audio teleconferencing systems in which each conferee of a conference connection receives the sum ~2~5~

of speech signals of other conferees, idle channel noise from a non-speaking conferee and echo from a speaking conferee are also included in the conference summation.
Attempts at providing level compensation and eliminating noise and echo signals from a conference summation have been made in analog conferencing arrangements. However, an analog signal treatment circuit requires D/A and A/D
converters when such an arrangement is employed in a digital conferencing system. Moreover, such analog arrangements are unacceptably expensive and are not compatible with an adaptive digital echo cancellor, such as the AT&T Systems's 140Y Echo Cancellor. Further, when the level of noise is greatly reduced or eliminated, the con~erence summation is essentially zero, thereby during quiet periods giving the appearance that the connection is inoperative.
To control noise summation, some type of speech activated noise guard is required so that noise from non-active talkers in a conference arrangement can be eliminated. In addition, detection of speech activity is desirable to determine an average talker level whereby an automatic gain control function can be implemented.
Thus, there is a need in the art for a voice signal treatment arrangement for digital conferencing systems which provides level compensation, reduces noise signals and eliminates echo signals, but provides idle channel noise from the last speaker's line as an indication that the conference connection is viable.
Summary of the Invention In accordance with an aspect of the invention there is provided a speech conditioning arrangement adapted for use in a transmission line having a transmit channel for receiving signals from a first conferee and a receive channel for receiving signals from at least one other conferee comprising means for identifying signals ~21~5~

contained on said transmit channel as being either transmit speech signals or transmit nonspeech signals, and means for adjusting the level of said transmit speech signals and said transmlt nonspeech signals and for supplying the resulting signals to said transmit channel, the level of said transmit nonspeech signals being adjusted to the level of transmit speech signals priorly supplied to said trans-mit channel when said first conferee was the last of said conferees to speak.
In accordance with another aspect of the invention there is provided a method of treating speech signals, said method adapted for use in a conferencing system having a transmit channel for receiving signals from a conferee and a receive channel, comprising the steps of identifying signals contained on said transmit channel as being either transmit speech signals or transmit nonspeech signals, and adjusting the level of said transmit speech signals and nonspeech signals and supplying the resulting signals to said conferencing system, said adjusting step including 20. the step of adjusting the level of said transmit nonspeech signals to the level of transmit speech signals priorly supplied to said conferencing system when said transmit channel conferee was the last to speak.
The problems and inadequacies exhibited by prior signal conditioning arrangements for conferencing facil-ities have been obviated by arranging an echo cancellor and a digital signal processor on a four-wire facility to provide an adaptive speech detection arrangement in which incoming signals are classified as either speech, noise or echo. The particular signal classification i5 used to provide signal gain or signal loss in order to adjust level compensation and to balance contrast among conferees.
Also, when the system detects transmitted speech and detects the absence of speech on its receive path, it ~.~
~.,~, ~Z1~5~

effects a last talker holdover mode. In this mode, the Digital Signal Processor (DSP) program does not reduce the gain of noise signals but allows a higher level of noise from the last talker's line to be transmitted to the other conferees as an indication that the conference connection is viable. On the other hand, when the digital signal processor detects speech on its receive path and no speech on its transmit path, it decreases the gain of its transmit path to prevent noise on that line from being summed with other conferees' speech signals.
The digital signal processor is also arranged to predict an echo signal by monitoring the receive path of its ~onference line and by assuming a minimum return loss.
In this manner, the digital signal processor has the capability of distinguishing transmitted speech from return echo. If a signal is classified as return echo, the digital signal processor inserts loss to decrease the level of the echo signal.
Brief DescriPtion of the Drawinq The operation and implementation of the present invention will be more fully apparent and understandable from the following description of the drawing, in which:
FIG. 1 is a block diagram of a conferencing system employing the invention;
FIG. 2 is a flow diagram of the invention;
FIG. 3 is a detailed flow diagram for calculating transmit channel variables;
FIG. 4 is a detailed flow diagram for calculating receive channel variables;
FIG. 5 is a diagram of a stretch receive signal;
FIG. 6 is a flow diagram for determining near-end active;
FIG. 7 is a state diagram illustrating the calculation of trunk needs service;
FIG. 8 is a detailed flow diagram showing the calculation of the peak energy of a signal;

~Z~541 - 4a -FIG. 9 is a detailed flow diagram showing the calculation of the HOLD flag;
FIG. 10 is a detailed flow diagram showing the calculation of the gain to be applied to a signal; and FIG. 11 shows the automatic gain map used in constructing the gain table.
General Description FIG. 1 shows a representative digital conferencing arrangement. For each incominq station and trunk circuit connected via line 108 there is an appropriate line circuit 100, including two-wire to four-wire hybrid 101 and analog-to-digital codec 102. The output of codec 102 is a digital signal that is either directly connected or possibly switched to an adaptive signal conditioning circuit 150.
Signal conditioning circuit 150 consists of echo cancellor 103 and DSP 104 in combination to provide the desired signal processing. The output of each adaptive signal conditioning circuit 150 is multiplexed by multiplexer 160 and supplied to digital conferencing bridge 175. ~igital conferencing bridge 175 provides a summation of all in-coming talker signals of a particular conference connection and outputs to each conferee the appropriate conference sum. This conference sum is demultiplexed and returned to signal conditioning circuit 150 of line circuit 100-1.
FIG. 2 illustrates a flow chart of the adaptive signal conditioning algorithm implemented in DSP 104. The program can be invoked by a system wide reset signal or by the initiation of a conference call (not shown~. After initializing certain speech detector system variables, the program enters a loop to process each incoming digital speech sample as it becomes available. A transmitted signal from the conferee is processed by the DSP 104 program to generate a transmit magnitude signal (TMAG).

~, , 5~

This signal parameter is passed through a low pass filter to generate a transmit energy value (TEMP). In addition, a minimum transmit energy level (MEMP) is maintained by the program by tracking TEMP minimums. These minimums represent the background noise level in the transmitted signal. By allowing MEMP to slowly drift upward between TEMP minimums, it is possible to track changes in the noise level. This allows a DSP 104 speech detector to adapt to high noise levels but still detect weak speech signals, making it useful over a wider range of noise and speaker levels than would be possible with fixed thresholds.
~ ince it is impossible to differentiate between echoed receive speech and weak transmit speech, some measure of the expected echo is necessary. Thus the receive signal is similarly processed to obtain a receive magnitude (RMAG) and a receive energy (REMP) signal parameter. A peak stretcher is used to obtain an expected echo envelope (SRECV). This involves catching REMP peaXs and holding them for a time equal to the longest expected echo delay.
Once the transmit and receive signal parameters are available, a variety of comparisons are made to determine if speech is present. The comparisons are based on statistical observations of speech signals verses non-speech signals as established for a TASI system.
Since any received speech remalning after passingthrough hybrid 101 and echo cancellor 103 appears to be weak transmitted speech it is first necessary to establish the following:

TEMP > SRECV - minimum return loss (MRL) Once this relation is assured, the transmit signal is checked for the appearance of speech by performing the following comparisons as disclosed in U. S. Patent No. 4,277,645, issued to C. J. May on July 7, 1981.

'5~

TMAG > 10*MEMP or TEMP > 2*MEMP or TEMP > maximum noise level (MNL), where * = multiplication.

If any of these comparisons is true, the signal is classified as speech and a near-end active (NEA) flag is set. This flag is further modifie~ by appropriate holdover times to generate a trunk needs service (TNS) flag.
In order to maintain a background noise level during inter-talker gaps a HOLD signal is generated by having a crude speech detector on the receive signal which allows a talker to remain active at least as long as the TNS flag is set and at most until another participant speaks.
When transmit speech is detected an appropriate gain value is selected and applied to the speech signal.
This is accomplished by tracking the TEMP level with a peak follower and mapping this peak transmit energy (PEMP) to the gain value to be used. Ideally~ PEMP represents a running average related to the VU (Volume Unit) level of the speaker. This speaker level is then mapped to an appropriate gain value. The mapping is implemented such that, if the HOLD flag is not set (someone else active), a fixed loss is used. If the HOLD flag is set, a mapped gain is used to obtain the desi~ed speaker level compression.
A wideband energy detector is implemented by comparing the receive signal magnitude (RMAG) to receive energy (REMP). If this average-to-peak ratio exceeds a Eixed threshold, the echo cancellor adapt signal i5 set via lead 105. The adapt signal is equipped with a wait time to provide noise im~unity during signal start up.
Detailed Description FIG. 1 shows a detailed implementation of the invention. ~ line circuit, such as ~ine circuit 100-1, h~ndles the two-wire input from either a telephone or a CO
line, such as line 108, or other appropriate station.

12~54~

Two-wire to four-wire hybrid 101 converts a two-wire signal channel to a four-wire channel with separate transmit and receive paths. This is necessary for further processing via codec 102 which converts an analog signal into a digital compressed representation of an inputted speech signal and converts a digital compressed speech signal back to an analog signal for return to a remote station or trunk via line 108.
Adaptive signal conditioning circuit 150 consisting ~f echo cancellor 103 and digital signal processor (DSP) 104 may be connected directly to line circuit lQ~-l or alternatively be connected v~a a switch~ng mechanism. Thus, the signal conditioning circuit is part of line circuit 100-1 only for those line circuits i`nvolved in a true conference arrangement. For example, a simple two party connection would n~t require the signal conditioning circuit 150.
Echo cancellor 103 is provided to reduce echo on a line, such as line 108, and provides a ~nown minimum return loss which is desirable for a DSP 104 software speech detection algorithm.
An echo cancellor, such as echo cancellor 103, may be sensitive to pure tone or a combination of tone signals, such as a digit or call progress tones. Because of this, it is desirable to have DSP 104 generate a control signal via lead 105 to assist echo cancellor 103 in its adaptation algorithm. The control signal outputted by DSP
104 via lead 105 will be discussed shortly.
Still referring to FI~. 1, multiplexer 160 multiplexes the outputs from a plurality of line circuits, such as line circuit 100-1, and generates as an output a time division multiplexed signal that is supplied to digital conferencing bridge 175 via bus 151. In a like manner, multiplexer 160 demultiplexes time slot information outputted by conferencer 175 via bus 107 which is supplied to an appropriate line circuit. Digital conferencing bridge 175 may be of the type disclosed in the V. S. Patent ~, ~, ...........

~Z~54~

No. 4,119,807, entitled "Digital Time Division Multiple~
Switching System" and issued on October 10, 1978, in which a message sample from each conferee of a conference connection is summed during a first time slot in a rame and in which the conference sum is distributed to each coneree during a next frame with respect to the conferee's assigned time slot. The conference summation is supplied to multiplexer 160 via bus 152 which passes the digital summation to the appropriate line circuit, such as line circuit 100-1 via bus 107.
Illustrated in FIG. 2 is an overview of the signal conditioning algorithm implemented in digital signal processor 104. Digital signal processor 104 is of the type disclosed in the Bell System Technical Journal, Vol. 60, No. 7, Part 2, dated September, 1981, starting at page 1449. The program begins operation as a result of either powering up or can be restarted from an external control lead (not shown). In the case of a call set up or conference call initiation, DSP 104 is reset to allow the algorithm to begin at a known state, such as block 2 of FIG. 2. Upon being reset, the program initializes the system variables as shown in block 2. Block 2 clears DSP
104 control registers so that the processor can initialize a program counter and certain parameters of the speech 2S detector algorithm. In particular, two parameters, minimum EMP (MEMP) and a peak EMP (PEMP) (shown in FIG. 3) as defined above, are initialized to insure proper start up of the algorithm. MEMP is initialized to a maximum noise level (MNL) so that when a conferee's signal is applied to digital signal processor 104 it will quickly adapt to the correct noise level for that conferee. Also, to insure that an output to bus 106 initially has no gain adjustment, PEMP is initialized to correspond to an average speaker level. At this average level, a mapping of the PEMP
parametPr corresponds to no gain adjustment. Thus, a signal outputted to bus 106 from digital signal processor 104 is made equal to the signal inputted to digital signal ~2~L~S~

processor 104 from EC 103 at start up time. Once ~hese functions or parameter adiustments are completed, the algorithm is invoked.
The first procedure upon entering the algorithm is to calculate new transmit variables shown as block 3 of FIG. 2.
Referring to FIG. 3, there is shown a detailed flow diagram of the inline program shown as block 3 of FIG. 2 which calculates the DSP transmit variables such as MEMP. At block 301 ~SP 104 waits for a transmit signal sample to be inputted from EC 103 via bus 108~ ~ince transmit signal data is synchronous it is necessary for digital signal processor 104 to wait for the transmit data to be available before processing begins. Upon receiving a transmit signal sample the program proceeds to block 302 for calculating parameters TFIL ~Transmit Filtered Signal) and TMAG by converting the signal from a ~255 coded value as it is outputted from EC 103 into a linear encoded value for internal processing. This linear representation allows or easier implementation of the DSP 104 digital filters and for tests and conversions of signals done by the algorithm. Once the linearized transmit signal sample is obtained it is processed by a software digital high pass filter to remove any DC components and low frequency AC
components, such as 60 cycle hum, that might be present.
The DSP 104 digital high pass filter is a simple one stage recursive filter of the form:

TFIL = Current Input - Old Input + (L x Old TFIL) The multiplier 'L' determines the cut off frequency (f3db) of the filter by the relationship:

L = 1 - (2 x ~ x f3db/(sampling frequency)) Since the sampling rate of codec 102 is one sample every 125 microseconds, the sampling frequency is ~ KHz. For ~Z~4~

example, operating at a 3 db cut off frequency of 200 Hz the constant L is equal to 0.85. Once this new value for the transmit filtered signal (TFIL) is calculated it is stored in DSP 104 in memory for later comparisons.
The transmit signal magnitude (TMAG) is equal to the absolute value of TFIL.
Still referring to FIG. 3, block 303 calculates a new transmit EMP (TEMP) as defined above. TEMP is calculated by passing TMAG through a DSP 104 software low pass filter, which emulates the following equation:

TEMP = K x TMAG + ((1 - K) x Old TEMP) The constant K determines the cut off frequency (f3db) of the low pass filter. In this interpretation, which uses an absolute value signal (TMAG), the constant K determines the number of past signal samples involved in the calculation of the short term signal energy. The constant K is equal to the reciprocal of the desired time constant times the sampling frequency. In our application, we are using a time constant of 16 milliseconds for the short term energy.
Supplying a time constant of 16 milliseconds to the calculation gives a value for K equivalent to 0.0078125.
Likewise, 1 - K is equivalent to 0.9921875. These two constants are then used to determine the new TEMP value which is stored in memory to be used in later siqnal ~5 comparisons.
Blocks numbered 304-309 determine a new value for the minimum EMP (MEMP). MEMP is used as an indication of the background noise level of the transmit signal appearing on line 108 (FIG. 1). This background noise level is used in the determination of whether a transmit signal (inputted signal~ is speech or non-speech.
The actual calculation of MEMP is as follows. At box 304 a comparison is made between the current transmit EMP (TEMP) and a fixed maximum noise level (MNL) to provide an approximate indication of whether the transmit signal ~ .~

121~54~

inputted via line 108 is speech or noise. MNL is to equivalent to a signal level of -43 dbm which corresponds to a noise level of 47 dBrnCo. If TEMP is greater than this maximum noise level, it is assumed that the inputted transmit signal is not background noise but a valid signal, and therefore the 'no' path out of block 304 is taken and MEMP is not updated.
If the transmit EMP (TEMP) is less than this maximum noise level, it is assumed that the input ~ignal is most likely background noise and the 'yes' path is taken to block 305.
In block 305, if the calculated TEMP is less than the calculated MEMP the yes path i5 taken and the current MEMP is updated in memory to be equivalent to the calculated value of TEMP at box 306.
At block 308, a test is made to ensure that the minimum EMP does not fall below a fixed minimum value (MMEMP) equal to a constant of 33. If the current value of MEMP is less than this minimum threshold value (MMEMP), MEMP is set to equal the minimum value at box 309.
Returning to box 305, if TEMP is greater than MEMP the program takes the no path to box 307 where MEMP is increased, which signifies that the transmit energy level (TEMP) is greater than what the program considers to be the current minimum energy level (MEMP). This may be due to switching of an echo suppressor located in the external network. At block 307 the program adjust MEMP upward to reach a level corresponding to the new background noise level. The upward adjust.~ent is accounted for in box 307 as follows:
MEMP = Q x Old MEMP

where Q equals 1.00011514 for an adjustment rate of 4 db/sec.
Since MEMP is allowed to adapt in the presence of weak speech signals there exists the possibility of MEMP
.~,, ~2~

adapting to the point of cutting off weak talkers. Two factors help minimize this problem however. First, intersyllable holdover reduces chopping at the end of weak syllables, and second, intersyllable pauses cause MEMP to drop instantly. In practice, it was obs~rved that MEMP
does not drift upward appreciably during weak speech with the current adaptation rate of 4 db/second.
Block 4 of FIG. 2 is detailed in FIG. 4 where the program calculates new receive variables (RFIL, RMAG and REMP) in a manner similar to those used to calculate transmit parameters (TFIL, TMAG and TEMP) for the transmit side.
At block 400, the program waits for a receive signal sample from multiplexer 150 via bus ln7 (FIG. 1).
At block 401 the receive signal sample is converted from a ~-255 encoding to a linear representation and processed by a software digital high pass filter having a f3db of 200 Hz to obtain a new filtered receive signal value (RFIL). RMAG
is set equal to the absolute value of RFIL.
Next a calculation of the receive signal short term energy (REMP) is made at block 402. The REMP
calculation corresponds to that implemented for the transmit side (FIG. 3) with the same 16 millisecond time constant. Once the new values of RFIL, RMAG and REMP have been determined, it is necessary to determine a value for the expected echo energy.
Blocks 403-414 are used to calculate a delayed receive signal energy (SRECV) parameter. Since EC 103 can compensate for echo paths of up to 16 milliseconds, a software delay line consisting of 4 samples is used, in which each sample represents the maximum value of REMP over a 4 millisecond window.
- At box 403 a comparison is made to decide if the current REMP is greater than the priorly stored maximum REMP value for the current 4 millisecond window (R0). If REMP i5 greater than R0, R0 is updated to equal REMP at ~2~5~

block 404, otherwise, block 404 is bypassed leaving the value of R0 as the maximum RE~P value for this millisecond window.
At block 405 a comparison between REMP and the current output of the delay line (S~ECV) is made. Since an echo could be considerably less than 16 milliseconds, if the current REMP is greater than the current SRECV, SRECV
is updated to equal the current REMP at block 406. In this manner, the stretch receive output (SRECV) is the maximum worst case expected echo.
Briefly referring to FIG. 5, there is shown a representation of a stretch receive signal (SRECV~ in which the contoured line (b) represents a REMP signal during a passage of initial quiet through some speech activity and back to quiet again. The straight line segments (c) represent the expected echo or SRECV. It can be seen that peak values ~a) are held over during the 16 millisecond window, that is, the longest echo path considered. After 16 milliseconds, SRECV slowly drifts downward (c3 following the decrease in REMP. Thus, any increase in REMP is reflected immediately in the output of the delay line (SRECV), whereas a decrease in REMP is delayed by the 16 milliseconds.
R~turning to FIG. 4, the 16 millisecond delay line is implemented in boxes 407-414 in the following mannerO At block 407 a count is maintained which represents how far the program i5 into a 4 millisecond window. After decrementing the counter (GCNT), a test is made to see whether the counter has reached zero at block 408. If the count has not reached zero, the program passes to the end of the routine. However, if the count has reached zero (representing the end of the current 4 millisecond window) the values in the delay line (R0, Rl, R2, R3) are shifted. This is first shown in box 409 by updating SRECV signal to be the maximum of either the previous signal in the delay line, R3, or the current input to the delay line which is R0.

., lZ~

Next, in box 410, the fourth value in the delay line, R3, is set equivalent to the maximum of the previous value R2 or the initial value R0. Similarly, at block 411 R2 is updated. Thus, if R0 exceeds R2, R3 or SRECV in the delay line during these calculations that value in the delay line is set to the value of R0. Therefore, an increasing REMP is propagated through the delay line when values in the delay line are updated.
At blocks ~12 and 413, the value of Rl is set to R0, and R0 is set to the current REMP level to be used as the initial estimation of the maximum REMP for the next 4 millisecond window. Finally, at box 414, the software counter (GCNT) is reinitialized to a full 4 millisecond count. Upon exiting FIG. 4, the DSP pro~ram illustrated in FIG. 2 is prepared to start the actual calculation and determination as to whether a transmit signal is speech or non-speech commencing with block 6 of FI5. 2.
Block 6 of FIG. 2 is detailed in FIG. 6 and shows the program steps for calculating a near-end active (NEA) flag by comparing the transmit and receive parameters calculated above. The comparisons (tests) determine whether a transmit signal is eith~r speech originated by a conferee connected to bus 108, noise or echo. Thus, near-end active (NEA) equaling the value one represents a transmit signal as being true conferee speech, a value of NEA equal to zero represents the signal as being either noise or echo.
Referring to FIG. 6, block 601 is a comparison between the transmit energy level (TEMP) and the estimated echo energy level. The echo energy level consists of the stretch receive signal (SRECV) minus a minimum return loss (MRL). The minimum return loss (MRL) having a value of
2~ db represents the program's estimation of the worst case return loss to be expected between the receive path returning to the conferee and the transmit path from the conferee. The presence of echo cancellor 103 ensures an MRL value of 24 db. Without echo cancellor 103, a return ~2~L~S~l loss as low as 0 db is possible. Thus, the calculation of NEA is greatly affected by the presence or absence of echo cancellor 103 when differentiating between conferee speech signals and echo signals.
If the transmit energy (TEMP) is not greater than the expected echo energy (SRECV - MRL), the program transfers to block 605 and sets near-end active (NEA) equal to 0 indicating that a transmit signal is not conferee speech.
On the other hand, if the transmit energy is greater than the expected echo energy, the program proceeds to block 602 where the program compares transmit parameters to determine whether the transmit signal has speech characteristics. The first comparison takes the magnitude of the transmit signal (TMAG) and determines whet-ner it is greater than 10 times MEMP. Thus, if the instantaneous magnitude of the transmit signal is greater than 10 times our estimation of the background noise level, the program passes to block 606 and sets near-end active (NEA) equal to one indicating that a transmit signal represents true speech.
At block 603, the program compares transmit EMP
(TEMP) and twice the minimum EMP (MEMP) . In this way, the program determine~ whether the transmit energy level is twice the background noise level. This comparison is useful for det~cting the application of tone signals since the instantaneous magnitude of tone signals may not be sufficient to trigger the previous detector in 602, but may be of sufficient energy to trigger the detector in 603.
If, as before, the detector at block 603 decides that the signal is speecn, the yes path to block 606 is taken and the near-end active (NEA) is set to one. If the test at block 603 fails, the program falls through to block 604 and a final comparison between TEMP and a maximum noise level (MNL) is made. The maximum noise level (MNL) is selected to represent a noise level not expected to be achieved on any in-service trunk or station and is set at .~.' '~

`` ~Z~5~

the 47 dsrnCo level. Any signal that exceeds a level of 47 dBrnCo is assumed to be speech and near-end active is set equal to one at block 605. Upon exiting either block 605 or block 606, the program has determined the current value for the near-end active (NEA) and falls through to block 7 of FIG. 2 in order to calculate a new tr~nk needs service (TNS) signal.
Referring to FIG. 7, there is shown a state diagram to better illustrate the ~peration of block 7 of FIG. 2 in the program. FIG. 7 represents a three state'~achine to derive a value for the trunk needs service (TNS) parameter.
Basically, the program operates in one of three states depending on the time that the program has been in a current state and the current value of near-end active (NEA). TNS is a delayed version o the near-end active ~NEA) parameter for bridging intersyllable gaps to avoid chopping (abruptly terminating~ weak speech signals. The TNS signal is also used as a holdover at the end of words (speech signals) to eliminate clipping the tail ends of words, particularly if the end of a word is an unvoiced sound.
The state machine illustrated in FIG. 7 is implemented as follows.
In the idle state 700, a station connected to circuit lO0-1 via line 108 (FIG. l) is not active and transmit signals are considered to be either noise or echo.
The program remains in sta~e 700 or as long as the near-end active parameter is e~ual to zero. When near-end - active is found to be a one (speech detected) the program initializes a holdover counter (HOCNT) to zero and transfers to check state 701. At state 701, the program has noted that a trunk connected to line 108 (FIG. l) is active and starts the holdover count as a means of gauging how long it re~ains in state 701. During each iteration of the program li.e., transmit sample received) the program increments the holdover count.

,.,:,~

- ~Z~¢~5~

Referring to the diagram at the top of FIG. 7, while in the check state 701, the program first goes through a wait period of 16 milliseconds. During the wait period, no test of the near-end active signal is made.
Once the wait period has been completed, the program enters a check period representative of state 701.
~ uring the check period, if near-end active is found to be equal to 1, again representing further activity on line 108, the program enters the holdover state 702.
The program remains in state 702 for as long as NEA equals 1 and for 300 milliseconds after the occurrence of the latest near-end active activity.
Briefl~ returning to state 70l, if the program passes through the 16 millisecond check period without a second occurrence of near-end active the program returns to state 700. In this respect, if a noise spike on line 108 (FIG. 1) causes near-end active to be equal to one for a single sample period, the program will transfer from state 700 to state 701, but only for a maximum period of 32 milliseconds at which time it returns to idle state 700 and waits for further occurrences of near-end active.
Upon completing the TNS determination the program shown in FIG~ 2 falls through to block 8 to calculate a new peak EMP (PEMP) value.
FIG. 8 is a detailed flow diagram of block 8 of FIG. 2 in which the DSP 104 program calculates a new PEMP, which is usçd to estimate the speaker level. At block 801 a comparison is made to decide whether the current tra~smit signal is speech or non-speech by noting the value of near-end active (NEA). If NEA is not equal to a 1 the current transmit signal is not speech and the program transfers out of FIG~ 8. If NEA is equal to 1, the signal is speech and, therefore, TEMP represents a speaker energy level.
The program proceeds to block 802 where a comparison between TEMP and PEMP is made. If TEMP is greater than the current PEMP, the program proceeds to ~Z~54~

block 804 to adjust the current PEMP upward, whereas if TEMP is less than the current PEMP, the program proceeds to block 803 to adjust the current PEMP downward.
In both cases, the new value for peak EMP (PEMP) is calculated by multiplying the prior value of PEMP by a constant Q having a value close to one. As mentioned above with respect to the calculation of MEMP, this procedure allows adjustments to PEMP to be defined in decibels per second.
The current values of Q are such that PEMP
increases at a 2 db/second rate as well as decreases at a 2 db/second rate. As will be discussed shortly, the PEMP
adjustment rate determines the rate at which automatic gain changes are made on the transmit speech signal. It is well known that the human ear does ~ot perceive a discontinuity when gain changes are in the neighborhood of 2 to 4 db/second. This has been shown to be true in our experimentation with the invention disclosed herein.
Once a new PEMP value is established, the program proceeds to block 9 of FIG. 2 to calculate a HOLD value.
Block 9 of FIG. 2 is detail~d in FIG. 9 and proceeds as follows.
The HOLD flag represents a determination of whether the transmit signal is speech originating from the last conferee to speak. As shown in block 901, a test of TNS is made and if TNS does not equal IDLE, then HOLD is set to a 1 (block 903) as a means of noting that DSP 104 is processing speech signals. If the trunk connecting to line 108 (FIG. 1) is not active, (TNS = IDLE), then the program proceeds to block g02 and performs a second test. At block 902, the program compares the receive signal EMP (REMP) with a minlm~m speech level constant (MSL). Thus, by comparing REMP with some fixed level (MSL), the program emulates a crude fixed threshold speech detector that determines whether a second conferee in the conference is speaking.
~ ,.p~, ~,~,A.

~- ~z~

Still referring to FIG. 9, if REMP is greater than MSL the program proceeds to block 904 where HOLD is set to zero as an indication that the line circuit, such as circuit 100-l of FIG. 1, is not active nor is it the last talker. Thus, at the end of the routine shown in FIG~ 9 if the HOLD flag is equal to a one, the DSP program has determined that either transmit voice signals are being received or that transmit voice had been received and no other conferee has started speaking (last talker holdover mode)c If HOLD equals zero the program has determined that transmit voice signals are not being received and that another conferee is speaking.
FIG. 10 is a detailed flow diagram of block 10 of FIG. 2 in which at block 1001 a test on the current HOLD
flag is made. If the value of HOLD is zero (which indica~es that the circuit should not bP active) the program proceeds to block 1003 where the talker level (TLEV) is set equal to zero. If the value of HOLD equals one (which signifies that DSP 140 is processing speech signals or that a last talker holdover mode has been established) the talker level is set equal to the current peak EMP (PEMP)~ The new talker level (TLEV) represents the speech level of the conferee connecting to line 108. A
speech signal level of zero has significance since it represents the absence of speech signals on line 108 and activity on another line in the conference.
At block 1004, the program calculates an estimation of the speaker level by converting the linear encoded talker level (TLEV) into a ~ 255 compressed code.
The ~ 255 encoding technique is linear for very small signals but is approximately logarithmic for larger signals. Thus, the estimation of the speaker level (SLEV) is approximately the log of the talker level and represents an estimation of the speech level of a talker similar to that`represented by a volume unit or VU meter.
Once a speaker level (SLEV) is determined, it is used as an index into a special gain table (not shown) to .

' 4~L

obtain an output gain value (OGAIN). Because the speaker level (SLEV) is implemented as a ~ 255 value, the gain table is much smaller than if the talker level (TL~V) were simply used in its linear form. In addition, the gain table is approximately logarithmic, that is, the difference from one table entry to the next corresponds to about 0.5 db change in the level of the speaker on that line.
Thus, entries in the table are selected in a fashion ~o modify the transmit signal with the appropriate gain. The gain table as implemented is a segmentized representation of the input/output gain map shown in FIG. 11. For example, if the input speaker level is at a value of -15 dbm, the output signal level will be modified by a gain o~ zero thus transmitting a signal of -15 dbm, whereas if the input signal is much weaker, say -30 dbm the output signal will be modified by a gain of +10 db and actually be outputted at -20 dbm. In a similar mannert if the input signal is 0 dbm the output signal will be -10 dbm.
Therefore, a -15 dbm signal will not be modified since that signal level represents the average speaker level in a conference connection. A speech level lower than -15 dbm will have gain added to t~e signal, up to a maximum of 10 db gain across a 15 db range~ ThuS, as a speaker becomes softer up to a maximum gain of 10 db is applied.
Similarly, as the speaker level increases, a negative gain (actually a loss) is inserted so as to bring the loud speaker closer to the average speaker level.
The value of 10 db of gain is assumed to be the maximum amount of gain that the speech treatment arrangement could apply in a conferencing environment and still maintain stability.
Returning to FIG. 10, block 1005 calculates an output gain value (OGAIN) using the gain table stored in ~ DSP 104 memory~ The ~ 255 encoding takes a linear TLEV
value and converts it into a signed 8 bit SLEV quantity.
Of the 8 bits the first bit is a sign bit and the 7 remaining bits are used to address the 128 entries of the .~

~Z~L~5~1 gain table. As mentioned previously, each entry in the gain table corresponds to a given speech level with the difference between entries being approximately 0.5 db.
Once the output gain is determined, it is used tG modify the transmitted signal and generate the output of DSP 104 to bus 106~
Note that a talker level (TLEV) equal to zero causes a unique value to be selected from the gain table.
That is the ~ 255 encoding of ~ero provides a unique speech level (SLEV) value. This unique value is used to enter the gain table and obtain a unique gain value corresponding to a loss of 20 db. Thus, whenever a talker level (TLEV) of 7ero is used, a loss of 20 db is inserted in the transmit path. The loss of 20 db is selected when speech is not detected on line 108 and speech is detected on bus 107 as detenmined by the HOLD flag. Thus, only the conferees speaking or the conferee who last spoke will have a talker level (TLEV) representing their current peak EMP (PEMP).
The talker level (TLEV) of non-speaking conferees in the conference will be set to a level of zero by block 1003 and have a loss of 20 db put on their respective output signal (106).
Returning to FIG. 2, block 12 calculates a new adapt parameter which is an on or off signal supplied to echo cancellor 103. The adapt signal prevents echo cancellor 103 from adapting to pure tone signals. ThiS is necessary since an echo cancellor may allow instability to occur if it adapts to pure tones present on line 10~.
Thus, DSP 104 monitors the receive path and differentiates between pure tone and wideband signals and sets lead 105 to a logic one state during the presence of wideband signals thereby allowing echo cancellor 103 to adapt to these signals only. The adaption processes represented by block 12 of FIG. 2 provides a holdover time of 30 milliseconds to provide the echo cancellor with a stable signal.
once the program completes processing in block 12 (FIG. l), it transfers to block 3 and waits for a new ,~

~Z~54~

transmit signal to be inputted to DSP 104 and proceeds as disclosed above.
_ nclusion It is obvious to one skilled in the art that the invention disclosed herein is not limited to the ~mbodiment disclosed in the accompanying drawing and foregoing detailed description, but can be arranged through the substitution, addition and/or deletion of components and func~ion without departing from the scope and spirit of the invention.
For example, echo cancellor 103 may be comprised of two cascaded echo cancellors to increase the echo return path from 16 milliseconds to 32 milliseconds. Also, the gain table disclosed herein may be revised so that the increment between adjacent entries is greater than or less than the 0.5 db increment disclosed herein. Further, the gain table may be constructed to be compatible with other encoding formats in place of the ~255 format disclosed herein or the specific gain values used may be different.
Still further, the values of constant parameters such as MNL, MMEMP, MRL or MSL as well as the time constants and adjustment rates disclosed herein may be changed to suit other applications of the invention.

Claims (14)

Claims:
1. A speech conditioning arrangement adapted for use in a transmission line having a transmit channel for receiving signals from a first conferee and a receive channel for receiving signals from at least one other conferee comprising:
means for identifying signals contained on said transmit channel as being either transmit speech signals or transmit nonspeech signals, and means for adjusting the level of said transmit speech signals and said transmit nonspeech signals and for supplying the resulting signals to said transmit channel, the level of said transmit nonspeech signals being adjusted to the level of transmit speech signals priorly supplied to said transmit channel when said first conferee was the last of said conferees to speak.
2. The invention set forth in claim 1 wherein said speech conditioning arrangement further comprises means for cancelling echo signals present on said transmit channel.
3. The invention set forth in claim 2 wherein said transmit channel speech detector includes means for deriving a representation of the average energy value of the signals contained on said transmit channel, said identification of said transmit speech signals and said transmit nonspeech signals being made in response to said representation.
4. The invention set forth in claim 3 wherein said transmit channel speech detector further includes means for deriving a peak energy value from said average energy value, said peak energy value being adapted to the value of said average energy value at a predetermined rate, said adjusting means adjusting the level of said transmit speech signals as a function of said peak energy value.
5. The invention set forth in claim 1 wherein said adjusting means includes means for adjusting said transmit nonspeech signals to a predetermined level when said at least one other conferee is speaking or was the last to speak.
6. A signal conditioning circuit adapted for use in a transmission line having a transmit channel for receiving signals from a conferee and a receive channel for receiving signals from at least one other conferee comprising:
means for identifying signals contained on said transmit channel as being either transmit speech signals or transmit nonspeech signals, and means for adjusting the level of said transmit speech signals and said transmit nonspeech signals and for supplying the resulting signals to said transmit channel, the level of said transmit nonspeech signals being adjusted to a predetermined level when said other conferee is speaking or was the last to speak and being adjusted to the level of transmit speech signals priorly supplied to said transmit channel when said transmit channel conferee was the last to speak.
7. The invention set forth in claim 6 wherein said signal conditioning circuit further includes means for cancelling echo signals appearing on said transmit channel.
8. The invention set forth in claim 6 wherein said identifying means includes a speech detector.
9. The invention set forth in claim 8 wherein said identifying means further includes means for deriving a representation of the average energy value of the signals contained on said transmit channel, said identification of said transmit speech signals and nonspeech signals being made in response to said representation.
10. The invention set forth in claim 9 wherein said identifying means further includes means for deriving a peak energy value from said average energy value, said peak energy value being adapted to the value of said average energy value at a predetermined rate; said adjusting means adjusting the level of said transmit speech signals as a function of said peak energy value.
11. In a conferencing system in which speech signals from a group of conferees are summed by a conferencing circuit during a first frame and in which the summation is distributed to each conferee, less the conferee's sample contribution, during a next frame, a signal conditioning arrangement adapted for use in said conferencing system for treating a respective conferee's speech signals and nonspeech signals prior to said summation, comprising:
a transmit channel and a receive channel, means for identifying signals contained on said transmit channel as being either conferee speech signals or nonspeech signals, means for identifying summation signals contained on said receive channel as being either speech signals or nonspeech signals, and means for adjusting the level of said conferee speech signals and conferee nonspeech signals and for supplying the resulting signals to said conferencing circuit, the level of said conferee nonspeech signals being adjusted to the level of conferee speech signals priorly supplied to said conference circuit when said summation signals are identified as being nonspeech signals and said conferee nonspeech signals follow said conferee speech signals.
12. The invention set forth in claim 11 wherein said signal conditioning arrangement further comprises, means for cancelling echo signals when they are on said transmit channel.
13. The invention set forth in claim 11 wherein said transmit identifying means includes a speech detector and said receive identifying means includes a speech detector.
14. A method of treating speech signals, said method adapted for use in a conferencing system having a transmit channel for receiving signals from a conferee and a receive channel, comprising the steps of:
identifying signals contained on said transmit channel as being either transmit speech signals or transmit nonspeech signals, and adjusting the level of said transmit speech signals and nonspeech signals and supplying the resulting signals to said conferencing system, said adjusting step including the step of adjusting the level of said transmit nonspeech signals to the level of transmit speech signals priorly supplied to said conferencing system when said transmit channel conferee was the last to speak.
CA000454586A 1983-06-16 1984-05-17 Conferencing system adaptive signal conditioner Expired CA1210541A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/505,106 US4535445A (en) 1983-06-16 1983-06-16 Conferencing system adaptive signal conditioner
US505,106 1983-06-16

Publications (1)

Publication Number Publication Date
CA1210541A true CA1210541A (en) 1986-08-26

Family

ID=24009049

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000454586A Expired CA1210541A (en) 1983-06-16 1984-05-17 Conferencing system adaptive signal conditioner

Country Status (3)

Country Link
US (1) US4535445A (en)
JP (1) JP2512418B2 (en)
CA (1) CA1210541A (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3427303A1 (en) * 1984-07-20 1986-01-30 Siemens AG, 1000 Berlin und 8000 München CONFERENCE CIRCUIT FOR DIGITAL COMMUNICATION SYSTEMS
US4603417A (en) * 1984-10-09 1986-07-29 Hitachi, Ltd. PCM coder and decoder
JPH0638621B2 (en) * 1985-03-01 1994-05-18 日本電気株式会社 Voice addition and distribution device
GB2177874B (en) * 1985-07-19 1989-01-18 Stc Plc Conference circuit
US5420860A (en) * 1990-06-18 1995-05-30 Intelect, Inc. Volume control for digital communication system
US5195132B1 (en) * 1990-12-03 1996-03-19 At & T Bell Lab Telephone network speech signal enhancement
US5471527A (en) 1993-12-02 1995-11-28 Dsc Communications Corporation Voice enhancement system and method
US5844994A (en) * 1995-08-28 1998-12-01 Intel Corporation Automatic microphone calibration for video teleconferencing
US5809463A (en) * 1995-09-15 1998-09-15 Hughes Electronics Method of detecting double talk in an echo canceller
US5802164A (en) * 1995-12-22 1998-09-01 At&T Corp Systems and methods for controlling telephone sound enhancement on a per call basis
US5848146A (en) * 1996-05-10 1998-12-08 Rane Corporation Audio system for conferencing/presentation room
US6002762A (en) * 1996-09-30 1999-12-14 At&T Corp Method and apparatus for making nonintrusive noise and speech level measurements on voice calls
US5793864A (en) * 1996-12-12 1998-08-11 At&T Corp. Nonintrusive measurement of echo power and echo path delay present on a transmission path
US6011952A (en) * 1998-01-20 2000-01-04 Viasat, Inc. Self-interference cancellation for relayed communication networks
US7263074B2 (en) * 1999-12-09 2007-08-28 Broadcom Corporation Voice activity detection based on far-end and near-end statistics
US6859641B2 (en) * 2001-06-21 2005-02-22 Applied Signal Technology, Inc. Adaptive canceller for frequency reuse systems
US6907093B2 (en) * 2001-08-08 2005-06-14 Viasat, Inc. Method and apparatus for relayed communication using band-pass signals for self-interference cancellation
US6725017B2 (en) 2001-12-05 2004-04-20 Viasat, Inc. Multi-channel self-interference cancellation method and apparatus for relayed communication
JP3984842B2 (en) * 2002-03-12 2007-10-03 松下電器産業株式会社 Howling control device
US20060136200A1 (en) * 2004-12-22 2006-06-22 Rhemtulla Amin F Intelligent active talker level control
US9984675B2 (en) * 2013-05-24 2018-05-29 Google Technology Holdings LLC Voice controlled audio recording system with adjustable beamforming

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3649766A (en) * 1969-12-01 1972-03-14 Bell Telephone Labor Inc Digital speech detection system
FR2157143A5 (en) * 1971-10-19 1973-06-01 Queffeulou Jean Yves
US4028496A (en) * 1976-08-17 1977-06-07 Bell Telephone Laboratories, Incorporated Digital speech detector
US4167653A (en) * 1977-04-15 1979-09-11 Nippon Electric Company, Ltd. Adaptive speech signal detector
US4197429A (en) * 1978-07-17 1980-04-08 Bell Telephone Laboratories, Incorporated Gain-adjusting conference circuit
US4351983A (en) * 1979-03-05 1982-09-28 International Business Machines Corp. Speech detector with variable threshold
US4274155A (en) * 1979-08-06 1981-06-16 Gte Automatic Electric Laboratories Inc. Multiport conference circuit with multi-frame summing and voice level coding
US4281218A (en) * 1979-10-26 1981-07-28 Bell Telephone Laboratories, Incorporated Speech-nonspeech detector-classifier
US4288871A (en) * 1979-11-05 1981-09-08 Bell Telephone Laboratories, Incorporated Digital loop conferencing signal correction arrangement
US4300231A (en) * 1979-12-31 1981-11-10 Bell Telephone Laboratories, Incorporated Digital system error correction arrangement
US4277645A (en) * 1980-01-25 1981-07-07 Bell Telephone Laboratories, Incorporated Multiple variable threshold speech detector
DE3005162A1 (en) * 1980-02-12 1981-08-20 Siemens AG, 1000 Berlin und 8000 München METHOD FOR INPUTING HIGH TONES IN CONFERENCE CONNECTIONS
US4387457A (en) * 1981-06-12 1983-06-07 Northern Telecom Limited Digital conference circuit and method
GB2110057B (en) * 1981-10-22 1986-06-25 Bloomfield James Warman Improvements in and relating to telephone conference amplifiers, and telephone conference bridges incorporating the same

Also Published As

Publication number Publication date
US4535445A (en) 1985-08-13
JPS6012852A (en) 1985-01-23
JP2512418B2 (en) 1996-07-03

Similar Documents

Publication Publication Date Title
CA1210541A (en) Conferencing system adaptive signal conditioner
US6526140B1 (en) Consolidated voice activity detection and noise estimation
US4712235A (en) Method and apparatus for improved control and time sharing of an echo canceller
US5646991A (en) Noise replacement system and method in an echo canceller
US6889187B2 (en) Method and apparatus for improved voice activity detection in a packet voice network
US4499578A (en) Method and apparatus for controlling signal level in a digital conference arrangement
US7558729B1 (en) Music detection for enhancing echo cancellation and speech coding
US8290141B2 (en) Techniques for comfort noise generation in a communication system
US5390244A (en) Method and apparatus for periodic signal detection
US4897832A (en) Digital speech interpolation system and speech detector
AU596333B2 (en) Technique for improved subjective performance in a communication system using attenuated noise-fill
US4571461A (en) Conference telephone apparatus
EP1958341A2 (en) Echo detection
US6834108B1 (en) Method for improving acoustic noise attenuation in hand-free devices
US20010006511A1 (en) Process for coordinated echo- and/or noise reduction
US6178162B1 (en) Method and apparatus for inhibiting echo in a channel of a communication system
US20120155655A1 (en) Music detection based on pause analysis
CN1780165B (en) Echo eliminator and elimination method
CA2149604C (en) Method and apparatus for estimating and adjusting the frequency response of telecommunications channels
US6744885B1 (en) ASR talkoff suppressor
GB2410661A (en) Narrow band tone detection in echo cancelling system
JPH01183232A (en) Presence-of-speech detection device
KANG et al. A new post-filtering algorithm for residual acoustic echo cancellation in hands-free mobile application
WO1994000944A1 (en) Method and apparatus for ringer detection
J Jones Echo control techniques in public switched telephone networks

Legal Events

Date Code Title Description
MKEX Expiry