Claims
- 1. A method for attenuating wind noise in a signal, comprising:
performing time-frequency transform on said signal to obtain transformed data; performing signal analysis on said transformed data to identify spectra dominated by wind noise; attenuating wind noise in said transformed data; constructing a time series from said transformed data.
- 2. The method of claim 1 wherein said step of performing signal analysis further comprises:
analyzing features of a spectrum of said transformed data; assigning evidence weights based on said step of analyzing; and processing said evidence weights to determine the presence of wind noise.
- 3. The method of claim 2 wherein said step of analyzing further comprises:
identifying peaks that have a Signal to Noise Ratio (SNR) exceeding a peak threshold as peaks not stemming from wind noise.
- 4. The method of claim 2 wherein said step of analyzing further comprises:
identifying peaks in said spectrum that are sharper and narrower than a certain criteria as peaks stemming from signal of interest.
- 5. The method of claim 4 wherein said step of identifying measures peak widths by taking the average difference between the highest point and its neighboring points on each side.
- 6. The method of claim 4 wherein said step of identifying further comprises:
identifying a data point as a peak if it is greater in value than both of its neighboring data points; classifying said data point as a peak stemming of signal of interest if it is greater in value than the value of two data points, in either direction a number of units away, by a decibel threshold.
- 7. The method of claim 6 wherein said number of units is two.
- 8. The method of claim 6 wherein said decibel threshold is 7 dB.
- 9. The method of claim 2 wherein said step of analyzing further comprises:
determining whether there is a harmonic relationship between peaks.
- 10. The method of claim 9 wherein said step of determining a harmonic relationship further comprises:
applying direct cosine transform (DCT) to said spectrum along the frequency axis to produce a normalized DCT, wherein said DCT is normalized by the first value of the DCT transform; determining whether there is a maximum at the value in said normalized DCT at the value of the pitch period corresponding to the signal of interest.
- 11. The method of claim 2 wherein said step of analyzing further comprises:
determining the stability of peaks by comparing peaks in the current spectra of said transformed data to peaks from previous spectra of said transformed data; identifying stable peaks as peaks not stemming from wind noise.
- 12. The method of claim 2 wherein said step of analyzing further comprises:
determining the differences in phase and amplitudes of peaks from signals from a plurality of microphones; identifying peaks whose phase and amplitude differences exceed a difference threshold and tagging said peaks as peaks stemming from wind noise.
- 13. The method of claim 2 wherein said step of processing said evidence weights uses a fuzzy classifier.
- 14. The method of claim 2 wherein said step of processing said evidence weights uses an artificial neural network.
- 15. The method of claim 1 wherein said step of performing signal analysis further comprising:
measuring the rate of variation of the lower portion of a spectrum of said transformed data.
- 16. The method of claim 1 wherein said step of performing time-frequency further comprises:
performing condition operations on said signal.
- 17. The method of claim 16 wherein said condition operations comprise:
pre-filtering.
- 18. The method of claim 16 wherein said condition operations comprise:
shading.
- 19. The method of claim 1 wherein said step of performing time-frequency transform uses short-time Fourier transform.
- 20. The method of claim 1 wherein said step of performing time-frequency transform uses bank of filter analysis.
- 21. The method of claim 1 wherein said step of performing time-frequency transform uses discrete wavelet transform.
- 22. The method of claim 1 wherein said step of attenuating wind noise further comprises:
suppressing portions of the spectra that are dominated by wind noise; preserving portions that are dominated by signal of interest.
- 23. The method of claim 22 further comprises:
generating a low-noise version of transformed data.
- 24. The method of claim 1 wherein said step of constructing a time series uses inverse Fourier transform.
- 25. The method of claim 1, further comprising the steps of:
sampling said signal to obtain sampled data; creating buffers of data from said sampled data.
- 26. The method of claim 25 wherein said step of performing time-frequency transform performs transformation on each of said buffers as it is created.
- 27. The method of claim 1, further comprising the steps of:
performing reconstruction of the signal by interpolation or extrapolation through the time or frequency regions that were masked by wind noise.
- 28. The method of claim 1, further comprising:
estimating background noise in said transformed data, wherein said background noise is used to attenuate wind noise.
- 29. The method of claim 28 further comprising:
detecting transient signal in said transformed data.
- 30. The method of claim 29 wherein said step of estimating further comprises:
averaging the acoustic power in a sliding window for each frequency band in said transformed data; declaring the presence of a transient signal when the power within a pre-determined number of frequency bands exceed the background noise by more than a threshold decibel (dB).
- 31. The method of claim 30 wherein said threshold is between 6 to 12 dB.
- 32. The method of claim 1, further comprising:
detecting the presence of wind noise.
- 33. The method of claim 32 wherein said step of analyzing analyzes said transformed data only if said step of detecting the presence of wind noise detects wind noise.
- 34. The method of claim 32 wherein said step of detecting further comprises:
performing curve fitting to the lower portion of a spectrum in said transformed data; comparing curve parameters to a plurality of pre-defined thresholds.
- 35. The method of claim 34 wherein said curve fitting is performed by fitting a straight line to the lower frequency portion of the spectrum.
- 36. The method of claim 35 wherein said curve parameters comprise:
a slope value; and an intersection point.
- 37. The method of claim 1 wherein said signal is from a single microphone source.
- 38. An apparatus for suppressing wind noise, comprising:
a time-frequency transform component configured to transform a time-based signal to frequency-based data; a signal analyzer configured to identify spectra dominated by wind noise; a wind noise attenuation component configured to minimize wind noise in said frequency-based using results obtained from said signal analyzer; a time series synthesis component configured to construct a time-series based on said frequency-based data.
- 39. The apparatus of claim 38 wherein said signal analyzer is configured to:
analyze features of a spectrum of said frequency-based data; assign evidence weights based on the result of analyzing said features; process said evidence weights to determine the presence of wind noise.
- 40. The apparatus of claim 39 wherein said signal analyzer is configured to analyze said features by identifying peaks that have a Signal to Noise Ratio (SNR) exceeding a peak threshold as peaks not stemming from wind noise.
- 41. The apparatus of claim 39 wherein said signal analyzer is configured to analyze said features by identifying peaks in said spectrum that are sharper and narrower than a certain criteria as peaks stemming from signal of interest.
- 42. The apparatus of claim 41 wherein said signal analyzer is configured to measure peak widths by taking the average difference between the highest point and its neighboring points on each side.
- 43. The apparatus of claim 41 wherein said signal analyzer is configured to:
identify a data point as a peak if it is greater in value than both of its neighboring data points; classify said data point as a peak stemming of signal of interest if it is greater in value than the value of two data points, in either direction a number of units away, by a decibel threshold.
- 44. The apparatus of claim 43 wherein said number of units is two.
- 45. The apparatus of claim 43 wherein said decibel threshold is 7 dB.
- 46. The apparatus of claim 39 wherein said signal analyzer is configured to analyze said features by determining whether there is a harmonic relationship between peaks.
- 47. The apparatus of claim 46 wherein said signal analyzer is configured to determine whether there is a harmonic relationship by:
applying direct cosine transform (DCT) to said spectrum along the frequency axis to produce a normalized DCT, wherein said DCT is normalized by the first value of the DCT transform; determining whether there is a maximum at the value in said normalized DCT at the value of the pitch period corresponding to the signal of interest.
- 48. The apparatus of claim 39 wherein said signal analyzer is configured to analyze by:
determining the stability of peaks by comparing peaks in the current spectra of said frequency-based data to peaks from previous spectra of said frequency-based data; identifying stable peaks as peaks not stemming from wind noise.
- 49. The apparatus of claim 39 wherein said signal analyzer is configured to analyze by:
determining the differences in phase and amplitudes of peaks from signals from a plurality of microphones; identifying peaks whose phase and amplitude differences exceed a difference threshold and tagging said peaks as peaks stemming from wind noise.
- 50. The apparatus of claim 39 wherein said signal analyzer is configured to use a fuzzy classifier to process said evidence weights.
- 51. The apparatus of claim 39 wherein said signal analyzer is configured to use an artificial neural network to process said evidence weights.
- 52. The apparatus of claim 38 wherein said signal analyzer is configured to analyze by:
measuring the rate of variation of the lower portion of a spectrum of said transformed data.
- 53. The apparatus of claim 38 wherein said time-frequency transform component is configured to perform condition operations on said signal.
- 54. The apparatus of claim 53 wherein said condition operations comprise:
pre-filtering.
- 55. The apparatus of claim 53 wherein said condition operations comprise:
shading.
- 56. The apparatus of claim 38 wherein said time-frequency transform component is configured to use short-time Fourier transform.
- 57. The apparatus of claim 38 wherein said time-frequency transform component is configured to use bank of filter analysis.
- 58. The apparatus of claim 38 wherein said time-frequency transform component is configured to use discrete wavelet transform.
- 59. The apparatus of claim 38 wherein said wind noise attenuation component is configured to attenuate wind noise by:
suppressing portions of the spectra that are dominated by wind noise; preserving portions that are dominated by signal of interest.
- 60. The apparatus of claim 59 said wind noise attenuation component is configured to attenuate wind noise by generating a low-noise version of transformed data.
- 61. The apparatus of claim 38 wherein said time series synthesis component constructs a time series using inverse Fourier transform.
- 62. The apparatus of claim 38, further comprising:
a sampling component configured to sample said signal to obtain sampled data and create buffers of data from said sampled data.
- 63. The apparatus of claim 62 wherein said time-frequency transform performs transformation on each of said buffers as it is created.
- 64. The apparatus of claim 38, further comprising:
a reconstruction component configured to reconstruct the signal by interpolation or extrapolation through the time or frequency regions that were masked by wind noise.
- 65. The apparatus of claim 38, further comprising:
an estimating component configured to estimate background noise in said frequency based data, wherein said background noise is used to attenuate wind noise.
- 66. The apparatus of claim 65, further comprising:
a detecting component configured to detect transient signal in said frequency-based data.
- 67. The apparatus of claim 66 wherein said detecting component is configured to detect by:
averaging the acoustic power in a sliding window for each frequency band in said transformed data; declaring the presence of a transient signal when the power within a pre-determined number of frequency bands exceed the background noise by more than a threshold decibel (dB).
- 68. The apparatus of claim 67 wherein said threshold is between 6 to 12 dB.
- 69. The apparatus of claim 38, further comprising:
a wind noise detection component configured to detect the presence of wind noise.
- 70. The apparatus of claim 69 wherein said signal analyzer analyzes said frequency-based data only if said wind noise detection component detects wind noise.
- 71. The apparatus of claim 69 wherein said wind noise detection component is configured to detect by:
performing curve fitting to the lower portion of a spectrum in said frequency-based data; comparing curve parameters to a plurality of pre-defined thresholds.
- 72. The apparatus of claim 71 wherein said curve fitting is performed by fitting a straight line to the lower frequency portion of the spectrum.
- 73. The apparatus of claim 72 wherein said curve parameters comprise:
a slope value; and an intersection point.
- 74. The apparatus of claim 38 wherein said signal is from a single microphone source.
- 75. A computer program product comprising:
a computer usable medium having computer readable program code embodied therein configured for suppressing wind noise, comprising: computer readable code configured to cause a computer to perform time-frequency transform on said signal to obtain transformed data; computer readable code configured to cause a computer to perform signal analysis on said transformed data to identify spectra dominated by wind noise; computer readable code configured to cause a computer to attenuate wind noise in said transformed data; computer readable code configured to cause a computer to construct a time series from said transformed data.
- 76. The computer program product of claim 75 said computer readable code configured to cause a computer to perform signal analysis further comprises:
computer readable code configured to cause a computer to analyze features of a spectrum of said transformed data; computer readable code configured to cause a computer to assign evidence weights based on outcome of analysis; and computer readable code configured to cause a computer to process said evidence weights to determine the presence of wind noise.
- 77. The computer program product of claim 76 wherein said computer readable code configured to cause a computer to analyze further comprises:
computer readable code configured to cause a computer to identify peaks that have a Signal to Noise Ratio (SNR) exceeding a peak threshold as peaks not stemming from wind noise.
- 78. The computer program product of claim 76 wherein said computer readable code configured to cause a computer to analyze further comprises:
computer readable code configured to cause a computer to identify peaks in said spectrum that are sharper and narrower than a certain criteria as peaks stemming from signal of interest.
- 79. The computer program product of claim 78 wherein said computer readable code configured to cause a computer to identify causes computer to measure peak widths by taking the average difference between the highest point and its neighboring points on each side.
- 80. The computer program product of claim 78 wherein said computer readable code configured to cause a computer to identify further comprises:
computer readable code configured to cause a computer to identify a data point as a peak if it is greater in value than both of its neighboring data points; computer readable code configured to cause a computer to classify said data point as a peak stemming of signal of interest if it is greater in value than the value of two data points, in either direction a number of units away, by a decibel threshold.
- 81. The computer program product of claim 80 wherein said number of units is two.
- 82. The computer program product of claim 80 wherein said decibel threshold is 7 dB.
- 83. The computer program product of claim 76 wherein said computer readable code configured to cause a computer to analyze further comprises:
computer readable code configured to cause a computer to determine whether there is a harmonic relationship between peaks.
- 84. The computer program product of claim 83 wherein said computer readable code configured to cause a computer to determine a harmonic relationship further comprises:
computer readable code configured to cause a computer to apply direct cosine transform (DCT) to said spectrum along the frequency axis to produce a normalized DCT, wherein said DCT is normalized by the first value of the DCT transform; computer readable code configured to cause a computer to determine whether there is a maximum at the value in said normalized DCT at the value of the pitch period corresponding to the signal of interest.
- 85. The computer program product of claim 76 wherein said computer readable code configured to cause a computer to analyze further comprises:
computer readable code configured to cause a computer to determine the stability of peaks by comparing peaks in the current spectra of said transformed data to peaks from previous spectra of said transformed data; computer readable code configured to cause a computer to identify stable peaks as peaks not stemming from wind noise.
- 86. The computer program product of claim 76 wherein said computer readable code configured to cause a computer to analyze further comprises:
computer readable code configured to cause a computer to determine the differences in phase and amplitudes of peaks from signals from a plurality of microphones; computer readable code configured to cause a computer to identify peaks whose phase and amplitude differences exceed a difference threshold and tag said peaks as peaks stemming from wind noise.
- 87. The computer program product of claim 76 wherein said computer readable code configured to cause a computer to process said evidence weights using a fuzzy classifier.
- 88. The computer program product of claim 76 wherein said computer readable code configured to cause a computer to process said evidence weights using an artificial neural network.
- 89. The computer program product of claim 75 wherein said computer readable code configured to cause a computer to perform signal analysis further comprising:
computer readable code configured to cause a computer to measure the rate of variation of the lower portion of a spectrum of said transformed data.
- 90. The computer program product of claim 75 wherein said computer readable code configured to cause a computer to perform time-frequency further comprises:
computer readable code configured to cause a computer to perform condition operations on said signal.
- 91. The computer program product of claim 90 wherein said condition operations comprise:
pre-filtering.
- 92. The computer program product of claim 90 wherein said condition operations comprise:
shading.
- 93. The computer program product of claim 75 wherein said computer readable code configured to cause a computer to perform time-frequency transform using short-time Fourier transform.
- 94. The computer program product of claim 75 wherein said computer readable code configured to cause a computer to perform time-frequency transform using bank of filter analysis.
- 95. The computer program product of claim 75 wherein said computer readable code configured to cause a computer to perform time-frequency transform using discrete wavelet transform.
- 96. The computer program product of claim 75 wherein said computer readable code configured to cause a computer to attenuate wind noise further comprises:
computer readable code configured to cause a computer to suppress portions of the spectra that are dominated by wind noise; computer readable code configured to cause a computer to preserve portions that are dominated by signal of interest.
- 97. The computer program product of claim 96 further comprises:
computer readable code configured to cause a computer to generate a low-noise version of transformed data.
- 98. The computer program product of claim 75 wherein said computer readable code configured to cause a computer to construct a time series using inverse Fourier transform.
- 99. The computer program product of claim 75, further comprising:
computer readable code configured to cause a computer to sample said signal to obtain sampled data; computer readable code configured to cause a computer to create buffers of data from said sampled data.
- 100. The computer program product of claim 99 wherein said computer readable code configured to cause a computer to perform time-frequency transform causes a computer to perform transformation on each of said buffers as it is created.
- 101. The computer program product of claim 75, further comprising:
computer readable code configured to cause a computer to perform reconstruction of the signal by interpolation or extrapolation through the time or frequency regions that were masked by wind noise.
- 102. The computer program product of claim 75, further comprising:
computer readable code configured to cause a computer to estimate background noise in said transformed data, wherein said background noise is used to attenuate wind noise.
- 103. The computer program product of claim 102 further comprising:
computer readable code configured to cause a computer to detect transient signal in said transformed data.
- 104. The computer program product of claim 103 wherein said computer readable code configured to cause a computer to estimate further comprises:
computer readable code configured to cause a computer to average the acoustic power in a sliding window for each frequency band in said transformed data; computer readable code configured to cause a computer to declare the presence of a transient signal when the power within a pre-determined number of frequency bands exceed the background noise by more than a threshold decibel (dB).
- 105. The computer program product of claim 104 wherein said threshold is between 6 to 12 dB.
- 106. The computer program product of claim 75, further comprising: computer readable code configured to cause a computer to detect the presence of wind noise.
- 107. The computer program product of claim 106 wherein said computer readable code configured to cause a computer to analyze causes the computer to analyze said transformed data only if said the presence of wind noise is detected.
- 108. The computer program product of claim 106 wherein said computer readable code configured to cause a computer to detect further comprises:
computer readable code configured to cause a computer to perform curve fitting to the lower portion of a spectrum in said transformed data; computer readable code configured to cause a computer to compare curve parameters to a plurality of pre-defined thresholds.
- 109. The computer program product of claim 108 wherein said curve fitting is performed by fitting a straight line to the lower frequency portion of the spectrum.
- 110. The computer program product of claim 109 wherein said curve parameters comprise:
a slope value; and an intersection point.
- 111. The computer program product of claim 75 wherein said signal is from a single microphone source.
RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 60/449,511, filed Feb. 21, 2003.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60449511 |
Feb 2003 |
US |