CN103688522B - Clock drift compensation method and apparatus - Google Patents

Clock drift compensation method and apparatus Download PDF

Info

Publication number
CN103688522B
CN103688522B CN201180072385.7A CN201180072385A CN103688522B CN 103688522 B CN103688522 B CN 103688522B CN 201180072385 A CN201180072385 A CN 201180072385A CN 103688522 B CN103688522 B CN 103688522B
Authority
CN
China
Prior art keywords
signal
data set
secondary signal
drift
echo
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 - Fee Related
Application number
CN201180072385.7A
Other languages
Chinese (zh)
Other versions
CN103688522A (en
Inventor
A·J·麦克唐纳德
J·斯科格伦德
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN103688522A publication Critical patent/CN103688522A/en
Application granted granted Critical
Publication of CN103688522B publication Critical patent/CN103688522B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/003Changing voice quality, e.g. pitch or formants
    • G10L21/007Changing voice quality, e.g. pitch or formants characterised by the process used
    • G10L21/01Correction of time axis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

There is disclosed herein a kind of method and system for compensating drift between the first signal (110) and secondary signal (120).This system comprises a deviation estimator (600) and a resampler (602).Deviation estimator (600) in the given time, receiving package is containing the first data set of described first signal (110) sample rate relevant information, and comprise the second data set of described secondary signal (120) sample rate relevant information, and using them as input.Meanwhile, based on the first data set received in the described scheduled time and the second data set, generate the single valuation of drift between the first signal (110) and secondary signal (120).Resampler (602), according to the drift estimated, carries out resampling to the first signal (110), to compensate the drift between the first signal (110) and secondary signal (120).

Description

Clock drift compensation method and apparatus
Technical field
Many aspects of the present invention are usually relevant to a kind of method and system, and the method and system make compensation to the drift be applied between remote signaling and the sample rate of near end signal.The acoustic echo that the technology of the present invention can be used for telecommunication system is eliminated.The present invention is also relevant to a kind of method and system, and compensation is made in the drift that the method and system are intended to arriving between the remote signaling of acoustic echo canceller and near end signal.
Background technology
Voice quality is the key factor that telephone system supplier pays close attention to.The requirement of client to voice quality constantly promotes, and telephone system supplier also must continue to make improvement, and this point is most important.Echo is the delay performance of original transmission content, if time of delay is very long, then can cause severe jamming to talker.If short round trip delays is less than 20 milliseconds, talker can not differentiate the sidetone in echo and telephone receiver.But for telecommunication (such as satellite communication), the echo signal of long-range generation is usually expressed as significant delay.In addition, voice and the chnnel coding of digital radio communication system and IP phone system (being called for short " IP phone ") interior necessity also can cause serious delay, and the echo of generation and the clear sound heard of talker are remained in relatively short distance.Therefore, in order to safeguard voice quality, it is very important for eliminating echo.
Echo Canceller generally includes a linear filtering part, and this part is essentially a sef-adapting filter attempting to adapt to echo path.In this way, the echo replicas that remote signaling produces just can be removed near end signal, thus eliminates echo.
The filter of output echo replicas may belong to limited or infinite impulse response filter.Modal situation is adaptive line finite impulse response (FIR) (FIR) filter having a large amount of delay line and corresponding coefficient, or tapped delay line filter.These coefficients have different values, when these coefficient values are multiplied by the inhibit signal of filter input signal, just can draw the valuation of echo.This filter, through improvement, namely through upgrading, enables these coefficients converge on optimum value.A kind of conventional method eliminating echo is, uses least mean-square error (NLMS) algorithm to upgrade FIR filter.
When adopting acoustic echo to eliminate (AEC) system, sending the sample rate flowing and catch stream may be different according to unknown number.If the clock frequency of arbitrary equipment is different from its rated value, then just can produce this situation when the different equipment (for the IP Camera of lock-on signal and built-in output equipment in as PC) of use sends with lock-on signal.The producing between remote signaling and near end signal of causing arriving AEC of not mating of sample rate is drifted about.Linear steps filter is had to adapt to this drift and is postponed, and possibly cannot converge on good valuation.This may make echo cancellor effect be greatly affected.
Therefore, in echo cancellor, need the drift to arriving between the remote signaling of AEC and near end signal, to solve the mismatch problem between sample rate.Other system and method also can benefit from reducing or eliminating of sample rate drift.
Summary of the invention
The present invention's general introduction describes some concepts in schematic form, allows reader have individual basic understanding to related fields of the present invention.The present invention's general introduction is not summarize popularity of the present invention, not introduces key of the present invention or important component part, also non-depicted scope of the present invention yet.Concepts more of the present invention are only set forth in the present invention's general introduction, as hereafter " detaileds description " place mat partly.
According to an aspect of the present invention, there is disclosed herein a kind of for compensating the method for drifting about between the first signal and secondary signal.The method comprises: within the predetermined time, and receiving package contains the first data set of the first signal sampling rate relevant information and comprises the second data set of secondary signal sample rate relevant information, and using them as input.The method also comprises: based on the first data set received in the scheduled time and the second data set, single estimation is carried out to the drift between the first signal and secondary signal, and resampling is carried out to first and/or secondary signal, to compensate the drift between the first and second signals according to estimation drift.
In addition, according to a further aspect in the invention, the method also comprises: when the first signal is the remote signaling that is about to send and secondary signal is near-end lock-on signal, performs echo cancellor.
According to a further aspect in the invention, the method also comprises: perform the echo suppression near end signal and remote signaling.
According to a further aspect in the invention, relevant to the first signal sampling rate information comprises the number of samples that every frame sends; The information relevant to secondary signal sample rate comprises the number of samples of every frame-grab.
According to a further aspect in the invention, relevant to the first signal sampling rate information comprises the timestamp sending frame; The information relevant to secondary signal sample rate comprises the timestamp of catching frame.
According to a further aspect in the invention, the method comprises and carries out resampling to the first signal.
According to a further aspect in the invention, the method also comprises: in first signalling channel of leading to Echo Canceller, apply resampling, but not towards sending the secondary signal passage of signal.
According to a further aspect in the invention, resampling steps uses linear resampling technique.
According to a further aspect in the invention, this method comprises: before generation valuation, delete the outlier of the first data set and the second data set.According to a further aspect in the invention: the outlier being greater than first predetermined threshold by refusal or being less than second predetermined threshold deletes these outliers.
According to a further aspect in the invention, the outlier being greater than first threshold (being determined by the first data set and the second data set) by refusal or being less than the second predetermined threshold (being determined by the first data set and the second data set) deletes these outliers.
According to an aspect of the present invention, first threshold and Second Threshold are directly proportional to the measure of spread of the first data set and the second data set.
According to a further aspect in the invention, branch is estimated is an absolute deviation.
According to a further aspect in the invention, this method comprises use linear regression to generate valuation.
According to a further aspect in the invention, this method comprises, when estimating that drift is less than the first predetermined threshold or is greater than the second predetermined threshold, and forbidding resampling.
In addition, according to an aspect of the present invention, this method comprises: by comparing the association between the first signal and secondary signal, calculates first coherence measurement; By compare secondary signal and comprise from linear adaptive filter residual echo export error signal between association, calculates second coherence measurement, and use first and second coherence measurement calculate echo cancellor information.
According to a further aspect in the invention, this method comprises: by comparing the association between the first signal and secondary signal, calculates first coherence measurement; By compare secondary signal and comprise from linear adaptive filter residual echo export error signal between association, calculates second coherence measurement, and use first and second coherence measurement calculate inhibiting factor.
According to a further aspect in the invention, inhibiting factor is applied to error signal, significantly to reduce the echo of error signal.
According to a further aspect in the invention, there is disclosed herein a kind of for compensating the system of drifting about between the first signal and secondary signal.This system comprises a deviation estimator and a resampler.Within the predetermined time, receiving package contains the first data set of described first signal sampling rate relevant information and comprises the second data set of described secondary signal sample rate relevant information deviation estimator, and it can be used as input; And based on the first data set received in the above-mentioned scheduled time and the second data set, single estimation is carried out to the drift between the first signal and secondary signal; And resampler is according to the drift estimated, carries out resampling, to compensate the drift between the first signal and secondary signal to the first signal and/or secondary signal.
According to an aspect of the present invention, this system also comprises the Echo Canceller be effectively connected with resampler, and when the first signal is the remote signaling that is about to send and secondary signal is near-end lock-on signal, Echo Canceller performs echo cancellor.
According to a further aspect in the invention, Echo Canceller performs the echo suppression near end signal and remote signaling.
According to an aspect of the present invention, resampler is configured to carry out resampling to the first signal.
According to a further aspect in the invention, resampler is configured to apply resampling in first signalling channel of leading to Echo Canceller, but not towards sending the secondary signal passage of signal.
According to a further aspect in the invention, resampler is configured to use linear resampling technique.
According to a further aspect in the invention, deviation estimator is configured to, and before generation valuation, deletes the outlier of the first data set and the second data set.
According to a further aspect in the invention, deviation estimator is configured to, and the outlier being greater than first predetermined threshold by refusal or being less than second predetermined threshold deletes these outliers.
According to a further aspect in the invention, deviation estimator is configured to, and the outlier being greater than first threshold (being determined by the first data set and the second data set) by refusal or being less than the second predetermined threshold (being determined by the first data set and the second data set) deletes these outliers.
According to an aspect of the present invention, deviation estimator is also configured to: application linear regression is to generate valuation.
According to an aspect of the present invention, resampler is configured to, when estimating that drift is less than the first predetermined threshold or is greater than the second predetermined threshold, and forbidding resampling.
According to a further aspect in the invention, this system comprises and being configured to by nonlinear processor: by comparing the association between the first signal and secondary signal, calculate first coherence measurement; By compare secondary signal and comprise from linear adaptive filter residual echo export error signal between association, calculates second coherence measurement, and use first and second coherence measurement calculate echo cancellor information.
In addition, according to an aspect of the present invention, nonlinear processor being configured to: by comparing the association between the first signal and secondary signal, calculating first coherence measurement; By compare secondary signal and comprise from linear adaptive filter residual echo export error signal between association, calculates second coherence measurement, and use first and second coherence measurement calculate inhibiting factor.
According to a further aspect in the invention, nonlinear processor is configured to, and inhibiting factor is applied to error signal, significantly to reduce the echo of error signal.
According to a further aspect in the invention, there is disclosed herein a kind of computer-readable storage medium, wherein storing for compensating the computer executable program drifted about between the first signal and secondary signal.When executing the computer program, processor can be made to perform following steps: in the given time, receiving package containing the first data set of described first signal sampling rate relevant information, and comprises the second data set of described secondary signal sample rate relevant information, and using them as input.Simultaneously, based on the first data set received in the above-mentioned scheduled time and the second data set, single estimation is carried out to the drift between the first signal and secondary signal, and resampling is carried out to first and/or secondary signal, to compensate the drift between the first and second signals according to estimation drift.
According to an aspect of the present invention, when performing this computer program, processor can be made to perform following steps further: when the first signal is the remote signaling that is about to send and secondary signal is the near end signal of catching, perform echo cancellor.
According to a further aspect in the invention, when performing this computer program, processor can be made to perform following steps further: to perform the echo suppression near end signal and remote signaling.
According to an aspect of the present invention, when performing this computer program, processor can be made to perform following steps further: to perform resampling to the first signal.
According to a further aspect in the invention, when performing this computer program, processor can be made to perform following steps further: in first signalling channel of leading to Echo Canceller, apply resampling, but not lead to the secondary signal passage that signal sends equipment.
According to a further aspect in the invention, when performing this computer program, processor can be made to perform following steps further: to use linear resampling technique to perform resampling.
According to a further aspect in the invention, when performing this computer program, processor can be made to perform following steps further: before generation valuation, to delete the outlier of the first data set and the second data set.
According to an aspect of the present invention, when performing this computer program, processor can be made to perform following steps further: the outlier being greater than the first predetermined threshold by refusal or being less than the second predetermined threshold deletes these outliers.
According to a further aspect in the invention, when performing this computer program, processor can be made to perform following steps further: the outlier being greater than first threshold (being determined by the first data set and the second data set) by refusal or being less than the second predetermined threshold (being determined by the first data set and the second data set) deletes these outliers.
According to a further aspect in the invention, when performing this computer program, processor can be made to perform following steps further: to use linear regression to generate valuation.
According to an aspect of the present invention, when performing this computer program, processor can be made to perform following steps further: when predetermined drift is less than the first predetermined threshold or is greater than the second predetermined threshold, forbidding resampling.
According to a further aspect in the invention, when performing this computer program, processor being made to perform following steps further: by comparing the association between the first signal and secondary signal, calculating first coherence measurement; By compare secondary signal and comprise from linear adaptive filter residual echo export error signal between association, calculates second coherence measurement, and use first and second coherence measurement calculate echo cancellor information.
According to a further aspect in the invention, when performing this computer program, processor being made to perform following steps further: by comparing the association between the first signal and secondary signal, calculating first coherence measurement; By compare secondary signal and comprise from linear adaptive filter residual echo export error signal between association, calculates second coherence measurement, and use first and second coherence measurement calculate inhibiting factor.
According to a further aspect in the invention, when performing this computer program, processor can be made to perform following steps further: inhibiting factor is applied to error signal, significantly to reduce the echo of error signal.
Accompanying drawing explanation
These accompanying drawings are included into this explanation and form a part for this explanation, they illustrate several embodiments of the present invention, and more subsidiary explanatory notes, fully to explain principle of the present invention.
Fig. 1 is the calcspar of acoustic echo canceller, draws out according to one embodiment of present invention.
Fig. 2 is more detailed calcspar, illustrates the sef-adapting filter function in the cards in Fig. 1, draws out according to one embodiment of present invention.
Fig. 3 illustrates the calculation stages of the sef-adapting filter in Fig. 2, draws out according to one embodiment of present invention.
Fig. 4 is more detailed calcspar, and how the Gm block described in Fig. 3 operates according to one embodiment of present invention.
Fig. 5 is a flow chart, describes the calculation stages of nonlinear processor in Fig. 1, draws out according to one embodiment of present invention.
Fig. 6 is the calcspar of acoustic echo canceller and deviation estimator, draws according to one embodiment of present invention and forms.
Fig. 7 is a flow chart, describes acoustic echo canceller and deviation estimator according to the operation in Fig. 6 performed by one embodiment of the present of invention.
Fig. 8 is a calcspar, illustrating the typical computing device eliminated for realizing acoustic echo, drawing out according to one embodiment of present invention.
Embodiment
The following detailed description about the embodiment of the present invention will quote these accompanying drawings.Following detailed description is not intended to limit the scope of the invention, and scope of the present invention is determined by the claim of enclosing and equivalent.
Fig. 1 illustrates the operation principle of acoustic echo canceller (AEC) 100 according to an exemplary embodiments of the present invention.
AEC100 is a kind of high-quality Echo Canceller, aims at the voice and voice communication that are undertaken by packet switching network and designs.Specifically, AEC100 is intended to eliminate acoustic echo 130, and this echo being sends sound wave that equipment 10 sends and be reflected back near-end capture device 20 from interface and other objects and produce.The Another reason that echo 130 produces is direct path from sending the path of equipment 10 to capture device 20.
Sending equipment 10 can be any audio output apparatus, comprises one or one group of loud speaker in order to configure from one or more passage output sound.Capture device 20 can be any audio input device, such as in order to one or more microphones of catching sound and generate input signal and configure.For example, sending the internal hardware devices that equipment 10 and capture device 20 can be computer systems, also can be with ancillary equipment that is wired and/or radio connection access computer system.In some arrangements, the assembly that equipment 10 and capture device 20 can be the individual equipments such as microphone, telephone receiver is sent.In addition, to send in equipment 10 and capture device 20 any one or two may possess Analog-digital Converter and/or digital-to-analogue conversion function.
According in Fig. 1, Echo Canceller 100 comprises linear filter 102, nonlinear processor (NLP) 104, far-end buffering area 106 and blocking buffer 108.Generate at far-end and be transferred to the remote signaling 110 of near-end, being input in filter 102 by far-end buffering area (FEBuf) 106 and blocking buffer 108.Remote signaling 110 also can be input to the play buffer 112 be arranged near the equipment of sending 10.The output signal 116 of far-end buffering area 106 is imported in blocking buffer 108, and the output signal 118 of blocking buffer is imported in linear filter 102.
Far-end buffering area 106 is through configuration, synchronous with its maintenance for the buffering in compensating sound equipment (not shown).Blocking buffer 108 is configured to carry out piecemeal to sample of signal, so that linear filter 102 and NLP104 perform frequency domain conversion.
Linear filter 102 is a kind of sef-adapting filters.Such as, by means of discrete Fourier transform (DFT) (DFT), linear filter 102 can run in a frequency domain.DFT can be implemented as fast fourier transform (FFT).
Another input of filter 102 is, by near end signal (Sin) 122 that log buffer 114 inputs in capture device 20.Near end signal 122 comprises near-end speech 120 and echo 130.NLP104 receives three kinds of signals as input.Respectively: the remote signaling that (1) is received by far-end buffering area 106 and blocking buffer 108; (2) by near end signal that log buffer 114 receives; And the output signal 124 of (3) filter 102.Output signal 124 also can as a kind of error signal.When NLP104 weakens output signal 124, just can generate a kind of comfort noise signal, will make an explanation to this after a while.
According to a typical embodiment, each frame is divided into 64 sample block.Because the sample block quantity of each frame marked off according to selected sample block size is not integer, therefore, before processing the signals, need to cushion signal.This buffering is processed by above-mentioned blocking buffer 108.Filter 102 and NLP104 run all in a frequency domain, and all utilize the DFT of 128 samples.
The performance of AEC100 is subject to the impact of play buffer 112 and log buffer 114 ruuning situation in sound device.Unless total size reasonable of play buffer 112 and log buffer 114 is stabilized in predetermined limited field, otherwise AEC100 may can not start.Such as, if total size of four successive frames is stabilized within the scope of the +/-8ms of initiating switchup, then AEC100 can start by filling interior distal end buffering area 106.
Fig. 2 is more detailed calcspar, illustrates the function that the filter 102 in Fig. 1 realizes.Fig. 3 illustrates the calculation stages of filter 102, draws out according to one embodiment of present invention.
According to Fig. 2, sef-adapting filter 102 comprises first conversion section 200, reverse conversion section 202, second conversion section 204 and impulse response section (H) 206.Send in equipment 10 remote signaling x (n) 210 that is about to send by input first conversion section 200.Input pulse is responded section 206 by the output signal X (n, k) of first conversion section 200.Output signal Y (n, k) is by input second conversion section 202, and this section outputs signal y (n).Then, near end signal d (n) 220 that capture device 20 is caught, remove signal y (n), so that output error signal e (n) 230, this error signal is using the output as filter 102 linear stage.Error signal 230 is also by input second conversion section 204, and input pulse is also responded section 206 by the output signal E (n, k) of this section.
Above-mentioned adaptive filter method is relevant to the realization of standard piecemeal time domain least mean squares (LMS) algorithm.According to one embodiment of present invention, why can reduce complexity because filter and coherence perform in a frequency domain, such convolution will substitute by multiplying.Error is formed in the time domain, is then transformed into frequency domain, to upgrade the filter 102 shown in Fig. 2.
Due to upconversion blocks, cause occurring signal delay in system.Postpone for reducing, filter 102 is divided into less section, and by overlapping reservation process method, bulk delay remains in section length.This method is called as fragmented blocks frequency domain method or many delay fragmented blocks frequency self-adaption filters.For the sake of simplicity, referred to as " FLMS ".
Fig. 3 shows the operation method of FLMS.Fig. 4 is more detailed calcspar, describes the G of FLMS method in Fig. 3 mblock, draws out according to one embodiment of present invention.
If total filter length L=MN is split into multiple block containing N number of sample, and F=2Nx2N discrete Fourier transform (DFT) (DFT) matrix, then time-domain pulse response w (n) of filter 102, n=0,1 ..., L-1 can be expressed as the set of graded filter in a frequency domain
W m ( k ) = F I N 0 N w m ( k ) , - - - ( 1 )
Wherein w m(k)=[w mN... w (m+1) N-1] t,
I nthe unit matrix of NxN, 0 nit is the null matrix of NxN.This refers to before carrying out Fourier transform, time-domain vector subsidiary N number of zero.
In this algorithm, do not use time domain filter coefficients w (n), and equation (1) is the relation in order to set up between time-domain coefficients and frequency coefficient.
As shown in Figure 3, piecemeal is carried out to far-end sample x (n) 310, forms the vector of 2N sample, namely form two blocks in step S312,
x(k-m)=[x((k-m-2)N)...x((k-m)N-1)] T
And the sequence of DFT vector is converted in step S314,
X(k-m)=diag(Fx(k-m)).
This is embodied as the DFT vector table of delay, because diagonal matrix also can be expressed as X (K-)=D mx (k), wherein D is delay operator.The transformation of each delay block, is expressed as diagonal matrix X (k-m) and is multiplied by filter subregion
Y m(k)=X(k-m)W m(k)m=0,1,...,M-1
Then draw the echo signal of estimation, as last N number of coefficient of the reverse conversion summation of the filter product performed in step S320, from this step, first block is dropped when step S322.The echo signal estimated is expressed as
y ( k ) = ( [ y ( ( k - 1 ) N ) . . . y ( kN - 1 ) ] T = 0 N I N F - 1 Σ m = 0 M - 1 Y m ( k ) .
Then, form error in time domain, be expressed as
e(k)=d(k)-y(k)
This is also the output of the filter 102 of AEC100 shown in Fig. 1.For adjustment filtration coefficient, in step S316 by N number of zero insertion in error vector, the vector of increase is changed in step S318, is expressed as
E ( k ) = F I N 0 N e ( k ) .
Fig. 4 is more detailed calcspar, describes the G in Fig. 3 mblock, draws out according to one embodiment of present invention, and wherein, filter coefficient update can be expressed as W m ( k + 1 ) = W m ( k ) + F I N 0 N 0 N 0 N F - 1 μ 0 X * ( k - m ) B ( k ) ,
Step size mu 0=0.5, and as shown in Figure 4, B (k) is the error vector revised.This correction comprises power normalization and amplitude limiter afterwards 410.As shown in Figure 4, normalized error vector is
A(k)=Ω(k)E(k),
Wherein
Ω(k)=diag([1/p 01/p 1...1/p 2N-1])
Be step-length diagonal matrix, this matrix is estimated by using exponential, controls the adjustment of each frequency component
p j(k)=λ pp j(k-1)+(1-λ p)M|X j,j| 2,j=0,1,...,2N-1,
By forgetting factor λ p=0.9 and single DFT coefficient X j,j={ X (k) } j.jrecursive calculation and obtaining is the input of amplitude limiter 410.Then, a point magnitude is restricted to constant maximal value A0=1.5x10 -6, obtain outgoing vector B (k) and component thereof
B j ( k ) = A j ( k ) | A j ( k ) | A 0 : | A j ( k ) | > A 0 A j ( k ) : | A j ( k ) | ≤ A 0 .
As shown in Figure 4, diagonal matrix X (k-m) and conjugate unit 420 conjugation, this conjugate unit is multiplied by vectorial B (k), then performs DFT inverse transformation by inverse discrete Fourier transformer inverse-discrete (IDFT) unit 430.Then, abandon last module unit 440 and abandon last block.After abandoning last block, additional zero module unit 450 can add one zero piece, and subsequently, DFT unit 460 performs DFT.Afterwards, delay cell 480 is introduced a block and is postponed, and this unit exports Wm (k).
Fig. 5 is a flow chart, describes the computational process of NLP104 in Fig. 1, draws out according to one embodiment of present invention.
The NLP104 of AEC100 receives following three kinds of signals as input: i) send remote signaling x (n) 110 that equipment 10 is about to send; Ii) capture device 20 near end signal d (n) 122 of catching; And iii) output error signal e (n) 124 of linear stage that performs in filter 102.Error signal e (n) 124 comprises residual echo usually, in order to reach good performance, should eliminate this residual echo.Namely the target of NLP104 is eliminate this residual echo.
The first step is, these three kinds of input signals all are converted to frequency domain.In step S501, remote signaling 110 is converted to frequency domain.In step S501 ', near end signal 122 is converted to frequency domain, and in step S501 ", error signal 124 is converted to frequency domain.NLP104 is block-based, and the same block length N adopting linear stage, but uses overlap-add method, but not overlap-save method, by the series connection of continuous print block, windowing changing.By o being defined as element product operator, k ththe block of conversion can be expressed as
Wherein, F remains 2NDFT matrix, x kthe time-domain sampling column vector of to be length be N, w 2Nthe square-root Hanning window column vector of to be length be 2N, entry is
w ( n ) = 1 2 [ 1 - cos ( 2 πn 2 N ) ] , n = 0,1 , . . . , 2 N - 1 .
Selecting this Hanning window, is can meet in order to ensure the segmentation of overlap
w 2(n)+w 2(n-N)=1,n=N,N+1,...,2N
To provide perfect reconstruct.According to one embodiment of present invention, length is that the DFT vector of 2N is still retained.And the N-1 complex coefficient of redundancy is preferably dropped.
X k, D kand E kbe respectively k ththe frequency domain representation of far-end, near-end and error block.
According to another embodiment of the invention, by being multiplied by the inhibiting factor between 0 and 1 with each frequency band of error signal e (n) 124, thus realize the echo suppression.According to a first-selected embodiment, each frequency band is corresponding with a DFT coefficient.But in general, each frequency band may corresponding arbitrary frequency range.Add comfort noise, after reverse FFT, the signal of suppression is by windowing, and overlapping with block before and add wherein, to obtain output.
For analyzing, calculate the power spectral density (PSD) of each signal.In step S503, calculate the PSD of remote signaling x (n) 110.In step S503 ', calculate the PSD of near end signal d (n) 122, in step S503 ", calculate the PSD of error signal e (n) 124.The power spectral density (PSD) of remote signaling 110, near end signal 122 and error signal 124 is respectively by S x, S dand S erepresent.
In addition, the complex value cross-spectral density between following signal to also be calculated: i) remote signaling x (n) 110 and near end signal d (n) 122; And ii) near end signal d (n) 122 and error signal e (n) 124.In step S504, calculate the complex value cross-spectral density between remote signaling 110 and near end signal 122, in step S504 ', calculate the complex value cross-spectral density between near end signal 122 and error signal 124.Complex value cross-spectral density between remote signaling 110 and near end signal 122 is represented as S xd.Complex value cross-spectral density between near end signal 122 and error signal 124 is represented as S de.According to exponential manner smooth change, thus in avoiding echo to suppress, there is the erroneous transitions of burst in PSD.The computing formula of PSD is
Wherein, " * " represents complex conjugate, and the computing formula of coefficent of exponential smoothing is
Note that for " certainly " power spectral density, X k=Y k, therefore, when cross-spectral density is complex value, autopower spectral density is real-valued.
In step S505, do not use current far-end input block, but the block before selecting, to keep optimal synchronisation to the corresponding echo in near-end.Subregion exponent m has the ceiling capacity in linear filter, selects according to following formula:
d ‾ = arg max m ( | | W m | | 2 ) .
This estimates that the delay index drawn is for selecting to be applicable to the best block of far-end PSD in step S507.In addition, in step S509, the threshold value of setting far-end autopower spectral density, to avoid occurring numerical instability, as follows:
S X k X k ′ = max ( S X k X k , S 0 ) , S 0 = 15 .
Sometimes, linear filter 102 can depart from suitable echo path estimation.This situation often causes the error signal of high distortion, although these signals are still useful for analysis, and, can not be used for exporting.According to one embodiment of present invention, divergence proximally increases energy and non-elimination energy in signal d (n) 122 usually, therefore can detect easily.The divergence state determined in step S511 is for selecting (S512) E kor D k, shown in specific as follows: if
| | S E k E k | | 1 > | | S D k D k | | 1
Then enter " dispersing " state, in this state, by arranging E k=D k, the impact of linear stage is taken a turn for the worse.If met the following conditions, then exit divergent state
&sigma; 0 | | S E k E k | | 1 < | | S D k D k | | 1 , &sigma; 0 = 1.05 .
In addition, if divergence is very high, such as
| | S E k E k | | 1 > &sigma; 1 | | S D k D k | | 1 , &sigma; 1 = 19.95 ,
Then linear filter 102 returns to its initial condition
W m(k)=0 N,m=0,1,...,M-1.
PSD is for calculating the coherence measurement of each frequency band between following signal: i) in step S513, remote signaling 110 and near end signal 122, as follows:
And ii) in step S515, near end signal 122 and error signal 124, as follows:
Wherein " * " still represents complex conjugate herein.
Ac vector is expressed as c (n) at the entrance of position n.Coherence is the frequency domain analogue to time-domain coherence.It is that in the scope of 0≤c (n)≤1 one of similitude estimates; Coherence is higher, and similitude is also higher.
The main efficacy results of NLP104 directly suppresses error signal 124 by using coherence measurement and realizes.Generally speaking, output is expressed as
Suppose that linear stage normally runs, c (n) de≈ 1, does not now eliminate any echo, and permissible error signal when without change transmit.In the opposite case, namely linear stage eliminates echo, 1>>c (n) de>=0, so result is that error is inhibited, and eliminates filter 102 any echo still residual after linear stage completes lf ideally.
According to one embodiment of present invention, c xdbe regarded as increasing stability (referring to hereafter), but c deoften more useful in practice.With c deon the contrary, when there is echo 130, c xdrelatively high, on the contrary then lower.In order to use this two measures in same " territory ", the coherence of correction is defined as follows: c' xd=1-c xd.
For realizing higher AEC performance, echo 130 is preferably inhibited, and allows the synchronous near-end speech 120 occurred to pass through simultaneously.NLP104 is to realize this purpose in configuration, because the coherence of each frequency band is independent calculating.Therefore, the frequency band comprising echo is suppressed wholly or in part, and does not have reflective frequency band to be affected.
According to one embodiment of present invention, before coherence is as inhibiting factor s, several data analytical method is used to finely tune coherence.First, in step S517, for c decalculate the average coherence of one group of first-selected frequency band, in step S517 ', for c' xdcalculate the average coherence of one group of first-selected frequency band, formula is
Wherein f sit is sample frequency.First choice frequency band is selected from most possible frequency field accurately in a series of situation.
In step S518, Systematic selection or according to a typical embodiment, right follow the trail of a period of time, with the general state of certainty annuity when step S521.The object done like this is, when echo path close to zero time (such as with earphone call during), avoid suppressing.First, calculate in step S519 minimum threshold, formula is as follows:
Step size mu c=0.0006m fs, factor m fscomputing formula be
This is for forming two decision variables
and
Work as u cwhen=1, system is regarded as being in " coherency status ", works as u ewhen=1, system is regarded as being in " echo " state.When echo state, system may comprise echo, otherwise quite different.The interface that echo state may be able to be used by other audio processing components provides.
When being in echo state, select c in each frequency band in step S520 deand c ' xdminimum value, calculate inhibiting factor s, formula is:
s = min ( c de , c xd &prime; ) .
In step S533 and step S527, calculate two total inhibiting factors according to the order statistics of first choice frequency band:
The method of this selection inhibiting factor has stronger robustness to outlier than to mean value, and allows to be undertaken tuning by accurate order of preference statistics position.
When being in " non-echo state " (that is: u e=0), time, select inhibiting factor in step S520, S524 and S518, suppression also can be made to be restricted, as follows:
The typical degree of suppression rationally eliminated needed for all residual echos is there is in major part situation.This is regarded as target and suppresses s t." overload values " of scalar is applied to s, and frequency band is weighted to s t.This way can when more difficult, namely when coherence measurement itself is not accurate enough, and improving SNR.In step S527, calculate minimum s llevel, and follow the trail of a period of time in step S529
Wherein, step size mu s=0.0008m fs.
Minimum value in two continuous blocks time constant, overload values γ is set in step S531, this value is applied to minimum value, thus realize target degree of suppression:
&gamma; = s t log ( s ^ l )
γ smooth change, threshold value is
Like this, this value will tend to quick rising, and the rate of climb exceedes decrease speed.S tand γ 0can be configured, to control to suppress aggressive; In default situations, these two values are set to-11.5 and 2 respectively.In addition, when
c ^ x d k = 1
The overload values of level and smooth movement resets to minimum value,
&gamma; ^ k = &gamma; 0 .
S is calculated in step S533 hlevel.Next, according to following algorithm, draw final inhibiting factor s γ.In step S525, according to weight vectors v sNand component 0≤v sNn ()≤1, s is first weighted to s h:
Selecting such method of weighting, is to affect frequency band not too accurately by a larger margin.In step S535 application overload values, draw following formula:
s &gamma; ( n ) = s v ( n ) &gamma; &OverBar; k v &gamma;N ( n )
Wherein, v γ Nbe another weight vectors, can realize and v sNsimilar object.S can be highlighted by the overload values drawn from multiplication algorithm vvalley.Finally, in step S536, draw frequency domain IOB according to following computing formula
Wherein, N skbe man made noise, perform inverse transformation in step S537, to obtain output signal y (n).Such suppression can eliminate near-end noise and echo, makes the sound variation of noise level generation audible.By adding " comfort noise " of generation to replace the noise of loss, this problem is alleviated.N' will be discussed after a while herein kformation.
Overlap-add conversion is reversed, to realize the time domain output signal that length is N formula is
To generate comfort noise, need the reliable estimation of real near-end background noise.According to one embodiment of present invention, minimum statistics method is used to generate comfort noise.Specifically, in each block, calculate the correction minimum value of near-end PSD for each frequency band:
N &OverBar; k ( n ) = &lambda; N ( S D k ( n ) + &mu; ( N &OverBar; k - 1 ( n ) - S D k ( n ) ) ) if S D k ( n ) < N &OverBar; D k ( n ) &lambda; N N &OverBar; k - 1 ( n ) otherwise , k > 0 , N &OverBar; 0 ( n ) = 10 6
Wherein step size mu=0.1, slope λ n=1.0002.Right arrange, make it be greater than rational noise power.S dkclosely similar with the content of above-mentioned discussion, but, calculate this value be based on the non-windowing DFT coefficient of the linear filter 102 that linear stage calculates.
By generating random complex vector u in unit circle 2N, can white noise be generated.White noise be applicable to match, and according to degree of suppression weighting, to provide following comfort noise:
Fig. 6 is the calcspar of AEC100 and deviation estimator 600, draws out according to one embodiment of present invention.
According to one exemplary embodiment of the present invention, deviation estimator 600 sends between equipment 10 and capture device 20 at signal and provides, so that the drift between remote signaling 110 and near end signal 120 can be compensated before arrival AEC100.
According to another embodiment of the present invention, AEC100 comprises resampler 602, far-end buffering area 604, linear adaptive filter 606 and non-linear post processor (NLP) 608.Note that according to an exemplary embodiment, linear adaptive filter 606, except performing the function described in Fig. 6, also performs the function the same with the filter 102 described in Fig. 1-4.In addition, except the function described by Fig. 6, far-end buffering area 604 also performs the function identical with the far-end buffering area 106 that upper Fig. 1-4 describes and blocking buffer 108.Equally, except the function that Fig. 6 describes, NLP608 also performs the function identical with the NLP104 described in Fig. 1 and Fig. 5.
As this is shown in phantom in fig. 6, deviation estimator 600 receives the sampling rate information of remote signaling 110 and near end signal 122, and it can be used as input.Output from deviation estimator 600 is the input of resampler 602.Resampler 602 also receives remote signaling 110 as input.Output from resampler 602 is the input of far-end buffering area 604.Linear adaptive filter 606 receives the output signal of remote signaling 122 and resampler 602 by far-end buffering area 604, and it can be used as input, then output error signal 124.
NLP608 receives three kinds of signals as input.The signal that it receives comprises: the remote signaling 110 received by far-end buffering area 604, the near end signal 122 that capture device 20 directly exports, and the error signal 124 that linear adaptive filter 606 exports.NLP608 exports the output signal (not shown) directly mailing to remote equipment.
As mentioned above, especially when using USB device, signal sends can be different with the clock frequency of capture device.This can cause signal to send the inconsistent of between capture device sample rate, therefore when it arrives AEC100, can cause the drift between remote signaling 110 and near end signal 120.
According to one embodiment of present invention, linear adaptive filter 606 is configured to the echo passage of accommodate sample level.Bulk delay is acceptable, but this delay should not change along with the time.If there is drift between remote signaling 110 and near end signal 120, then represent and postpone to change along with the time.
For making compensation to above-mentioned drifting problem, according to one embodiment of present invention, AEC100 receives the relevant information of the number of samples that every frame sends and catches from sound device.Such as, if the clock frequency ratio of capture device sends equipment sooner, then the sampling of having recorded on average can be more than the sampling of having play.
Deviation estimator 600 using the number of samples that sends and catch in the frame period as input.This information obtains from the audio hardware level of abstraction (HAL) of operating system.Accumulation difference between these values is stored as time series.Utilize this information, deviation estimator 600 can use linear regression to estimate drift.
According to one embodiment of present invention, because number of samples directly obtains by WindowsWaveAPI, therefore deviation estimator 600 can directly use these numbers.Or the timestamp or the other forms of sampling rate information that send and catch frame also can be used by deviation estimator 600.In addition, different modes also can be used to estimate the slope of sequence drift time, as the median method repeated, and nonlinear regression.
According to one embodiment of present invention, resampler 602 can be placed on proximal channel or more early stage distal channel, can affect the equipment 10(of sending and send equipment) signal that sends.According to an exemplary embodiment, resampler 602 can apply resampling in the remote signaling passage leading to AEC100, but not by sending the near-end signal path of equipment.In addition, when estimating that drift is less than the first predetermined threshold or is greater than the second predetermined threshold, resampler 602 may forbid resampling.Such as, the first predetermined threshold can equal 0.001.Such as, the second predetermined threshold can equal-0.001.These example thresholds not intended to be limit the scope of this disclosure in any form.And except the numerous example thresholds listed, also can use other threshold values a large amount of herein.
After drawing reliable drift estimate, remote signaling 110 carries out resampling for compensating by resampler 602, no longer occurs drift when arriving AEC100 to make remote signaling 110 and near end signal 122 each other.According to one embodiment of present invention, present invention employs linear resampling technique.When not departing from the scope of the invention, the present invention additionally uses the additive methods such as such as sinc resampling technique.
Difference in time series between subsequent point is that the noise of clock drift is estimated.Deviation estimator 600 draws reliable valuation by the scope of estimation time series trend (because in fact drift rate remains unchanged, so trend linearly).As mentioned before, according to one embodiment of present invention, present invention employs linear regression calculating method.
Large " burr " or outlier is there is sometimes in time series.These are by sequence analysis time, generate a refusal threshold value and solve.The data point exceeding this refusal threshold range will be deleted from data centralization, then implement drift estimate again, as shown in Figure 7.
According to one exemplary embodiment of the present invention, deviation estimator 600 higher than the first predetermined threshold or the outlier lower than the second predetermined threshold, deletes corresponding data set by refusal.
According to another exemplary embodiment of the present invention, the outlier that deviation estimator 600 is greater than first threshold (being determined by the first data set and the second data set) by refusal or is less than the second predetermined threshold (being determined by the first data set and the second data set) deletes these outliers.
For example, the first predetermined threshold can equal 4% of the specified sample rate of audio frequency apparatus.Second predetermined threshold can equal negative 4% of the specified sample rate of audio frequency apparatus.These example thresholds not intended to be limit the scope of this disclosure in any form.And except the numerous example thresholds listed, also can use other threshold values a large amount of herein.
According to another exemplary embodiment of the present invention, first threshold and Second Threshold are directly proportional to the measure of spread of the first data set and the second data set.The measure of spread data of description can concentrate changeability or the deviation of existence.In other words, the measure of spread can illustrate that data are how " distributions ".According to an exemplary embodiment, the measure of spread may be an absolute deviation.
As mentioned before, the drift estimate output of deviation estimator 600 is inputs of resampler 602.Resampling is carried out to remote signaling 110, accurately to offset the drift between remote signaling 110 and near end signal 120.In the linear filter stage, as above as described in Fig. 5, not only need not adapt to the delay of constantly change again, the convergence operation of expection can also be performed.Preferably only operate to performing this during AEC100 at Signal transmissions, the signal sent like this would not be subject to the impact of resampling distortion.This makes resampler 602 can perform rough but that computational efficiency is high linear resampling.Although signal high distortion may occur, negligible on the impact of the AEC performance relevant to performing High-quality transparent resampling.
Fig. 7 is a flow chart, describes AEC100 and deviation estimator 600 according to the operation in Fig. 6 performed by one embodiment of the present of invention.In step s 701, deviation estimator 600 within the predetermined time, receives and sends the first data set corresponding to speed with far-end sample, and second data set corresponding with near-end sample capture speed, and using them as input.In step S703, single estimation is carried out to the difference between the first data set generated in the scheduled time and the second data set, thus estimate the drift between remote signaling 110 and near end signal 120.Or, in step S702, before the valuation of generation single, first delete corresponding sample from the first and second data centralizations and adopt linear regression.In step S705, according to the drift of estimation, resampling is carried out to remote signaling 110, to compensate the drift between remote signaling 110 and near end signal 120.
Fig. 8 is a calcspar, illustrating an example calculation equipment 800 for implementing AEC100, including but not limited to: NLP104 and 608; Filter 102 and 606; Far-end buffering area 106 and blocking buffer 108 and 604.And the flow process shown in Fig. 3,5 and 7 in disclosing according to the present invention.In basic configuration 801, computing equipment 800 generally includes one or more processor 810 and Installed System Memory 820.Rambus 830 can be used for realizing the communication between processor 810 and Installed System Memory 820.
According to required configuration, processor 810 can be any type, includes but not limited to: microprocessor (μ P), microcontroller (μ C), digital signal processor (DSP) or their combination in any.Processor 810 can comprise an extra buffer memory rank, as level cache 811 and L2 cache 812, processor cores 813 and register 814.Processor cores 813 comprises an ALU (ALU), a floating point unit (FPU), a digital signal processing core (DSP core), or their combination in any.Memory Controller Hub 815 also together can use with processor 810, and in some implementations, Memory Controller Hub 815 is internal portions of processor 810.
According to required configuration, Installed System Memory 820 can be any type, includes but not limited to: volatile memory (as RAM), nonvolatile memory (as ROM and flash memory etc.) or their combination in any.Installed System Memory 820 generally includes an operating system 821, one or more application program 822 and routine data 824.Application program 822 comprises clock drift compensation algorithm 823, and this algorithm can be used for compensating the drift between remote signaling and near end signal.Routine data 824 comprises clock drift compensation route data 825, can be used for compensating the drift between remote signaling and near end signal, and detailed description please see below.In certain embodiments, application program 822 can be arranged in operating system 821 and coordinate operation with routine data 824, thus compensate the drift between remote signaling and near end signal.Described basic configuration in fig. 8 accompanying drawing illustrates, associated component underscore 801 marks.
Computing equipment 800 has supplementary features and/or function and extra interface, can promote basic configuration 801 and the communication between any necessaries and interface.Such as, bus/interface controller 840 can be used in promoting the communication between basic configuration 801 and one or more data storage device 850, and this type of communication is realized by memory interface bus 841.Data storage device 850 can be movable memory equipment 851, non-moving memory device 852, or the combination of the two.The example of movable memory equipment and non-moving memory device comprises: the disk units such as floppy disk and hard disk drive (HDD), the CD drive such as CD (CD) machine or digital versatile disc (DVD) machine, solid state hard disc (SSD) and magnetic tape station etc.Computer-readable storage medium example comprises: the volatibility adopting any method or technology to implement and non-volatile media, removable and non-moving medium, for storing the information such as computer-readable instruction, data structure, program module or other data.
Installed System Memory 820, movable memory equipment 851 and non-moving memory device 852 all belong to computer-readable storage medium.Computer-readable storage medium includes but not limited to RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical memories, cassette tape, tape, magnetic disc store or other magnetic memories, or can be used in storing any other medium that information needed being undertaken by computing equipment 800 accesses.This type of computer-readable storage medium any may be all a part for computing equipment 800.
Computing equipment 800 also comprises interface bus 842, and this interface bus is used for promoting from various interface equipment (such as output interface, peripheral interface and communication interface) communicating to basic configuration 801, and this type of communication is realized by bus/interface controller 840.Example output device 860 comprises a Graphics Processing Unit 861 and an audio treatment unit 862, can be configured to external equipment various with display or loud speaker etc. and communicates, and this type of communication is realized by one or more A/V port 863.Exemplary peripheral interface 870 comprises a serial interface controller 871 or a parallel interface controller 872, these two kinds of interface controllers are through configuration, all can with input equipment (such as, keyboard, mouse, pen, voice-input device or touch input device etc.) etc. external equipment communicate, or the communication of other ancillary equipment (such as printer or scanner etc.), this type of communication is realized by one or more I/O port 873.Example communication device 880 comprises a network controller 881, arranges this controller, can promote the network service between other computing equipments 890 one or more, and this type of communication is realized by one or more communication port 882.Such communication connection is an example of communication media.Common communication media comprises other data of computer-readable instruction, data structure, program module or modulated data signal form, and such as carrier wave or other transmission mechanisms, also comprise any information transmitting medium." modulated data signal " can be the signal having one or more feature set, or can encode to information in the signal, makes it change.For example, communication media includes but not limited to: the wire mediums such as cable network or directly wire connection, and the wireless medium such as audio frequency, radio frequency (RF), infrared ray (IR) and other wireless mediums." computer-readable medium " used herein one word comprise storage medium and communication media.
Computing equipment 800 can be implemented as a part for small portable (or mobile) electronic equipment, such as mobile phone, personal digital assistant (PDA), personal media player equipment, radio network monitors equipment, individual ear speaker device, application-specific equipment or have the hybrid equipment of above-mentioned any function.Computing equipment 800 also can be used as PC to realize, and comprises laptop computer and the configuration of non-laptop computer.
The hardware and software of system aspects realizes almost not having what difference; Use hardware or software usually (but not, such was the case with, and in some cases, selection hardware or software may be extremely important) are a kind of design alternatives, represent the balance of cost and efficiency.Flow process described herein and/or system and/or other technologies can play a role by various kinds of media thing (such as hardware, software and/or firmware), and the environment of flow process and/or system and/or other technologies deployment is different, first-selected medium is also by different.Such as, if the personnel that realize determine that speed and accuracy are most important, then he may be inclined to and select hardware and/or firmware vehicle; If determine that flexibility is most important, then may be inclined to selection software simulating; Or the personnel of realization also may can select being combined of hardware, software and/or firmware.
More than describing in detail by using calcspar, flow chart and/or example, listing the various embodiments of equipment and/or flow process.Owing to comprising one or more function and/or operation in these calcspars, flow chart and/or example, the personnel of association area will obtain such understanding: each function in these calcspars, flow chart or example and/or operation can come to realize separately and/or simultaneously by the combination in any of hardware widely, software, firmware or three.
In one embodiment, several parts of invention described herein can be achieved by application-specific integrated circuit (ASIC) (ASIC), field programmable gate array (FPGA), digital signal processor (DSP) or other integrated forms.But, one of ordinary skill in the art can find, some aspect of embodiment described herein (all or part of) can realize, as the one or more computer programs run on one or more computers (the one or more programs such as run in one or more computer system), as the one or more programs run on the one or more processors (the one or more programs such as run on one or more microprocessor), as firmware or the combination in any as above-mentioned form in integrated circuits in equivalence.One of ordinary skill in the art also will recognize further, and according to the present invention, one of ordinary skill in the art can be software and/or firmware design circuit like a cork and/or write code.
In addition, one of ordinary skill in the art will be understood that, the operating mechanism of invention described herein can be distributed as various forms of program product, and the signal transmission medium why type of this distribution no matter is performed for reality, the illustrative embodiment of invention described herein is all applicable.The example of signal transmission medium includes but not limited to following content: can the medium of record type, such as floppy disk, hard disk drive, CD (CD), digital video disk (DVD), digital magnetic tape and computer storage etc.; And the medium of transport-type, such as numeral and/or analog communication medium (such as fiber optic cables, waveguide, wired communications links and wireless communication link etc.).
One of ordinary skill in the art will recognize, in this field, describe equipment and/or flow process in mode described herein, and then use engineering practice by the equipment that so describes and/or Process integration in data handling system, this way is very common.That is, in equipment described herein and/or flow process, a part is had at least can be integrated in data handling system by the experiment of fair amount.
One of ordinary skill in the art will recognize, typical data handling system generally includes one or more system unit shell; A video display apparatus; A volatibility or nonvolatile memory; The processor such as microprocessor and digital signal processor; The computational entities such as operating system, driver, graphic user interface and application program; One or more interactive device, such as touch pad or touch-screen; And/or control system, comprise feedback loop and control motor (such as, for the feedback of sensing location and/or speed; For mobile and/or adjustment assembly and/or quantity control motor).Typical data handling system may utilize commercially available applicable assembly on the market to realize, and such as data calculate/communicate and/or those assemblies normally used in network calculations/communication system.
Based on context and/or usable condition about a large amount of plural number of using and/or singular noun herein, one of ordinary skill in the art, can adopt odd number or plural form.For clarity sake, the change situation of various singular/plural is clearly listed herein.
In view of having disclosed multiple different aspect and embodiment herein, one of ordinary skill in the art should be able to understand the rest by analogy, and expect other aspects and embodiment.The various aspects disclosed herein and embodiment are the use in order to explain explanation, and are not intended to propose restriction, and following claim specifies true scope and the intrinsic meaning of patent.

Claims (54)

1., to a method for the drift between the first signal and secondary signal, specifically comprise the following steps:
Within the predetermined time, receiving package contains the first data set of described first signal sampling rate relevant information and comprises the second data set of described secondary signal sample rate relevant information, and using them as input;
Based on the first data set received within the described scheduled time and the second data set, estimate the drift between the first signal and secondary signal; And
Determining to estimate that drift makes active response after being greater than predetermined threshold, carry out resampling according to estimation drift to first and/or secondary signal, to compensate the drift between the first and second signals, wherein, resampling is applied to the signal path towards Echo Canceller.
2. method according to claim 1, operating procedure comprises execution echo cancellor further, and wherein said first signal is the remote signaling being about to send, and described secondary signal is the near end signal of catching.
3. method according to claim 2, operating procedure comprises further: perform the echo suppression to described near end signal and remote signaling.
4. method according to claim 1, it is characterized in that, the information relevant to the first signal sampling rate comprises the number of samples that every frame sends; The information relevant to secondary signal sample rate comprises the number of samples of every frame-grab.
5. method according to claim 1, it is characterized in that, the information relevant to the first signal sampling rate comprises the timestamp sending frame; The information relevant to secondary signal sample rate comprises the timestamp of catching frame.
6. method according to claim 1, is characterized in that, uses the drift that the median method repeated is estimated between the first and second signals.
7. method according to claim 1, is characterized in that, described resampling steps uses sinc resampling technique.
8. method according to claim 1, it is characterized in that, described resampling steps uses linear resampling technique.
9. method according to claim 1, operating procedure comprises further: before estimation drift, delete the outlier of the first data set and the second data set.
10. method according to claim 9, is characterized in that, described delete step comprises the outlier that refusal is greater than refusal threshold value, and this refusal threshold value is determined by the first data set and the second data set.
11. methods according to claim 9, is characterized in that, described delete step comprises the outlier that refusal is less than refusal threshold value, and this refusal threshold value is determined by the first data set and the second data set.
12. according to claim 10 or 11 method, it is characterized in that, described refusal threshold value is directly proportional to the measure of spread of the first data set and the second data set.
13., according to method described in claim 12, is characterized in that, the described measure of spread is an absolute deviation.
14. methods according to claim 1, it is characterized in that, the described drift between described first signal and described secondary signal uses linear regression method to estimate.
15. methods according to claim 1, operating procedure comprises further, when described estimation drift is less than predetermined threshold, forbids described resampling.
16. methods according to claim 1, operating procedure comprises further:
By comparing the association between the first signal and secondary signal, calculate first coherence measurement;
By comparing the association between secondary signal and error signal (residual echo comprised from linear adaptive filter exports), calculate second coherence measurement; And
Apply first and second coherence measurement, calculate echo cancellor information.
17. methods according to claim 1, operating procedure comprises further:
By comparing the association between the first signal and secondary signal, calculate first coherence measurement;
By comparing the association between secondary signal and error signal (residual echo comprised from linear adaptive filter exports), calculate second coherence measurement; And
Apply first and second coherence measurement, calculate inhibiting factor.
18., according to method described in claim 17, is characterized in that, described inhibiting factor is applied to described error signal, to reduce the echo in this error signal.
19. 1 kinds of systems to the drift between the first signal and secondary signal, described system specifically comprises with lower component:
A deviation estimator, within the predetermined time, receiving package contains the first data set of described first signal sampling rate relevant information and comprises the second data set of described secondary signal sample rate relevant information, and using them as input; Based on the first data set received within the described scheduled time and the second data set, estimate the drift between the first signal and secondary signal; With
A resampler be effectively connected with described deviation estimator, this resampler is configured to: determining to estimate that drift makes active response after being greater than predetermined threshold, according to estimation drift, resampling is carried out to first and/or secondary signal, to compensate the drift between the first and second signals, wherein, resampling is applied to the signal path towards echo cancellor flow process.
20. according to system described in claim 19, comprise an Echo Canceller be effectively connected with described resampler further, this Echo Canceller is configured to: when described first signal is the remote signaling being about to send, when described secondary signal is the near end signal of catching, and performs echo cancellor.
21., according to system described in claim 20, is characterized in that, described Echo Canceller performs the echo suppression to described near end signal and remote signaling.
22., according to system described in claim 19, is characterized in that, the information relevant to the first signal sampling rate comprises the number of samples that every frame sends; The information relevant to secondary signal sample rate comprises the number of samples of every frame-grab.
23., according to system described in claim 19, is characterized in that, the information relevant to the first signal sampling rate comprises the timestamp sending frame; The information relevant to secondary signal sample rate comprises the timestamp of catching frame.
24., according to system described in claim 19, is characterized in that, described deviation estimator use repetition median method estimates the drift between the first and second signals.
25., according to system described in claim 19, is characterized in that, described resampler uses sinc resampling technique to carry out resampling to first and/or secondary signal.
26., according to system described in claim 19, is characterized in that, described resampler uses linear resampling technique to carry out resampling to first and/or secondary signal.
27., according to system described in claim 19, is characterized in that, described deviation estimator is configured to, and before estimation drift, delete the outlier of the first data set and the second data set.
28., according to system described in claim 27, is characterized in that, described deviation estimator is configured to, and the outlier being greater than refusal threshold value by refusal deletes these outliers, and this refusal threshold value is determined by the first data set and the second data set.
29., according to system described in claim 27, is characterized in that, described deviation estimator is configured to, and the outlier being less than refusal threshold value by refusal deletes these outliers, and this refusal threshold value is determined by the first data set and the second data set.
30. according to claim 28 or 29 system, it is characterized in that, described refusal threshold value is directly proportional to the measure of spread of the first data set and the second data set.
31., according to system described in claim 30, is characterized in that, the described measure of spread is an absolute deviation.
32., according to system described in claim 19, is characterized in that, described deviation estimator use linear regression method estimates the described drift between described first signal and described secondary signal.
33., according to system described in claim 19, is characterized in that, described resampler is configured to, and when described estimation drift is less than predetermined threshold, forbid described resampling.
34. according to system described in claim 19, and comprise a nonlinear processor be effectively connected with described resampler further, wherein said nonlinear processor is configured to:
By comparing the association between the first signal and secondary signal, calculate first coherence measurement;
By comparing the association between secondary signal and error signal (residual echo comprised from linear adaptive filter exports), calculate second coherence measurement; And
Apply first and second coherence measurement, calculate echo cancellor information.
35. according to system described in claim 19, and comprise a nonlinear processor be effectively connected with described resampler further, wherein said nonlinear processor is configured to:
By comparing the association between the first signal and secondary signal, calculate first coherence measurement;
By comparing the association between secondary signal and error signal (residual echo comprised from linear adaptive filter exports), calculate second coherence measurement; And
Apply first and second coherence measurement, calculate inhibiting factor.
36., according to system described in claim 35, is characterized in that, described nonlinear processor is configured to, and inhibiting factor is applied to error signal, thus significantly eliminate the residual echo of error signal.
37. 1 kinds of equipment to the drift between the first signal and secondary signal, described equipment comprises:
For within the predetermined time, receiving package containing described first signal sampling rate relevant information the first data set and comprise the second data set of described secondary signal sample rate relevant information, and using they devices as input;
For based on the first data set received within the described scheduled time and the second data set, estimate the device of the drift between the first signal and secondary signal; And
For determining to estimate that drift makes active response after being greater than predetermined threshold, according to estimation drift, resampling is carried out to first and/or secondary signal, to compensate the device of the drift between the first and second signals, wherein, resampling is applied to the signal path towards Echo Canceller.
38., according to equipment described in claim 37, comprise further:
When being the near end signal of catching for being the remote signaling that is about to send and secondary signal when the first signal, perform the device of echo cancellor.
39., according to equipment described in claim 38, comprise further: for performing the device that echo is suppressed to described near-end and remote signaling.
40., according to equipment described in claim 37, is characterized in that, the information relevant to the first signal sampling rate comprises the number of samples that every frame sends; The information relevant to secondary signal sample rate comprises the number of samples of every frame-grab.
41., according to equipment described in claim 37, is characterized in that, the information relevant to the first signal sampling rate comprises the timestamp sending frame; The information relevant to secondary signal sample rate comprises the timestamp of catching frame.
42., according to equipment described in claim 37, comprise further:
For the device using repetition median method to estimate the drift between the first and second signals.
43., according to equipment described in claim 37, comprise further:
For using sinc resampling technique, first and/or secondary signal are carried out to the device of resampling.
44., according to equipment described in claim 37, comprise further:
For using linear resampling technique, first and/or secondary signal are carried out to the device of resampling.
45., according to equipment described in claim 37, comprise further:
For before estimation drift, delete the device of the outlier of the first data set and the second data set.
46., according to equipment described in claim 45, comprise further:
Outlier for being greater than refusal threshold value by refusal deletes the device of these outliers, and this refusal threshold value is determined by the first data set and the second data set.
47., according to equipment described in claim 45, comprise further:
Outlier for being less than refusal threshold value by refusal deletes the device of these outliers, and this refusal threshold value is determined by the first data set and the second data set.
48. according to claim 46 or 47 equipment, it is characterized in that, described refusal threshold value is directly proportional to the measure of spread of the first data set and the second data set.
49., according to equipment described in claim 48, is characterized in that, the described measure of spread is an absolute deviation.
50., according to equipment described in claim 37, comprise further:
For using linear regression method to estimate the device of the described drift between described first signal and described secondary signal.
51., according to equipment described in claim 37, comprise further:
For when described estimation drift is less than predetermined threshold, forbid the device of described resampling.
52., according to equipment described in claim 37, comprise further:
For the association by comparing between the first signal and secondary signal, calculate the device of first coherence measurement;
For the association by comparing between secondary signal and error signal (residual echo comprised from linear adaptive filter exports), calculate the device of second coherence measurement; And
For applying first and second coherence measurement, calculate the device of echo cancellor information.
53., according to equipment described in claim 37, comprise further:
For the association by comparing between the first signal and secondary signal, calculate the device of first coherence measurement;
For the association by comparing between secondary signal and error signal (residual echo comprised from linear adaptive filter exports), calculate the device of second coherence measurement; And
For applying first and second coherence measurement, calculate the device of inhibiting factor.
54., according to equipment described in claim 53, comprise further:
For described inhibiting factor is applied to described error signal, to reduce the device of the echo in this error signal.
CN201180072385.7A 2011-05-18 2011-05-18 Clock drift compensation method and apparatus Expired - Fee Related CN103688522B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/036995 WO2012158168A1 (en) 2011-05-18 2011-05-18 Clock drift compensation method and apparatus

Publications (2)

Publication Number Publication Date
CN103688522A CN103688522A (en) 2014-03-26
CN103688522B true CN103688522B (en) 2015-11-25

Family

ID=44627552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180072385.7A Expired - Fee Related CN103688522B (en) 2011-05-18 2011-05-18 Clock drift compensation method and apparatus

Country Status (2)

Country Link
CN (1) CN103688522B (en)
WO (1) WO2012158168A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2747451A1 (en) * 2012-12-21 2014-06-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Filter and method for informed spatial filtering using multiple instantaneous direction-of-arrivial estimates
US9514766B1 (en) * 2015-07-08 2016-12-06 Continental Automotive Systems, Inc. Computationally efficient data rate mismatch compensation for telephony clocks
CN105553598B (en) * 2016-01-10 2017-09-29 北京航空航天大学 A kind of time triggered ethernet clock compensation method that robustness regression is estimated based on M
CN108521314B (en) * 2018-03-21 2019-07-09 浙江理工大学 Clock drift compensation method towards real-time Wi-Fi network
CN110992975B (en) * 2019-12-24 2022-07-12 大众问问(北京)信息科技有限公司 Voice signal processing method and device and terminal
CN112562709B (en) * 2020-11-18 2024-04-19 珠海全志科技股份有限公司 Echo cancellation signal processing method and medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101843082A (en) * 2007-12-18 2010-09-22 坦德伯格电信公司 A method and system for clock drift compensation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8295475B2 (en) * 2006-01-13 2012-10-23 Microsoft Corporation Selective glitch detection, clock drift compensation, and anti-clipping in audio echo cancellation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101843082A (en) * 2007-12-18 2010-09-22 坦德伯格电信公司 A method and system for clock drift compensation

Also Published As

Publication number Publication date
CN103688522A (en) 2014-03-26
WO2012158168A1 (en) 2012-11-22

Similar Documents

Publication Publication Date Title
CN103718538B (en) The non-linear post-processing method of audio signal and the system of acoustic echo elimination can be realized
CN103688522B (en) Clock drift compensation method and apparatus
CN100531274C (en) Digital adaptive filter and acoustic echo canceller using the same
US8014519B2 (en) Cross-correlation based echo canceller controllers
EP2912833B1 (en) System and method for acoustic echo cancellation
EP3796629B1 (en) Double talk detection method, double talk detection device and echo cancellation system
WO2005125168A1 (en) Echo canceling apparatus, telephone set using the same, and echo canceling method
US8385558B2 (en) Echo presence determination in voice conversations
JP2002528995A (en) Method and apparatus for providing echo suppression using frequency domain non-linear processing
US7366118B2 (en) Echo cancellation
EP2710788A1 (en) Using echo cancellation information to limit gain control adaptation
US8831210B2 (en) Method and system for detection of onset of near-end signal in an echo cancellation system
US20080240414A1 (en) Hybrid echo canceller controllers
US20080240415A1 (en) Hybrid echo canceller controllers
CN109961798B (en) Echo cancellation system, echo cancellation method, readable computer storage medium, and terminal
US9602922B1 (en) Adaptive echo cancellation
CN106297816B (en) Echo cancellation nonlinear processing method and device and electronic equipment
JP6356087B2 (en) Echo canceling apparatus, method and program
WO2012158165A1 (en) Non-linear post-processing for super-wideband acoustic echo cancellation
Kar et al. An improved order estimation of MSF for stereophonic acoustic echo cancellation
Sankaran Implementation and evaluation of echo cancellation algorithms
Muzahid Thesis for Master’s Degree
JPH07303061A (en) Echo canceler and echo path estimating method
JPH0799469A (en) Device for eliminating acoustic echo

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151125

Termination date: 20170518