<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.5//EN" "ep-patent-document-v1-5.dtd">
<ep-patent-document id="EP10250748B1" file="EP10250748NWB1.xml" lang="en" country="EP" doc-number="2362390" kind="B1" date-publ="20160106" status="n" dtd-version="ep-patent-document-v1-5">
<SDOBI lang="en"><B000><eptags><B001EP>ATBECHDEDKESFRGBGRITLILUNLSEMCPTIESILTLVFIROMKCY..TRBGCZEEHUPLSK..HRIS..MTNO....SM..................</B001EP><B005EP>J</B005EP><B007EP>JDIM360 Ver 1.28 (29 Oct 2014) -  2100000/0</B007EP></eptags></B000><B100><B110>2362390</B110><B120><B121>EUROPEAN PATENT SPECIFICATION</B121></B120><B130>B1</B130><B140><date>20160106</date></B140><B190>EP</B190></B100><B200><B210>10250748.0</B210><B220><date>20100409</date></B220><B240><B241><date>20120229</date></B241></B240><B250>en</B250><B251EP>en</B251EP><B260>en</B260></B200><B300><B310>DE03122010</B310><B320><date>20100212</date></B320><B330><ctry>IN</ctry></B330></B300><B400><B405><date>20160106</date><bnum>201601</bnum></B405><B430><date>20110831</date><bnum>201135</bnum></B430><B450><date>20160106</date><bnum>201601</bnum></B450><B452EP><date>20151103</date></B452EP></B400><B500><B510EP><classification-ipcr sequence="1"><text>G10L  21/0208      20130101AFI20150619BHEP        </text></classification-ipcr><classification-ipcr sequence="2"><text>G10L  21/0232      20130101ALI20150619BHEP        </text></classification-ipcr></B510EP><B540><B541>de</B541><B542>Rauschunterdrückung</B542><B541>en</B541><B542>Noise suppression</B542><B541>fr</B541><B542>Suppression du bruit</B542></B540><B560><B561><text>US-A1- 2006 200 344</text></B561><B561><text>US-A1- 2007 192 102</text></B561><B562><text>SZCZERBA M ET AL: "Pitch detection enhancement employing music prediction" JOURNAL OF INTELLIGENT INFORMATION SYSTEMS MARCH 2005 KLUWER ACADEMIC PUBLISHERS NL, vol. 24, no. 2-3, March 2005 (2005-03), pages 223-251, XP002604517 DOI: DOI:10.1007/S10844-005-0324-6</text></B562></B560></B500><B700><B720><B721><snm>Deshpande, Murali Mohan</snm><adr><str>c/o NXP Semiconductors
Intellectual Property and Licensing Department
Betchworth House
57-65 Station Road</str><city>Redhill, Surrey RH1 1DL</city><ctry>GB</ctry></adr></B721><B721><snm>Gundurao, Sudeendra Maddur</snm><adr><str>c/o NXP Semiconductors
Intellectual Property and Licensing Department
Betchworth House
57-65 Station Road</str><city>Redhill, Surrey RH1 1DL</city><ctry>GB</ctry></adr></B721><B721><snm>Goyens, Rob</snm><adr><str>c/o NXP Semiconductors
Intellectual Property and Licensing Department
Betchworth House
57-65 Station Road</str><city>Redhill, Surrey RH1 1DL</city><ctry>GB</ctry></adr></B721><B721><snm>Tirry, Wouter Joos</snm><adr><str>c/o NXP Semiconductors
Intellectual Property and Licensing Department
Betchworth House
57-65 Station Road</str><city>Redhill, Surrey RH1 1DL</city><ctry>GB</ctry></adr></B721><B721><snm>Davies, Jeremy Thomas</snm><adr><str>c/o NXP Semiconductors
Intellectual Property and Licensing Department
Betchworth House
57-65 Station Road</str><city>Redhill, Surrey RH1 1DL</city><ctry>GB</ctry></adr></B721></B720><B730><B731><snm>NXP B.V.</snm><iid>101002440</iid><irf>81393340EP01</irf><adr><str>High Tech Campus 60</str><city>5656 AG Eindhoven</city><ctry>NL</ctry></adr></B731></B730><B740><B741><snm>Crawford, Andrew</snm><sfx>et al</sfx><iid>101432045</iid><adr><str>NXP SEMICONDUCTORS UK LTD 
Intellectual Property &amp; Licensing 
Red Central 
60 High Street</str><city>Redhill, Surrey RH1 1SH</city><ctry>GB</ctry></adr></B741></B740></B700><B800><B840><ctry>AT</ctry><ctry>BE</ctry><ctry>BG</ctry><ctry>CH</ctry><ctry>CY</ctry><ctry>CZ</ctry><ctry>DE</ctry><ctry>DK</ctry><ctry>EE</ctry><ctry>ES</ctry><ctry>FI</ctry><ctry>FR</ctry><ctry>GB</ctry><ctry>GR</ctry><ctry>HR</ctry><ctry>HU</ctry><ctry>IE</ctry><ctry>IS</ctry><ctry>IT</ctry><ctry>LI</ctry><ctry>LT</ctry><ctry>LU</ctry><ctry>LV</ctry><ctry>MC</ctry><ctry>MK</ctry><ctry>MT</ctry><ctry>NL</ctry><ctry>NO</ctry><ctry>PL</ctry><ctry>PT</ctry><ctry>RO</ctry><ctry>SE</ctry><ctry>SI</ctry><ctry>SK</ctry><ctry>SM</ctry><ctry>TR</ctry></B840><B880><date>20110831</date><bnum>201135</bnum></B880></B800></SDOBI>
<description id="desc" lang="en"><!-- EPO <DP n="1"> -->
<p id="p0001" num="0001">The invention relates to detection and suppression or removal of noise in audio signals, with particular relevance for radio communication devices such as hand-portable radiotelephones.</p>
<p id="p0002" num="0002">Communication systems such as mobile phones are often used outdoors, which places strong requirements on the performance of any noise suppression systems present. One of the most dominant noise types is street noise, and in particular that caused by motorized traffic. Traffic noise can generally be classified into various types, but in many countries the sound of horns being used by cars and other vehicles such as autorickshaws strongly dominates the sound scene. Horn sounds in particular are perceived as annoying because they tend to be loud, and can adversely affect the quality and intelligibility of a conversation or can even inhibit communication altogether using mobile phones.</p>
<p id="p0003" num="0003">Current noise suppression algorithms can conveniently be divided into two categories, being single channel noise suppression systems and multi-channel noise suppression systems.</p>
<p id="p0004" num="0004">Most single-channel noise suppression systems are based on modification of the spectral amplitudes of an audio signal by means of a gain function. The calculation of a gain vector for implementing the gain function is carried out based on noise component estimation. A low SNR (signal to noise ratio) will significantly degrade the performance of such a noise estimator. In order to avoid speech degradation during low SNR situations, a conservative noise estimation process can be adopted, in which only stationary and slowly-varying non-stationary components are tracked by the noise estimator. This method can also be used independently of a speech detector. A faster noise component estimator to track non-stationary components would need to make use of a speech detector or even a dedicated speech model.<!-- EPO <DP n="2"> --></p>
<p id="p0005" num="0005">Multi-channel noise suppression systems can suppress both stationary and non-stationary noise. Most multi-channel noise suppressors rely on desired-speech detectors for calculating various parameters to obtain a noise reference. The gain vector is then evaluated based on the estimated noise.</p>
<p id="p0006" num="0006">Speech detectors or speech models are never 100% reliable, leading to speech degradation caused by imperfect gain calculations resulting from imperfect detector decisions. This problem is particularly prevalent under low SNR conditions. In addition, because the processing delay must be kept to a minimum in communication systems, only a short time window is available for deciding and estimating the noise. A time delay of longer than a few tens of milliseconds can have a noticeable impact on telephone conversations.</p>
<p id="p0007" num="0007">An example of a single channel noise suppression system 10 is illustrated in <figref idref="f0001">figure 1</figref>. An input audio input signal <i>z</i>(<i>n</i>) consists of the sum of a desired speech signal <i>s(n)</i> and a noise signal <i>sn(n).</i> The audio input signal is sectioned into overlapping blocks and windowed. The windowed signal is transformed from the time domain into the frequency domain using an FFT (Fast Fourier Transform). These steps are represented by the windowing and FFT block 11 in <figref idref="f0001">figure 1</figref>. The magnitude spectrum obtained is then modified by a correction block 12 that applies a gain function in order to obtain an estimate of the speech signal, <i>s(n) ,</i> which is then output by the system after inverse FFT and desectioning steps 12,13. The phase of the signal is left unchanged. The correction to the amplitude spectrum is obtained using a gain function that is determined for each frame and for each frequency bin in the frame.</p>
<p id="p0008" num="0008">Various existing methods are known for calculating the gain function based on different error criteria, for example as disclosed by <nplcit id="ncit0001" npl-type="s"><text>R. Martin in "Spectral Subtraction Based on Minimum Statistics", Signal Processing VII: Theories and Application, pp. 1182-1185, EUSIPCO, 1994</text></nplcit>.</p>
<p id="p0009" num="0009">The gain vector obtained is used for modifying the real FFT of the audio signal frames according to the following relationship: <maths id="math0001" num="(1)"><math display="block"><mover><mi>s</mi><mo>^</mo></mover><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced><mo>=</mo><mi mathvariant="italic">zampl</mi><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced><mo>⋅</mo><mi mathvariant="italic">Gain</mi><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced></math><img id="ib0001" file="imgb0001.tif" wi="89" he="5" img-content="math" img-format="tif"/></maths><!-- EPO <DP n="3"> --> where <i>zampl(i,k)</i> corresponds to the magnitude spectra of the input audio signal, <i>Gain(i,k)</i> is the gain factor and <i>ŝ(i,k)</i> is the modified magnitude spectrum of input audio signal. The index i corresponds to the frequency bin number and <i>k</i> corresponds to the frame number.</p>
<p id="p0010" num="0010">This modified amplitude spectrum is fed, together with the unmodified phase, to an IFFT (Inverse Fast Fourier Transform) block 13 for obtaining, after desectioning 14, the output signal <i>ŝ</i>(<i>n</i>) in which the noise <i>sn(n)</i> present in the input signal <i>z(n)</i> has been suppressed.</p>
<p id="p0011" num="0011">There are certain inherent limitations with existing noise-suppression algorithms, one or which relates to suppressing non-stationary noise such as horn sounds, as this requires steering the noise estimator to catch up with such noise using a speech detector. This approach has limitations because horn signals tend to have high energy and highly harmonic spectra that are normally detected incorrectly as speech, and under low SNR conditions the presence of such horn signals can cause speech detector performance to deteriorate. Furthermore, horn signals tend to occur only for very short durations (typically less than 1 second), so a noise estimator without a speech detector cannot normally be used effectively.</p>
<p id="p0012" num="0012">It is an object of the invention to address one or more of the above mentioned problems.</p>
<p id="p0013" num="0013"><patcit id="pcit0001" dnum="US20060200344A"><text>US 2006/0200344</text></patcit> discloses a method of reducing noise in an audio signal, in which a furrow filter is used to select spectral components that are narrow in frequency but relatively broad in time and a bar filter is used to select spectral components that are broad in frequency but relatively narrow in time, the relative energy distributions of the filters analysed to determine the optimal proportion of spectral components for an output signal.</p>
<p id="p0014" num="0014"><patcit id="pcit0002" dnum="US20070192102A"><text>US 2007/0192102</text></patcit> discloses a method of adaptively aligning windows to extract features according to the types and characteristics of voice signals, in which window lengths based on the window update points<!-- EPO <DP n="4"> --> in a corresponding order are determined by employing the concept of a higher order peak and windows aligned according to window lengths.</p>
<p id="p0015" num="0015"><nplcit id="ncit0002" npl-type="s"><text>M. Szczerba &amp; A. Czyzewski, in "Pitch Detection Enhancement Employing Music Prediction", Journal of Intelligent Information Systems, 24:2/3, pp 223-251, 2005</text></nplcit>, disclose pitch detection methods widely used for extracting musical data from digital signals.</p>
<p id="p0016" num="0016">According to the invention there is provided a method of suppressing noise in an audio signal, as defined by the appended claims.</p>
<p id="p0017" num="0017">The method optionally comprises, for each of the sampled audio frames:
<ul id="ul0001" list-style="none" compact="compact">
<li>transforming the audio frame from the time domain into the frequency domain; and</li>
<li>converting the resulting noise-suppressed audio frame back to the time domain,</li>
<li>wherein the gain function comprises a gain vector applied in the frequency domain.</li>
</ul></p>
<p id="p0018" num="0018">In alternative embodiments, the gain function may comprise a filter that is applied in the time domain, the filter being a notch filter having one or more notches at frequencies corresponding to the one or more detected spectral peaks.</p>
<p id="p0019" num="0019">The step of comparing a measure of high frequency content in the audio frame to a threshold value may comprise computing a sum of differences between consecutive samples, comparing the sum of differences to a second threshold value, and determining noise is present if the sum of differences exceeds the second threshold value</p>
<p id="p0020" num="0020">The step of comparing a measure of high frequency content in the audio frame to a threshold value may comprise computing a measure of energy in the audio frame, comparing this measure of energy to a third threshold value, and determining noise is present if the measure of energy exceeds the third threshold value.</p>
<p id="p0021" num="0021">The step of comparing a measure of high frequency content in the audio frame to a threshold value may comprise:
<ul id="ul0002" list-style="none" compact="compact">
<li>computing a sum of differences between consecutive samples;<!-- EPO <DP n="5"> --></li>
<li>comparing the sum of differences to a second threshold value;</li>
<li>computing a measure of energy in the audio frame;</li>
<li>comparing the measure of energy to a third threshold value; and</li>
<li>determining noise is present if the sum of the first and second numbers exceeds the first threshold value, the sum of differences exceeds the second threshold value and the measure of energy exceeds the third threshold value.</li>
</ul></p>
<p id="p0022" num="0022">Generally, therefore, one or more of the above threshold values may be used in determining whether noise is present in each audio frame and, in a particular preferred embodiment, all three thresholds are used to determine whether noise is present.</p>
<p id="p0023" num="0023">Detecting a noise pattern in the sampled audio frame may be done by comparing frequencies of the spectrum of the audio frame with an average spectrum of the audio frame, a spectral peak being detected if a magnitude of a frequency exceeds the average spectrum by a preset factor.</p>
<p id="p0024" num="0024">The high frequency region of the audio signal spectrum is preferably a region over 2kHz. In preferred embodiments, this high frequency region will extend between 2kHz and half the frequency at which the audio signal is sampled.</p>
<p id="p0025" num="0025">The gain function may comprise a first gain function configured to emphasise a speech signal in the audio frame and a second gain function configured to suppress noise detected in the audio frame. The first gain function may be derived from a conventional speech detection process.<!-- EPO <DP n="6"> --></p>
<p id="p0026" num="0026">The audio signal in the method will typically comprise a speech signal and a noise signal, and the invention is particularly suited for when the noise signal is a vehicle horn noise.</p>
<p id="p0027" num="0027">The noise signal will generally be periodic and will have a harmonic structure, or in other words will comprise a fundamental frequency component and one or more harmonic components at other frequencies.</p>
<p id="p0028" num="0028">Embodiments according to the invention may be incorporated into a hand-portable radio communications device such as a radiotelephone that comprises a noise suppression module configured to perform the method of the invention.</p>
<p id="p0029" num="0029">The invention may also be embodied in a computer program for causing a computer to perform the method, which may be provided on a data carrier such as a memory chip, a computer-readable disc or other type of storage medium.</p>
<p id="p0030" num="0030">In a general aspect, the invention is based on using a noise signal detector and a filtering mechanism to suppress horn-like noise signals. The invention can be used together with single-channel or multi-channel noise suppression systems or as a standalone system for suppressing noise in the form of horn-like signals, thereby enhancing audio intelligibility and quality.</p>
<p id="p0031" num="0031">Advantages of the invention relate to the detection of horn-like noise patterns instead of detection of speech. The detection of horn-like noise can be done more accurately than speech for low SNR situations, thereby making use of the invention more appropriate when an input audio signal is strongly affected by high energy high frequency non-stationary noise such as horn noises.</p>
<p id="p0032" num="0032">The detection of noise according to the invention operates on individual audio frames, and therefore operates effectively instantaneously. This type of detection can be used to steer, or modify, a noise suppression system that incorporates other noise suppression methods or used as a standalone noise removal system to specifically remove horn-like signals when detected.</p>
<p id="p0033" num="0033">The noise estimation part of an existing system could in practice be modified to adapt aggressively during presence of a horn signal. However,<!-- EPO <DP n="7"> --> a generic solution would require a very reliable speech detector to avoid the problem of the noise component estimator being significantly biased by speech. Various methods have been tried in this direction but without success. Instead of trying to implement a robust speech detector in a noise suppression system that is also capable of handling horn-like signals, the invention provides a detector specifically directed to horn-like signals and uses this for suppression or removal of noise by spectral modification. The invention therefore offers a simpler solution to the problem of dealing with a particular type of noise that is likely to occur in practice.</p>
<p id="p0034" num="0034">Embodiments of the present invention will now be described by way of example and with reference to the accompanying drawings in which:
<ul id="ul0003" list-style="none" compact="compact">
<li><figref idref="f0001">figure 1</figref> is a schematic block diagram of a noise suppression system;</li>
<li><figref idref="f0001">figure 2</figref> is a schematic block diagram of standalone horn noise suppression system;</li>
<li><figref idref="f0002">figure 3</figref> is a schematic block diagram of a horn noise suppression system as part of a noise detection and suppression system;</li>
<li><figref idref="f0003">figures 4a and 4b</figref> are time and frequency domain representations of a single sampled audio frame of a rickshaw horn recording;</li>
<li><figref idref="f0004">figures 5a and 5b</figref> are time and frequency domain representations of a single sampled audio frame of a car horn recording;</li>
<li><figref idref="f0005">figures 6a and 6b</figref> are time and frequency domain representations of a single sampled audio frame of a truck horn recording;</li>
<li><figref idref="f0006">figures 7a and 7b</figref> are time and frequency domain representations of a single sampled audio frame of a motorcycle horn recording;</li>
<li><figref idref="f0007">figure 8</figref> is a flow diagram illustrating operation of an exemplary embodiment of a time domain horn noise detector;</li>
<li><figref idref="f0008">figure 9</figref> is a block diagram illustrating operation of a horn noise suppression system as part of a noise detection and suppression system; and</li>
<li><figref idref="f0009">figure 10</figref> is a block diagram illustrating operation of a standalone horn noise suppression system.</li>
</ul><!-- EPO <DP n="8"> --></p>
<p id="p0035" num="0035">Exemplary embodiments according to the invention comprise in general the following two steps:
<ol id="ol0001" compact="compact" ol-style="">
<li>1. Detection of a horn signal; and</li>
<li>2. Suppression or removal of the detected horn-like signal.</li>
</ol></p>
<p id="p0036" num="0036">The horn detection and suppression system can be a standalone system or it could form part of a larger noise detection and suppression system. A basic block diagram of a standalone horn removal system 20 is shown in <figref idref="f0001">figure 2</figref>. A horn detection decision is made by a horn detector system 21, and a horn removal system 22 operates to suppress or remove the detected horn signal by applying a spectral gain function to the signal. The horn detector system 21 provides the input signal z to the horn removal system 22, together with an indication, provided in this case by a single bit horn detection flag, of whether horn noise has been detected in the frame in question.</p>
<p id="p0037" num="0037">A basic block diagram of a horn suppressor system provided as part of a larger noise detection and suppression system 30 is shown in <figref idref="f0002">figure 3</figref>. A noise suppression system 31 receives an input from a horn detector 21, which detects horn sounds on the input signal z. The noise suppression system 31 comprises a gain modification module 32 that is configured to compute a new gain for suppressing horn noise patterns whenever such horn sounds are detected. If no horn noise is detected, the gain modification module 31 suppresses noise in a conventional way, for example by the use of speech detection.</p>
<p id="p0038" num="0038">When designing a horn noise detector, it is necessary to understand the difference in characteristics between speech and horn-like sounds. Speech signals generally have the following characteristics:
<ul id="ul0004" list-style="bullet" compact="compact">
<li>Limited zero-crossings in the time-domain signal, and with a signal energy concentrated in low frequency bands, at least for voiced sounds (i.e. &lt;2 kHz);</li>
<li>Limited high-frequency transitions (typically &lt; 20%);</li>
<li>The energy of any high-frequency transitions is negligible;<!-- EPO <DP n="9"> --></li>
<li>For unvoiced sounds, i.e. sounds other than vowel sounds that may have certain characteristics similar to noise (for example plosives such as 'b' and 'p' sounds made when the vocal folds are apart but are not vibrating), most energy is concentrated in the high frequency region. However, unvoiced speech signals have a low overall energy.</li>
</ul></p>
<p id="p0039" num="0039">Horn-like signals, on the other hand, generally have the following characteristics:
<ul id="ul0005" list-style="bullet" compact="compact">
<li>A high number of zero crossings and high energy in high frequency bands (&gt; 2 kHz);</li>
<li>High-frequency transitions occurring frequently (&gt; 80%);</li>
<li>Dominant high frequencies present;</li>
<li>Energy of high-frequency transitions is considerable;</li>
<li>Harmonic in nature, i.e. having a fundamental frequency and one or more harmonic over/undertone frequencies.</li>
</ul></p>
<p id="p0040" num="0040"><figref idref="f0003 f0004 f0005 f0006">Figures 4 to 7</figref> illustrate the main characteristics of typical horn-like signals. In <figref idref="f0003">figures 4a</figref>, <figref idref="f0004">5a</figref>, <figref idref="f0005">6a</figref> and <figref idref="f0006">7a</figref>, the time-domain representation of audio recordings of rickshaw, car, truck and motorcycle horns respectively are shown, while in <figref idref="f0003">figures 4b</figref>, <figref idref="f0004">5b</figref>, <figref idref="f0005">6b</figref> and <figref idref="f0006">7b</figref> the corresponding frequency domain representations of the same signals are shown. In each case, the audio frame comprises 80 samples, extending over a sample window of 10ms, i.e. corresponding to a sampling frequency of 8kHz, resulting in a maximum sampled frequency range of 0-4kHz. In each case, high frequency variations are visible as large variations in the values of alternate or consecutive samples. In most cases, the principle component of a horn noise will be augmented by other frequency components, though in some cases, as in the motorcycle horn noise in <figref idref="f0006">figures 7a and 7b</figref>, the principle frequency component at around 3200Hz dominates. In other cases such as the truck horn noise of <figref idref="f0005">figures 6a and 6b</figref>, multiple frequency component of roughly equal magnitude are present in addition to the principle component at 3200Hz.</p>
<p id="p0041" num="0041">Short duration audio frames such as these tend to have a poor frequency resolution when represented in the frequency domain.<!-- EPO <DP n="10"> --> Detection of horn noise based on time domain analysis methods has however been found to be advantageous on frames of duration as short as 10ms.</p>
<heading id="h0001"><u>High-frequency sample variations</u></heading>
<p id="p0042" num="0042">Horn-like signals are highly varying and have harmonic spectra, i.e. generally comprise a fundamental frequency component together with harmonics at related frequencies. This characteristic can be used to detect such signals by determining the number of zero-crossing variations present in each frame. As used herein, the term 'zero crossings' refers to samples that fall either side of a zero line 41 (<figref idref="f0003">figure 4a</figref>). For a sampling frequency of 8kHz, the highest number of zero crossings will occur when sampling a 4kHz sine wave signal, where each sample alternates between a positive side of the signal and a negative side.</p>
<p id="p0043" num="0043">Two parameters related to zero-crossings can be used in detecting horn-like noise:
<ul id="ul0006" list-style="bullet" compact="compact">
<li>First Order Consecutive Sample Variations (FOCSV), which are herein defined by consecutive samples that lead to a change in sign; and</li>
<li>First Order Alternate Sample variations (FOASV), defined by alternate samples leading to a change in sign.</li>
</ul></p>
<p id="p0044" num="0044">As an illustrative example, If <i>x</i> represents a frame of input audio samples and i represents a sample number in the frame, then the parameter FOCSV is computed as follows: <maths id="math0002" num=""><math display="block"><mi>Pr</mi><mo>⁢</mo><mi mathvariant="italic">vDiff</mi><mo>=</mo><mi>x</mi><mo>⁢</mo><mfenced open="[" close="]" separators=""><mi>i</mi><mo>-</mo><mn>1</mn></mfenced><mo>-</mo><mi>x</mi><mo>⁢</mo><mfenced open="[" close="]" separators=""><mi>i</mi><mo>-</mo><mn>2</mn></mfenced></math><img id="ib0002" file="imgb0002.tif" wi="45" he="6" img-content="math" img-format="tif"/></maths> <maths id="math0003" num=""><math display="block"><mi mathvariant="italic">CurDiff</mi><mo>=</mo><mi>x</mi><mfenced open="[" close="]"><mi>i</mi></mfenced><mo>-</mo><mi>x</mi><mo>⁢</mo><mfenced open="[" close="]" separators=""><mi>i</mi><mo>-</mo><mn>1</mn></mfenced></math><img id="ib0003" file="imgb0003.tif" wi="40" he="6" img-content="math" img-format="tif"/></maths> <maths id="math0004" num=""><math display="block"><mi mathvariant="italic">FOCSV</mi><mo>=</mo><mrow><mo>{</mo><mtable columnalign="left"><mtr><mtd><mo>+</mo><mn>1</mn><mo>,</mo><mi mathvariant="italic">if</mi><mo>⁢</mo><mfenced separators=""><mfenced separators=""><mi>Pr</mi><mo>⁢</mo><mi mathvariant="italic">vDiff</mi><mo>=</mo><mo>=</mo><mo>-</mo><mi mathvariant="italic">ve</mi></mfenced><mo>&amp;</mo><mo>&amp;</mo><mfenced separators=""><mi mathvariant="italic">CurDiff</mi><mo>=</mo><mo>=</mo><mo>+</mo><mi mathvariant="italic">ve</mi></mfenced></mfenced></mtd></mtr><mtr><mtd><mo>+</mo><mn>1</mn><mo>,</mo><mi mathvariant="italic">if</mi><mo>⁢</mo><mfenced separators=""><mfenced separators=""><mi>Pr</mi><mo>⁢</mo><mi mathvariant="italic">vDiff</mi><mo>=</mo><mo>=</mo><mo>+</mo><mi mathvariant="italic">ve</mi></mfenced><mo>&amp;</mo><mo>&amp;</mo><mfenced separators=""><mi mathvariant="italic">CurDiff</mi><mo>=</mo><mo>=</mo><mo>-</mo><mi mathvariant="italic">ve</mi></mfenced></mfenced></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi mathvariant="italic">otherwise</mi></mtd></mtr></mtable></mrow></math><img id="ib0004" file="imgb0004.tif" wi="97" he="18" img-content="math" img-format="tif"/></maths></p>
<p id="p0045" num="0045">In other words, the FOCSV parameter is determined to be 1 if both a previous pair and a current pair of samples involve a change in sign, and is zero otherwise.<!-- EPO <DP n="11"> --></p>
<p id="p0046" num="0046">The parameter FOASV, on the other hand is determined as follows: <maths id="math0005" num=""><math display="block"><mi>Pr</mi><mo>⁢</mo><mi mathvariant="italic">vDiff</mi><mo>=</mo><mi>x</mi><mo>⁢</mo><mfenced open="[" close="]" separators=""><mi>i</mi><mo>-</mo><mn>2</mn></mfenced><mo>-</mo><mi>x</mi><mo>⁢</mo><mfenced open="[" close="]" separators=""><mi>i</mi><mo>-</mo><mn>3</mn></mfenced></math><img id="ib0005" file="imgb0005.tif" wi="46" he="6" img-content="math" img-format="tif"/></maths> <maths id="math0006" num=""><math display="block"><mi mathvariant="italic">CurDiff</mi><mo>=</mo><mi>x</mi><mfenced open="[" close="]"><mi>i</mi></mfenced><mo>-</mo><mi>x</mi><mo>⁢</mo><mfenced open="[" close="]" separators=""><mi>i</mi><mo>-</mo><mn>1</mn></mfenced></math><img id="ib0006" file="imgb0006.tif" wi="40" he="6" img-content="math" img-format="tif"/></maths> <maths id="math0007" num=""><math display="block"><mi mathvariant="italic">FOASV</mi><mo>=</mo><mrow><mo>{</mo><mtable columnalign="left"><mtr><mtd><mo>+</mo><mn>1</mn><mo>,</mo><mi mathvariant="italic">if</mi><mo>⁢</mo><mfenced separators=""><mfenced separators=""><mi>Pr</mi><mo>⁢</mo><mi mathvariant="italic">vDiff</mi><mo>=</mo><mo>=</mo><mo>-</mo><mi mathvariant="italic">ve</mi></mfenced><mo>&amp;</mo><mo>&amp;</mo><mfenced separators=""><mi mathvariant="italic">CurDiff</mi><mo>=</mo><mo>=</mo><mo>+</mo><mi mathvariant="italic">ve</mi></mfenced></mfenced></mtd></mtr><mtr><mtd><mo>+</mo><mn>1</mn><mo>,</mo><mi mathvariant="italic">if</mi><mo>⁢</mo><mfenced separators=""><mfenced separators=""><mi>Pr</mi><mo>⁢</mo><mi mathvariant="italic">vDiff</mi><mo>=</mo><mo>=</mo><mo>+</mo><mi mathvariant="italic">ve</mi></mfenced><mo>&amp;</mo><mo>&amp;</mo><mfenced separators=""><mi mathvariant="italic">CurDiff</mi><mo>=</mo><mo>=</mo><mo>-</mo><mi mathvariant="italic">ve</mi></mfenced></mfenced></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi mathvariant="italic">otherwise</mi></mtd></mtr></mtable></mrow></math><img id="ib0007" file="imgb0007.tif" wi="98" he="18" img-content="math" img-format="tif"/></maths></p>
<p id="p0047" num="0047">In other words, the FOASV parameter is determined to be 1 if two pairs of samples separated from each other by an intermediate sample involve a change in sign, and is zero otherwise.</p>
<p id="p0048" num="0048">In a frame containing N samples, the total number of high-frequency sample variations <i>(TotalHFVariations)</i> can be determined using the following relation: <maths id="math0008" num="(2)"><math display="block"><mi mathvariant="italic">TotalHFVariations</mi><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>2</mn></mrow></munderover></mstyle><mi mathvariant="italic">FOCSV</mi><mo>+</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>2</mn><mo>;</mo><mi>i</mi><mo>=</mo><mi>i</mi><mo>+</mo><mn>2</mn></mrow></munderover></mstyle><mi mathvariant="italic">FOASV</mi></math><img id="ib0008" file="imgb0008.tif" wi="104" he="11" img-content="math" img-format="tif"/></maths> where the terms FOCSV and FOASV are defined as above, and i is the sample number in each frame (which ranges from 0 to N-1). A frame can thereby be classified based on <i>TotalHFVariations</i> as being a horn or a non-horn frame. In practice, <i>TotalHFVariations</i> has been observed to be higher for frames having horn-like signals. A threshold <i>(Threshold<sub>HFV</sub>)</i> was determined experimentally considering a range of various signals. The following relationships can therefore be used to determine the presence of horn-like signals in each frame, based on this parameter:
<ul id="ul0007" list-style="none" compact="compact">
<li><i>TotalHFVariations &lt; Threshold<sub>HFV</sub> ,</i> for non-horn signals</li>
<li><i>TotalHFVariations ≥ Threshold<sub>HFV</sub></i> for horn signals.</li>
</ul></p>
<heading id="h0002"><u>Energy of difference between consecutive samples</u></heading>
<p id="p0049" num="0049">Horn-like signals also exhibit large amplitude differences between consecutive samples, which correspond to the signals having a high energy. The energy of the difference signal will therefore be comparatively higher for horn-like signals when compared to non-horn like signals. A term representing this energy can be based on a First Order Consecutive<!-- EPO <DP n="12"> --></p>
<p id="p0050" num="0050">Sample Difference (FOCSD) computed for various signal samples. This may be defined as follows: <maths id="math0009" num=""><math display="block"><mi mathvariant="italic">FOCSD</mi><mfenced open="[" close="]"><mi>i</mi></mfenced><mo>=</mo><mi>x</mi><mfenced open="[" close="]"><mi>i</mi></mfenced><mo>-</mo><mi>x</mi><mo>⁢</mo><mfenced open="[" close="]" separators=""><mi>i</mi><mo>-</mo><mn>1</mn></mfenced></math><img id="ib0009" file="imgb0009.tif" wi="43" he="6" img-content="math" img-format="tif"/></maths> <maths id="math0010" num=""><math display="block"><mi mathvariant="italic">FOCSDEnergy</mi><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>2</mn></mrow></munderover></mstyle><mi mathvariant="italic">FOCSD</mi><mfenced open="[" close="]"><mi>i</mi></mfenced><mo>*</mo><mi mathvariant="italic">FOCSD</mi><mfenced open="[" close="]"><mi>i</mi></mfenced></math><img id="ib0010" file="imgb0010.tif" wi="73" he="11" img-content="math" img-format="tif"/></maths></p>
<p id="p0051" num="0051">In other words, the FOCSD energy parameter for a frame is determined from a sum of the squares of the differences between consecutive samples.</p>
<p id="p0052" num="0052">It has been observed that this FOCSD Energy will be higher for frames having horn-like signals than for frames having non horn-like signals. The following relations can be used to classify frames with horn and non-horn content:
<ul id="ul0008" list-style="none">
<li><i>FOCSDEnergy &lt; Threshold <sub>Energy'</sub></i> for non-horn signals</li>
<li><i>FOCSDEnergy &gt; Threshold <sub>Energy'</sub></i> for horn signals.</li>
</ul></p>
<p id="p0053" num="0053">The threshold term, <i>Threshold <sub>Energy'</sub></i> was determined by analyzing the variations in FOCSDEnergy in relation to the actual signal energy for various signals.</p>
<heading id="h0003"><u>Instantaneous signal energy</u></heading>
<p id="p0054" num="0054">Horn signals are generally non-stationary, occurring for only short durations (typically less than 4 seconds and often less than 1 second). Considering frame processing using blocks of 10ms each, horn signals can therefore span up to 400 frames. Horn signals have a high energy content throughout their duration. This property can be used to discriminate horn signals from unvoiced speech signals that may also have significant high-frequency content. The following relations can be used to classify frames with horn and non-horn content:
<ul id="ul0009" list-style="none" compact="compact">
<li><i>InstantaneousBlockEnergy &lt; Threshold<sub>AvEnergy,</sub></i> for non-horn signals</li>
<li><i>InstantaneousBlockEnergy &gt; Threshold<sub>AvEnerg,</sub></i> for horn signals.</li>
</ul><!-- EPO <DP n="13"> --></p>
<p id="p0055" num="0055"><i>Threshold <sub>AvEnergy</sub></i> can be determined by analyzing the variations of <i>InstantaneousBlockEnergy</i> in relation to an average signal energy for various un-voiced signals and horn-like signals.</p>
<p id="p0056" num="0056">The presence of a horn sound in a signal block is preferably decided based on all of the above three criteria. A flow diagram illustrating the process of determining whether noise is present in an audio frame is shown in <figref idref="f0007">figure 8</figref>. The process repeats (i.e. between points marked 'A') by operating on consecutive frames until there are no more frames to analyse, when the process ends (step 812).</p>
<p id="p0057" num="0057">As a first step 801, a time domain narrowband audio signal is sampled at 8kHz, resulting in successive blocks each consisting of N samples. For each block (step 802), three different tests are carried out. A first test involves computing the <i>TotalHFVariations</i> parameter, as detailed above (step 803), and comparing this parameter with a first threshold value <i>Threshold<sub>HFv</sub></i> (step 804). If the threshold value is not exceeded, the horn detection flag for that block is set to false (step 805), and the process continues to the next block (step 806).</p>
<p id="p0058" num="0058">A second test involves computing the FOCDEnergy parameter, as detailed above (step 807), and comparing this parameter with a second threshold value <i>Threshold<sub>Energy</sub></i> (step 808). If the threshold value is not exceeded, the horn detection flag for that block is set to false (step 805), and the process continues to the next block (step 806).</p>
<p id="p0059" num="0059">A third test involves computing the <i>InstantaneousSignalEnergy</i> parameter, as detailed above (step 809), and comparing this parameter with a third threshold value <i>Threshold<sub>AVEnergy</sub></i> (step 810). If the threshold value is not exceeded, the horn detection flag for that block is set to false (step 805), and the process continues to the next block (step 806).</p>
<p id="p0060" num="0060">Only if all three of the above threshold tests are passed does the process proceed to setting the horn detection flag for that block to true (step 811).</p>
<p id="p0061" num="0061">Following detection of horn noise in each frame, each frame is subjected to a noise suppression process. Depending on whether horn noise was detected in a frame, and whether the noise suppression system<!-- EPO <DP n="14"> --> incorporates a conventional noise suppression process, the noise suppression process may i) leave the frame unchanged, ii) implement a conventional noise suppression process with no horn noise suppression, iii) implement horn noise suppression alone, or iv) implement both conventional noise suppression and horn noise suppression.</p>
<p id="p0062" num="0062">An exemplary noise detection and suppression system is illustrated in <figref idref="f0008">figure 9</figref>, in which a horn noise detection and suppression system is incorporated with a conventional speech-based noise suppression system. The characteristics of detected horn signals are incorporated into a modified gain vector to produce a modified magnitude spectrum that is adjusted to emphasise detected speech and to suppress any detected horn noises.</p>
<p id="p0063" num="0063">In a first step 901, an input signal <i>z(n)</i> is transformed into windowed FFT frames of size N, the value for N being chosen such that the signal can be considered to be stationary within each frame. A time domain input audio signal frame of N samples is thereby transformed into a frequency domain frame of N/2+1 samples. The magnitude spectrum <i>zampl(i)</i> (step 902) is then used in the computation of a gain vector, and the phase part of the frame is neglected.</p>
<p id="p0064" num="0064">In step 903, assuming horn noise has been identified in a preceding time domain test (as described above), spectral peaks present in the magnitude spectrum <i>zampl(i)</i> are identified, which are taken to represent the horn signal present. This results in one or more indices of spectral peaks from the magnitude spectral bin values, which are used in a secondary gain computation step (step 907). The level for identifying the peaks is determined by calculating an average spectrum <i>zampl<sub>avg</sub>,</i> given by the following equation: <maths id="math0011" num="(3)"><math display="block"><msub><mi mathvariant="italic">zampl</mi><mi mathvariant="italic">avg</mi></msub><mo>=</mo><mfrac><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>/</mo><mn>2</mn></mrow></munderover></mstyle><msub><mi mathvariant="italic">zampl</mi><mi>i</mi></msub></mrow><mfenced separators=""><mi>N</mi><mo>/</mo><mn>2</mn><mo>+</mo><mn>1</mn></mfenced></mfrac></math><img id="ib0011" file="imgb0011.tif" wi="87" he="13" img-content="math" img-format="tif"/></maths><br/>
and the resulting magnitude spectral bin values are compared to <i>zamp</i>/<i><sub>avg</sub></i> multiplied by a peak detection factor α , a decision is made on<!-- EPO <DP n="15"> --> whether to classify a particular sample from the magnitude spectrum as a peak value according to the following relationship: <maths id="math0012" num="(3a)"><math display="block"><mi mathvariant="italic">if</mi><mfenced separators=""><mi mathvariant="italic">zampl</mi><mfenced><mi>i</mi></mfenced><mo>≥</mo><mi>α</mi><mo>*</mo><msub><mi mathvariant="italic">zampl</mi><mi mathvariant="italic">avg</mi></msub></mfenced><mo>,</mo><mfenced open="{" close="}"><mi mathvariant="italic">i is detected as peak index</mi></mfenced></math><img id="ib0012" file="imgb0012.tif" wi="119" he="6" img-content="math" img-format="tif"/></maths></p>
<p id="p0065" num="0065">The spectral bin indices satisfying the above relationship are identified as spectral peak bin numbers. The spectral peak indices identified are stored and used later for the gain computation by modifying gain vector when a horn sound is detected.</p>
<p id="p0066" num="0066">The noise floor used by noise suppression system for each frame is calculated by the Noise Floor Update block 903. The Noise Floor Estimate (NFE) is calculated by searching minima of the spectral bins over multiple frames and a noise floor used for each frame, i.e. Current Noise Floor (CNF) is updated in this block. The outputs of this block 904 are <i>CNF(i)</i> and <i>NFE(i).</i> CNF is used in the subsequent gain calculation steps. An output from a speech detection block 905 is used by the Noise Floor Update block 904 for calculating NFE and CNF.</p>
<p id="p0067" num="0067">A gain computation block 906 receives <i>CNF(i,k), zampl(i,k)</i> and <i>Y<sub>N</sub></i> (gain factor) where i corresponds to a spectral bin number and k is the frame number. Computation of a gain, <i>Gain<sub>ss</sub>(i,k),</i> is given by the following relationship: <maths id="math0013" num="(4)"><math display="block"><msub><mi mathvariant="italic">Gain</mi><mi mathvariant="italic">ss</mi></msub><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced><mo>=</mo><mfrac><mrow><mi mathvariant="italic">zampl</mi><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced><mo>-</mo><msub><mi>Y</mi><mi>N</mi></msub><mn>.</mn><mi mathvariant="italic">CNF</mi><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced></mrow><mrow><mi mathvariant="italic">zampl</mi><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced></mrow></mfrac></math><img id="ib0013" file="imgb0013.tif" wi="98" he="11" img-content="math" img-format="tif"/></maths></p>
<p id="p0068" num="0068">In addition to the gain computation 906, a secondary gain computation block 907 is used to modify the gain computed in equation 4. In this block 907, a secondary gain vector is computed based on the previously defined horn noise detection information. The resulting secondary gain vector <i>Gain<sub>sec(</sub>i,k) is</i> of size (N/2+1) and all the values in this vector are initialized to 1. This initialized value ensures that the gain computed by the gain computation block 906 is used when no horn-like signals have been detected in the present frame. The secondary gain computation block 907 block takes the horn detection flag and bin<!-- EPO <DP n="16"> --> numbers calculated by the spectral peak detection block 903. The secondary gain <i>Gain<sub>sec(</sub>i,k)</i> is calculated using the following relationship <maths id="math0014" num="(5)"><math display="block"><msub><mi mathvariant="italic">Gain</mi><mi mathvariant="italic">sec</mi></msub><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced><mo>=</mo><mn>0</mn></math><img id="ib0014" file="imgb0014.tif" wi="78" he="5" img-content="math" img-format="tif"/></maths><br/>
where i is a spectral peak and corresponds to a frequency value of over 2000Hz. The secondary gain vector is used for modifying the gain calculated by the gain computation block 906, represented by combining block 908. All the elements of this vector are initialized to 1 in every frame before modification.</p>
<p id="p0069" num="0069">The resulting new gain vector, <i>Gain<sub>new</sub>(i,k),</i> that is then used for noise suppression is thereby computed using the following relationship: <maths id="math0015" num="(6)"><math display="block"><msub><mi mathvariant="italic">Gain</mi><mi mathvariant="italic">new</mi></msub><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced><mo>=</mo><msub><mi mathvariant="italic">Gain</mi><mi>sec</mi></msub><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced><mo>*</mo><msub><mi mathvariant="italic">Gain</mi><mi mathvariant="italic">ss</mi></msub><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced></math><img id="ib0015" file="imgb0015.tif" wi="98" he="5" img-content="math" img-format="tif"/></maths></p>
<p id="p0070" num="0070">This new gain vector is applied to the real FFT data (in block 909), resulting in a modified magnitude spectrum (block 910). The modified spectrum 910 is passed through an inverse FFT block 912, resulting in a noise-suppressed signal. An equivalent operation is possible in the time domain, for example by applying a notch filter where the desired frequency response of the filter corresponds to the gain vector, i.e. where one or more notches in the filter correspond to the one or more spectral peaks that represent the noise that is to be suppressed.</p>
<p id="p0071" num="0071">Illustrated in <figref idref="f0009">figure 10</figref> is a block diagram of a noise detection and suppression system 1000 in which a standalone horn suppression system is used, the main difference between this system and the system 900 in <figref idref="f0008">figure 9</figref> being that a speech detection part of the system is not used. As before, an input signal z(n) is windowed and transformed to the frequency domain (block 1001), resulting in a magnitude spectrum (block 1002). A gain computation block 1004 takes in the spectral bin numbers from a spectral peak detection block 1003, the spectral bin numbers corresponding to spectral peaks identified in the magnitude spectrum. All the elements of the gain vector are initialized to 1 every frame before modification. On horn detection, the gain computation block 1004 computes a gain vector <i>Gain (i, k)</i> using the following relationship:<!-- EPO <DP n="17"> --> <maths id="math0016" num="(7)"><math display="block"><mi mathvariant="italic">Gain</mi><mfenced separators=""><mi>i</mi><mo>⁢</mo><mi>k</mi></mfenced><mo>=</mo><mn>0</mn></math><img id="ib0016" file="imgb0016.tif" wi="77" he="5" img-content="math" img-format="tif"/></maths><br/>
where <i>i</i> is a spectral peak and corresponds to a frequency value of over 2000Hz.</p>
<p id="p0072" num="0072">This gain vector is then applied to the real FFT data (in combining block 1005), resulting in a modified magnitude spectrum (block 1006), to which the phase part 1007 is applied. The modified spectrum is passed through an inverse FFT block 1008 and a noise-suppressed signal is output.</p>
<p id="p0073" num="0073">Applications of embodiments of the invention described herein include speech enhancement devices used in communication/recording, audio enhancement during capture, editing and playback, and in audio scene analysis and steering of other processes such as noise adaptive audio or ringtone playback.</p>
<p id="p0074" num="0074">Other embodiments are also intentionally within the scope of the invention, which is defined by the following claims.</p>
</description>
<claims id="claims01" lang="en"><!-- EPO <DP n="18"> -->
<claim id="c-en-01-0001" num="0001">
<claim-text>A method of suppressing noise in an audio signal, the method comprising:
<claim-text>receiving an audio signal (801);</claim-text>
<claim-text>dividing the received audio signal into a series of sampled audio frames (802); and</claim-text>
<claim-text>for each of the sampled audio frames:
<claim-text>i) determining whether noise is present in the audio frame by detecting a noise pattern in the sampled audio frame having one or more spectral peaks in a high frequency region of the audio signal spectrum; and</claim-text>
<claim-text>ii) if noise is determined to be present in the audio frame (811), applying (908, 1005) a gain function to suppress the one or more spectral peaks in the sampled audio frame,</claim-text></claim-text>
<claim-text>wherein the step of determining whether noise is present in the audio frame comprises comparing (803,804,807,808,809,810) a measure of high frequency content in the audio frame to a threshold value by computing (803) a first number of consecutive samples of opposite sign and a second number of alternate samples of opposite sign, comparing (804) a sum of the first and second numbers to a first threshold value, and determining (811, 805) noise is present if the sum exceeds the first threshold value.</claim-text></claim-text></claim>
<claim id="c-en-01-0002" num="0002">
<claim-text>The method of claim 1 comprising, for each of the sampled audio frames:
<claim-text>transforming (901, 1001) the audio frame from the time domain into the frequency domain; and</claim-text>
<claim-text>converting (912, 1008) the resulting noise-suppressed audio frame back to the time domain,</claim-text>
<claim-text>wherein the gain function comprises a gain vector applied in the frequency domain.</claim-text><!-- EPO <DP n="19"> --></claim-text></claim>
<claim id="c-en-01-0003" num="0003">
<claim-text>The method of claim 1 wherein the step of comparing a measure of high frequency content in the audio frame to a threshold value comprises computing (807) a sum of differences between consecutive samples, comparing (808) the sum of differences to a second threshold value, and determining (811, 805) noise is present if the sum of differences exceeds the second threshold value</claim-text></claim>
<claim id="c-en-01-0004" num="0004">
<claim-text>The method of claims 1 or claim 3 wherein the step of comparing a measure of high frequency content in the audio frame to a threshold value comprises computing (809) a measure of energy in the audio frame, comparing (810) this measure of energy to a third threshold value, and determining (811, 805) noise is present if the measure of energy exceeds the third threshold value.</claim-text></claim>
<claim id="c-en-01-0005" num="0005">
<claim-text>The method of claim 1 wherein the step of comparing a measure of high frequency content in the audio frame to a threshold value comprises:
<claim-text>computing (807) a sum of differences between consecutive samples;</claim-text>
<claim-text>comparing (808) the sum of differences to a second threshold value;</claim-text>
<claim-text>computing (809) a measure of energy in the audio frame;</claim-text>
<claim-text>comparing (810) the measure of energy to a third threshold value; and</claim-text>
<claim-text>determining (811, 805) noise is present if the sum of the first and second numbers exceeds the first threshold value, the third sum of differences exceeds the second threshold value and the measure of energy exceeds the third threshold value.</claim-text></claim-text></claim>
<claim id="c-en-01-0006" num="0006">
<claim-text>The method of any preceding claim wherein the step of determining whether noise is present in the audio frame is carried out in the time domain.<!-- EPO <DP n="20"> --></claim-text></claim>
<claim id="c-en-01-0007" num="0007">
<claim-text>The method of claim 6 wherein detecting a noise pattern in the sampled audio frame comprises comparing frequencies of the spectrum of the audio frame with an average spectrum of the audio frame, a spectral peak being detected if a magnitude of a frequency exceeds the average spectrum by a preset factor.</claim-text></claim>
<claim id="c-en-01-0008" num="0008">
<claim-text>The method of claim any preceding claim wherein the high frequency region of the audio signal spectrum exceeds 2kHz.</claim-text></claim>
<claim id="c-en-01-0009" num="0009">
<claim-text>The method of claim 1 or claim 2 wherein the gain function comprises a combination of a first gain function configured to emphasise a speech signal in the audio frame and a second gain function configured to suppress noise detected in the audio frame.</claim-text></claim>
<claim id="c-en-01-0010" num="0010">
<claim-text>The method of any preceding claim wherein the noise signal has a harmonic structure.</claim-text></claim>
<claim id="c-en-01-0011" num="0011">
<claim-text>The method of claim 10 wherein the noise signal is a vehicle horn noise.</claim-text></claim>
<claim id="c-en-01-0012" num="0012">
<claim-text>A hand-portable radio communications device comprising a noise suppression module configured to perform the method of any one of claims 1 to 11.</claim-text></claim>
<claim id="c-en-01-0013" num="0013">
<claim-text>A computer program for causing a computer to perform the method of any one of claims 1 to 11.</claim-text></claim>
</claims>
<claims id="claims02" lang="de"><!-- EPO <DP n="21"> -->
<claim id="c-de-01-0001" num="0001">
<claim-text>Ein Verfahren zum Unterdrücken von Rauschen in einem Audiosignal, das Verfahren aufweisend:
<claim-text>Empfangen eines Audiosignales (801);</claim-text>
<claim-text>Teilen des empfangenen Audiosignales in eine Serie von abgetasteten Audioframes (802); und</claim-text>
<claim-text>für jeden der abgetasteten Audioframes:
<claim-text>i) Bestimmen, ob Rauschen in dem Audioframe vorhanden ist mittels Detektierens eines Rauschmusters in dem abgetasteten Audioframe, welcher einen oder mehr spektrale Peaks in einem Hochfrequenz Bereich des Audiosignalspektrums hat; und</claim-text>
<claim-text>ii) wenn bestimmt wurde, dass Rauschen in dem Audioframe (811) vorhanden ist, Anwenden (908, 1005) einer Verstärkungsfunktion, um den einen oder mehrere spektrale Peaks in dem abgetasteten Audioframe zu unterdrücken,</claim-text></claim-text>
<claim-text>wobei der Schritt des Bestimmens, ob Rauschen in dem Audioframe vorhanden ist, aufweist
<claim-text>Vergleichen (803, 804, 807, 808, 809, 810) einer Messgröße von Hochfrequenzinhalt in dem Audioframe mit einem Schwellenwert mittels Berechnens (803) einer ersten Anzahl von fortlaufenden Abtastwerten von entgegengesetztem Vorzeichen und einer zweiten Anzahl von alternierenden Abtastwerten von entgegengesetztem Vorzeichen,</claim-text>
<claim-text>Vergleichen (804) einer Summe der ersten und zweiten Anzahlen mit einem ersten Schwellenwert, und</claim-text>
<claim-text>Bestimmen (811, 805) von Rauschen, welches vorhanden ist, wenn die Summe den ersten Schwellenwert übersteigt.</claim-text></claim-text></claim-text></claim>
<claim id="c-de-01-0002" num="0002">
<claim-text>Das Verfahren gemäß Anspruch 1 aufweisend für jeden der abgetasteten Audioframes:<!-- EPO <DP n="22"> -->
<claim-text>Transformieren (901, 1001) des Audioframes aus dem Zeitbereich in den Frequenzbereich; und</claim-text>
<claim-text>Konvertieren (912, 1008) des resultierenden rauschunterdrückten Audioframes zurück in den Zeitbereich,</claim-text>
<claim-text>wobei die Verstärkungsfunktion einen Verstärkungsvektor, welcher in dem Frequenzbereich angewandt wird, aufweist.</claim-text></claim-text></claim>
<claim id="c-de-01-0003" num="0003">
<claim-text>Das Verfahren gemäß Anspruch 1, wobei der Schritt des Vergleichens einer Messgröße von Hochfrequenzinhalt in dem Audioframe mit einem Schwellenwert aufweist<br/>
Berechnen (807) einer Summe von Differenzen zwischen den fortlaufenden Abtastwerten,<br/>
Vergleichen (808) der Summe der Differenzen mit einem zweiten Schwellenwert, und Bestimmen (811,805) von Rauschen, welches vorhanden ist, wenn die Summe der Differenzen den zweiten Schwellenwert übersteigt.</claim-text></claim>
<claim id="c-de-01-0004" num="0004">
<claim-text>Das Verfahren gemäß Anspruch 1 oder 3, wobei der Schritt des Vergleichens einer Messgröße von Hochfrequenzinhalt in dem Audioframe mit einem Schwellenwert aufweist<br/>
Berechnen (809) einer Messgröße von Energie in dem Audioframe,<br/>
Vergleichen (810) dieser Messgröße von Energie mit einem drittem Schwellenwert, und<br/>
Bestimmen (811,805) von Rauschen, welches vorhanden ist, wenn die Messgröße der Energie den dritten Schwellenwert übersteigt.</claim-text></claim>
<claim id="c-de-01-0005" num="0005">
<claim-text>Verfahren gemäß Anspruch 1, wobei der Schritt des Vergleichens einer Messgröße von Hochfrequenzinhalt in dem Audioframe mit einem Schwellenwert aufweist:
<claim-text>Berechnen (807) einer Summe von Differenzen zwischen fortlaufenden Abtastwerten;</claim-text>
<claim-text>Vergleichen (808) der Summe von Differenzen mit einem zweiten Schwellenwert;</claim-text>
<claim-text>Berechnen (809) einer Messgröße von Energie in dem Audioframe;</claim-text>
<claim-text>Vergleichen (810) der Messgröße der Energie mit einem dritten Schwellenwert; und</claim-text>
<claim-text>Bestimmen (811,805) von Rauschen, welches vorhanden ist, wenn die Summe der ersten und zweiten Anzahlen den dritten Schwellenwert übersteigt, die dritte Summe der<!-- EPO <DP n="23"> --> Differenzen den zweiten Schwellenwert übersteigt und die Messgröße der Energie den dritten Schwellenwert übersteigt.</claim-text></claim-text></claim>
<claim id="c-de-01-0006" num="0006">
<claim-text>Das Verfahren gemäß einem der vorhergehenden Ansprüche, wobei der Schritt des Bestimmens, ob Rauschen in dem Audioframe vorhanden ist, in dem Zeitbereich ausgeführt wird.</claim-text></claim>
<claim id="c-de-01-0007" num="0007">
<claim-text>Das Verfahren gemäß Anspruch 6, wobei Detektieren eines Rauschmusters in dem abgetasteten Audioframe Vergleichen von Frequenzen des Spektrums des Audioframes mit einem mittlerem Spektrum des Audioframes aufweist, wobei ein spektraler Peak detektiert wird, wenn eine Magnitude von einer Frequenz das mittlere Spektrum mittels eines voreingestelltem Faktors übersteigt.</claim-text></claim>
<claim id="c-de-01-0008" num="0008">
<claim-text>Das Verfahren gemäß einem der vorhergehenden Ansprüche, wobei der Hochfrequenzbereich des Audiosignalspektrums 2 kHz übersteigt.</claim-text></claim>
<claim id="c-de-01-0009" num="0009">
<claim-text>Das Verfahren gemäß Anspruch 1 oder 2, wobei die Verstärkungsfunktion eine Kombination von einer ersten Verstärkungsfunktion, welche konfiguriert ist, um ein Sprachsignal in dem Audioframe hervorzuheben, und eine zweite Verstärkungsfunktion aufweist, welche konfiguriert ist Rauschen, detektiert in dem Audioframe, zu unterdrücken.</claim-text></claim>
<claim id="c-de-01-0010" num="0010">
<claim-text>Das Verfahren gemäß einem der vorhergehenden Ansprüche, wobei das Rauschsignal eine harmonische Struktur hat.</claim-text></claim>
<claim id="c-de-01-0011" num="0011">
<claim-text>Das Verfahren gemäß Anspruch 10, das Rauschsignal ein Fahrzeughupen Rauschen ist.</claim-text></claim>
<claim id="c-de-01-0012" num="0012">
<claim-text>Eine Hand tragbare Funkkommunikation Vorrichtung aufweisend ein Rauschunterdrückungsmodul, welches konfiguriert ist, das Verfahren gemäß einem der Ansprüche 1 bis 11 auszuführen.<!-- EPO <DP n="24"> --></claim-text></claim>
<claim id="c-de-01-0013" num="0013">
<claim-text>Ein Computerprogramm, welches einen Computer veranlasst das Verfahren gemäß einem der Ansprüche 1 bis 11 auszuführen.</claim-text></claim>
</claims>
<claims id="claims03" lang="fr"><!-- EPO <DP n="25"> -->
<claim id="c-fr-01-0001" num="0001">
<claim-text>Procédé de suppression du bruit dans un signal audio, le procédé consistant à:
<claim-text>recevoir un signal audio (801);</claim-text>
<claim-text>diviser le signal audio reçu en une série de trames audio échantillonnées (802); et</claim-text>
<claim-text>pour chacune des trames audio échantillonnées:
<claim-text>i) déterminer si du bruit est présent dans la trame audio en détectant un motif de bruit dans la trame audio échantillonnée, ayant un ou plusieurs pics spectraux dans une région à haute fréquence du spectre du signal audio; et</claim-text>
<claim-text>ii) s'il est déterminé que du bruit est présent dans la trame audio (811), appliquer (908, 1005) une fonction de gain afin de supprimer les un ou plusieurs pics spectraux dans la trame audio échantillonnée,</claim-text></claim-text>
<claim-text>dans lequel l'étape consistant à déterminer si du bruit est présent dans la trame audio consiste à comparer (803,804,807,808,809,810) une mesure de contenu à haute fréquence dans la trame audio à une valeur de seuil en calculant (803) un premier nombre d'échantillons consécutifs de signe opposé et un deuxième nombre d'échantillons alternés de signe opposé, à comparer (804) une somme des premier et deuxième nombres à une première valeur de seuil, et à déterminer (811, 805) que du bruit est présent si la somme dépasse la première valeur de seuil.</claim-text><!-- EPO <DP n="26"> --></claim-text></claim>
<claim id="c-fr-01-0002" num="0002">
<claim-text>Procédé selon la revendication 1 consistant, pour chacune des trames audio échantillonnées, à:
<claim-text>transformer (901, 1001) la trame audio du domaine temporel au domaine fréquentiel; et</claim-text>
<claim-text>reconvertir (912, 1008) la trame audio à bruit supprimé qui en résulte dans le domaine temporel, dans lequel la fonction de gain comprend un vecteur de gain appliqué dans le domaine fréquentiel.</claim-text></claim-text></claim>
<claim id="c-fr-01-0003" num="0003">
<claim-text>Procédé selon la revendication 1, dans lequel l'étape consistant à comparer une mesure de contenu à haute fréquence dans la trame audio à une valeur de seuil consiste à calculer (807) une somme de différences entre des échantillons consécutifs, à comparer (808) la somme de différences à une deuxième valeur de seuil, et à déterminer (811, 805) que du bruit est présent si la somme de différences dépasse la deuxième valeur de seuil.</claim-text></claim>
<claim id="c-fr-01-0004" num="0004">
<claim-text>Procédé la revendication selon 1 ou la revendication 3, dans lequel l'étape consistant à comparer une mesure de contenu à haute fréquence dans la trame audio à une valeur de seuil consiste à calculer (809) une mesure de l'énergie dans la trame audio, à comparer (810) cette mesure de l'énergie à une troisième valeur de seuil, et à déterminer (811, 805) que du bruit est présent si la mesure de l'énergie dépasse la troisième valeur de seuil.</claim-text></claim>
<claim id="c-fr-01-0005" num="0005">
<claim-text>Procédé selon la revendication 1, dans lequel l'étape consistant à comparer une mesure de contenu à haute fréquence dans la trame audio à une valeur de seuil consiste à:
<claim-text>calculer (807) une somme de différences entre des échantillons consécutifs;</claim-text>
<claim-text>comparer (808) la somme de différences à une deuxième valeur de seuil;</claim-text>
<claim-text>calculer (809) une mesure de l'énergie dans la trame audio;<!-- EPO <DP n="27"> --></claim-text>
<claim-text>comparer (810) la mesure de l'énergie à une troisième valeur de seuil; et</claim-text>
<claim-text>déterminer (811, 805) que du bruit est présent si la somme des premier et deuxième nombres dépasse la première valeur de seuil, si la troisième somme de différences dépasse la deuxième valeur de seuil et si la mesure de l'énergie dépasse la troisième valeur de seuil.</claim-text></claim-text></claim>
<claim id="c-fr-01-0006" num="0006">
<claim-text>Procédé selon l'une quelconque des revendications précédentes, dans lequel l'étape consistant à déterminer si du bruit est présent dans la trame audio est effectuée dans le domaine temporel.</claim-text></claim>
<claim id="c-fr-01-0007" num="0007">
<claim-text>Procédé selon la revendication 6, dans lequel la détection d'un motif de bruit dans la trame audio échantillonnée consiste à comparer des fréquences du spectre de la trame audio à un spectre moyen de la trame audio, un pic spectral étant détecté si un niveau d'une fréquence dépasse le spectre moyen d'un facteur prédéfini.</claim-text></claim>
<claim id="c-fr-01-0008" num="0008">
<claim-text>Procédé selon l'une quelconque des revendications précédentes, dans lequel la région à haute fréquence du spectre du signal audio dépasse 2 kHz.</claim-text></claim>
<claim id="c-fr-01-0009" num="0009">
<claim-text>Procédé selon la revendication 1 ou la revendication 2, dans lequel la fonction de gain comprend une combinaison d'une première fonction de gain configurée pour accentuer un signal vocal dans la trame audio et d'une deuxième fonction de gain configurée pour supprimer du bruit détecté dans la trame audio.</claim-text></claim>
<claim id="c-fr-01-0010" num="0010">
<claim-text>Procédé selon l'une quelconque des revendications précédentes, dans lequel le signal de bruit présente une structure harmonique.<!-- EPO <DP n="28"> --></claim-text></claim>
<claim id="c-fr-01-0011" num="0011">
<claim-text>Procédé selon la revendication 10, dans lequel le signal de bruit est un bruit de klaxon de véhicule.</claim-text></claim>
<claim id="c-fr-01-0012" num="0012">
<claim-text>Dispositif de radiocommunication portatif comprenant un module de suppression du bruit configuré pour mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 11.</claim-text></claim>
<claim id="c-fr-01-0013" num="0013">
<claim-text>Programme d'ordinateur destiné à amener un ordinateur à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 11.</claim-text></claim>
</claims>
<drawings id="draw" lang="en"><!-- EPO <DP n="29"> -->
<figure id="f0001" num="1,2"><img id="if0001" file="imgf0001.tif" wi="159" he="214" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="30"> -->
<figure id="f0002" num="3"><img id="if0002" file="imgf0002.tif" wi="163" he="143" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="31"> -->
<figure id="f0003" num="4a,4b"><img id="if0003" file="imgf0003.tif" wi="165" he="213" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="32"> -->
<figure id="f0004" num="5a,5b"><img id="if0004" file="imgf0004.tif" wi="165" he="210" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="33"> -->
<figure id="f0005" num="6a,6b"><img id="if0005" file="imgf0005.tif" wi="165" he="205" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="34"> -->
<figure id="f0006" num="7a,7b"><img id="if0006" file="imgf0006.tif" wi="165" he="214" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="35"> -->
<figure id="f0007" num="8"><img id="if0007" file="imgf0007.tif" wi="165" he="212" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="36"> -->
<figure id="f0008" num="9"><img id="if0008" file="imgf0008.tif" wi="163" he="231" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="37"> -->
<figure id="f0009" num="10"><img id="if0009" file="imgf0009.tif" wi="162" he="204" img-content="drawing" img-format="tif"/></figure>
</drawings>
<ep-reference-list id="ref-list">
<heading id="ref-h0001"><b>REFERENCES CITED IN THE DESCRIPTION</b></heading>
<p id="ref-p0001" num=""><i>This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.</i></p>
<heading id="ref-h0002"><b>Patent documents cited in the description</b></heading>
<p id="ref-p0002" num="">
<ul id="ref-ul0001" list-style="bullet">
<li><patcit id="ref-pcit0001" dnum="US20060200344A"><document-id><country>US</country><doc-number>20060200344</doc-number><kind>A</kind></document-id></patcit><crossref idref="pcit0001">[0013]</crossref></li>
<li><patcit id="ref-pcit0002" dnum="US20070192102A"><document-id><country>US</country><doc-number>20070192102</doc-number><kind>A</kind></document-id></patcit><crossref idref="pcit0002">[0014]</crossref></li>
</ul></p>
<heading id="ref-h0003"><b>Non-patent literature cited in the description</b></heading>
<p id="ref-p0003" num="">
<ul id="ref-ul0002" list-style="bullet">
<li><nplcit id="ref-ncit0001" npl-type="s"><article><author><name>R. MARTIN</name></author><atl>Spectral Subtraction Based on Minimum Statistics</atl><serial><sertitle>Signal Processing VII: Theories and Application</sertitle><pubdate><sdate>19940000</sdate><edate/></pubdate></serial><location><pp><ppf>1182</ppf><ppl>1185</ppl></pp></location></article></nplcit><crossref idref="ncit0001">[0008]</crossref></li>
<li><nplcit id="ref-ncit0002" npl-type="s"><article><author><name>M. SZCZERBA</name></author><author><name>A. CZYZEWSKI</name></author><atl>Pitch Detection Enhancement Employing Music Prediction</atl><serial><sertitle>Journal of Intelligent Information Systems</sertitle><pubdate><sdate>20050000</sdate><edate/></pubdate><vid>24</vid><ino>2/3</ino></serial><location><pp><ppf>223</ppf><ppl>251</ppl></pp></location></article></nplcit><crossref idref="ncit0002">[0015]</crossref></li>
</ul></p>
</ep-reference-list>
</ep-patent-document>
