Earphone wind noise processing method and device, and storage medium
By acquiring spectral data using dual microphones on the headphones, calculating the self-power spectral density and cross-power spectral density, determining filter parameters, and performing filtering, the balance between robustness and low power consumption in existing wind noise processing methods is solved, achieving efficient wind noise suppression.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING XIAOMI MOBILE SOFTWARE CO LTD
- Filing Date
- 2022-11-15
- Publication Date
- 2026-08-04
AI Technical Summary
In existing technologies, wind noise processing methods struggle to balance robustness, low power consumption, and wind noise suppression capabilities. Physical methods have low portability, and software algorithms struggle to effectively suppress low-frequency non-stationary wind noise.
By using dual microphones on the headphones to acquire audio signal spectrum data, calculating the self-power spectral density and cross-power spectral density, determining filter parameters, and performing filtering to suppress wind noise.
It provides stronger wind noise suppression capabilities, high processing efficiency, reduces reliance on the judgment of wind noise presence, and improves the overall wind noise suppression effect.
Smart Images

Figure CN115767346B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of wind noise reduction, and in particular to methods, apparatus and storage media for wind noise reduction in headphones. Background Technology
[0002] Wind noise is turbulence created by airflow colliding with the surfaces of electronic products such as headphones and mobile phones. Its energy is concentrated in low frequencies (below 1kHz) and is a non-stationary signal with unpredictable direction and magnitude. Related technologies for wind noise suppression generally fall into two categories: physical methods and software algorithms. Physical methods mainly employ air duct design and the addition of wind shields; however, due to limitations in materials and physical dimensions, physical methods are difficult to implement and have low portability. Software algorithms include single-channel and multi-channel wind noise suppression algorithms, most of which are based on traditional speech enhancement algorithms and their improvements. However, due to the low-frequency and non-stationary characteristics of wind noise, software algorithms struggle to achieve a balance between robustness, low power consumption, and wind noise suppression capabilities. Summary of the Invention
[0003] To overcome the problems existing in the related technologies, this disclosure provides a method, apparatus and storage medium for processing headphone wind noise.
[0004] According to a first aspect of the present disclosure, a method for processing wind noise in headphones is provided, wherein the headphones include at least a first microphone and a second microphone, the method comprising:
[0005] Acquire the first spectrum data corresponding to the first audio signal collected by the first microphone and the second spectrum data corresponding to the second audio signal collected by the second microphone;
[0006] Based on the first spectrum data and the second spectrum data, determine whether the headphones have wind noise;
[0007] If wind noise is determined to be present in the headphones, the first self-power spectral density of the first spectrum data, the second self-power spectral density of the second spectrum data, and the cross-power spectral density of the first spectrum data and the second spectrum data are determined based on the target smoothing factor.
[0008] The filter parameters are determined based on the first self-power spectral density, the second self-power spectral density, and the cross-power spectral density.
[0009] Based on the determined filtering parameters, the signal received by the headphones is filtered to obtain the wind noise reduction result.
[0010] Optionally, determining the filter parameters based on the first auto-power spectral density, the second auto-power spectral density, and the cross-power spectral density includes:
[0011] The weight coefficients of the filter are determined based on the ratio of the cross-power spectral density to the target sum, and the filter parameters of the filter are obtained. The target sum is the sum of the first auto-power spectral density and the second auto-power spectral density.
[0012] Optionally, the filtering parameters of the filter are the weight coefficients of the filter;
[0013] The step of filtering the signal received by the headphones according to the determined filtering parameters to obtain the wind noise processing result includes:
[0014] Based on the determined weighting coefficients, the second spectral data of the second microphone is filtered to obtain an enhanced signal;
[0015] The enhanced signal is subjected to short-time inverse Fourier transform to obtain the time-domain signal corresponding to the enhanced signal, which is used as the wind noise processing result.
[0016] Optionally, the step of filtering the second spectral data of the second microphone according to the determined weighting coefficients to obtain the enhanced signal includes:
[0017] The boost signal out(k,m) is determined according to the following formula:
[0018] out(k,m)=h H (k,m)t(k,m)
[0019] Where h(k,m) is the weight vector composed of the determined weight coefficients, h H (k,m) is the complex conjugate transpose of h(k,m), t(k,m) is the second spectral data, k is the frequency index of the spectral data, and m is the frame index of the audio signal.
[0020] Optionally, the target smoothing factor is determined in the following manner:
[0021] If wind noise is confirmed to be present in the headphones, determine whether the headphones are in a pure wind noise scenario;
[0022] If it is determined that the headphones are in the pure wind noise scenario, the first smoothing factor is determined as the target smoothing factor;
[0023] If it is determined that the headphones are not in the pure wind noise scenario, the second smoothing factor is determined as the target smoothing factor;
[0024] Wherein, the first smoothing factor is greater than the second smoothing factor.
[0025] Optionally, determining whether the headphones have wind noise based on the first spectrum data and the second spectrum data includes:
[0026] Determine the cross-power spectral density of the first spectral data and the second spectral data;
[0027] Based on the cross-power spectral density, the first spectral data, and the second spectral data, determine the phase information corresponding to the cross-power spectral density;
[0028] The phase variance is determined based on the phase information, the upper and lower frequency limits of the stored wind noise signal;
[0029] Based on the phase variance, it is determined whether the headphones have wind noise. If the phase variance exceeds a first preset threshold, it is determined that the headphones have wind noise; if the phase variance does not exceed the first preset threshold, it is determined that the headphones do not have wind noise.
[0030] Optionally, both the first spectrum data and the second spectrum data include data of at least one audio frame starting with the target audio frame;
[0031] The method further includes:
[0032] If wind noise is detected in the headphones, the phase variance of each of the audio frames corresponding to a preset number of audio frames before the target audio frame is obtained.
[0033] If the preset number of phase variances all exceed the second preset threshold, it is determined that the headphones are in the pure wind noise scenario;
[0034] If the preset number of phase variances does not all exceed the second preset threshold, it is determined that the headphones are not in the pure wind noise scenario.
[0035] According to a second aspect of the present disclosure, a headphone wind noise reduction device is provided, the headphone including at least a first microphone and a second microphone, the device comprising:
[0036] The first acquisition module is configured to acquire first spectrum data corresponding to the first audio signal acquired by the first microphone and second spectrum data corresponding to the second audio signal acquired by the second microphone.
[0037] The first determining module is configured to determine whether the headphones have wind noise based on the first spectrum data and the second spectrum data;
[0038] The second determining module is configured to, when it is determined that there is wind noise in the headphones, determine the first auto-power spectral density of the first spectrum data, the second auto-power spectral density of the second spectrum data, and the cross-power spectral density of the first spectrum data and the second spectrum data based on a target smoothing factor.
[0039] The third determining module is configured to determine the filtering parameters of the filter based on the first self-power spectral density, the second self-power spectral density, and the cross-power spectral density.
[0040] The processing module is configured to filter the signal received by the headphones according to the determined filtering parameters to obtain a wind noise reduction result.
[0041] According to a third aspect of the present disclosure, a headphone wind noise reduction device is provided, comprising:
[0042] processor;
[0043] Memory used to store processor-executable instructions;
[0044] The processor is configured to execute instructions in the memory to implement the steps of the method described in the first aspect of this disclosure.
[0045] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, having stored thereon computer program instructions that, when executed by a processor, implement the steps of the headphone wind noise processing method provided in the first aspect of the present disclosure.
[0046] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects:
[0047] The process involves acquiring first spectral data corresponding to the first audio signal collected by the first microphone on the headphones and second spectral data corresponding to the second audio signal collected by the second microphone. This process determines whether wind noise exists in the headphones. If wind noise is present, based on a target smoothing factor, the first auto-power spectral density of the first spectral data, the second auto-power spectral density of the second spectral data, and the cross-power spectral density of the first and second spectral data are determined. Based on these, filter parameters are determined. Then, the signal received by the headphones is filtered according to these parameters to obtain the wind noise reduction result. Therefore, by determining the filter parameters based on the cross-power spectral density of the spectral data corresponding to each of the two microphones in the headphones when wind noise is confirmed, and using this method to suppress wind noise, a stronger wind noise suppression capability can be provided. Furthermore, the wind noise processing does not require extensive and complex calculations, resulting in high processing efficiency. The reliance on the accuracy of the wind noise detection result is also lower, thus improving the overall wind noise suppression effect.
[0048] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0049] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.
[0050] Figure 1 This is a flowchart illustrating a headphone wind noise processing method according to an exemplary embodiment.
[0051] Figure 2 This is a block diagram illustrating a headphone wind noise processing device according to an exemplary embodiment.
[0052] Figure 3 This is a block diagram illustrating a headphone wind noise processing device according to an exemplary embodiment. Detailed Implementation
[0053] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.
[0054] It should be noted that all actions involving the acquisition of signals, information, or data in this application are carried out in compliance with the relevant data protection laws and policies of the country where the application is located, and with the authorization granted by the owner of the relevant device.
[0055] Figure 1 This is a flowchart illustrating a headphone wind noise processing method according to an exemplary embodiment. The method can be applied to headphones, which include at least a first microphone and a second microphone. For example, the headphones can be headphones with multiple microphones, through which audio signals of the environment in which the headphones are located can be acquired. As mentioned above, the headphones include at least a first microphone and a second microphone, wherein the first microphone can be a feedforward microphone and the second microphone can be a call microphone.
[0056] like Figure 1 As shown, the method provided in this disclosure may include steps 11-15.
[0057] In step 11, the first spectrum data corresponding to the first audio signal collected by the first microphone and the second spectrum data corresponding to the second audio signal collected by the second microphone are obtained.
[0058] Typically, audio signals approximate short-time stationarity within the 10-40ms range, allowing the use of second-order statistics and other information. Therefore, STFT (short-time Fourier transform) can be applied to the audio signals received by the microphones, i.e., frame-by-frame windowing and FFT (fast Fourier transform). For example, assuming the first audio signal acquired by the first microphone is f(n) and the second audio signal acquired by the second microphone is t(n), each frame can be selected as 32ms, correspondingly, the frame length L is 512, the window function w(n) can be a Hanning window with the same length as the frame length, and the frame shift inc is half the frame length L, i.e., inc is 256. Then, the two channel signals sf(n,m) and st(n,m) after frame-by-frame windowing are obtained as follows:
[0059] sf(n,m)=f((m-1)*inc+n)*w(n)
[0060] st(n,m)=t((m-1)*inc+n)*w(n)
[0061] Where m represents the frame index of the audio signal, n represents the data point index of the m-th frame of the audio signal, and 0≤n≤L-1.
[0062] Subsequently, performing Fast Fourier Transform on sf(n,m) and st(n,m) respectively yields the first spectral data F(k,m) corresponding to the first microphone and the second spectral data T(k,m) corresponding to the second microphone. Here, k represents the index of the frequency point.
[0063] The above content is only provided for ease of understanding as one possible implementation of obtaining spectrum data based on audio signals, and this disclosure does not limit other methods.
[0064] In step 12, based on the first spectrum data and the second spectrum data, it is determined whether there is wind noise in the headphones.
[0065] In one possible implementation, step 12 may include the following steps:
[0066] Determine the cross-power spectral density of the first and second spectral data;
[0067] Based on the cross power spectral density, the first spectral data, and the second spectral data, determine the phase information corresponding to the cross power spectral density;
[0068] The phase variance is determined based on the phase information, the upper and lower frequency limits of the stored wind noise signal;
[0069] Based on the phase variance, determine whether wind noise exists in the headphones.
[0070] Based on signal processing knowledge, the cross-power spectral density of the first spectral data F(k,m) and the second spectral data T(k,m) is φ. ft (k,m)=F(k,m)T * (k,m), where the cross-power spectral density φ of the first spectral data F(k,m) and the second spectral data T(k,m) can be determined using an autoregressive time smoothing method according to the following formula. ft (k,m):
[0071] φ ft (k,m)=αφ ft (k,m-1)+(1-α)F(k,m)T * (k,m)
[0072] Where α is the target smoothing factor, T * (k,m) represents the complex conjugate of T(k,m). Furthermore, α < 1, and can be set according to the actual scenario or requirements.
[0073] After determining the cross-power spectral density, the phase information corresponding to the cross-power spectral density can be determined based on the cross-power spectral density, the first spectral data, and the second spectral data. According to the equivalence relation of phase operations, the phase of the cross-power spectrum should be equal to the phase difference between the first spectral data F(k,m) and the second spectral data T(k,m). In other words, the phase corresponding to the cross-power spectral information is determined according to the following formula.
[0074]
[0075] Here, ∠ represents the phase sign.
[0076] Since the speech content in the received signals from the first and second microphones is correlated, while the wind noise component is not correlated, assuming that the phase of the cross-power spectrum is approximately uniformly distributed in a pure wind noise scenario, the normalized phase variance can be calculated using the following formula.
[0077]
[0078] Where k1 is the lower limit of the wind noise signal frequency, and k2 is the upper limit of the wind noise signal frequency. For example, k1 can be 1, and k2 can be 128.
[0079] Therefore, after determining the aforementioned phase variance, it can be determined whether wind noise exists in the headphones. The phase variance reflects the percentage of wind noise signal in the overall signal. Therefore, if the phase variance exceeds a first preset threshold, it can be determined that wind noise exists in the headphones; if the phase variance does not exceed the first preset threshold, it can be determined that wind noise does not exist in the headphones.
[0080] In addition, the presence of wind noise in headphones can be determined by methods such as frequency centroid, two-channel difference and ratio, which will not be detailed in this disclosure.
[0081] In step 13, if wind noise is determined to be present in the headphones, the first self-power spectral density of the first spectral data, the second self-power spectral density of the second spectral data, and the cross-power spectral density of the first spectral data and the second spectral data are determined based on the target smoothing factor.
[0082] Based on signal knowledge, the self-power spectral density of the first spectral data F(k,m) is φ. ff (k,m)=F(k,m)F * (k,m), the self-power spectral density of the second spectral data T(k,m) is φ tt (k,m)=T(k,m)T * (k,m). The first auto-power spectral density φ of the first spectral data F(k,m) can be determined using an autoregressive time smoothing method according to the following formula. ff (k,m), and the second self-power spectral density φ of the second spectral data T(k,m), and the second spectral data T(k,m). tt (k,m):
[0083] φ ff (k,m)=αφ ff (k,m-1)+(1-α)F(k,m)F * (k,m)
[0084] φ tt (k,m)=αφ tt (k,m-1)+(1-α)T(k,m)T * (k,m)
[0085] And the cross-power spectral density φ of the first spectral data F(k,m) and the second spectral data T(k,m). ft (k,m) can be found in the above text, and its calculation method will not be repeated here.
[0086] The meanings of the parameters in the above formulas have been given in the preceding text and will not be repeated here.
[0087] In step 14, the filter parameters are determined based on the first self-power spectral density, the second self-power spectral density, and the cross-power spectral density.
[0088] In one possible implementation, step 14 may include the following steps:
[0089] The filter weights are determined by the ratio of the cross power spectral density to the target sum, thus obtaining the filter parameters.
[0090] The target sum is the sum of the first self-power spectral density and the second self-power spectral density.
[0091] For example, typically, speech and wind noise in the signal received by a microphone are independent of each other. Therefore, based on the multi-channel Wiener filtering method in adaptive filtering, the weight coefficients H(k,m) of the filter can be determined according to the following formula:
[0092]
[0093] After calculating the weight coefficients, the weight vector can be formed using these weight coefficients.
[0094] In step 15, the signal received by the headphones is filtered according to the determined filtering parameters to obtain the wind noise processing result.
[0095] In one possible implementation, step 15 may include the following steps:
[0096] Based on the determined weighting coefficients, the second spectrum data from the second microphone is filtered to obtain the enhanced signal.
[0097] The enhanced signal is subjected to short-time inverse Fourier transform to obtain the corresponding time-domain signal, which is used as the result of wind noise processing.
[0098] For example, the boost signal out(k,m) can be determined using the following formula:
[0099] out(k,m)=h H (k,m)t(k,m)
[0100] Where h(k,m) is the weight vector composed of the determined weight coefficients, h H (k,m) is the complex conjugate transpose of h(k,m), t(k,m) is the second spectral data, k is the frequency index of the spectral data, and m is the frame index of the audio signal.
[0101] Furthermore, as mentioned above, the target smoothing factor can be set according to actual needs and scenarios. The value of the target smoothing factor should be related to the presence of wind noise and the speech signal. When only wind noise is present, a target smoothing factor close to 1 can achieve a better noise reduction effect. If the speech signal is present, the target smoothing factor should be appropriately reduced to ensure that the speech signal is not affected after noise reduction.
[0102] In one possible implementation, a default value can be set for the target smoothing factor. This default value can be obtained through multiple tests, and regardless of the presence of speech signal or wind noise, this default value can achieve a good balance between good noise reduction effect and no loss of speech signal. For example, the default value can be set to 0.8.
[0103] In another possible implementation, the target smoothing factor can be determined in the following way:
[0104] If wind noise is confirmed to be present in the headphones, determine whether the headphones are in a purely wind noise environment.
[0105] If it is determined that the headphones are in a pure wind noise scenario, the first smoothing factor is determined as the target smoothing factor;
[0106] If it is determined that the headphones are not in a pure wind noise scenario, the second smoothing factor is set as the target smoothing factor.
[0107] The first smoothing factor is greater than the second smoothing factor.
[0108] In one possible implementation, both the first and second spectrum data include data from at least one audio frame starting with the target audio frame. Accordingly, it can be determined whether the headphones are in a pure wind noise scenario in the following way:
[0109] Given that wind noise exists in the headphones, obtain the phase variance of each of the preset number of audio frames before the target audio frame;
[0110] If the phase variance of the preset number of items exceeds the second preset threshold, the headphones are determined to be in a pure wind noise scenario.
[0111] If the preset number of phase variances does not all exceed the second preset threshold, it is determined that the headphones are not in a pure wind noise scenario.
[0112] The second preset threshold can be set to the same value as the first preset threshold, or it can be set to a different value.
[0113] When the headphones are in a pure wind noise environment, there's no need to worry about damaging the voice signal; therefore, a larger first smoothing factor can be selected for better noise reduction. However, when the headphones are not in a pure wind noise environment, a slightly smaller second smoothing factor should be selected to avoid damaging the original voice signal, thus balancing noise reduction effectiveness with the integrity of the voice signal.
[0114] For example, the first smoothing factor could be 0.98, and the second smoothing factor could be 0.8.
[0115] In this way, by selecting an appropriate target smoothing factor, even if a signal that does not require wind noise suppression is identified as needing wind noise suppression, the speech content in the wind noise processing result can still maintain its integrity to the maximum extent and will not be damaged by the wind noise suppression processing operation. Thus, the reliance on the accuracy of the detection result of whether wind noise exists can be effectively reduced, and the effect of wind noise suppression can be improved.
[0116] The above technical solution acquires the first spectral data corresponding to the first audio signal collected by the first microphone on the earphone and the second spectral data corresponding to the second audio signal collected by the second microphone. This determines whether wind noise exists in the earphone. If wind noise is present, based on a target smoothing factor, the first auto-power spectral density of the first spectral data, the second auto-power spectral density of the second spectral data, and the cross-power spectral density of the first and second spectral data are determined. Based on these, the filter parameters are determined. Then, according to the determined filter parameters, the signal received by the earphone is filtered to obtain the wind noise reduction result. Therefore, when wind noise is confirmed to exist in the earphone, the filter parameters are determined based on the cross-power spectral density of the spectral data corresponding to each of the two microphones on the earphone, and used to suppress wind noise. This method provides stronger wind noise suppression capability, and the wind noise processing does not require a large amount of complex calculations, resulting in high processing efficiency. It also has a lower dependence on the accuracy of the wind noise determination result, thus improving the overall wind noise suppression effect.
[0117] Figure 2 This is a block diagram illustrating a headphone wind noise processing device according to an exemplary embodiment. The headphones include at least a first microphone and a second microphone, see reference... Figure 2 The device 20 includes:
[0118] The first acquisition module 21 is configured to acquire first spectrum data corresponding to the first audio signal acquired by the first microphone and second spectrum data corresponding to the second audio signal acquired by the second microphone.
[0119] The first determining module 22 is configured to determine whether the headphones have wind noise based on the first spectrum data and the second spectrum data;
[0120] The second determining module 23 is configured to, when it is determined that there is wind noise in the headphones, determine the first auto-power spectral density of the first spectrum data, the second auto-power spectral density of the second spectrum data, and the cross-power spectral density of the first spectrum data and the second spectrum data based on the target smoothing factor.
[0121] The third determining module 24 is configured to determine the filtering parameters of the filter based on the first self-power spectral density, the second self-power spectral density and the cross-power spectral density;
[0122] The processing module 25 is configured to filter the signal received by the headphones according to the determined filtering parameters to obtain a wind noise processing result.
[0123] Optionally, the third determining module 24 includes:
[0124] The first determining submodule is configured to determine the weight coefficients of the filter based on the ratio of the cross power spectral density to the target sum, thereby obtaining the filter parameters of the filter, wherein the target sum is the sum of the first auto-power spectral density and the second auto-power spectral density.
[0125] Optionally, the filtering parameters of the filter are the weight coefficients of the filter;
[0126] The processing module 25 includes:
[0127] The first processing submodule is configured to filter the second spectral data of the second microphone according to the determined weighting coefficients to obtain an enhanced signal;
[0128] The second processing submodule is configured to perform short-time inverse Fourier transform processing on the enhanced signal to obtain the time-domain signal corresponding to the enhanced signal, which is used as the wind noise processing result.
[0129] Optionally, the first processing submodule is configured to determine the enhanced signal out(k,m) according to the following formula:
[0130] out(k,m)=h H (k,m)t(k,m)
[0131] Where h(k,m) is the weight vector composed of the determined weight coefficients, h H (k,m) is the complex conjugate transpose of h(k,m), t(k,m) is the second spectral data, k is the frequency index of the spectral data, and m is the frame index of the audio signal.
[0132] Optionally, the target smoothing factor is determined by the following module:
[0133] The fourth determining module is configured to determine whether the headphones are in a pure wind noise scenario if wind noise is detected in the headphones.
[0134] The fifth determining module is configured to determine the first smoothing factor as the target smoothing factor if it is determined that the headphones are in the pure wind noise scenario;
[0135] The sixth determining module is configured to determine the second smoothing factor as the target smoothing factor if it is determined that the headphones are not in the pure wind noise scenario;
[0136] Wherein, the first smoothing factor is greater than the second smoothing factor.
[0137] Optionally, the first determining module 22 includes:
[0138] The second determining submodule is configured to determine the cross-power spectral density of the first spectral data and the second spectral data;
[0139] The third determining submodule is configured to determine the phase information corresponding to the cross power spectral density based on the cross power spectral density, the first spectral data, and the second spectral data;
[0140] The fourth determining submodule is configured to determine the phase variance based on the phase information, the upper frequency limit and the lower frequency limit of the stored wind noise signal;
[0141] The fifth determining submodule is configured to determine whether the headphones have wind noise based on the phase variance, wherein if the phase variance exceeds a first preset threshold, the headphones are determined to have wind noise, and if the phase variance does not exceed the first preset threshold, the headphones are determined not to have wind noise.
[0142] Optionally, both the first spectrum data and the second spectrum data include data of at least one audio frame starting with the target audio frame;
[0143] The device 20 further includes:
[0144] The second acquisition module is configured to acquire the phase variance of each of a preset number of audio frames before the target audio frame when it is determined that there is wind noise in the headphones.
[0145] The seventh determining module is configured to determine that the headphones are in the pure wind noise scenario if the preset number of phase variances all exceed the second preset threshold.
[0146] The eighth determining module is configured to determine that the headphones are not in the pure wind noise scenario if the preset number of phase variances do not all exceed the second preset threshold.
[0147] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0148] This disclosure also provides a computer-readable storage medium having stored thereon computer program instructions that, when executed by a processor, implement the steps of the headphone wind noise processing method provided in this disclosure.
[0149] Figure 3This is a block diagram illustrating a headphone wind noise processing device 800 according to an exemplary embodiment. For example, device 800 may be headphones. (Refer to...) Figure 3 The device 800 may include one or more of the following components: a processing component 802, a memory 804, a power supply component 806, a multimedia component 808, an audio component 810, an input / output interface 812, a sensor component 814, and a communication component 816.
[0150] Processing component 802 typically controls the overall operation of device 800, such as operations associated with display, telephone calls, data communication, camera operation, and recording. Processing component 802 may include one or more processors 820 to execute instructions to perform all or part of the steps of the methods described above. Furthermore, processing component 802 may include one or more modules to facilitate interaction between processing component 802 and other components. For example, processing component 802 may include a multimedia module to facilitate interaction between multimedia component 808 and processing component 802.
[0151] Memory 804 is configured to store various types of data to support the operation of device 800. Examples of such data include instructions for any application or method operating on device 800, contact data, phonebook data, messages, pictures, videos, etc. Memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0152] Power supply component 806 provides power to various components of device 800. Power supply component 806 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power to device 800.
[0153] Multimedia component 808 includes a screen that provides an output interface between the device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 808 includes a front-facing camera and / or a rear-facing camera. When the device 800 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
[0154] Audio component 810 is configured to output and / or input audio signals. For example, audio component 810 includes a microphone (MIC) configured to receive external audio signals when device 800 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 804 or transmitted via communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
[0155] Input / output interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.
[0156] Sensor assembly 814 includes one or more sensors for providing status assessments of various aspects of device 800. For example, sensor assembly 814 may detect the on / off state of device 800, the relative positioning of components such as the display and keypad of device 800, changes in the position of device 800 or a component of device 800, the presence or absence of user contact with device 800, the orientation or acceleration / deceleration of device 800, and temperature changes of device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 814 may also include an accelerometer, a gyroscope, a magnetometer, a pressure sensor, or a temperature sensor.
[0157] Communication component 816 is configured to facilitate wired or wireless communication between device 800 and other devices. Device 800 can access wireless networks based on communication standards, such as WiFi, 2G, or 3G, or combinations thereof. In one exemplary embodiment, communication component 816 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 816 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0158] In an exemplary embodiment, the device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above-described headphone wind noise processing method.
[0159] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, which can be executed by a processor 820 of the device 800 to complete the headphone wind noise processing method described above. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0160] In another exemplary embodiment, a computer program product is also provided, the computer program product comprising a computer program executable by a programmable device, the computer program having a code portion for performing the above-described headphone wind noise processing method when executed by the programmable device.
[0161] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of this disclosure. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.
[0162] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. A method for processing headphone wind noise, characterized in that, The headset includes at least a first microphone and a second microphone, and the method includes: Acquire the first spectrum data corresponding to the first audio signal collected by the first microphone and the second spectrum data corresponding to the second audio signal collected by the second microphone; Based on the first spectrum data and the second spectrum data, determine whether the headphones have wind noise; If wind noise is determined to be present in the headphones, the first self-power spectral density of the first spectrum data, the second self-power spectral density of the second spectrum data, and the cross-power spectral density of the first spectrum data and the second spectrum data are determined based on the target smoothing factor. The filter parameters are determined based on the first self-power spectral density, the second self-power spectral density, and the cross-power spectral density. Based on the determined filtering parameters, the signal received by the headphones is filtered to obtain the wind noise processing result; The step of determining the filter parameters based on the first self-power spectral density, the second self-power spectral density, and the cross-power spectral density includes: The weight coefficients of the filter are determined based on the ratio of the cross-power spectral density to the target sum, and the filter parameters of the filter are obtained. The target sum is the sum of the first auto-power spectral density and the second auto-power spectral density.
2. The method according to claim 1, characterized in that, The filtering parameters of the filter are the weight coefficients of the filter; The step of filtering the signal received by the headphones according to the determined filtering parameters to obtain the wind noise processing result includes: Based on the determined weighting coefficients, the second spectral data of the second microphone is filtered to obtain an enhanced signal; The enhanced signal is subjected to short-time inverse Fourier transform to obtain the time-domain signal corresponding to the enhanced signal, which is used as the wind noise processing result.
3. The method according to claim 2, characterized in that, The step of filtering the second spectral data of the second microphone according to the determined weighting coefficients to obtain the enhanced signal includes: The enhanced signal is determined according to the following formula. out(k,m) : in, The weight vector is composed of the determined weight coefficients. for The complex conjugate transpose This is the second spectrum data. k For frequency point indexes of spectrum data, m This is the frame index of the audio signal.
4. The method according to claim 1, characterized in that, The target smoothing factor is determined in the following way: If wind noise is confirmed to be present in the headphones, determine whether the headphones are in a pure wind noise scenario; If it is determined that the headphones are in the pure wind noise scenario, the first smoothing factor is determined as the target smoothing factor; If it is determined that the headphones are not in the pure wind noise scenario, the second smoothing factor is determined as the target smoothing factor; Wherein, the first smoothing factor is greater than the second smoothing factor.
5. The method according to claim 4, characterized in that, The step of determining whether the headphones have wind noise based on the first spectrum data and the second spectrum data includes: Determine the cross-power spectral density of the first spectral data and the second spectral data; Based on the cross-power spectral density, the first spectral data, and the second spectral data, determine the phase information corresponding to the cross-power spectral density; The phase variance is determined based on the phase information, the upper and lower frequency limits of the stored wind noise signal; Based on the phase variance, it is determined whether the headphones have wind noise. If the phase variance exceeds a first preset threshold, it is determined that the headphones have wind noise; if the phase variance does not exceed the first preset threshold, it is determined that the headphones do not have wind noise.
6. The method according to claim 5, characterized in that, Both the first spectrum data and the second spectrum data include data from at least one audio frame, with the target audio frame as the starting frame. The method further includes: If wind noise is detected in the headphones, the phase variance of each of the audio frames corresponding to a preset number of audio frames before the target audio frame is obtained. If the preset number of phase variances all exceed the second preset threshold, it is determined that the headphones are in the pure wind noise scenario; If the preset number of phase variances does not all exceed the second preset threshold, it is determined that the headphones are not in the pure wind noise scenario.
7. A headphone wind noise reduction device, characterized in that, The earphone includes at least a first microphone and a second microphone, and the device includes: The first acquisition module is configured to acquire first spectrum data corresponding to the first audio signal acquired by the first microphone and second spectrum data corresponding to the second audio signal acquired by the second microphone. The first determining module is configured to determine whether the headphones have wind noise based on the first spectrum data and the second spectrum data; The second determining module is configured to, when it is determined that there is wind noise in the headphones, determine the first auto-power spectral density of the first spectrum data, the second auto-power spectral density of the second spectrum data, and the cross-power spectral density of the first spectrum data and the second spectrum data based on a target smoothing factor. The third determining module is configured to determine the filtering parameters of the filter based on the first self-power spectral density, the second self-power spectral density, and the cross-power spectral density. The processing module is configured to filter the signal received by the headphones according to the determined filtering parameters to obtain a wind noise processing result; The third determining module is further configured to determine the weight coefficients of the filter based on the ratio of the cross power spectral density to the target sum, thereby obtaining the filter parameters of the filter, wherein the target sum is the sum of the first auto-power spectral density and the second auto-power spectral density.
8. A headphone wind noise reduction device, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor is configured to execute instructions in the memory to implement the steps of the method according to any one of claims 1-6.
9. A computer-readable storage medium having computer program instructions stored thereon, characterized in that, When executed by a processor, the program instructions implement the steps of the method described in any one of claims 1-6.