Double talk detector, method for double talk detection and device incorporating such a detector

A double talk detector for detecting double talk situations in a device capable of two-way voice communication. The double talk detector comprises means (2, I) for receiving a speech signal (3, 5; 30, 50), and means (82, 83) for dividing the speech signal (30, 50) into subsignals representing specific frequency bands. A detection is performed (84, 85, 86) for each subsignal, and subdecision signals are calculated (87) on the basis of the detection. The subdecision signals indicate existence of double talk in the respective subsignals. A final decision signal is calculated (89, 90, 91) as a double talk decision signal DTD for the speech signal on the basis of the subdecision signals.

FIELD OF THE INVENTION
 The present invention relates to a method for double talk detection and a
 double talk detector, especially adapted to be used with or in an echo
 canceller, for detecting double talk situations in a device capable of
 two-way voice communication, the double talk detector comprising means for
 receiving a speech signal, means for dividing the speech signal into
 subsignals representing specific frequency bands, means for performing a
 detection for each subsignal, and means for calculating subdecision
 signals on the basis of the detection, the subdecision signal indicating
 existence of double talk in the respective subsignals. The invention also
 relates to a device incorporating such a double talk detector.
 BACKGROUND OF THE INVENTION
 Telephone communication is often disturbed by echo. This especially applies
 to full-duplex telephones which have four possible modes of operation:
 idle, near-speech, far-speech, and double-talk. Echo usually occurs in
 far-speech situations, when the received far-end signal reproduced by the
 speaker is caught by the microphone and thereby returns to far-end. A
 full-duplex telephone requires adaptive signal processing techniques to
 cancel acoustic feedback or echo. A known approach to avoid disturbing
 echo is to use an echo canceller or echo suppressor. Echo cancellers which
 are well known in the telephone communications environment usually employ
 a form of an adaptive digital filter. The echo canceller typically
 functions to disable the outgoing path from a phone when a signal from the
 far-end (speech received by the phone) appears on the incoming path.
 Therefore, echoes due to incoming signals on the receive path are
 prevented from returning to far-end over the outgoing path. Echo
 cancellation is usually implemented so that the parameters of the adaptive
 filter performing the echo cancellation are updated whenever far-end
 speech occurs in order to achieve echo cancellation as accurate as
 possible for each situation.
 Double talking refers to the condition when the near end subscriber (the
 user of the phone) and the far-end subscriber talk simultaneously. When
 both parties talk simultaneously, i.e. during double talk, the echo
 canceller is no longer able to effectively block echo signals. This is
 because the echo signals are included in the near-end subscriber's signals
 to be transmitted, i.e. a desired signal to be transmitted and an echo
 signal are simultaneously applied to the send input. The super-positioning
 of these signals causes distortion of the adjustment of the echo canceller
 when it considers both the echo signal and the desired signal to be
 transmitted. This means that the replica produced by the echo canceller no
 longer sufficiently cancels the current echo signal. Accordingly, it is a
 current practice to provide a double talk detector for preventing the
 disturbing influence of double talk on echo canceller adjustment. This
 means that the parameters of the adaptive filter performing the echo
 cancellation are not updated during double talk. Echo and double talk are
 problems especially in speaker phones and in phones with hands-free
 equipment in which the far-end signal from the speaker is captured by the
 microphone.
 Prior art echo suppressors include double talk detectors which distinguish
 between near-end speech, i.e. speech signals generated on the outgoing
 path by the near-end subscriber, and echo signals returning on the
 outgoing path due to far-end subscriber speech signals on the incoming
 path. If the outgoing path signal exceeds the incoming path signal it is
 assumed that the near-end subscriber is transmitting and the echo
 suppression is disabled. When the opposite condition occurs it is assumed
 that the near-end subscriber is not transmitting and the echo is
 suppressed.
 FIG. 1 shows a block diagram of a phone comprising an echo canceller 1
 known from prior art. The near-end signal 3 comes from the microphone 2
 and is detected by a near-end voice activity detector 4 (VAD, Voice
 Activity Detector).
 The far-end signal 5 comes from an input connection I of the phone (e.g.
 wire connection in wire phones and from air interface/antenna to reception
 branch in a mobile phone) and is detected by a far-end voice activity
 detector 6 and is finally output by the speaker 7. Both near-end signal 3
 and far-end signal 5 are fed to a double talk detector 8 for double talk
 detection and to an adaptive filter 9 for performing echo cancelling. The
 adaptive filter 9 also receives the output of the double talk detector 8
 in order to avoid adaptation of the filter during double talk. The
 adaptive filter 9 outputs a signal 10 which is subtracted from the
 near-end signal 3 in a summing/subtracting means 11 for cancelling echo
 and getting an echo cancelled output signal 12, which is forwarded to
 output connection 0 (e.g. wire connection in wire phones and from
 transmission branch to air interface/antenna in a mobile phone). The
 operation principle used is that the double-talk detector 8 needs the
 information of far-end speaker active and so it works only when there is
 far-end speech 5 and it is quite easy to detect if there is only far-end 5
 or only near-end 3 speech. The adaptive filter 9 is controlled by
 double-talk, near-end and far-end detectors 8, 4 and 6. If there is
 double-talk, the coefficients of the adaptive filter 9 are frozen. The
 device of FIG. 1 could as well be a hands-free equipment with speaker,
 microphone, input and output connectors to a telephone device and the echo
 canceller situated in the hands-free device.
 In European patent publication EP-B1-0 053 202 double talk detection is
 based on three detectors. A first detector compares the amplitude of the
 near-end signal before adaptation with the amplitude of the near-end
 signal after adaptation resulting in a first amplitude ratio. A second
 detector compares the amplitude of the near-end signal with the amplitude
 of the far-end signal resulting in a second amplitude ratio and a third
 detector compares the amplitude of the near-end signal before adaptation
 with the amplitude of the far-end signal resulting in a third amplitude
 ratio. The outputs of each detector are combined to make a common
 decision. The outputs are the above mentioned amplitude ratios taken over
 the entire frequency band. A drawback of this solution is that the result
 of adaptation affects the double talk detection so that actually a
 reliable detection is achieved only when the adaptation is false.
 European patent publication EP-A2-0 439 139 discloses a double talk
 detector in which detection is based both on a cross-correlation value
 between the incoming signal and the echo signal and on a power ratio
 between the same signals. The power ratio is calculated over the entire
 frequency band. A drawback of this solution is that the changes of the
 cross-correlation value are slow, which makes double talk detection slow.
 The cross-correlation value is an average over several speech frames. The
 faster the double talk detection is the faster the adaptation (of the
 filter performing the echo suppression) can be stopped and false
 adaptation can be avoided. Likewise, when double talk detection is slow
 more false adaptation occurs.
 European patent publication EP-A1-0 454 242 discloses an echo canceller in
 which double talk detection is performed by dividing the frequency band
 into narrower bands, i.e. into sub-channels. Then double talk detection is
 done separately for each sub-channel on the basis of the power ratio of a
 receive input signal and a send output signal. The detection result of
 each sub-channel is used only for adjustment of the adaptation of the same
 sub-channel in question. A drawback of this solution is that because the
 results are interpreted separately, a false echo cancellation result may
 be achieved if all sub-channels having double talk are not detected. Even
 if adaptation is stopped for a sub-channel in which double talk was
 detected a possibility exists that in a nearby sub-channel double talk
 exists as well, for which channel adaptation is, however, still performed
 because the double talk was not detected. That would lead to adaptation of
 the filter parameters for that sub-channel during double talk, which is
 not desired.
 SUMMARY OF THE INVENTION
 The present invention concerns a double talk detector, a double talk
 detection method and a device utilising such a double talk detector. The
 device may be a phone or any other voice communication device, an echo
 canceller or a hands-free accessory. In the present invention the far-end
 and near-end signals are divided into sub-channels by frequency. A power
 value is calculated for far-end and near-end signals for each sub-channel.
 Preferably the power value is calculated on basis of a short frame of
 samples of the signals. For each sub-channel a power ratio of far-end and
 near-end signals for the same sub-channel is calculated. According to the
 calculated power ratio a double talk decision is made for each sub-channel
 resulting in several decision signals. On the basis of the decision
 signals a final decision is made which is fed to the adaptation filter for
 adaptation of the whole frequency range. The final decision is made so
 that if predetermined part of the sub-channel decisions show double talk,
 then the final decision is double talk and accordingly adaptation over the
 entire frequency range is stopped. If less than the predetermined part of
 the sub-channel decisions show double talk, then the final decision is no
 double talk and accordingly adaptation of the filter parameters over the
 entire frequency range is performed in the same manner.
 In practice the speech signal is during short frames of speech only divided
 over a narrow frequency range, i.e. speech exists only in a few
 sub-channels. Accordingly, the present invention has the advantages that
 since double talk is detected in sub-channels (and in short speech
 frames), detection can be made more accurately in a smaller frequency
 range. Thereby detection is made in those frequencies where speech really
 exists and accordingly possible disturbances on other frequencies are
 eliminated from affecting the double talk detections in the speech
 sub-channels. Also, since the final decision is still made over the entire
 frequency range a failed detection in one sub-channel does not deteriorate
 the final double talk decision. With the present invention it is better
 assured that the filter parameters are not adapted during double talk.
 When the detection is based on short speech frames each sub-channel double
 talk decision can be made very quickly. This makes the double talk
 detector quick so false adaptation of the adaptation filter can be avoided
 more quickly. The double talk detector according to the present invention
 is independent of the result of adaptation of the filter parameters, since
 the detections do not include any values taken after the adaptation. In
 the present invention no decision tables are needed and due to a rounding
 off before making the final double talk decision the double talk detector
 is not sensitive to occasional errors for example occurring in one of the
 sub-channels.
 The double talk detector and the device according to the invention is
 characterized in that it comprises means for calculating a final decision
 signal as a double talk decision signal for the speech signal on the basis
 of the subdecision signals.
 The method according to the invention is characterized by calculating a
 final decision signal as a double talk decision signal for the speech
 signal on the basis of the subdecision signals.

DETAILED DESCRIPTION
 FIG. 2 shows a block diagram of an embodiment of a double talk detector 80
 according to the present invention. The double talk detector 80 receives
 as inputs the far-end signal 50 and near-end signal 30. In this example
 the double talk detector is digital and accordingly the analog speech
 signals are first sampled, e.g. by an A/D converter into a digital signal.
 Both near-end and far-end signals are divided into sub-channels, i.e. into
 sub-bands of the whole frequency band of speech. This is done in filter
 banks 82, 83 which as such are known to persons skilled in the art. In
 practice division is done into about 7-10 sub-channels. Also other
 solutions for dividing the signals into sub-channels can be used, e.g. FFT
 (Fast Fourier Transform). The division into sub-channels can be done
 samplewise or framewise, e.g. for every new 4 samples (frame length of 4
 samples).
 Before the frequency division in block 82 the far-end signal 50 is delayed
 in a delay means 81. Due to acoustic delay the far-end signal is delayed
 in order to have the far-end signal and near-end signal (the echo) in the
 same phase. The delay can be taken into account by estimating what delay
 arises when the speaker signal travels (in air) from the speaker to the
 microphone. For the example it is assumed that the distance between the
 speaker 7 and the microphone 2 is 1 meter (e.g. in hands-free equipment)
 and samples are taken from the signals at a rate of 8000 Hz. Sound travels
 in air (in a temperature of 20.degree. C.) with a speed of 343 m/s. This
 causes a delay of 8000/(343/1) samples between the far-end signal coming
 from the speaker and the echo signal going into the microphone, which
 means a delay of 23 samples, which in time is 2.9 ms. The delay means 81
 can be implemented e.g. by a hold circuit or buffer which holds the signal
 for the delay time specified. When implementing a telephone device as a
 speaker phone or with hands-free equipment, the distance between the
 speaker and microphone is normally known so the delay can accordingly be
 taken into account in advance. The delay improves the reliability of the
 detector by assuring that the far-end and echo signals are exactly
 synchronized.
 Following division into sub-channels a power value is calculated of the
 signals in each sub-channel. For n sub-channels the power for each far-end
 signal is calculated in blocks 84.sub.1, 84.sub.2, . . . ,84.sub.n and the
 power for each near-end signal is calculated in blocks 85.sub.1, 85.sub.2,
 . . . ,85.sub.n. Calculating the power samplewise is possible, but would
 lead to very much calculation. It is more efficient to calculate the power
 (and accordingly to detect double talk) in frames of several samples in
 order to save calculation. However, in order to achieve quick double talk
 detection the frames on which detection is performed should preferably be
 short. In the embodiment of FIG. 2 the power of each sub-channel may be
 calculated on and double talk detection performed on frames of the length
 of 24 samples. This may be achieved by collecting 24 consecutive samples
 (from the A/D converter) into frames or in parts, e.g. so that first
 smaller frames of 4 samples are formed and after 6 new smaller frames
 power is calculated and double talk detection is performed. A frame of the
 length 24 samples means in time with a sample rate of 8000 Hz the length
 of 3 ms. The shorter the frame the faster decisions can be made. Still an
 acceptable length with the sample rate of 8000 Hz could be around 100
 samples, which in time means 12.5 ms.
 Each sub-channel 1 . . . n can have 1 . . . N new samples for each
 calculated frame, where N is the number of samples in one frame (in this
 example N=24). The power can be calculated e.g. in two steps by first
 calculating a power P.sub.A of the frame in question from
 ##EQU1##
 where x.sub.i is a sample of the frame of i=1 . . . . N samples. This is
 the average power of the samples of the frame. Further, in order to get a
 more reliable result the power is further averaged by taking into account
 the previous power values, i.e. the power values of the previous frames.
 Thereby the final power value P.sub.j, i.e. power in a sub-channel at
 moment j can be calculated as P.sub.j =.alpha.*P.sub.j-1
 +(1-.alpha.)*P.sub.A where .alpha. is an averaging constant, e.g. in the
 range of 0.95. As a result a power value is achieved for each sub-channel
 for the far-end and near-end signals. These can be named as
 P.sub.j.sup.FE1, P.sub.j.sup.FE2, . . . P.sub.j.sup.FEn for far-end
 sub-channel powers and P.sub.j.sup.NE1, P.sup.NE2, . . . P.sub.j.sup.NEn
 for near-end sub-channel powers.
 The acoustic echo that is formed is affected by the media between the
 speaker 7 and microphone 2 in which the echo signal travels. The echo
 signal is accordingly the far-end signal that has been somewhat modified
 by the response of the media. Thereby the power ratio of the echo signal
 and the far-end signal is almost constant. If during far-end speech also
 near-end speech exists the power ratio changes significantly and this
 change is detected as double talk. The power ratio PR.sub.j.sup.1,
 PR.sub.j.sup.2, . . . PR.sub.j.sup.n for each sub-channel k=1 . . . n is
 calculated in blocks 86.sub.1, 86.sub.2, . . . , 86.sub.n as
 ##EQU2##
 The power ratio PR.sub.j.sup.k of each sub-channel is then compared to a
 threshold value T.sub.k in comparators 87.sub.1, 87.sub.2, . . .
 ,87.sub.n. The threshold T.sub.k, k=1 . . . n of the double-talk detector
 is defined during the breaks of double-talk. If the power ratio
 PR.sub.j.sup.k is smaller than the threshold value T.sub.k there is
 double-talk and vice versa if the power PR.sub.j.sup.k ratio is greater
 than the threshold value T.sub.k there is only acoustic echo. Also the
 output of the far-end VAD is to be taken into account. The far-end VAD 6
 is located on the far-end signal path (for the whole frequency band) as
 shown in FIG. 1 and its output is fed to blocks 88.sub.1, 88.sub.2, . . .
 , 88.sub.n. Otherwise a wrong decision might be made in situations when
 the power ratio PR.sub.j.sup.k is smaller than the threshold value
 T.sub.k. This might be the situation e.g. due to loud noise at near-end,
 whereas in such a case if simultaneously no near-end speech exists no
 double talk exists either even though the power ratio PR.sub.j.sup.k might
 be smaller than the threshold value T.sub.k. Thereby different criteria is
 achieved for the comparators 87.sub.1, 87.sub.2, . . . ,87.sub.n for
 giving an output equivalent to a double talk decision. Accordingly the
 following conditions 1)-3) arise:
 1) PR.sub.j.sup.k &lt;T.sub.k (i.e. near-end signal exists) AND far-end VAD
 signal false (i.e. no far-end speech)
 {character pullout}NO double talk situation, NO updating of threshold
 value. This i s always the case when far-end VAD signal is false, i.e.
 also in case no speech exists.
 2) PR.sub.j.sup.k &gt;T.sub.k AND far-end VAD signal true
 {character pullout}NO double talk situation, updating of threshold value
 3) PR.sub.j.sup.k &lt;T.sub.k AND far-end VAD signal true
 {character pullout}double talk situation, updating of threshold value
 In these conditions the far-end VAD signal is considered in each
 comparison. This is shown by the dashed line drawn to blocks 87.sub.1,
 87.sub.2, . . . ,87.sub.n in FIG. 2. In this case no far-end VAD decision
 would be needed for the final decision making block 91. However, a signal
 line for the far-end VAD decision signal is drawn to block 91 as well in
 order to illustrate the alternative solution of not considering the
 far-end VAD decisions in the threshold comparators 87, but only in making
 the final double talk decision. Alternatively the existence of speech at
 far-end could be recognized in another way than by using a VAD. For
 example the information of a system for discontinous transmission in which
 exact transmission and reception is known could be used to detect whether
 speech exists at far-end.
 An output indicating double talk or no double talk in the sub-channel
 signals 1 . . . n is given from the comparators 87.sub.1, 87.sub.2, . . .
 ,87.sub.n. This can be e.g. a simple bit having the value 0 if there is no
 double talk (conditions 1 and 2 above) and having the value 1 if there is
 double talk (situation 3 above).
 The threshold values T.sub.k are updated and stored in blocks 88.sub.1,
 88.sub.2, . . . ,88.sub.n according to following referring to the
 situations explained above:
 1) no updating, old value is kept
 2) T.sub.k (j)=.alpha.*T.sub.k (j-1)+(1-.alpha.)*PR.sub.j.sup.k *.beta.,
 where .alpha. is about 0.95 and .beta. is scale factor
 (0.ltoreq..beta..ltoreq.1)
 3) T.sub.k (j)=.lambda.*T.sub.k (j-1), where .lambda. is
 (0.ltoreq..lambda..ltoreq.1), but usually close to 1.
 The threshold value for the comparison is received to the comparators
 87.sub.1, 87.sub.2, . . . ,87.sub.n from blocks 88.sub.1, 88.sub.2, . . .
 ,88.sub.n. The output of each comparator is input to an adding unit 89,
 which adds up the 1s and 0s received as subdecision signals. This sum is
 fed into a level estimation block 90 which rounds off the sum in order to
 avoid too steep changes, which could be caused for example by errors. The
 level estimation block rounds off the integer received from adding block
 89 into a decimal value. The level estimation block 90 considers the
 values of previous frames. When double talk increases in consecutive
 frames the level estimation block 90 raises the value slowly, not
 suddenly. Correspondingly when double talk decreases in consecutive frames
 the output value from the level estimation block 90 is lowered slowly. For
 example, if the amount of sub-channels is 8 then the maximum possible
 value from block 89 would be 8. However, let us assume that the previous
 value from block 89 was 0 and suddenly there is double talk so that it
 outputs a value 4 to the level estimation block 90. Now the level
 estimation block 90 would e.g. output a value 2.0 and if still the
 following value from block 89 would be 4 then block 90 would output a
 value of e.g. 3.8. The level estimation block 90 may be implemented by
 software, e.g. by programming a signal processor. An example of an
 implementation of the level estimation block 90 by a software code in the
 C programming language is listed in annex 1. Alternatively the level
 estimation block 90 could be omitted so that signal from block 89 would go
 directly to block 91.
 The final decision of double talk is made in the final decision block 91
 which is a kind of comparator that includes a threshold value for the
 final double talk decision. The threshold could be set e.g. to 1 so that
 if even one sub-channel indicates double talk the final decision would be
 double talk as well. However, for avoiding false double talk decision that
 could be caused by an occasional error, the final decision value is
 preferably higher than 1. For 8 sub-channels the threshold value should be
 lower than 4, preferably in the range of 2-3, e.g. 2.5.
 The output DTD from final decision block 91 is a result of the performed
 comparison either double talk or no double talk. This can be in the form
 of a bit of value 1 for double talk and 0 for no double talk.
 The double talk decision signal DTD can be further fed to e.g. the adaptive
 filter 9 of an echo canceller 1 as is shown in FIG. 1. The double talk
 detector 80 of FIG. 2 can be used in an echo canceller instead of block 8
 in FIG. 1. In an echo canceller, as the one shown in FIG. 1 the adaptive
 filter 9 is thereby controlled by the final decision DTD of the double
 talk detector. Accordingly a reliable updating or stop of the updating of
 parameters for the adaptive filter 9 will be achieved as the decision of
 the double talk detector is not sensitive to occasional errors for example
 occurring in one of the sub-channels. This is achieved e.g. due to being
 able to set the threshold of the final decision block 91 at a desired
 level and due to the rounding off in the level estimation block 90 before
 making the final double talk detection.
 FIG. 3 presents a mobile station according to the invention, in which a
 double talk detector 80 according to the invention is employed. The speech
 signal to be transmitted, coming from a microphone 2, is sampled in an A/D
 converter 20, after which base frequency signal processing (e.g. speech
 coding, channel encoding, interleaving), mixing and modulation into radio
 frequency and transmittance is performed in block TX. The double talk
 detector 80 can be used for controlling e.g. an echo canceller (shown in
 FIG. 1) according to the output DTD. From block TX the signal is
 transmitted through a duplex filter DPLX and an antenna ANT. The known
 operations of a reception branch RX are carried out for speech received at
 reception (e.g. demodulation, deinterleaving, channel decoding, and speech
 decoding), after which far-end speech is detected in far-end Voice
 Activity Detector 6, then the signal is converted into an analog signal in
 D/A converter 23 and is repeated through loudspeaker 7. Instead of the VAD
 the information of a system for discontinous transmission in which exact
 transmission and reception is known could be used to detect whether speech
 exists at far-end. This information would exist in a control circuit (not
 shown in the figure).
 The previous is a presentation of the realization and the embodiments of
 the invention using examples of the method and device and the
 implementation environment for the devices. For a person skilled in the
 art it is self evident that the invention is not limited to the details in
 the above embodiments and that the invention can be realized also in
 another form without deviating from the characteristics of the invention.
 The presented embodiments should be regarded informative but not limiting.
 Thus the possibilities for realization and use of the invention are
 limited only by the enclosed claims. Thus the different alternatives for
 realizing the invention defined by the claims including equivalent
 realizations are covered by the invention.
 Annex 1
 /* level--computes signal level for a vector of power inputs using
 exponential attack/release time parameters controlling speed of rise and
 fall