A method and apparatus for signal processing of a microphone array
By performing speech activation detection on the microphone array signal and optimizing the filtering coefficient estimation of the TF-GSC algorithm, the problem of poor speech signal acquisition quality in the microphone array is solved, and a more efficient speech enhancement effect is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA MOBILE QUANTONG SYST INTEGRATION CO LTD
- Filing Date
- 2022-02-08
- Publication Date
- 2026-05-19
AI Technical Summary
In existing technologies for microphone arrays, the TF-GSC algorithm suffers from poor speech signal acquisition quality due to insufficient estimation methods for parameter H, especially when near-end speech is discontinuous, and the ratio estimation of the transfer function is inaccurate.
By performing voice activation detection on the signals acquired by the microphone array, the filtering coefficients of the fixed beamformer and the blocking filter are determined. The sidelobe cancellation is performed using the minimum mean square filter, thereby improving the estimation accuracy of parameter H.
It improves the quality of voice signal acquisition from the microphone array, reduces computational complexity, and meets the latency requirements of voice enhancement technology in real-time application scenarios.
Smart Images

Figure CN116612776B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of signal processing technology, specifically to a signal processing method, apparatus, electronic device, and computer program product for a microphone array. Background Technology
[0002] TF-GSC (Transfer Function-Generalized Sidelobe Cancellation) is a commonly used beamforming algorithm for enhancing speech microphone arrays. The GSC algorithm mainly consists of three parts: a fixed beamformer (FBF) to satisfy the desired constraints, a blocking matrix (BM) to eliminate the desired signal and generate a noisy reference signal, and an unconstrained normalized least mean square filter (NLMS) to eliminate residual noise in the fixed beamforming output.
[0003] In TF-GSC, the coefficients of the fixed beamformer (FBF) and the blocking matrix (BM) can be determined simply by obtaining an estimate of parameter H. Current techniques estimate parameter H using each K-frame as an analysis interval, assuming that the transfer function remains unchanged and its slope is constant within the K-frame range. However, near-end speech is not always present within the K-frames. Simply averaging the values indiscriminately will not accurately determine the ratios of the transfer functions, thus affecting the quality of the acquired speech signal. Summary of the Invention
[0004] This application provides a signal processing method, apparatus, electronic device, and computer program product for a microphone array to solve the above-mentioned technical problems and thereby improve the acquisition quality of the microphone array's voice signal.
[0005] In a first aspect, embodiments of this application provide a signal processing method for a microphone array, including:
[0006] Voice activation detection is performed on the main input signal acquired by the microphone array to obtain the voice activation detection result of the main input signal, and the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter are determined based on the voice activation detection result.
[0007] The target reference signal is obtained by using the fixed beamformer to perform fixed beamforming on the multiple input signals acquired by the microphone array based on the first filtering coefficient;
[0008] The blocking filter is used to filter the multiple input signals based on the second filtering coefficient to obtain a noise reference signal;
[0009] The output signal of the microphone array is obtained by using a minimum mean square filter to perform sidelobe cancellation based on the target reference signal and the noise reference signal.
[0010] In one embodiment, the step of performing voice activation detection on the main input signal acquired by the microphone array, obtaining the voice activation detection result of the main input signal, and determining the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter based on the voice activation detection result includes:
[0011] Speech activation detection is performed on the main input signal acquired by the microphone array to obtain the speech activation detection result of each frame of the main input signal in the current analysis interval;
[0012] Based on the speech activation detection results of each frame signal, the number of target frames participating in parameter calculation within the current analysis interval is determined, and the transfer function ratio of the current analysis interval is calculated based on the input signal corresponding to the number of target frames.
[0013] The first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter are determined based on the ratio of the transfer function.
[0014] In one embodiment, the step of performing voice activation detection on the main input signal acquired by the microphone array to obtain the voice activation detection result of each frame of the main input signal within the current analysis interval includes:
[0015] Speech activation detection is performed on the main input signal acquired by the microphone array. The sum of short-time energy of each frame of the main input signal within the current analysis interval is calculated. The comparison between the sum of short-time energy and a preset energy threshold is used as the speech activation detection result of each frame of the signal.
[0016] In one embodiment, determining the number of target frames participating in parameter calculation within the current analysis interval based on the speech activation detection result of each frame signal, and calculating the transfer function ratio of the current analysis interval based on the input signal corresponding to the number of target frames, includes:
[0017] Within the current analysis interval, when the sum of the short-time energies of the current frame signal is greater than the preset energy threshold based on the voice activation detection result, the frame number of the current frame is recorded as the frame number of the target frame.
[0018] The transfer function ratio of the current analysis interval is calculated based on the input signal corresponding to the frame number of the target frame.
[0019] In one embodiment, the step of recording the frame number of the current frame as the frame number of the target frame when the sum of the short-time energies of the current frame signal is greater than the preset energy threshold based on the speech activation detection result within the current analysis interval includes:
[0020] Within the current analysis interval, when the sum of the short-time energy of the current frame signal is greater than the preset energy threshold based on the voice activation detection result, the frame number of the current frame is recorded as the frame number of the target frame, and the parameter weight corresponding to the target frame is determined based on the sum of the short-time energy of the target frame signal.
[0021] Correspondingly, the step of calculating the transfer function ratio of the current analysis interval based on the input signal corresponding to the frame number of the target frame includes:
[0022] The transfer function ratio of the current analysis interval is calculated based on the input signal corresponding to the frame number of the target frame and the parameter weights corresponding to the target frame.
[0023] In one embodiment, the signal processing method for the microphone array further includes:
[0024] When the number of target frames in the current analysis interval is less than the preset first threshold, the transfer function ratio of the current analysis interval is set to the pre-configured default value.
[0025] In one embodiment, the signal processing method for the microphone array further includes:
[0026] When determining the first filtering coefficient of the fixed beamformer, the first filtering coefficient is frequency-aligned according to the spacing between each microphone in the microphone array.
[0027] Secondly, embodiments of this application provide a signal processing apparatus for a microphone array, comprising:
[0028] The coefficient determination module is used to perform voice activation detection on the main input signal collected by the microphone array, obtain the voice activation detection result of the main input signal, and determine the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter based on the voice activation detection result.
[0029] The first signal acquisition module is used to perform fixed beamforming on the multiple input signals acquired by the microphone array based on the first filtering coefficient using the fixed beamformer to obtain a target reference signal.
[0030] The second signal acquisition module is used to filter the multiple input signals using the blocking filter based on the second filtering coefficient to obtain a noise reference signal;
[0031] The signal output module is used to obtain the output signal of the microphone array by performing sidelobe cancellation based on the target reference signal and the noise reference signal using a minimum mean square filter.
[0032] Thirdly, embodiments of this application provide an electronic device, including a processor and a memory storing a computer program, wherein the processor executes the program to implement the steps of the signal processing method for the microphone array described in the first aspect.
[0033] Fourthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the steps of the signal processing method for the microphone array described in the first aspect.
[0034] The microphone array signal processing method, apparatus, electronic device, and computer program product provided in this application embodiment can accurately obtain the filtering coefficients of the TF-GSC algorithm by performing voice activation detection on the input signal acquired by the main microphone and preprocessing the input of the transfer function based on the voice activation detection result, thereby effectively improving the acquisition quality of the microphone array voice signal. Attached Figure Description
[0035] To more clearly illustrate the technical solutions in this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0036] Figure 1 This is a schematic flowchart of the signal processing method for a microphone array provided in an embodiment of this application;
[0037] Figure 2 This is a schematic diagram of the structure of a generalized sidelobe canceller in the prior art;
[0038] Figure 3 This is a schematic diagram of the structure of the generalized sidelobe canceller provided in the embodiments of this application;
[0039] Figure 4 This is a schematic diagram of the temporal speech activation detector algorithm provided in an embodiment of this application;
[0040] Figure 5 This is a schematic diagram of the signal processing device for the microphone array provided in the embodiments of this application;
[0041] Figure 6 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0042] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings of the embodiments. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0043] Figure 1 This is a flowchart illustrating the signal processing method for a microphone array. (Refer to...) Figure 1 This application provides a signal processing method for a microphone array, which may include the following steps:
[0044] S1. Perform voice activation detection on the main input signal acquired by the microphone array, obtain the voice activation detection result of the main input signal, and determine the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter based on the voice activation detection result.
[0045] S2. Using the fixed beamformer, the target reference signal is obtained by performing fixed beamforming on the multiple input signals acquired by the microphone array based on the first filtering coefficient;
[0046] S3. The blocking filter is used to filter the multiple input signals based on the second filtering coefficient to obtain a noise reference signal;
[0047] S4. The output signal of the microphone array is obtained by performing sidelobe cancellation based on the target reference signal and the noise reference signal using a minimum mean square filter.
[0048] In this embodiment, the microphone array may include a main microphone and one or more secondary microphones. First, voice activation detection is performed on the main input signal acquired by the main microphone in the microphone array. Based on the voice activation detection results, it is determined which parts of the main input signal contain voice, and the parts without voice are excluded. Thus, the part of the signal containing voice is used as the basis for calculating the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter.
[0049] The signal processing method for microphone arrays provided in this application performs voice activation detection on the input signal acquired by the main microphone and preprocesses the input of the transfer function based on the voice activation detection result, thereby accurately obtaining the filtering coefficients of the TF-GSC algorithm and effectively improving the acquisition quality of the microphone array's voice signal.
[0050] In one embodiment, step S1 may include:
[0051] S110. Perform voice activation detection on the main input signal collected by the microphone array, and obtain the voice activation detection result of each frame of the main input signal in the current analysis interval;
[0052] S120. Based on the speech activation detection results of each frame signal, determine the number of target frames participating in parameter calculation within the current analysis interval, and calculate the transfer function ratio of the current analysis interval according to the input signal corresponding to the number of target frames.
[0053] S130. Determine the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter based on the ratio of the transfer function.
[0054] In this embodiment, by performing voice activation detection on the main input signal, the voice activation detection result of each frame of the main input signal in the current analysis interval can be obtained. Then, based on the voice activation detection result of each frame, it is determined whether the corresponding frame meets the conditions for participating in the H parameter calculation. If it does, the corresponding frame number is recorded (e.g., frame 1, frame 3, frame 9). At the end of the current analysis interval loop, the frame number of several target frames participating in the parameter calculation in the current analysis interval is obtained. Then, for the calculation of the H parameter (transfer function ratio) of the current analysis interval, the input signal corresponding to the frame number of these target frames is used as the basis for parameter calculation, and the input signals of the remaining frames do not participate in the parameter calculation.
[0055] The signal processing method for microphone arrays provided in this application divides a preset analysis interval into frames and determines the number of target frames based on the speech activation detection results of each frame of the main input signal. Then, based on the number of target frames, the corresponding frames of the multiple input signals are used as the basis for H-parameter calculation. This refines the granularity of analysis from the analysis interval of the prior art to each frame in the analysis interval, effectively improving the estimation accuracy of H-parameters. As a result, the filtering coefficients of the TF-GSC algorithm can be accurately obtained, thereby effectively improving the acquisition quality of the microphone array's speech signal.
[0056] In one embodiment, step S110 may include:
[0057] Speech activation detection is performed on the main input signal acquired by the microphone array. The sum of short-time energy of each frame of the main input signal within the current analysis interval is calculated. The comparison between the sum of short-time energy and a preset energy threshold is used as the speech activation detection result of each frame of the signal.
[0058] In this embodiment, the sum of short-time energy of each frame signal is used as the basis for judgment. The comparison between the sum of short-time energy of each frame signal and a preset energy threshold is used as the speech activation detection result of each frame signal. The preset energy threshold can be a fixed value set according to actual needs. Compared with the preset value, the comparison between the sum of short-time energy of each frame signal being greater than, equal to, or less than the preset value is used as the speech activation detection result of that frame signal.
[0059] The microphone array signal processing method provided in this application reduces the computational complexity of the entire system and improves the execution efficiency of the algorithm by comparing the sum of the short-time energy of each frame signal with a preset energy threshold as the speech activation detection result of each frame signal. This enables the speech enhancement technology to meet the high latency requirements in general application scenarios.
[0060] In one embodiment, S120 may include:
[0061] S121. Within the current analysis interval, when the sum of the short-time energies of the current frame signal is greater than the preset energy threshold based on the voice activation detection result, the frame number of the current frame is recorded as the frame number of the target frame.
[0062] S122. Calculate the transfer function ratio of the current analysis interval based on the input signal corresponding to the frame number of the target frame.
[0063] In this embodiment, based on the previous embodiment, when the sum of the short-time energies of the current frame signal is greater than the preset energy threshold according to the voice activation detection result, the frame number of the current frame is recorded as the frame number of the target frame, and then the transfer function ratio of the current analysis interval is calculated based on the input signal corresponding to the frame number of the target frame.
[0064] The signal processing method for microphone arrays provided in this application records signal frames whose sum of short-time energy exceeds a preset energy threshold, and selectively acquires corresponding input signals based on the number of these recorded target frames to participate in H-parameter calculation. This reduces the computational complexity of the entire system, improves the execution efficiency of the algorithm, and can meet the high latency requirements of speech enhancement technology in general application scenarios.
[0065] In one embodiment, step S121 includes:
[0066] Within the current analysis interval, when the sum of the short-time energy of the current frame signal is greater than the preset energy threshold based on the voice activation detection result, the frame number of the current frame is recorded as the frame number of the target frame, and the parameter weight corresponding to the target frame is determined based on the sum of the short-time energy of the target frame signal.
[0067] Correspondingly, step 122 includes:
[0068] The transfer function ratio of the current analysis interval is calculated based on the input signal corresponding to the frame number of the target frame and the parameter weights corresponding to the target frame.
[0069] In this embodiment of the invention, the weight of the frame participating in parameter calculation can also be determined based on the sum of the short-time energy of each frame signal. For example, multiple energy threshold ranges can be set, and each energy threshold range corresponds to a preset weight. The weight of the frame signal participating in parameter calculation is determined based on the energy threshold range into which the sum of the short-time energy of each frame signal falls (for example, the weight of falling into the first energy threshold range is set to 1, and the weight of falling into the second energy threshold range is set to 0.8, etc.).
[0070] The signal processing method for microphone arrays provided in this application improves the accuracy of H parameter estimation by determining the weight of each frame signal in parameter calculation based on the sum of the short-time energy of each frame signal. This enables accurate acquisition of the filtering coefficients of the TF-GSC algorithm, thereby effectively improving the acquisition quality of the microphone array's speech signal.
[0071] In one embodiment, the signal processing method for the microphone array further includes:
[0072] When the number of target frames in the current analysis interval is less than the preset first threshold, the transfer function ratio of the current analysis interval is set to the pre-configured default value.
[0073] In this embodiment of the application, in a relatively extreme case, when the speech activation detection results of most (or even all) frames in a certain analysis interval do not meet the preset conditions, it indicates that some or all of the speech in this analysis interval does not have a near-end speech signal. In this case, the calculation of the transfer function ratio is skipped directly, and the pre-configured default value (such as set to 1) is directly used as the transfer function ratio in the current analysis interval.
[0074] The signal processing method for microphone arrays provided in this application can further save computing resources and obtain a more accurate transfer function ratio by directly using the configured default value as the transfer function ratio in the current analysis interval when the effective speech is determined to be less than a preset ratio. This enables accurate acquisition of the filtering coefficients of the TF-GSC algorithm, thereby effectively improving the acquisition quality of the microphone array speech signal.
[0075] In one embodiment, the signal processing method for the microphone array further includes:
[0076] When determining the first filtering coefficient of the fixed beamformer, the first filtering coefficient is frequency-aligned according to the spacing between each microphone in the microphone array.
[0077] The signal processing method for microphone arrays provided in this application improves the accuracy of the first filter coefficients by performing frequency point alignment processing on the first filter coefficients according to the spacing between each microphone in the microphone array (e.g., the distance between the main microphone and the secondary microphone), thereby effectively improving the acquisition quality of the microphone array's voice signal.
[0078] It should be noted that, please refer to Figure 2 The generalized sidelobe canceller of the transfer function mainly consists of three parts: a fixed beamformer (FBF) to satisfy the desired constraints, a blocking matrix (BM) to eliminate the desired signal and generate a reference signal containing only noise, and an unconstrained normalized least mean square filter (NLMS) to eliminate residual noise in the fixed beamformer output.
[0079] The input model can be represented as:
[0080] z m (t)=a m (t)*s(t)+n m (t); m = 1, ..., M
[0081] Among them, z m s(t) represents the input signal of the m-th sensor; s(t) represents the desired source signal; n m (t) represents the interference signal of the m-th sensor, which consists of directional noise and ambient noise components; a m (t) represents the time-varying transfer function of the desired speech to the m-th sensor; M is the number of microphones in the microphone array;
[0082] Corresponding frequency domain transform:
[0083] Zm (t,e jω )≈A m (e jω S(t,e) jω )+N m (t,e jω m = 1,...,M
[0084] 1. Obtain the transfer function ratios (TF-s ratios) at each frequency point in the frequency domain:
[0085]
[0086] Where H(e) jw ) represents the ratio vector of the transfer function, A1(e jw ) represents the transfer function of microphone 1 (main microphone), A(e jw ) represents a vector composed of the transfer functions of each microphone.
[0087] 2. Construct a blocking matrix:
[0088] H + (e jω )A(e jω ) = 0
[0089] Blocking matrix H(e jw The conjugate transpose of ) is perpendicular to the transfer function vector, and * in the following formula denotes the conjugate of complex numbers.
[0090]
[0091] 3. Determine the filter coefficients of the fixed beamformer (FBF):
[0092]
[0093] From the above formula, we obtain: where F(e) jw F(e) represents the delay caused by the microphone spacing (since the microphones on smartphones are very close together, the delay can be ignored, F(e)). jw H(e) can be approximated as 1); jw ) represents the ratio vector of the transfer function obtained in step one, ||H(e) jw )|| 2 Let be the 2-norm of the ratio vector of the transfer function.
[0094] 4. Solve for the noise reference signal vector U(e jw ):
[0095] U(t,e jω )=H+ (e jω )Z(t,e jω )=H + (e jω )N(t,e jω )
[0096]
[0097] The noise reference signal is obtained by convolving the microphone input with the blocking matrix in the time domain, which is equivalent to performing a multiplication operation in the frequency domain, where Z(t,e) jw ) represents the frequency domain Fourier transform of the t-th frame.
[0098] The subscript m is the serial number of the array microphone, and M is the total number of array microphones.
[0099] 5. Output signal:
[0100] Y(t,e jω ) = Y FBF (t,e jω )-G + (t,e jω )U(t,e jω )
[0101] The final output Y(t,e) of the TF-GSC sidelobe cancellation algorithm jw ), where Y FBF (t,e jw G(t,e) represents the output of the fixed beamformer (FBF). jw ) is a Normalized Least Mean Square Filter (NLMS), and step 6 explains the NLMS algorithm in detail.
[0102] 6. Normalized minimum mean square filter coefficients:
[0103]
[0104]
[0105] P est (t,e jω )=ρP est (t-1,e jω )+(1-ρ)∑ m |Z m (t,e jω )| 2
[0106] G(t,e jw The filter is continuously updated by adding the step size coefficient to the filter coefficients of the previous frame, multiplying by the residual, multiplying by the input, and dividing by the input energy. The step size coefficient is μ, a relatively small constant. U(t,e)jw Y is the noise reference signal. * (t,e jw ) is the complex conjugate of the calculation result of the previous frame.
[0107] P est (t,e jw ) is the input energy sum, used for normalization, obtained through difference equation, where ρ is a constant less than 1, usually taking values in the range [0.8,1].
[0108] The TF-GSC algorithm estimates the slope H of the transfer function based on the principle that the transfer function is difficult to predict, but the ratio of the transfer function does not change in a short period of time (K frames).
[0109]
[0110] As can be seen from the above TF-GSC algorithm flow, the coefficients of the fixed beamformer FBF and the blocking matrix BM can be obtained by only obtaining the estimate of the parameter H.
[0111] For the estimation of H:
[0112]
[0113] Where <.> represents the mean operation. This represents the autocorrelation of the microphone 1 input. This represents the cross-correlation between the m-th microphone and the input of microphone 1.
[0114] It should be noted that in the TF-GSC algorithm, the estimation of parameter H is performed on a K-frame basis, assuming that the transfer function remains unchanged and its slope is constant within the K-frame range. However, near-end speech is not always present in the K-frames. Simply averaging the values does not accurately determine the ratio of the transfer functions, as the TF-GSC algorithm focuses more on the transfer function of the desired speech. Therefore, in this embodiment, a near-end speech activation detector is added to analyze which frames in the K-frames contain speech, thereby excluding frames without speech. This improves the accuracy of parameter H and optimizes the output speech result.
[0115] The following section further explains the problems with the original algorithm in estimating parameter H.
[0116] Assume the smartphone has two microphone inputs (frequency domain):
[0117]
[0118]
[0119] Where Z1 and Z2 are the results of the Fast Fourier Transform of the time-domain inputs of the main microphone and the secondary microphone to the frequency points, and n is the number of frequency points, which is usually 128. For simplicity, the above vector is abbreviated as follows:
[0120]
[0121]
[0122] The autocorrelation of microphone 1 can then be expressed as:
[0123]
[0124] The cross-correlation between microphone 2 and microphone 1 is expressed as:
[0125]
[0126] Substituting the mean operation of <.> into the parameter calculation, we obtain the expression:
[0127]
[0128] From the above formula, we can see that:
[0129] (1) For background noise, there is almost no energy attenuation between the two microphones. In this case, the autocorrelation of the main microphone and the cross-correlation between the main microphone and the secondary microphone are approximately equal, so the parameter is approximately 1. In practical terms, this means that the two transfer functions for background noise are the same, and the ratio is 1.
[0130] (2) When near-end speech is present, the input energy received by the main microphone 1 is higher than that of the secondary microphone. At this time, parameter H is a decimal less than 1 and greater than 0.
[0131] (3) Similarly, if there are other point source signals in the background, the value of parameter H is also a decimal between 0 and 1, but the corresponding H is closer to 1, because as the distance of the point source signal increases, the energy attenuation received by the two microphones is almost the same.
[0132] Based on the three scenarios above, it's clear that the TS-GSC algorithm prefers to obtain the transfer function ratio that is present when near-end speech is present. While the inaccurate estimation when near-end speech is absent can be addressed by reducing the value of the analysis interval K, reducing K increases the number of calculations required for the blocking matrix and the filter coefficients of the fixed beamformer, thus increasing computation time.
[0133] This application's embodiments address speech enhancement in dual-microphone mobile phone scenarios, proposing the addition of a temporal voice activity detector (VID) to the near-end microphone to optimize H estimation, such as... Figure 3 As shown.
[0134] To facilitate a better understanding of the signal processing method for the microphone array provided in the embodiments of this application, the following detailed description is provided:
[0135] In the case of dual-microphone mobile phones, since the distance between the two microphones is relatively short (between 10 and 20 cm), the impact of voice transmission delay between the microphones can be ignored, i.e., F(e jw If the value is 1, there is no need to perform frequency alignment on the two microphone inputs.
[0136] Within the K-frame analysis interval, a short-time energy summation is performed on each frame input from the main microphone (Z1):
[0137]
[0138] Where N is the total number of sampling points in a frame. For example, if 10ms is used as a reference frame, then a narrowband (NB) frame has 80 temporal sampling points, and a wideband (WB) frame has 160 temporal sampling points. x(n) is the near-end speech input.
[0139] For near-end speech, a threshold discrimination method can be used:
[0140] If the sum of the energy of the current frame is greater than the threshold, it is considered that the near-end speech exists, VAD is 1, and this frame participates in the estimation of H; if the sum of the energy of the current frame is less than the threshold, it is considered that the near-end speech does not exist, VAD is 0, and this frame does not participate in the estimation of H.
[0141] Please see Figure 4 As shown, the algorithm steps include:
[0142] 1. Initialization: A[K] = {0}; FrameCount = 0;
[0143] Declare an array A of length K, initialize all values to 0, which is used to identify whether each frame within the K-frame analysis range participates in parameter H estimation. When the condition for participation in the calculation is met, set the value of the corresponding frame index (A[k]) to 1.
[0144] Declare an integer FrameCount, initialized to 0, to count how many frames of parameters are calculated within a range of K frames, incrementing by 1 each time.
[0145] 2. Iterative calculation
[0146] The initial index is set to 0, the maximum number of iterations is K, and the index is incremented by 1 each time.
[0147] Short-time energy summation within the loop:
[0148]
[0149] Example code:
[0150] if y>threshold
[0151] A[index] = 1;
[0152] FrameCount++;
[0153] end
[0154] Where y represents the short-time energy of this frame, x is the input signal of the main microphone, N is the number of samples per frame, and threshold is the threshold value for determining the presence of near-end speech, which is a preset value.
[0155] 3. After the loop ends, calculate the estimate of parameter H:
[0156]
[0157] Assuming the final value of FrameCount is J, then the final expression for H becomes:
[0158] In the above formula, when there is no near-end speech in a frame, the value of A[k] is 0, and it does not participate in the calculation of parameter H.
[0159] If FrameCount is 0 (a relatively extreme case, indicating that there is no near-end speech within the range of K analysis frames), then the estimated value of parameter H can be directly set to 1.
[0160] It should be noted that, due to the limitations of the TF-GSC algorithm, which can only eliminate the low-frequency components of coherent and diffused noise, a considerable number of algorithms focus on post-processing of the TF-GSC algorithm to eliminate incoherent and non-stationary noise, while neglecting the accuracy of the TF-GSC algorithm itself. This embodiment improves the estimation accuracy of parameter H by adding a temporal speech activation detector (VAD) to the main microphone Z1 to preprocess the input of parameter H and remove points with excessively low energy.
[0161] Current technologies process the output of the GSC algorithm through noise and clean speech models, which is a post-processing filtering algorithm. However, generating these noise and clean speech models requires extensive training with large amounts of data, and handling noise from different scenarios and clean speech from different groups represents a significant workload. This algorithm also greatly increases the computational complexity of the entire system, impacting its execution efficiency. Since speech enhancement technologies are generally applied in real-time scenarios, they have extremely high latency requirements. Mitigating the impact of latency necessitates improving hardware performance, further increasing the difficulty of engineering implementation.
[0162] Compared with the prior art, the embodiments of this application have the following beneficial effects: from the perspective of improving the accuracy of the TF-GSC algorithm parameter H, a time-domain speech detection activator is selected to minimize the computational complexity, ensure the real-time performance of the algorithm, and facilitate engineering implementation.
[0163] The signal processing apparatus for a microphone array provided in the embodiments of this application is described below. The signal processing apparatus for a microphone array described below can be referred to in correspondence with the signal processing method for a microphone array described above.
[0164] Please see Figure 5 This application provides a signal processing device for a microphone array, comprising:
[0165] The coefficient determination module 1 is used to perform voice activation detection on the main input signal collected by the microphone array, obtain the voice activation detection result of the main input signal, and determine the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter based on the voice activation detection result.
[0166] The first signal acquisition module 2 is used to perform fixed beamforming on the multiple input signals acquired by the microphone array based on the first filtering coefficient using the fixed beamformer to obtain a target reference signal.
[0167] The second signal acquisition module 3 is used to filter the multiple input signals using the blocking filter based on the second filtering coefficient to obtain a noise reference signal;
[0168] The signal output module 4 is used to obtain the output signal of the microphone array by performing sidelobe cancellation based on the target reference signal and the noise reference signal using a minimum mean square filter.
[0169] It is understood that the above-described device embodiments correspond to the method embodiments of this application. The signal processing device for the microphone array provided in the embodiments of this application can implement the signal processing method for the microphone array provided in any one of the method embodiments of this application.
[0170] Figure 6 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 6 As shown, the electronic device may include a processor 610, a communication interface 620, a memory 630, and a communication bus 640, wherein the processor 610, the communication interface 620, and the memory 630 communicate with each other via the communication bus 640. The processor 610 can call a computer program stored in the memory 630 to execute the steps of a signal processing method for a microphone array, such as including:
[0171] S1. Perform voice activation detection on the main input signal acquired by the microphone array, obtain the voice activation detection result of the main input signal, and determine the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter based on the voice activation detection result.
[0172] S2. Using the fixed beamformer, the target reference signal is obtained by performing fixed beamforming on the multiple input signals acquired by the microphone array based on the first filtering coefficient;
[0173] S3. The blocking filter is used to filter the multiple input signals based on the second filtering coefficient to obtain a noise reference signal;
[0174] S4. The output signal of the microphone array is obtained by performing sidelobe cancellation based on the target reference signal and the noise reference signal using a minimum mean square filter.
[0175] Furthermore, the logical instructions in the aforementioned memory 630 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0176] On the other hand, this application also provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can perform the steps of the signal processing method for the microphone array provided in the above embodiments, such as including:
[0177] S1. Perform voice activation detection on the main input signal acquired by the microphone array, obtain the voice activation detection result of the main input signal, and determine the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter based on the voice activation detection result.
[0178] S2. Using the fixed beamformer, the target reference signal is obtained by performing fixed beamforming on the multiple input signals acquired by the microphone array based on the first filtering coefficient;
[0179] S3. The blocking filter is used to filter the multiple input signals based on the second filtering coefficient to obtain a noise reference signal;
[0180] S4. The output signal of the microphone array is obtained by performing sidelobe cancellation based on the target reference signal and the noise reference signal using a minimum mean square filter.
[0181] On the other hand, embodiments of this application also provide a processor-readable storage medium storing a computer program for causing a processor to perform the steps of the methods provided in the above embodiments, such as including:
[0182] S1. Perform voice activation detection on the main input signal acquired by the microphone array, obtain the voice activation detection result of the main input signal, and determine the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter based on the voice activation detection result.
[0183] S2. Using the fixed beamformer, the target reference signal is obtained by performing fixed beamforming on the multiple input signals acquired by the microphone array based on the first filtering coefficient;
[0184] S3. The blocking filter is used to filter the multiple input signals based on the second filtering coefficient to obtain a noise reference signal;
[0185] S4. The output signal of the microphone array is obtained by performing sidelobe cancellation based on the target reference signal and the noise reference signal using a minimum mean square filter.
[0186] The processor-readable storage medium can be any available medium or data storage device that the processor can access, including but not limited to magnetic memory (e.g., floppy disk, hard disk, magnetic tape, magneto-optical disk (MO)), optical memory (e.g., CD, DVD, BD, HVD), and semiconductor memory (e.g., ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid-state drive (SSD)).
[0187] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0188] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0189] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A signal processing method for a microphone array, characterized in that, include: Voice activation detection is performed on the main input signal acquired by the microphone array to obtain the voice activation detection result of the main input signal, and the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter are determined based on the voice activation detection result. The target reference signal is obtained by using the fixed beamformer to perform fixed beamforming on the multiple input signals acquired by the microphone array based on the first filtering coefficient; The blocking filter is used to filter the multiple input signals based on the second filtering coefficient to obtain a noise reference signal; The output signal of the microphone array is obtained by performing sidelobe cancellation based on the target reference signal and the noise reference signal using a minimum mean square filter. The process of performing voice activation detection on the main input signal acquired by the microphone array, obtaining the voice activation detection result of the main input signal, and determining the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter based on the voice activation detection result includes: Speech activation detection is performed on the main input signal acquired by the microphone array to obtain the speech activation detection result of each frame of the main input signal in the current analysis interval; Based on the speech activation detection results of each frame signal, the number of target frames participating in parameter calculation within the current analysis interval is determined, and the transfer function ratio of the current analysis interval is calculated based on the input signal corresponding to the number of target frames. The first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter are determined based on the ratio of the transfer function.
2. The signal processing method for a microphone array according to claim 1, characterized in that, The process of performing speech activation detection on the main input signal acquired by the microphone array, and obtaining the speech activation detection result of each frame of the main input signal within the current analysis interval, includes: Speech activation detection is performed on the main input signal acquired by the microphone array. The sum of short-time energy of each frame of the main input signal within the current analysis interval is calculated. The comparison between the sum of short-time energy and a preset energy threshold is used as the speech activation detection result of each frame of the signal.
3. The signal processing method for a microphone array according to claim 2, characterized in that, The method of determining the number of target frames participating in parameter calculation within the current analysis interval based on the speech activation detection results of each frame signal, and calculating the transfer function ratio of the current analysis interval based on the input signal corresponding to the number of target frames, includes: Within the current analysis interval, when the sum of the short-time energies of the current frame signal is greater than the preset energy threshold based on the voice activation detection result, the frame number of the current frame is recorded as the frame number of the target frame. The transfer function ratio of the current analysis interval is calculated based on the input signal corresponding to the frame number of the target frame.
4. The signal processing method for a microphone array according to claim 3, characterized in that, Within the current analysis interval, when the sum of the short-time energies of the current frame signal is greater than the preset energy threshold based on the speech activation detection result, the frame number of the current frame is recorded as the frame number of the target frame, including: Within the current analysis interval, when the sum of the short-time energy of the current frame signal is greater than the preset energy threshold based on the voice activation detection result, the frame number of the current frame is recorded as the frame number of the target frame, and the parameter weight corresponding to the target frame is determined based on the sum of the short-time energy of the target frame signal. Correspondingly, the step of calculating the transfer function ratio of the current analysis interval based on the input signal corresponding to the frame number of the target frame includes: The transfer function ratio of the current analysis interval is calculated based on the input signal corresponding to the frame number of the target frame and the parameter weights corresponding to the target frame.
5. The signal processing method for a microphone array according to claim 1, characterized in that, Also includes: When the number of target frames in the current analysis interval is less than the preset first threshold, the transfer function ratio of the current analysis interval is set to the pre-configured default value.
6. The signal processing method for a microphone array according to claim 1, characterized in that, Also includes: When determining the first filtering coefficient of the fixed beamformer, the first filtering coefficient is frequency-aligned according to the spacing between each microphone in the microphone array.
7. A signal processing device for a microphone array, characterized in that, include: The coefficient determination module is used to perform voice activation detection on the main input signal collected by the microphone array, obtain the voice activation detection result of the main input signal, and determine the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter based on the voice activation detection result. The first signal acquisition module is used to perform fixed beamforming on the multiple input signals acquired by the microphone array based on the first filtering coefficient using the fixed beamformer to obtain a target reference signal. The second signal acquisition module is used to filter the multiple input signals using the blocking filter based on the second filtering coefficient to obtain a noise reference signal; The signal output module is used to obtain the output signal of the microphone array by performing sidelobe cancellation based on the target reference signal and the noise reference signal using a minimum mean square filter; The process of performing voice activation detection on the main input signal acquired by the microphone array, obtaining the voice activation detection result of the main input signal, and determining the first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter based on the voice activation detection result includes: Speech activation detection is performed on the main input signal acquired by the microphone array to obtain the speech activation detection result of each frame of the main input signal in the current analysis interval; Based on the speech activation detection results of each frame signal, the number of target frames participating in parameter calculation within the current analysis interval is determined, and the transfer function ratio of the current analysis interval is calculated based on the input signal corresponding to the number of target frames. The first filter coefficient of the fixed beamformer and the second filter coefficient of the blocking filter are determined based on the ratio of the transfer function.
8. An electronic device comprising a processor and a memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the signal processing method for the microphone array according to any one of claims 1 to 6.
9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the signal processing method for the microphone array according to any one of claims 1 to 6.