Signal processing device, delay estimation method and echo cancellation method

By combining echo estimation and delay estimation technology in the signal processing device, the time delay problem caused by the different sampling frequencies of the microphone and the speaker is solved, the echo interference is effectively eliminated, and the call quality and recognition rate are improved.

CN114078482BActive Publication Date: 2025-01-17REALTEK SEMICON CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010848620.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-08-21
Publication Date
2025-01-17
Estimated Expiration
2040-08-21

AI Technical Summary

Technical Problem

The time delay problem caused by the different sampling frequency of the microphone and speakers affects the effect of echo cancellation.

Method used

Design a signal processing device, including an echo estimation device, a captured signal temporary storage device and a delay estimation device. The echo estimation signal is generated according to the reference signal and the reflection path simulation coefficient, and the first delay or the second delay is updated according to the delay adjustment amount to adapt to the time delay change.

Benefits of technology

It effectively eliminates echo interference caused by different sampling frequencies, and improves the call quality and recognition rate of network voice calls and speech recognition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114078482B_ABST
    Figure CN114078482B_ABST
Patent Text Reader

Abstract

A signal processing device includes an echo estimation device, a captured signal temporary storage device and a delay estimation device. The echo estimation device generates an echo estimation signal according to a reference signal and a set of reflection path simulation coefficients, and compensates the echo estimation signal according to a first delay to generate a compensated echo estimation signal. The captured signal temporary storage device is used to temporarily store a captured signal captured by a microphone device, and output the captured signal according to a second delay to generate a compensated captured signal. The delay estimation device couples the echo estimation device and the captured signal temporary storage device to estimate a delay adjustment amount according to the compensated echo estimation signal and the compensated captured signal, and updates the first delay or the second delay according to the delay adjustment amount. The difference between the upper limit value and the lower limit value of the first delay is less than or equal to 1.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a delay estimation method and a corresponding signal processing device, and in particular to a delay estimation method applied to echo elimination. Background Art

[0002] When a near-end user uses a microphone and a speaker to talk to a remote user over the Internet, the microphone receives the sound played by the speaker while receiving the near-end user's voice, which results in echo interference. This echo refers to the sound played by the speaker and received by the microphone through the reflection of the environment. For applications such as Voice Over IP (VOIP) or Voice Recognition (VR), echo and environmental noise are considered interference factors, which will reduce the call quality or reduce the recognition rate. Acoustic Echo Cancelling (AEC) is a technology used to solve echo interference.

[0003] Echo cancellation technology is to input the sound signal (reference signal) to be played by the speaker into a filter that simulates the reflection environment to obtain an echo estimation value, and then subtract the echo estimation value from the sound received by the microphone (capture signal) to achieve the echo cancellation result.

[0004] However, since the microphone used for capturing sound and the speaker used for rendering sound are different hardware devices, there is usually a frequency asynchrony problem between the two. When the sampling frequencies used by the microphone and the speaker are different, it will directly affect the effect of echo cancellation. In addition, the sampling frequency difference between the microphone and the speaker is usually a time-varying factor, making it difficult for AEC to respond to frequency changes in real time, and thus it is impossible to completely eliminate the echo.

[0005] In view of this, a delay estimation method is needed to adaptively estimate the time delay between the reference signal and the captured signal. The obtained delay is used to compensate the echo signal and the captured signal, so that the AEC can effectively eliminate the echo. Summary of the invention

[0006] An object of the present invention is to solve the problem of a time delay between a reference signal and a captured signal that varies with time due to different sampling frequencies.

[0007] According to one embodiment of the present invention, a signal processing device includes an echo estimation device, a captured signal temporary storage device and a delay estimation device. The echo estimation device generates an echo estimation signal according to a reference signal and a set of reflection path simulation coefficients, and compensates the echo estimation signal according to a first delay to generate a compensated echo estimation signal. The captured signal temporary storage device is used to temporarily store a captured signal captured by a microphone device, and output the captured signal according to a second delay to generate a compensated captured signal. The delay estimation device couples the echo estimation device and the captured signal temporary storage device to estimate a delay adjustment amount according to the compensated echo estimation signal and the compensated captured signal, and updates the first delay or the second delay according to the delay adjustment amount. The difference between the upper limit value and the lower limit value of the first delay is less than or equal to 1.

[0008] According to another embodiment of the present invention, a delay estimation method includes: compensating an echo estimation signal according to a first delay to generate a compensated echo estimation signal; outputting a captured signal captured by a microphone device according to a second delay to generate a compensated captured signal; estimating a delay adjustment amount according to the compensated echo estimation signal and the compensated captured signal; and updating a first delay or a second delay according to the delay adjustment amount. The first delay is less than an upper limit value and greater than a lower limit value, and the difference between the upper limit value and the lower limit value is less than or equal to 1.

[0009] According to another embodiment of the present invention, an echo cancellation method includes: generating an echo estimation signal according to a reference signal and a set of reflection path simulation coefficients; compensating the echo estimation signal according to a first delay to generate a compensated echo estimation signal; outputting a captured signal captured by a microphone device according to a second delay to generate a compensated captured signal; subtracting the compensated echo estimation signal from the compensated captured signal to generate an output signal; estimating a delay adjustment amount according to the compensated echo estimation signal and the compensated captured signal; and updating a first delay or a second delay according to the delay adjustment amount. The first delay is a value less than 1, and the second delay is an integer value. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 FIG. 4 is a block diagram of a signal processing device according to an embodiment of the present invention.

[0011] Figure 2 FIG. 4 is a block diagram showing a delay estimation method according to an embodiment of the present invention.

[0012] Figure 3 FIG. 2 is an example graph showing energy versus delay according to an embodiment of the present invention.

[0013] Figure 4 FIG. 4 is a flow chart showing a delay estimation method according to an embodiment of the present invention.

[0014] Figure 5 FIG. 4 is a flow chart showing an echo cancellation method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0015] Figure 1 1 is a block diagram of a signal processing device according to an embodiment of the present invention. The signal processing device 100 can perform delay estimation, delay compensation and echo cancellation to estimate the time delay between the reference signal and the captured signal, and compensate the echo signal and the captured signal according to the estimated time delay, and perform echo cancellation using the compensated signal, thereby effectively canceling the echo.

[0016] The signal processing device 100 may include at least an echo estimation device 110, a captured signal storage device 120, and a delay estimation device 130. The echo estimation device 110 is coupled to a signal providing path, and the signal providing path is further coupled to a speaker device 200 for providing a sound signal to be played through the speaker to the speaker device 200. The echo estimation device 110 receives the sound signal from the signal providing path as a reference signal. x (m), where the reference signal x (m) is a time domain sampling signal. In the embodiment of the present invention, the echo cancellation is performed block-wise processing on the signal. Therefore, the reference signal x (m) may be a vector including a plurality of sampling points and may be expressed as follows:

[0017] x (m)=[x(mN+NL),....,x(mN),x(mN+1),...,x(mN+N-1)] T Formula (1)

[0018] Wherein N represents the hop length (number of sampling points) of each processing performed by the signal processing device 100 , L represents the length of Fast Fourier Transform (FFT), and m represents the mth processing frame.

[0019] The echo estimation device 110 uses the reference signal x (m) generating an echo estimation signal with a set of reflection path simulation coefficients, and compensating the echo estimation signal according to the first delay to generate a compensated echo estimation signal.

[0020] The echo estimation device 110 may include a fast Fourier transform device 111 , a reflection path simulation device 112 , a delay compensation device 113 , and an inverse fast Fourier transform (iFFT) device 114 .

[0021] The fast Fourier transform device 111 is used to transform the reference signal x (m) Converting from a time domain signal to a frequency domain signal. The fast Fourier transform device 111 can perform FFT by performing the calculation of the following formula (2):

[0022] X (m) = F × x (m) Formula (2)

[0023] Where F represents the discrete Fourier transform matrix, X (m) is the frequency domain reference signal.

[0024] The reflection path simulation device 112 is used to simulate the frequency domain reference signal X (m) and a set of reflection path simulation coefficients to generate an echo estimation signal. The reflection path simulation device 112 can generate an echo estimation signal by performing the calculation of the following formula (3):

[0025] Y (m)= X (m) H (m) Formula (3)

[0026] The “·” represents the dot multiplication operation (also called element-wise multiplication). H (m) represents a frequency domain filter coefficient of a filter for simulating the channel response of a reflection path of a sound signal reflected from a loudspeaker back to a microphone device, Y (m) represents the obtained echo estimation signal, which is a frequency domain signal.

[0027] In an embodiment of the present invention, the reference signal x (m) and the captured signal captured by the microphone device 300 d The delay caused by the sampling frequency difference between (m) and (m) can be divided into two parts, including a fractional delay (hereinafter referred to as the first delay) and an integer delay (hereinafter referred to as the second delay), which are used to compensate the echo estimation signal and the acquisition signal respectively.

[0028] The delay compensation device 113 is used to estimate the first delay compensation echo signal Y (m) to generate a compensated echo estimation signal Y ξ The delay compensation device 113 can generate a compensated echo estimation signal by executing the calculation of the following formula (4):

[0029] Y ξ (m)= Y (m) Ψ (ξm )Formula (4)

[0030] The delay compensation device 113 compensates the delay by performing a phase shift operation on the frequency domain signal. m Represents the value of the first delay currently obtained, ξ m In each iteration, the value of the first delay may be updated by the previous iteration, and in the first iteration, may be set to a default value or initial value, for example but not limited to, set to 0. Ψ (ξ m ) is the phase shift vector, which can be expressed as follows:

[0031]

[0032] Compensated echo estimation signal Y ξ (m) may be repeatedly provided to the delay estimation device 130 in each iteration of updating / estimating the delay.

[0033] The inverse fast Fourier transform device 114 is used to transform the compensated echo estimation signal Y ξ (m) Converting from a frequency domain signal to a time domain signal to provide a subsequent echo cancellation operation. The inverse fast Fourier transform device 114 can perform iFFT by performing the calculation of the following formula (6):

[0034] y ξ (m) = [0 I] × F -1 × Y ξ (m) Formula (6)

[0035] Where [0 I] is to eliminate the distortion caused by circular convolution, 0 is a matrix of all zeros, I is the identity matrix, and F -1 Represents the inverse discrete Fourier transform matrix.

[0036] The captured signal temporary storage device 120 may include a temporary storage device 121 and a signal selection device 122. The temporary storage device 121 is used to temporarily store a captured signal with a predetermined number of sampling points (equivalent to a predetermined length, for example, 10ms). d (m), the signal selection device 122 is used to capture the signal according to the second delayed output d (m), for example, the signal selection device 122 may determine the capture signal to be output according to the second delay d (m) and the sampling signal output of this interval is used as the compensated capture signal. d Δ(m). Compensated captured signal d Δ (m) can be expressed as follows:

[0037] d Δ (m) = [d(mN+Δ m ),d(mN+1+Δ m ),...,d(mN+N-1+Δ m )] T Formula (7)

[0038] where Δ m Represents the value of the second delay currently obtained, Δ m In each iteration, the value of the second delay may be updated by the previous iteration, and in the first iteration, may be set to a default value or initial value, for example but not limited to, set to 0.

[0039] According to an embodiment of the present invention, the delay estimation device 130 uses the compensated echo estimation signal in each iteration. Y ξ (m) and the compensated capture signal d Δ (m) to re-estimate the first delay ξ provided for the next iteration m+1 With the second delay Δ m+1 The value of , where the subscript m represents the mth frame.

[0040] The delay estimation device 130 estimates the signal based on the compensated echo Y ξ (m) and the compensated capture signal d Δ (m) estimating a delay adjustment amount, and determining whether to update the first delay ξ according to the delay adjustment amount m With the second delay Δ m One or more of.

[0041] Figure 2 FIG. 1 is a block diagram showing a delay estimation method according to an embodiment of the present invention. The delay estimation operation performed by the delay estimation device 130 may include the following steps:

[0042] Step S202: Obtaining a compensated echo estimation signal Y ξ (m) and the compensated capture signal d Δ (m).

[0043] Step S204: The compensated captured signal d Δ (m) Convert time domain signals to frequency domain signalsD Δ (m). The delay estimation device 130 may perform FFT by performing the calculation of the following formula (8):

[0044] D Δ (m) = F × d ' Δ (m) Formula (8)

[0045] in It is a signal with all 0 vectors d Δ (m) The result after zero-padded.

[0046] Step S206: Based on multiple delay candidates Generate multiple phase shift vectors Using Phase Shift Vector Calculate multiple phase-shifted signals Y η (m), and calculate multiple error signals respectively E η (m).

[0047] In the embodiment of the present invention, the delay estimation device 130 may first set a plurality of delay candidates Delayed Candidate Satisfies the following formula (9):

[0048]

[0049] Where -K≤η≤K, η is used to fine-tune the first delay ξ m Delayed candidates The index value, the lower limit of the fine-tuning value v L Between -1 and 0, and the upper limit of the fine-tuning value v u Between 0 and 1. Substituting each delay candidate into formula (5) can obtain the corresponding phase shift vector

[0050] The delay estimation device 130 calculates (2K+1) phase shift vectors Then, use the phase shift vector The following formula (10) calculates (2K+1) phase shift signals Y η (m), and the compensated captured signals in the frequency domain D Δ (m) and phase shift signal Y η (m) The following formula (11) calculates (2K+1) error signals E η(m):

[0051]

[0052] E η (m)= D Δ (m)- Y η (m) Formula (11)

[0053] E η (m) represents the compensated echo estimation signal fine-tuned with different fine-tuning values Y ξ (m), the difference between the obtained result and the compensated captured signal. In the embodiment of the present invention, the delay estimation device 130 attempts to m The smaller the difference is, the more likely it is that the real delay between the echo estimation signal and the captured signal has been found.

[0054] Step S208: Calculate the energy of the error signal in a predetermined frequency band to generate multiple energy signals, and find a minimum value of the energy signals. The delay estimation device 130 can calculate the energy of the error signal using the following formula (12):

[0055] P E (m,η)=∑ k |E η (m,k)| 2 Formula (12)

[0056] Where k represents the frequency within a given frequency band, and the present invention is not limited to the given frequency band range, so the energy summation operation ∑ k It can be for the entire frequency domain or a certain frequency band.

[0057] It should be noted that E η (m) is the error signal of the mth processing frame, which is a frequency domain signal and a vector. Like the other frequency domain signals mentioned above, E η (m) may include L elements, where L represents the length of the FFT. Therefore, E η (m) is E in formula (12) η The simplified representation of (m,k) is, E η (m) can actually be expressed as E η (m,k)=[E η (m,0),Eη (m,1),...,E η (m,L-1)] T , where 0, 1, ..., L-1 represent the values ​​of the frequency index value k, and the actual values ​​corresponding to each index value can be expressed as

[0058] In addition, in some embodiments of the present invention, the delay estimation device 130 may further perform recursive smoothing on the obtained energy, such as first-order recursive smoothing as shown in the following formula (13):

[0059]

[0060] According to an embodiment of the present invention, the delay estimation device 130 can directly extract the minimum value from the multiple energy signals calculated in step S208. For example, the minimum value of the energy signal and the index value of the delay candidate corresponding to the minimum value are found as follows:

[0061]

[0062] According to another embodiment of the present invention, if the candidate The value of is the X-axis, the energy size is the Y-axis, and the energy signal P is marked in the two-dimensional plane. E (m,η) or The points of these points may form a curve, for example Figure 3 The energy curves corresponding to different delays are shown, wherein the circles represent the landing points of the energy signal calculated in step S208.

[0063] In order to estimate the delay adjustment amount more accurately, the delay estimation device 130 may perform curve fitting on these energy drop points to try to find a curve that includes these energy drop points (eg Figure 3 The curve shown in FIG. 10 and its corresponding formula are used to find the minimum energy and the delay candidate corresponding to the minimum energy through the curve formula, wherein the minimum energy may not be equal to the energy signal value calculated in step S208, and the delay candidate corresponding to the minimum energy may not be equal to the delay candidate set by the delay estimation device 130. It may not fall on v L ~v u In other words, in step S210, the delay estimation device 130 can also try to find a delay amount that can minimize the energy of the error signal through curve fitting, and this delay amount may not be selected from the delay candidate set by the delay estimation device 130. Can be a candidate for delay Different values.

[0064] If this curve is a parabola opening downward, it means that the minimum energy does not exist.

[0065] If the curve is not impossible to have a minimum energy curve, the delay estimation device 130 can find the delay candidate corresponding to the minimum energy in the curve as the fine-tuning value of the first delay through the curve formula. u And the lower limit of fine-tuning value v L If the difference between φ and φ is greater than a specific value, the delay estimation device 130 may also determine that the minimum energy does not exist because the fine-tuning value is unreasonable.

[0066] Step S210: Determine whether the minimum energy (eg, the minimum value of the energy signal) exists. If not, discard the delay estimation result of this time (ie, do not update the current estimation, so that ξ m+1 =ξ m , Δ m+1 =Δ m ). If it exists, then in step S212 the first delay ξ is updated m With the second delay Δ m at least one of.

[0067] Step S212: Estimate the delay adjustment amount according to the minimum energy, and update the first delay ξ according to the delay adjustment amount m+1 With the second delay Δ m+1 at least one of.

[0068] Assume that the delay estimation device 130 sets the delay adjustment amount of the delay candidate corresponding to the minimum energy found by the above method as (In some embodiments this may be a value selected from the delay candidates ), the delay estimation device 130 can adjust the first delay according to the delay adjustment amount to generate a first value ξ′ as shown in the following formula (15): m+1 :

[0069]

[0070] Wherein μ is the adjustment step size. To avoid oscillation caused by estimation error or environmental noise, the delay estimation device 130 may set μ≤1. Next, the delay estimation device 130 may determine whether the first delay ξ needs to be modified according to the size of the first value as shown in the following formula (16): m+1 With the second delay Δ m+1 :

[0071]

[0072] Where Ω U is the preset upper limit value, Ω L is a preset lower limit value. In one embodiment of the present invention, Ω U =0.5,Ω L =0.5, thereby controlling -0.5<ξ<0.5.

[0073] More specifically, the delay estimation device 130 may determine the first value ξ′ m+1 Is it less than the upper limit value Ω U And greater than the lower limit Ω L If so, then directly according to the first value ξ′ m+1 Update the first delay ξ m+1 (That is, setting ξ m+1 =ξ′ m+1 ), and the currently estimated second delay is not updated at this time (ie, setting Δ m+1 =Δ m ).

[0074] If the first value ξ′ m+1 Not less than the upper limit value Ω U , then as in formula (16), by reducing the first value ξ′ m+1 Get the updated first delay ξ m+1 , and by increasing the current second delay Δ m Get the updated second delay Δ m+1 If the first value ξ′ m+1 Not greater than the lower limit Ω L , then as in formula (16), by increasing the first value ξ′ m+1 Get the updated first delay ξ m+1 , and by reducing the current second delay Δ m Get the updated second delay Δ m+1 .

[0075] It should be noted that, in the embodiment of the present invention, the upper limit value Ω of the first delay ξ is U With the lower limit value Ω L The difference is less than or equal to 1. In other words, in each iteration, whether updated or not, the first delay ξ is limited to the limit value Ω U With the lower limit value Ω L within the defined value range.

[0076] In addition, in the embodiment of the present invention, the first delay ξ is a value less than 1, for example, a fraction less than 1, and the second delay Δ is an integer value. By limiting the value range of the first delay ξ, the error caused by performing the phase shift operation can be effectively controlled, thereby accurately and efficiently estimating the delay adjustment amount.

[0077] In addition, in the embodiment of the present invention, after updating the first delay or the first delay and the second delay, the delay estimation device 130 updates the updated first delay ξ m+1 is provided to the echo estimation device 110, and the updated second delay Δ m+1 Provided to the captured signal temporary storage device 120. The echo estimation device 110 and the captured signal temporary storage device 120 can repeatedly compensate the signal delay according to the latest first delay and second delay. The delay estimation device 130 can repeatedly receive the compensated echo estimation signal and the compensated captured signal from the echo estimation device 110 and the captured signal temporary storage device 120, estimate the delay adjustment amount according to the compensated echo estimation signal and the compensated captured signal, and update the first delay or the second delay according to the delay adjustment amount. Through the aforementioned recursive operation, the signal processing device 100 can estimate the delay according to the latest information in real time and perform delay compensation on the captured signal and the echo estimation signal to solve the aforementioned frequency asynchronization problem.

[0078] It should be noted that, in the embodiment of the present invention, once the second delay Δ m+1 is modified to be different from Δ m The value of , in the next iteration (or recursion), capture the signal d The starting sampling point position and the ending sampling point position of (m+1) will change, and the value of the second delay Δ can be a positive integer or a negative integer. If the value of the second delay Δ is a positive integer, it means that the future capture signal needs to be obtained. Therefore, in the embodiment of the present invention, the signal processing device 100 can delay the capture signal in advance and store it in the capture signal temporary storage device 120. In this way, the latest acquired capture signal can become the future capture signal.

[0079] Figure 4 FIG. 1 is a flow chart showing a delay estimation method according to an embodiment of the present invention. The delay estimation method may include the following steps:

[0080] Step S402: Compensate the echo estimation signal according to the first delay to generate a compensated echo estimation signal.

[0081] Step S404: Outputting the captured signal captured by the microphone device according to the second delay to generate a compensated captured signal.

[0082] As described above, in the embodiment of the present invention, the reference signal x (m) and capture signal d The delay caused by the sampling frequency difference between (m) can be divided into two parts: fractional delay and integer delay. Therefore, the first delay is a fraction and is limited to the upper limit value Ω U With the lower limit value Ω Land the second delay is an integer.

[0083] Step S406: Estimate a delay adjustment amount according to the compensated echo estimation signal and the compensated acquisition signal.

[0084] Step S408: updating the first delay or the second delay according to the delay adjustment amount.

[0085] In the embodiment of the present invention, the aforementioned steps are iteratively executed by the corresponding components of the signal processing device 100. In addition, in the embodiment of the present invention, if it is determined that the aforementioned minimum energy does not exist or the fine-tuning value is unreasonable, the operation of estimating the delay adjustment amount in step S406 may be skipped, or the delay adjustment amount may be set to 0, and in step S408, the current first delay and second delay are directly used as updated values ​​and then the process returns to step S402.

[0086] Reference Figure 1 The signal processing device 100 may further include an echo cancellation device, such as an adder (or a subtractor) as shown in the figure, or, in some embodiments of the present invention, the echo estimation device 110 and the adder may be integrated into an echo cancellation device. The echo cancellation device is used to obtain the compensated captured signal. d Δ (m) minus the compensated echo estimate signal y ξ (m) to generate an output signal, which is an echo cancellation signal.

[0087] Figure 5 FIG. 1 is a flow chart showing an echo cancellation method according to an embodiment of the present invention. The echo cancellation method may include the following steps:

[0088] Step S502: Generate an echo estimation signal according to a reference signal and a reflection path simulation coefficient.

[0089] Step S504: Compensate the echo estimation signal according to the first delay to generate a compensated echo estimation signal.

[0090] Step S506: Output a captured signal captured by a microphone device according to the second delay to generate a compensated captured signal.

[0091] Step S508: Subtract the compensated echo estimation signal from the compensated captured signal to generate an output signal.

[0092] Step S510: Estimate a delay adjustment amount according to the compensated echo estimation signal and the compensated acquisition signal.

[0093] Step S512: Update the first delay or the second delay according to the delay adjustment amount.

[0094] In the embodiment of the present invention, the aforementioned steps are iteratively performed by the corresponding components of the signal processing apparatus 100. In addition, as described above, in some cases, the delay adjustment amount may be set to zero.

[0095] In addition, the present invention is not limited to performing echo cancellation first and then delay estimation. For example, in other embodiments of the present invention, steps S504 to S508 may also be performed after steps S510 to S512 are completed. That is, the signal processing device may first perform delay estimation and delay update based on the currently acquired echo estimation signal and captured signal, and then use the updated first delay and second delay to compensate the echo estimation signal and captured signal and perform echo cancellation.

[0096] As described above, through the aforementioned operations, the signal processing apparatus 100 can estimate the delay in real time according to the latest information and perform delay compensation and echo cancellation on the captured signal and the echo estimation signal to solve the aforementioned frequency asynchrony problem.

[0097] The above description is only a preferred embodiment of the present invention. Any equivalent changes and modifications made according to the embodiment of the present invention should fall within the scope of the present invention.

[0098] Description of Reference Numerals

[0099] 100: Signal processing device

[0100] 110: Echo estimation device

[0101] 111: Fast Fourier Transform Device

[0102] 112: Reflection path simulation device

[0103] 113: Delay compensation device

[0104] 114: Inverse Fast Fourier Transform Device

[0105] 120: Capture signal temporary storage device

[0106] 121: Scratchpad

[0107] 122: Signal selection device

[0108] 130: Delay estimation device

[0109] 200: Speaker device

[0110] 300: Microphone device

Claims

1. A signal processing device, comprising: An echo estimation device for generating an echo estimation signal according to a reference signal and a set of reflection path simulation coefficients, and compensating the echo estimation signal according to a first delay to generate a compensated echo estimation signal; a captured signal temporary storage device for temporarily storing a captured signal captured by a microphone device and outputting the captured signal according to a second delay to generate a compensated captured signal; as well as a delay estimation device, coupled to the echo estimation device and the captured signal temporary storage device, for estimating a delay adjustment amount according to the compensated echo estimation signal and the compensated captured signal, and updating the first delay or the second delay according to the delay adjustment amount, wherein a difference between an upper limit value and a lower limit value of the first delay is less than or equal to 1, The delay estimation device generates a plurality of phase shift vectors according to a plurality of delay candidates, and generates a plurality of phase shift signals according to the compensated echo estimation signal and the plurality of phase shift vectors; the delay estimation device also respectively calculates a difference between the plurality of phase shift signals and the compensated capture signal to generate a plurality of error signals, calculates the energy of the plurality of error signals in a predetermined frequency band to generate a plurality of energy signals, and estimates the delay adjustment amount according to the plurality of energy signals.

2. The signal processing device according to claim 1, characterized in that: The delay estimation device further adjusts the first delay according to the delay adjustment amount to generate a first value, and determines whether the first value is less than the upper limit value and greater than the lower limit value. When the first value is not less than the upper limit value, the delay estimation device reduces the first value to update the first delay, and increases the second delay to update the second delay. And when the first value is not greater than the lower limit value, the delay estimation device increases the first value to update the first delay, and decreases the second delay to update the second delay.

3. The signal processing device according to claim 1, characterized in that: The compensated echo estimation signal is a frequency domain signal.

4. The signal processing device according to claim 1, characterized in that: The delay estimation device repeatedly receives the compensated echo estimation signal and the compensated captured signal from the echo estimation device and the captured signal temporary storage device, estimates the delay adjustment amount according to the compensated echo estimation signal and the compensated captured signal, updates the first delay or the second delay according to the delay adjustment amount, and after updating the first delay or the second delay, provides the first delay to the echo estimation device and provides the second delay to the captured signal temporary storage device.

5. The signal processing device according to claim 1, characterized in that: The signal processing device further comprises: an echo cancelling device for subtracting the compensated echo estimation signal from the compensated captured signal to generate an output signal.

6. A delay estimation method, comprising: compensating an echo estimation signal according to a first delay to generate a compensated echo estimation signal; Outputting a captured signal captured by a microphone device according to a second delay to generate a compensated captured signal; estimating a delay adjustment amount according to the compensated echo estimation signal and the compensated acquisition signal; as well as updating the first delay or the second delay according to the delay adjustment amount, The first delay is less than an upper limit value and greater than a lower limit value, and a difference between the upper limit value and the lower limit value is less than or equal to 1, The step of estimating the delay adjustment amount according to the compensated echo estimation signal and the compensated capture signal further comprises: generating a plurality of phase shift vectors according to a plurality of delay candidates; generating a plurality of phase shift signals according to the compensated echo estimation signal and the plurality of phase shift vectors; respectively calculating a difference between the plurality of phase-shifted signals and the compensated captured signal to generate a plurality of error signals; calculating the energy of the plurality of error signals in a predetermined frequency band to generate a plurality of energy signals; and The delay adjustment amount is estimated according to the plurality of energy signals.

7. The delay estimation method according to claim 6, characterized in that: The compensated echo estimation signal is a frequency domain signal.

8. The delay estimation method according to claim 6, characterized in that: The steps included in the delay estimation method are executed iteratively.

9. An echo cancellation method, comprising: Generate an echo estimation signal according to a reference signal and a set of reflection path simulation coefficients; compensating the echo estimation signal according to a first delay to generate a compensated echo estimation signal; Outputting a captured signal captured by a microphone device according to a second delay to generate a compensated captured signal; subtracting the compensated echo estimation signal from the compensated captured signal to generate an output signal; estimating a delay adjustment amount according to the compensated echo estimation signal and the compensated captured signal; as well as updating the first delay or the second delay according to the delay adjustment amount, The first delay is a value less than 1, and the second delay is an integer value, wherein the step of estimating the delay adjustment amount according to the compensated echo estimation signal and the compensated capture signal further includes: generating a plurality of phase shift vectors according to a plurality of delay candidates; generating a plurality of phase shift signals according to the compensated echo estimation signal and the plurality of phase shift vectors; respectively calculating a difference between the plurality of phase-shifted signals and the compensated captured signal to generate a plurality of error signals; calculating the energy of the plurality of error signals in a predetermined frequency band to generate a plurality of energy signals; and The delay adjustment amount is estimated according to the plurality of energy signals.

10. The echo cancellation method according to claim 9, characterized in that: The steps included in the echo cancellation method are executed iteratively.

Citation Information

Patent Citations

  • Echo cancellation method and system based on all-phase multi-delay partitioning frequency domain

    CN107071197A

  • Echo cancellation

    CN1650537A