Nonlinear noise reduction system

文档序号:1253939 发布日期:2020-08-21 浏览:16次 中文

阅读说明:本技术 非线性降噪系统 (Nonlinear noise reduction system ) 是由 J.兰布里克 于 2020-02-12 设计创作,主要内容包括:本公开的实施方案阐述了一种将音频信号分解为一组子带信号并且检测一组信号能量值的方法,其中每个信号能量值与子带信号相关联。所述方法还包括基于至少一个子带信号生成降噪阈值,并且针对每个子带信号,将所述相关联的信号能量值与所述降噪阈值进行比较。基于确定至少一个子带信号与低于所述降噪阈值的信号能量值相关联,所述方法包括衰减所述至少一个子带信号以生成一组衰减子带信号。所述方法还包括将包括在所述组子带信号中的至少一个子带信号与包括在所述组衰减子带信号中的至少一个衰减子带信号组合以生成输出音频信号。(Embodiments of the present disclosure set forth a method of decomposing an audio signal into a set of subband signals and detecting a set of signal energy values, wherein each signal energy value is associated with a subband signal. The method also includes generating a noise reduction threshold based on at least one subband signal and, for each subband signal, comparing the associated signal energy value to the noise reduction threshold. Based on determining that at least one subband signal is associated with a signal energy value below the noise reduction threshold, the method includes attenuating the at least one subband signal to generate a set of attenuated subband signals. The method further includes combining at least one subband signal included in the set of subband signals with at least one attenuated subband signal included in the set of attenuated subband signals to generate an output audio signal.)

1. A method for reducing noise in an audio signal, the method comprising:

decomposing a first input audio signal into a first set of subband signals;

detecting a first set of signal energy values, wherein each signal energy value included in the first set of signal energy values is associated with a subband signal included in the first set of subband signals;

generating a first noise reduction threshold based on at least one subband signal comprised in the first set of subband signals;

for each subband signal included in the first set of subband signals, comparing the signal energy value associated with the subband signal to the first noise reduction threshold;

attenuating at least one subband signal included in the first set of subband signals to generate a first set of attenuated subband signals based on determining that the at least one subband signal is associated with a signal energy value below the first noise reduction threshold; and is

Combining at least one subband signal included in the first set of subband signals with at least one attenuated subband signal included in the first set of attenuated subband signals to generate an output audio signal.

2. The method of claim 1, further comprising determining at least a first energy difference included between two signal energy values of the first set of signal energy values, wherein generating the first noise reduction threshold based on the at least one subband signal comprises generating the first noise reduction threshold based on the first energy difference.

3. The method of claim 2, wherein generating the first noise reduction threshold based on the first energy difference comprises combining the first energy difference with an initial noise reduction threshold.

4. The method of claim 1, wherein generating the first noise reduction threshold comprises:

comparing pairs of signal energy values in the first set of signal energy values, wherein each pair of signal energy values is associated with a subband signal that is included in the first set of subband signals and that is generated by an adjacent filter;

for each comparison, calculating an energy difference, wherein each energy difference is included in the first set of energy differences; and is

Selecting a maximum energy difference from the first set of energy differences, wherein the first noise reduction threshold is based on the maximum energy difference.

5. The method of claim 1, further comprising:

for each subband signal included in the first set of subband signals, generating an initial noise reduction threshold associated with the subband signal;

for each initial noise reduction threshold, generating an adjusted noise reduction threshold associated with the subband signal, wherein the adjusted noise reduction threshold is based on the initial noise reduction threshold and at least a first energy difference between two signal energy values included in the first set of signal energy values;

for each subband signal included in the first set of subband signals, comparing the signal energy value associated with the subband signal to the adjusted noise reduction threshold associated with the subband signal; and is

Based on determining that at least one subband signal included in the first set of subband signals is associated with a signal energy value below an adjusted noise reduction threshold associated with the at least one subband signal, attenuating the at least one subband signal to generate a first set of attenuated subband signals.

6. The method of claim 1, further comprising:

receiving an initial input signal, wherein the initial input signal is a continuous time domain audio signal; and is

Transforming the initial input signal to generate the first audio input signal, wherein the first audio input signal is a frequency domain representation of the initial input signal.

7. The method of claim 1, wherein a first signal energy value included in the first set of signal energy values is a Root Mean Square (RMS) value of a first subband signal.

8. The method of claim 1, wherein decomposing the first input audio signal into the first set of subband signals comprises: decomposing the first input audio signal with a first filter bank, wherein at least a subset of the filters comprised in the first filter bank overlap.

9. The method of claim 1, further comprising:

for each subband signal comprised in the first set of subband signals, a time constant is associated with the subband signal, and

determining the signal energy value associated with the sub-band signal based on an associated time constant.

10. A noise reduction system, comprising:

a memory; and

a processor coupled to the memory, wherein the processor is configured to:

decomposing the first input audio signal into a first set of subband signals via a first filter bank;

detecting a first set of signal energy values, wherein each signal energy value included in the first set of signal energy values is associated with a subband signal included in the first set of subband signals;

generating a first noise reduction threshold based on at least one subband signal comprised in the first set of subband signals;

for each subband signal included in the first set of subband signals, comparing the signal energy value associated with the subband signal to the first noise reduction threshold;

attenuating at least one subband signal included in the first set of subband signals to generate a first set of attenuated subband signals based on determining that the at least one subband signal is associated with a signal energy value below the first noise reduction threshold; and is

Combining at least one subband signal included in the first set of subband signals with at least one attenuated subband signal included in the first set of attenuated subband signals via at least one of the first or second filter bank to generate an output audio signal.

11. The noise reduction system of claim 10, wherein at least one of the first filter bank or the second filter bank comprises a first set of mel filters.

12. The noise reduction system of claim 11, wherein the processor is further configured to transmit the output audio signal to a speech recognition system, wherein the speech recognition system uses the first filter bank.

13. The noise reduction system of claim 11, wherein the processor is further configured to:

receiving a first set of Mel Frequency Cepstral Coefficients (MFCCs); and is

Modifying the first set of Mel filters based on the first set of MFCCs.

14. The noise reduction system of claim 11, wherein the processor is further configured to:

receiving a first set of Mel Frequency Cepstral Coefficients (MFCCs) from a speech recognition system, wherein the speech recognition system uses the first filter bank configured with the first set of MFCCs;

modifying the first set of Mel filters based on the first set of MFCCs;

transmitting the output audio signal to the speech recognition system, wherein the speech recognition system extracts a set of features from the output audio signal.

15. The noise reduction system of claim 10, wherein the processor is further configured to determine at least a first energy difference between two signal energy values included in the first set of signal energy values, wherein the processor is configured to generate the first noise reduction threshold based on the at least one subband signal by generating the first noise reduction threshold based on the first energy difference.

16. The noise reduction system of claim 15, wherein the processor is configured to generate the first noise reduction threshold based on the first energy difference by combining the first energy difference with an initial noise reduction threshold.

17. The noise reduction system of claim 10, wherein the processor is configured to generate the first noise reduction threshold by:

comparing pairs of signal energy values in the first set of signal energy values, wherein each pair of signal energy values is associated with a subband signal that is included in the first set of subband signals and that is generated by an adjacent filter included in the first filter bank;

for each comparison, calculating an energy difference, wherein each energy difference is included in the first set of energy differences; and is

Selecting a maximum energy difference from the first set of energy differences, wherein the first noise reduction threshold is based on the maximum energy difference.

18. One or more non-transitory computer-readable media comprising instructions that, when executed by one or more processors, cause the one or more processors to:

decomposing a first input audio signal into a first set of subband signals;

detecting a first set of signal energy values, wherein each signal energy value included in the first set of signal energy values is associated with a subband signal included in the first set of subband signals;

for each subband signal included in the first set of subband signals, generating an initial noise reduction threshold associated with the subband signal;

for each initial noise reduction threshold, generating an adjusted noise reduction threshold associated with the subband signal, wherein the adjusted noise reduction threshold is based on the initial noise reduction threshold and at least a first energy difference between two signal energy values included in the first set of signal energy values;

for each subband signal included in the first set of subband signals, comparing the signal energy value associated with the subband signal to the adjusted noise reduction threshold associated with the subband signal; and is

Attenuating at least one subband signal included in the first set of subband signals to generate a first set of attenuated subband signals based on determining that the at least one subband signal is associated with a signal energy value below an adjusted noise reduction threshold associated with the at least one subband signal; and is

Combining at least one subband signal included in the first set of subband signals with at least one attenuated subband signal included in the first set of attenuated subband signals to generate an output audio signal.

19. The one or more non-transitory computer-readable media of claim 18, further comprising instructions that, when executed by the one or more processors, cause the one or more processors to:

comparing pairs of signal energy values in the first set of signal energy values, wherein each pair of signal energy values is associated with a subband signal that is included in the first set of subband signals and that is generated by an adjacent filter;

for each comparison, calculating an energy difference, wherein each energy difference is included in the first set of energy differences; and is

Selecting a maximum energy difference from the first set of energy differences, wherein the first energy difference is based on the maximum energy difference.

20. The one or more non-transitory computer-readable media of claim 19, wherein the neighboring filter is a mel filter included in a first filter bank.

Technical Field

Embodiments of the present disclosure relate generally to audio systems and, more particularly, to non-linear noise reduction systems.

Background

Various Automatic Speech Recognition (ASR) systems use a variety of filtering and extraction techniques so that a recognition system can be used to identify audio signal components of linguistic content included in the audio signal. ASR systems extract features from received audio signals by applying one or more filters to the audio signals. The ASR system then applies various models (e.g., acoustic models, language models, etc.) to the extracted features in order to determine candidate words that may have been spoken. In general, ASR systems may employ a noise reduction system to remove ambient noise from an input audio signal, which improves accuracy in identifying candidate words from the input audio signal.

One drawback of using conventional noise reduction systems in conjunction with automatic speech recognition techniques is that processing the audio signal via the noise reduction system typically reduces the accuracy of recognizing words included in the audio signal. For example, a processed audio signal produced by conventional noise reduction techniques may include processing artifacts, which may cause the ASR system to present "false positive" candidate words. Additionally or alternatively, certain portions of the audio spectrum of the processed audio signal may be removed. Removing certain portions of the audio spectrum may prevent the ASR system from recognizing suitable portions of the processed audio signal as speech. In both cases, the ASR system is unable to accurately recognize the words included in the processed audio signal.

In view of the above, more efficient techniques for reducing noise in audio signals processed by speech recognition systems would be useful.

Disclosure of Invention

Embodiments of the present disclosure set forth a method for reducing noise in an audio signal. The method comprises decomposing a first input audio signal into a first set of subband signals and detecting a first set of signal energy values, wherein each signal energy value comprised in the first set of signal energy values is associated with a subband signal comprised in the first set of subband signals. The method further comprises generating a first noise reduction threshold based on at least one subband signal comprised in the first set of subband signals. The method also includes, for each subband signal included in the first set of subband signals, comparing a signal energy value associated with the subband signal to a first noise reduction threshold. Based on determining that at least one subband signal included in the first set of subband signals is associated with a signal energy value below the first noise reduction threshold, the method further comprises attenuating the at least one subband signal to generate a first set of attenuated subband signals. The method also includes combining at least one subband signal included in the first set of subband signals with at least one attenuated subband signal included in the first set of attenuated subband signals to generate an output audio signal.

Additional embodiments also provide a system and computer-readable storage medium for implementing aspects of the methods set forth above.

At least one technical advantage of the disclosed techniques is that the noise reduction system may reduce noise elements included in an audio signal using one or more filters that are also used by other audio processing systems. Thus, the noise reduction system may effectively remove noise elements from the audio signal so that other audio processing systems may more effectively process the audio signal without degrading other portions of the audio signal.

Drawings

So that the manner in which the above recited features of the various embodiments can be understood in detail, a more particular description of the inventive concepts briefly summarized above may be had by reference to various embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this inventive concept and are therefore not to be considered limiting of its scope in any way, for the existence of additional equally effective embodiments.

Fig. 1 illustrates a block diagram of a noise reduction system configured to implement one or more aspects of the present disclosure.

Fig. 2 illustrates a block diagram of a noise reduction application for generating a composite output audio signal via the noise reduction system of fig. 1, in accordance with various embodiments of the present disclosure.

Fig. 3 illustrates a graph that may be implemented by the noise reduction system of fig. 1 to filter an input audio signal, according to various embodiments of the present disclosure.

Fig. 4 illustrates a graph that may be implemented by the noise reduction system of fig. 1 to determine an energy of a portion of a filtered audio signal, in accordance with various embodiments of the present disclosure.

Fig. 5 illustrates a graph that may be implemented by the noise reduction system of fig. 1 to attenuate a filtered audio signal, in accordance with various embodiments of the present disclosure.

Fig. 6 illustrates a graph that may be implemented by the noise reduction system of fig. 1 to generate a composite output audio signal, in accordance with various embodiments of the present disclosure.

Fig. 7 is a flow diagram of method steps for generating a composite output audio signal via the noise reduction system of fig. 1, in accordance with various embodiments of the present disclosure.

Detailed Description

In the following description, numerous specific details are set forth to provide a more thorough understanding of various embodiments. It will be apparent, however, to one skilled in the art that the inventive concepts may be practiced without one or more of these specific details.

Fig. 1 illustrates a block diagram of a noise reduction system configured to implement one or more aspects of the present disclosure. The noise reduction system 100 includes a computing device 110 and one or more input/output (I/O) devices 114. Computing device 110 includes a processing unit 112 and memory 116. Memory 116 stores noise reduction application 162 and data store 164.

In operation, the processing unit 112 receives an input audio signal 130. The processing unit 112 executes the noise reduction application 162 to remove noise elements included in the input audio signal 130 and synthesize the output audio signal 140. For example, the noise reduction application 162 may decompose a portion of the input audio signal 130 into a set of filtered signals using a filter bank. The set of filtered signals includes a set of subband signals associated with one or more components of the input audio signal 130. Noise reduction application 162 may then analyze the set of filtered signals and attenuate the subset of filtered signals having noise elements. When the noise reduction application 162 synthesizes the output audio signal 140 that includes the attenuated subset of the filtered signals, noise elements are reduced and/or eliminated in the output audio signal 140. In some embodiments, the filter bank may correspond to a filter bank used by one or more speech recognition systems. In this case, one or more speech elements included in the input audio signal 130 may be included in the output audio signal 140 without significant alteration and/or attenuation.

As described above, computing device 110 may include processing unit 112 and memory 116. The computing device 110 may be a device including one or more processing units 112, such as a system on a chip (SoC), or may be a mobile computing device, such as a tablet computer, mobile phone, media player, and the like. In general, the computing device 110 may be configured to coordinate the overall operation of the noise reduction system 100. Embodiments disclosed herein encompass any technically feasible system configured to implement the functionality of the noise reduction system 100 via the computing device 110.

Memory 116 may comprise a memory module or collection of memory modules. The noise reduction application 162 within the memory 116 may be executed by the processing unit 112 to implement the overall functionality of the computing device 110 to coordinate the operation of the noise reduction system 100 as a whole.

Processing unit 112 may include a Central Processing Unit (CPU), digital signal processing unit (DSP), microprocessor, Application Specific Integrated Circuit (ASIC), Neural Processing Unit (NPU), Graphics Processing Unit (GPU), Field Programmable Gate Array (FPGA), or the like. In some embodiments, the processing unit 112 may be configured to execute the noise reduction application 162 to synthesize the output audio signal 140 with one or more noise elements removed.

In various implementations, noise reduction application 162 may decompose an input audio signal into a set of filtered signals. Noise reduction application 162 may analyze the signal energy associated with each filtered signal and adjust the noise threshold based on the detected signal energy. Noise reduction application 162 may then attenuate the filtered subset of signals having signal energies below the adjusted noise threshold. The filtered subset of signals has a signal energy associated with a noise element. When the noise reduction application 162 synthesizes the output audio signal 140, noise elements are removed due to attenuation. In some implementations, the noise reduction application 162 may continuously receive and process the input audio signal 130. For example, the noise reduction application 162 may receive the input audio signal 130 in real-time and process the input audio signal in real-time. In this case, the noise reduction application 162 may separate the input audio signal 130 into individual time slices and continuously process one or more time slices of the input audio signal 130.

The data store 164 may store values and other data retrieved by the processing unit 112 to coordinate the operation of the noise reduction system 100. During operation, processing unit 112 may be configured to store values in data store 164 and/or retrieve values stored in data store 164. For example, the data store 164 may store noise thresholds, detected energy values, filtered signals, attenuated filtered signals, energy differences, threshold indicators, and the like.

The one or more I/O devices 114 may include devices capable of receiving input, such as a keyboard, a mouse, a touch-sensitive screen, a microphone, etc., and devices capable of providing output, such as a display screen, a speaker, etc. One or more of the I/O devices 114 may be incorporated into the computing device 110 or may be located external to the computing device 110. In various embodiments, the one or more I/O devices 114 include an audio output device that reproduces the output audio signal 140 received from the noise reduction application 162.

In some implementations, the I/O device 114 may transmit the output audio signal 140 to another system. For example, the I/O device 114 may transmit the output audio signal 140 to a filter bank used by an auxiliary system, such as an Automatic Speech Recognition (ASR) system, an equalization system, and/or an audio compression system. In this case, the auxiliary system may process the output audio signal 140 more efficiently and/or more accurately due to the removal of the noise element.

Fig. 2 illustrates a block diagram of a noise reduction application 162 for producing a composite output audio signal via the noise reduction system of fig. 1, in accordance with various embodiments of the present disclosure. As shown, the noise reduction application 162 includes an audio filtering component 210, a signal energy detection component 222, an energy difference detection component 224, a noise threshold configuration component 230, an energy threshold determination component 236, a signal attenuation component 240, and a signal combiner component 250.

During operation, the noise reduction application 162 receives the input audio signal 130. The input audio signal 130 includes one or more speech elements and one or more noise elements. Noise reduction application 162 analyzes input audio signal 130 and synthesizes output audio signal 140. The output audio signal 140 removes and/or attenuates one or more noise elements. The noise reduction application 162 includes hardware and/or software to calculate energy values associated with speech portions of the input audio signal 130 and synthesize the output audio signal 140 based on the calculated energy values.

The audio filtering component 210 comprises the front end of the noise reduction system 100. The audio filtering component 210 receives and decomposes the input audio signal 130 to generate a set of filtered signals 212 (e.g., 212-1, 212-2, etc.). The set of filtered signals 212 includes a set of subband signals associated with components of the input audio signal 130. In some embodiments, audio filtering component 210 may include one or more analog-to-digital (a/D) converters, one or more transform devices, and a bank of two or more filters. For example, the input audio signal 130 may be a time domain signal. In this case, one or more transform devices included in the audio filtering component 210 may convert the input audio signal 130 into a frequency domain signal. Additionally or alternatively, when the input audio signal 130 is an analog signal, one or more a/D converters may convert the input audio signal 130 to a digital signal. In some embodiments, the input audio signal 130 may be a continuous audio signal. In this case, the noise reduction application 162 may receive a portion of the input audio signal 130 corresponding to a particular time slice. For example, the noise reduction application 162 may continuously receive two second time slices of the input audio signal 130. The noise reduction application 162 may then synthesize the output audio signals 140 into a series of audio signals, each having a fixed duration (e.g., two seconds in length).

The audio filtering component 210 includes a filter bank that decomposes the input audio signal 130 into a set of filtered signals 212. The set of filtered signals 212 includes a set of subband signals associated with components of the input audio signal 130. For example, the audio filtering component 210 may include a filter bank of three filters. The filter bank may decompose the input audio signal 130 into a set of filtered signals 212-1, 212-2, 212-3 that correspond to sub-bands of the input audio signal 130. For example, the filter bank may include a number of nth order filters, such as a bank of 20 fourth order bandpass filters.

Additionally or alternatively, the set of filters included in the filter bank may correspond to a set of filters used by one or more other audio processing systems. For example, the filter banks included in the audio filtering component 210 may correspond to filter banks used by automatic speech recognition systems, equalization systems, and/or audio compression systems. When a filter bank included in audio filtering component 210 corresponds to a filter bank used by another system, audio filtering component 210 may retrieve filter operation characteristics from the one or more other systems(s) ((For exampleCenter frequency, gain, Q factor, etc.). For example, when the ASR system and the noise reduction system 100 each use a mel (mel) filter bank, the noise reduction application 162 may retrieve filter characteristics from the ASR system, such as mel-frequency cepstral coefficients (MFCCs) that define the frequency range of the respective filters. The noise reduction application 162 may then configure the filter bank to include the retrieved features.

The signal energy detection component 222 calculates a signal energy value for each filtered signal 212-1 included in the set of filtered signals 212. The signal energy detection component 222 receives the set of filtered signals 212 from the audio filtering component 210 and determines a set of corresponding detected energy values 223(For example223-1, 223-2, etc.). For example, the signal energy detection component 222 may receive the filtered signal 212-1 for a given time slice and calculate a signal energy value, such as an average power. In another example, the signal energy detection component 222 may calculate a Root Mean Square (RMS) value of the filtered signal 212-1 within a given time slice.

In some implementations, the signal energy detection component 222 may use different time constants for different frequency ranges. For example, the signal energy detection component 222 may use different time constants associated with each filter in the filter bank of the audio filtering component 210. Additionally or alternatively, the signal energy detection component 222 may detect a plurality of energy values 223 of the filtered signal 212-1. For example, signal energy detection component 222 may continuously calculate a plurality of RMS values of filtered signal 212-1 for different time ranges. In this case, the signal energy detection component 222 stores the lowest RMS value and sends the lowest RMS value as the detected energy value 223-1 to the energy difference detection component 224.

The energy difference detection component 224 receives the set of detected energy values 223 from the signal energy detection component 222 and generates one or more energy differences 225 based on comparing the set of detected energy values 223 (225: (For example225-1, 225-2, etc.). For example, the energy difference detection component 224 may calculate the energy difference 225-1 by comparing the detected energy value 223-1 corresponding to the filtered signal 212-1 with the detected energy value 223-2 corresponding to the filtered signal 212-2. Additionally or alternatively, the energy difference detection component 224 can select a single energy difference 225-1 from the set of energy differences 225 and transmit the selected energy difference 225-1 to the noise threshold configuration component 230.

In various embodiments, the energy difference detection component 224 may calculate a plurality of energy differences 225, where each energy difference 225-1 corresponds to a pair of adjacent filtered signals 212-1, 212-2. In this case, the energy difference detection component 224 may determine the largest calculated energy difference in the set of calculated energy differences 225 as the selected energy difference 225-1. For example, table 1 shows an example set of energy differences 225 corresponding to a set of filtered signals 212 decomposed by a filter bank included in the audio filtering component 210.

Filter with a filter element having a plurality of filter elements Signal energy value Difference of signal energy value
Filter 1 0.803 N/A
Filter 2 0.720 0.083
Filter 3 0.105 0.615
Filter 4 0.630 0.525
Filter 5 0.422 0.208

Table 1: energy difference of signals in adjacent filters

In the above example, the energy difference detection component 224 may determine the maximum signal energy value difference (0.615) as the selected energy difference 225-1. The energy difference detection component 224 can transmit the selected energy difference 225-1 to the noise threshold configuration component 230.

The noise threshold configuration component 230 receives the selected energy difference 225-1 from the energy difference detection component 224. Noise threshold configuration component 230 also receives initial noise threshold 232. Noise threshold configuration component 230 generates adjusted noise threshold 234 by modifying initial noise threshold 232 based on the value of selected energy difference 225-1. For example, the noise threshold configuration component 230 may multiply the absolute value of the selected energy difference 225-1 by a scaling factor to produce a scaled difference. The noise threshold configuration component 230 may then add the scaled difference to the initial noise threshold 232. In this case, the value of the adjusted noise threshold 234 is increased based on the set of calculated energy differences associated with the set of filtered signals 212.

In some embodimentsIn some embodiments, noise threshold configuration component 230 may set one or more initial noise thresholds 232. For example, noise threshold configuration component 230 may set different initial noise thresholds 232: (For example232-1, 232-2, etc.), each initial noise threshold corresponds to a particular filter in the filter bank and a particular filtered signal 212-1. In this case, the noise threshold configuration component 230 may receive the minimum energy value 233-1 associated with each particular filter and/or the set of filtered signals 212. Noise threshold configuration component 230 may then set a different initial noise threshold 232. For each different initial noise threshold 232, noise threshold configuration component 230 generates an adjusted noise threshold 234 by adding a scaled difference based on the selected energy difference 225-1.

The energy threshold determination component 236 receives the adjusted noise threshold 234 and the set of detected energy values 223 calculated by the signal energy detection component 222. The energy threshold determination component 236 evaluates the detected energy values 223-1 included in the set of detected energy values 223 against the adjusted noise threshold 234. In some embodiments, energy threshold determination component 236 compares detected energy value 223-1 to adjusted noise threshold 234-1 corresponding to filtered signal 212-1.

When energy threshold determination component 236 determines that detected energy value 223-1 is below adjusted noise threshold 234, energy threshold determination component 236 generates threshold indication 237 corresponding to filtered signal 212-1. Otherwise, energy threshold determination component 236 does not generate any threshold indication corresponding to filtered signal 212-1. In this case, noise reduction application 162 does not alter filtered signal 212-1.

The signal attenuation component 240 includes one or more filters that alter a subset of the filtered signals included in the set of filtered signals 212. The signal attenuation component 240 receives one or more threshold indications 237: (For example237-1, 237-2, etc.), where each threshold indication 237-2 corresponds to a particular filtered signal 212-2. The threshold indication 237-2 of the particular filtered signal 212-2 indicates that the detected energy value 233-2 of the filtered signal 212-2 is below the adjusted noise threshold 234.The signal attenuation component 240 responds to the threshold indication 237-2 for a given filtered signal 212-2 by altering the filtered signal 212-2. The signal attenuation component 240 generates a set of attenuated filtered signals 242, which are attenuated subband signals associated with the components of the input audio signal 130.

In some embodiments, signal attenuation component 240 may attenuate filtered signal 212-2 by applying a filter to the signal in order to reduce the energy of filtered signal 212-2. Additionally or alternatively, the signal attenuation component 240 may apply an attenuation factor to the filtered signal. For example, the signal attenuation component 240 may multiply the filtered signal 212-2 by zero such that the energy of the resulting attenuated filtered signal 242 is negligible. In another example, the signal attenuation component 240 may multiply the filtered signal by a particular constant: (For example0.25) to reduce the energy level of filtered signal 212-2 by a constant value.

The signal combiner component 250 combines the set of filtered signals 212, 242. The signal combiner component 250 includes a filter bank that combines a set of signals 212, 242 to generate the output audio signal 140. In some embodiments, signal combiner component 250 includes the same filter bank as included in audio filtering component 210. The signal combiner component 250 receives the unaltered filtered signal subset 212 from the audio filtering component 210 and the attenuated filtered signal subset 242 from the signal attenuation component 240 (For example242-1, 242-2, etc.). The signal combiner component 250 combines the filtered signal subsets 212, 242 in order to synthesize the output audio signal 140. For example, the signal combiner component 250 may combine the individual filtered signals for a given time slice that are included in the unaltered filtered signal subset 212 and/or the attenuated filtered signal subset 242 such that the output audio signal 140 includes the complete audio spectrum for the given time slice.

In some embodiments, one or more filtered signals included in the subsets 212, 242 have overlapping frequency ranges. In this case, the signal combiner component 250 may select the filtered signal 212-1, 242-2 having the highest detected energy value 233-1, 233-2 for a particular overlapping frequency range. Additionally or alternatively, the signal combiner component 250 may select the unaltered filtered signal 212-1 in place of the attenuated filtered signal 242-2.

Fig. 3 illustrates a graph that may be implemented by the noise reduction system of fig. 1 to filter an input audio signal, according to various embodiments of the present disclosure. As shown, graph 300 shows a Mel Filter Bank 310: (For example310-1, 310-2, etc.). The frequency values are along the x-axis and the amplitude values are along the y-axis.

In operation, the filters 310-1, 310-2 included in the Mel's filterbank 310 decompose and filter the input audio signal 130 to produce the set of filtered signals 212. In various embodiments, the mel filter bank 310 is included in the audio filtering component 210. For example, the filter bank 310 may include a bank of 21 or more mel filters that process portions of the input audio signal 130 in the frequency range of 60Hz to 8 kHz. Additionally or alternatively, one or more filters included in the mel filter bank 310 may overlap. In this case, both filters may process and filter overlapping frequency ranges of the input audio signal 130. In some embodiments, other sets of filters may be used as the filter banks of the audio filtering component 210. For example, the audio filtering component 210 may use a Bark (Bark) filter bank that includes a set of 30 Bark filters that process a frequency range of 0Hz to 16 kHz. In some cases

The graph 300 shows two mel filters 310-1, 310-2 included in a mel filter bank 310. Each mel filter 310-1, 310-2 in the mel filter bank 310 processes a specific frequency range of the input audio signal 130 corresponding to the bandwidths 314, 324. In various embodiments, each Mel filter 310-1, 310-2 may have a different bandwidth. For example, the Mel filter 310-2 that handles higher frequencies may have a larger bandwidth 324 than the bandwidth 314 of the Mel filter 310-1 that handles lower frequencies. As shown, the center frequency 312 of the Mel filter 310-1 is 300Hz and the bandwidth 314 is 65 Hz. Accordingly, the Mel filter 310-1 processes the portion of the input audio signal 130 in the frequency range of 267Hz-333 Hz. Similarly, the center frequency 322 of the Mel filter 310-2 is 2000Hz, and the bandwidth 324 is 520 Hz. Thus, the Mel filter 310-2 processes the portion of the input audio signal 130 in the frequency range of 1478Hz-2260 Hz.

In various embodiments, systems other than noise reduction system 100 may also use mel filter bank 310. For example, the automatic speech recognition system may use the mel filter bank 310 on the input audio signal 130 and/or the output audio signal 140 to extract features from the audio signal being filtered.

Fig. 4 illustrates a graph that may be implemented by the noise reduction system of fig. 1 to determine an energy of a portion of a filtered audio signal, in accordance with various embodiments of the present disclosure. As shown, the graph 400 shows a graph of the magnitude of the filtered signal 410 included in the set of filtered signals 212. The frequency values are along the x-axis and the amplitude values are along the y-axis.

In operation, the signal energy detection component 222 receives the filtered signal 410 from the audio filtering component 210 and determines one or more signal energy values 422 and 426. In various implementations, the signal energy detection component 222 may determine a plurality of signal energy values 422 and 426 associated with the filtered signal 410. Each of the signal energy values 422-426 may correspond to a different time range. For example, the signal energy detection component 222 may calculate the operating signal energy value as more portions of the input audio signal 130 are received over time.

The signal energy detection component 222 may store a particular signal energy value, such as a minimum signal energy value 426, a maximum signal energy value 422, and/or an overall average signal energy value 424, in association with the filtered signal 410. In some embodiments, the signal energy detection component 222 may update one or more of the signal energy values 422 and 426 as the time range associated with the filtered signal 410 changes. Additionally or alternatively, the signal energy detection component 222 may transmit one or more of the signal energy values 422-426 as the detected energy value 223. For example, the signal energy detection component 222 may transmit the minimum energy value 426 to the energy difference detection component 224 and may transmit the maximum signal energy value 422 and/or the total average signal energy value 424 to the energy threshold determination component 236.

Fig. 5 illustrates a graph that may be implemented by the noise reduction system of fig. 1 to attenuate a filtered audio signal, in accordance with various embodiments of the present disclosure. As shown, the graph 300 shows a graph of the magnitude of the filtered signal 510 compared to the adjusted noise threshold 234. The frequency values are along the x-axis and the amplitude values are along the y-axis.

In operation, the energy threshold determination component 236 may compare one or more signal energy values associated with the filtered signal 510 to the adjusted noise threshold 234. In some embodiments, the adjusted noise threshold 234 may be a different adjusted noise threshold 234-2 associated with the filtered signal 510. For example, noise threshold configuration component 230 may generate adjusted noise threshold 234-2 by first generating initial noise threshold 232-2 based on minimum energy value 524.

The energy threshold determination component 236 compares the signal energy value of the filtered signal to the adjusted noise threshold 234. For example, the energy threshold determination component 236 may compare the total average signal energy value 522 to the adjusted noise threshold 234. As shown, the total average signal energy value 522 is below the adjusted noise threshold 234. In this case, the energy threshold determination component 236 responds to the determination by generating a threshold indication 237-2 and transmitting the threshold indication 237-2 to the signal attenuation component 240.

Fig. 6 illustrates a graph that may be implemented by the noise reduction system of fig. 1 to generate a composite output audio signal, in accordance with various embodiments of the present disclosure. As shown, the graph 600 shows a graph of the amplitude of a portion 610 of the input audio signal 130 ("input portion 610") and a corresponding portion 620 of the output audio signal 140 ("output portion 620") for a given time slice. The frequency values are along the x-axis and the amplitude values are along the y-axis.

In operation, noise reduction application 162 generates output portion 620 by analyzing input portion 610 and reducing one or more noise elements included in input portion 610. In various embodiments, the signal combiner component 250 synthesizes the output audio signal 140 by receiving the set of attenuated filtered signals 242 and the set of unaltered signals from the set of filtered signals 212. The signal combiner component 250 includes a filter bank that combines a set of signals 212, 242 to generate the output audio signal 140.

As shown, for example, the input portion 610 includes one or more subbands corresponding to one or more filtered signals included in the set of filtered signals 212. One or more of the subbands may include various noise elements. The energy threshold determination component 236 may compare the input portion 610 to the adjusted noise threshold 234 and cause the signal attenuation component 240 to attenuate a subset of one or more subbands to generate the set of attenuated filtered signals 242. The signal combiner component 250 may then combine the set of attenuated filtered signals 242 and the unaltered filtered signal subset 212 to generate the output portion 620. One or more noise elements included in the spectrum of the input portion 610 do not appear in the spectrum of the output portion 620 due to attenuation of certain subbands.

Fig. 7 is a flow diagram of method steps for generating a composite output audio signal via the noise reduction system of fig. 1, in accordance with various embodiments of the present disclosure. Although the method steps are described with respect to the systems of fig. 1-6, persons of ordinary skill in the art will appreciate that any system configured to perform the method steps in any order is within the scope of the various embodiments. In some implementations, the noise reduction application 162 may continuously perform the method 700 on the input audio signal 130 in real-time.

As shown, the method 700 begins at step 701, where the noise reduction application 162 filters the input audio signal 130 using a filter bank at step 701. An audio filtering component 210 included in the noise reduction application 162 receives the input audio signal 130. In some implementations, the input audio signal 130 is a portion of the input audio signal that corresponds to a particular time slice. Additionally or alternatively, noise reduction application 162 may continuously receive and filter portions of the input audio signal corresponding to additional time slices. In some embodiments, the audio filtering component 210 includes one or more transform components to generate a frequency domain version of the input audio signal 130. The audio filtering component 210 includes one or more filters that decompose the input audio signal 130 into a set of filtered signals 212. In some embodiments, the audio filtering component 210 includes a mel filter bank 310, wherein each mel filter 310-1 in the mel filter bank 310 processes a particular frequency range of the input audio signal 130.

At step 703, the noise reduction application 162 determines the energy values 223 of the set of filtered signals 212 generated by the audio filtering component 210. The signal energy detection component 222 included in the noise reduction application 162 receives the set of filtered signals 212 from the audio filtering component 210. For each filtered signal 212-1, the signal energy detection component 222 determines a corresponding detected energy value 223-1. For example, signal energy detection component 222 may calculate an RMS value of the signal energy of filtered signal 212-1 as detected energy value 223-1.

In step 705, the noise reduction application 162 sets a noise threshold based on the energy value of the filtered signal. Noise reduction application 162 generates one or more adjusted noise thresholds 234 based on the set of detected energy values 223 provided by signal energy detection component 222. In some embodiments, the noise reduction application calculates one or more initial noise thresholds 232 for the set of filtered signals 212. In various embodiments, noise reduction application 162 calculates a set of energy differences 225 associated with the set of detected energy values 223. Noise reduction application 162 then uses at least selected energy difference 225-1 to generate adjusted noise threshold 234.

An energy difference detection component 224 included in the noise reduction application 162 receives the set of detected energy values 223 and generates a set of energy differences 225. For example, the energy difference detection component 224 may calculate the energy difference 225-2 by comparing a first detected energy value 223-1 corresponding to the filtered signal 212-1 and a second detected energy value 223-2 corresponding to the filtered signal 212-2. In some embodiments, the energy difference detection component 224 may be based on comparing sets of detected energy values 223 (with respect to adjacent filtered signals 212)For exampleThe set of energy differences 225 is calculated by comparing filtered signals 212-3, 212-4 generated by adjacent filters in the filter bank. In this case, the energy difference detection component 224 may output the selected energy difference 225-1 corresponding to the largest calculated energy difference 225-3 in the set of energy differences 225.

Noise threshold configuration component 230 receives selected energy difference 225-1 and initial noise threshold 232. Noise threshold configuration component 230 generates adjusted noise threshold 234 by modifying initial noise threshold 232 based on the value of selected energy difference 225-1. For example, the noise threshold configuration component 230 may multiply the selected energy difference 225-1 by a scaling factor to generate a scaled difference, which is then added to the initial noise threshold 232. In some embodiments, noise threshold configuration component 230 may generate a set of initial noise thresholds 232. In this case, noise threshold configuration component 230 may generate a set of adjusted noise thresholds 234, each corresponding to a separate initial noise threshold 232.

In step 707, the noise reduction application 162 determines whether the energy of the audio signal in the filter is below a noise threshold. An energy threshold determination component 236 included in the noise reduction application 162 receives the adjusted noise threshold 234 and the set of detected energy values 223 calculated by the signal energy detection component 222. The energy threshold determination component 236 utilizes the adjusted noise threshold 234 to evaluate each detected energy value 223-2 included in the set of detected energy values 223. In some embodiments, when noise threshold configuration component 230 generates a set of adjusted noise thresholds 234, energy threshold determination component 236 may compare each detected energy value 223-2 to its corresponding adjusted noise threshold 234-2.

When the energy threshold determination component 236 determines that the detected energy value 223-2 is below the adjusted noise threshold 234, the energy threshold determination component 236 generates a threshold indication 237 corresponding to the filtered signal 212-2. After the energy threshold determination component 236 transmits the threshold indication 237 to the signal attenuation component 240, the noise reduction application 162 proceeds to step 709. Otherwise, the noise reduction application 162 proceeds to step 711 where the noise reduction application 162 does not alter the filtered signal 212-1 corresponding to the detected energy value 223-1 above the adjusted noise threshold 234 in step 711.

In step 709, noise reduction application 162 alters the filtered signal. The signal attenuation component 240 included in the noise reduction application 162 receives the threshold indication 237 from the energy threshold determination component 236 that the detected energy value 233-2 of the particular filtered signal 212-2 is below the adjusted noise threshold 234. The signal attenuation component 240 responds to the threshold indication 237 by altering the corresponding filtered signal 212-2. In some embodiments, signal attenuation component 240 may attenuate the filtered signal by applying a filter to the signal in order to reduce the energy of filtered signal 212-2. Additionally or alternatively, the signal attenuation component 240 may apply an attenuation factor to the filtered signal. For example, the signal attenuation component 240 may multiply the filtered signal 212-2 by zero such that the resulting attenuated filtered signal 242 has no energy. In another example, the signal attenuation component 240 may multiply the filtered signal by a particular constant: (For example0.25) to reduce the energy level of filtered signal 212-2 by a constant value.

In step 713, noise reduction application 162 combines the filtered audio signals. A signal combiner component 250 included in the noise reduction application 162 receives the unaltered filtered signal subset 212 from the audio filtering component 210 and the attenuated filtered signal subset 242 from the signal attenuation component 240. The signal combiner component 250 combines the filtered signal subsets 212, 242 in order to synthesize the output audio signal 140. For example, the signal combiner component 250 may synthesize the filtered signals 212, 242 such that the output audio signal 140 includes the complete audio spectrum for a given time. In some implementations, the one or more filtered signals 212, 242 have overlapping frequency ranges. In this case, for a particular overlapping frequency range, the signal combiner component 250 may select the filtered signal 212, 242 with the highest detected energy. Additionally or alternatively, the signal combiner component 250 may select the unaltered filtered signal 212 in place of the attenuated filtered signal 242.

In summary, a noise reduction system receives an input audio signal and decomposes portions of the audio signal to generate a set of filtered signals. In some embodiments, the noise reduction system may employ a filter bank for processing the audio signal of speech, such as a mel filter bank. The noise reduction system detects a set of signal energies associated with each filtered signal. The noise reduction system compares the set of detected signal energies of adjacent filtered signals to calculate a set of energy differences. The noise reduction system modifies the noise threshold based on at least one of the calculated energy differences. In some embodiments, the noise reduction system first determines a maximum energy difference between any adjacent filtered signals, and then increases an initial noise threshold based on the maximum energy difference to produce an adjusted noise threshold.

The noise reduction system compares the set of detected signal energies to the adjusted noise threshold. Based on the comparison, the noise reduction system changes the filtered signal corresponding to the detected signal energy. In some embodiments, the noise reduction system attenuates the filtered signal when the detected energy of the filtered signal is below the adjusted noise threshold. The noise reduction system combines the combined signal (including the one or more attenuated filtered signals) to synthesize an output audio signal.

At least one technical advantage of the disclosed techniques is that the noise reduction system may reduce noise elements included in an audio signal using one or more filters that are also used by other audio processing systems. Thus, the noise reduction system may effectively remove noise elements from the audio signal so that other audio processing systems may more effectively process the audio signal without degrading other portions of the audio signal.

1. In some embodiments, a method for reducing noise in an audio signal comprises: decomposing a first input audio signal into a first set of subband signals; detecting a first set of signal energy values, wherein each signal energy value included in the first set of signal energy values is associated with a subband signal included in the first set of subband signals; generating a first noise reduction threshold based on at least one subband signal comprised in the first set of subband signals; for each subband signal included in the first set of subband signals, comparing the signal energy value associated with the subband signal to the first noise reduction threshold; attenuating at least one subband signal included in the first set of subband signals to generate a first set of attenuated subband signals based on determining that the at least one subband signal is associated with a signal energy value below the first noise reduction threshold; and combining at least one subband signal included in the first set of subband signals with at least one attenuated subband signal included in the first set of attenuated subband signals to generate an output audio signal.

2. The method of clause 1, further comprising determining at least a first energy difference between two signal energy values included in the first set of signal energy values, wherein generating the first noise reduction threshold based on the at least one subband signal comprises generating the first noise reduction threshold based on the first energy difference.

3. The method of clause 1 or 2, wherein generating the first noise reduction threshold based on the first energy difference comprises combining the first energy difference with an initial noise reduction threshold.

4. The method of any of clauses 1-3, wherein generating the first noise reduction threshold comprises: comparing pairs of signal energy values in the first set of signal energy values, wherein each pair of signal energy values is associated with a subband signal included in the first set of subband signals and is generated by an adjacent filter; for each comparison, calculating an energy difference, wherein each energy difference is included in the first set of energy differences; and selecting a maximum energy difference from the first set of energy differences, wherein the first noise reduction threshold is based on the maximum energy difference.

5. The method of any of clauses 1-4, further comprising: for each subband signal included in the first set of subband signals, generating an initial noise reduction threshold associated with the subband signal; for each initial noise reduction threshold, generating an adjusted noise reduction threshold associated with the subband signal, wherein the adjusted noise reduction threshold is based on the initial noise reduction threshold and at least a first energy difference between two signal energy values included in the first set of signal energy values; for each subband signal included in the first set of subband signals, comparing the signal energy value associated with the subband signal to the adjusted noise reduction threshold associated with the subband signal; and based on determining that at least one subband signal included in the first set of subband signals is associated with a signal energy value below an adjusted noise reduction threshold associated with the at least one subband signal, attenuating the at least one subband signal to generate a first set of attenuated subband signals.

6. The method of any of clauses 1-5, further comprising: receiving an initial input signal, wherein the initial input signal is a continuous time domain audio signal; and transform the initial input signal to generate the first audio input signal, wherein the first audio input signal is a frequency domain representation of the initial input signal.

7. The method of any of clauses 1-6, wherein a first signal energy value included in the first set of signal energy values is a Root Mean Square (RMS) value of a first subband signal.

8. The method of any of clauses 1-7, wherein decomposing the first input audio signal into the first set of subband signals comprises: decomposing the first input audio signal with a first filter bank, wherein at least a subset of the filters comprised in the first filter bank overlap.

9. The method of any of clauses 1-8, further comprising: for each subband signal comprised in the first set of subband signals, a time constant is associated with the subband signal and the signal energy value associated with the subband signal is determined based on the associated time constant.

10. In some embodiments, a noise reduction system includes a memory and a processor coupled to the memory, wherein the processor is configured to: decomposing the first input audio signal into a first set of subband signals via a first filter bank; detecting a first set of signal energy values, wherein each signal energy value included in the first set of signal energy values is associated with a subband signal included in the first set of subband signals; generating a first noise reduction threshold based on at least one subband signal comprised in the first set of subband signals; for each subband signal included in the first set of subband signals, comparing the signal energy value associated with the subband signal to the first noise reduction threshold; attenuating at least one subband signal included in the first set of subband signals to generate a first set of attenuated subband signals based on determining that the at least one subband signal is associated with a signal energy value below the first noise reduction threshold; and combining at least one subband signal included in the first set of subband signals with at least one attenuated subband signal included in the first set of attenuated subband signals via at least one of the first or second filter bank to generate an output audio signal.

11. The noise reduction system of clause 10, wherein at least one of the first filter bank or the second filter bank comprises a first set of mel filters.

12. The noise reduction system of clause 10 or 11, wherein the processor is further configured to transmit the output audio signal to a speech recognition system, wherein the speech recognition system uses the first filter bank.

13. The noise reduction system of any of clauses 10-12, wherein the processor is further configured to receive a first set of mel-frequency cepstral coefficients (MFCCs) and modify the first set of mel-filters based on the first set of MFCCs.

14. The noise reduction system of any of clauses 10-13, wherein the processor is further configured to: receiving a first set of Mel Frequency Cepstral Coefficients (MFCCs) from a speech recognition system, wherein the speech recognition system uses the first filter bank configured with the first set of MFCCs; modifying the first set of Mel filters based on the first set of MFCCs; transmitting the output audio signal to the speech recognition system, wherein the speech recognition system extracts a set of features from the output audio signal.

15. The noise reduction system of any of clauses 10-14, wherein the processor is further configured to determine at least a first energy difference between two signal energy values included in the first set of signal energy values, wherein the processor is configured to generate the first noise reduction threshold based on the at least one subband signal by generating the first noise reduction threshold based on the first energy difference.

16. The noise reduction system of any of clauses 10-15, wherein the processor is configured to generate the first noise reduction threshold based on the first energy difference by combining the first energy difference with an initial noise reduction threshold.

17. The noise reduction system of any of clauses 10-16, wherein the processor is configured to generate the first noise reduction threshold by: comparing pairs of signal energy values in the first set of signal energy values, wherein each pair of signal energy values is associated with a subband signal included in the first set of subband signals and is generated by an adjacent filter included in the first filter bank; for each comparison, calculating an energy difference, wherein each energy difference is included in the first set of energy differences; and selecting a maximum energy difference from the first set of energy differences, wherein the first noise reduction threshold is based on the maximum energy difference.

18. In some embodiments, one or more non-transitory computer-readable media comprise instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of: decomposing a first input audio signal into a first set of subband signals; detecting a first set of signal energy values, wherein each signal energy value included in the first set of signal energy values is associated with a subband signal included in the first set of subband signals; for each subband signal included in the first set of subband signals, generating an initial noise reduction threshold associated with the subband signal; for each initial noise reduction threshold, generating an adjusted noise reduction threshold associated with the subband signal, wherein the adjusted noise reduction threshold is based on the initial noise reduction threshold and at least a first energy difference between two signal energy values included in the first set of signal energy values; for each subband signal included in the first set of subband signals, comparing the signal energy value associated with the subband signal to the adjusted noise reduction threshold associated with the subband signal; and based on determining that at least one subband signal included in the first set of subband signals is associated with a signal energy value below an adjusted noise reduction threshold associated with the at least one subband signal, attenuating the at least one subband signal to generate a first set of attenuated subband signals; and combining at least one subband signal included in the first set of subband signals with at least one attenuated subband signal included in the first set of attenuated subband signals to generate an output audio signal.

19. The one or more non-transitory computer-readable media of clause 18, further comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform the steps of: comparing pairs of signal energy values in the first set of signal energy values, wherein each pair of signal energy values is associated with a subband signal included in the first set of subband signals and is generated by an adjacent filter; for each comparison, calculating an energy difference, wherein each energy difference is included in the first set of energy differences; and selecting a maximum energy difference from the first set of energy differences, wherein the first energy difference is based on the maximum energy difference.

20. The one or more non-transitory computer-readable media of clauses 18 or 19, wherein the neighboring filter is a mel filter included in a first filter bank.

Any claim element recited in any claim and/or any and all combinations of any elements recited in this application, performed in any way, are within the scope of the present disclosure and protection.

The description of the various embodiments has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.

Aspects of the disclosed embodiments may be implemented as a system, method or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "module" or "system. Additionally, any hardware and/or software technique, process, function, component, engine, module, or system described in this disclosure may be implemented as a circuit or group of circuits. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied thereon.

Any combination of one or more computer-readable media may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.

Aspects of the present disclosure are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine. Which when executed via the processor of a computer or other programmable data processing apparatus, enable the functions/acts specified in the flowchart and/or block diagram block or blocks. Such a processor may be, but is not limited to, a general purpose processor, a special purpose processor, an application specific processor, or a field programmable gate array.

The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

While the foregoing is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于AEWGAN的语音降噪的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!