Method and apparatus for selecting an encoding rate in a variable rate vocoder
Abstract
An apparatus for selecting an encoding rate for an input signal (S(n)), comprising: an audio signal detection device for determining whether an audio signal is present in each frequency subband of the input signal (S(n)); and an encoding rate selection device for selecting the encoding rate for the input signal (S(n)) in accordance with the determination as to whether an audio signal is present in each frequency subband of the input signal (S(n)).

Term
Term ended
Projected expiry passed 1 August 2015, 11.1 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
32 claims: 4 independent, 28 dependent
- 1An apparatus for determining an encoding rate for a variable rate vocoder comprising:subband energy computation means for receiving an input signal and determining a plurality of subband energy values in accordance with a predetermined subband energy computation format;rate determination means for receiving said plurality of subband energy values and determining said encoding rate in accordance with said plurality of subband energy values.
- 2The apparatus of Claim 1 wherein said subband energy computation means determines each of said plurality of subband energy values in accordance with the equation:where L is the number taps in a bandpass filter hbp(n), where Rs(i) is the autocorrelation function of the input signal, S(n), and where Rhbp is the autocorrelation function of the bandpass filter hbp(n).
- 3The apparatus of Claim 1 further comprising threshold computation means disposed between said subband energy computation means and said rate determination means for receiving said subband energy values and for determining a set of encoding rate threshold values in accordance with plurality of subband energy values.
- 4The apparatus of Claim 3 wherein said threshold computation means determines a signal to noise ratio value in accordance with said plurality of subband energy values.
- 5The apparatus of Claim 4 wherein said threshold computation means determines a scaling value in accordance with said signal to noise ratio value.
- 6The apparatus of Claim 5 wherein threshold computation means determines at least one threshold value by multiplying a background noise estimate by said scaling value.
- 7The apparatus of Claim 1 wherein said rate determination compares at least one of said plurality of subband energy values with at least one threshold value to determine said encoding rate.
- 8The apparatus of Claim 6 wherein said rate determination means compares at least one of said plurality of subband energy values with said at least one threshold value to determine said encoding rate.
- 9The apparatus of Claim 1 wherein said rate determination means determines a plurality of suggested encoding rates wherein each suggested encoding rate corresponds to each of said plurality of subband energy values and wherein said rate determination means determines said encoding rate in accordance with said plurality of suggested encoding rates.
- 10An apparatus for determining an encoding rate for a variable rate vocoder comprising:a subband energy calculator that receives an input signal and determines a plurality of subband energy values in accordance with a predetermined subband energy computation format;a rate selector that receives said plurality of subband energy values and selects said encoding rate in accordance with said plurality of subband energy values.
- 11The apparatus of Claim 10 wherein said subband energy calculator determines each of said plurality of subband energy values in accordance with the equation:where L is the number taps in a bandpass filter hbp(n), where RS(i) is the autocorrelation function of the input signal, S(n), and where Rhbp is the autocorrelation function of the bandpass filter hbp(n).
- 12The apparatus of Claim 10 further comprising threshold calculator disposed between said subband energy calculator and said rate selector that receives said subband energy values and determines a set of encoding rate threshold values in accordance with plurality of subband energy values.
- 13The apparatus of Claim 12 wherein said threshold calculator determines a signal to noise ratio value in accordance with said plurality of subband energy values.
- 14The apparatus of Claim 13 wherein said threshold calculator determines a scaling value in accordance with said signal to noise ratio value.
- 15The apparatus of Claim 14 wherein threshold calculator determines at least one threshold value by multiplying a background noise estimate by said scaling value.
- 16The apparatus of Claim 10 wherein said rate selector compares at least one of said plurality of subband energy values with at least one threshold value to determine said encoding rate.
- 17The apparatus of Claim 15 wherein said rate selector compares at least one of said plurality of subband energy values with said at least one threshold value to determine said encoding rate.
- 18The apparatus of Claim 10 wherein said rate selector determines a plurality of suggested encoding rates wherein each suggested encoding rate corresponds to each of said plurality of subband energy values and wherein said rate selector determines said encoding rate in accordance with said plurality of suggested encoding rates.
- 19A method for determining an encoding rate for a variable rate vocoder comprising the steps of:receiving an input signal;determining a plurality of subband energy values in accordance with a predetermined subband energy computation format;and determining said encoding rate in accordance with said plurality of subband energy values.
- 20The method of Claim 19 wherein said step of determining a plurality of subband energy values is performed in accordance with the equation:where L is the number taps in a bandpass filter hbp(n), where Rs(i) is the autocorrelation function of the input signal, S(n), and where Rhbp is the autocorrelation function of the bandpass filter hbp(n).
- 21The method of Claim 19 further comprising the step of determining a set of encoding rate threshold values in accordance with plurality of subband energy values.
- 22The method of Claim 21 wherein said step of determining a set of encoding rate threshold values determines a signal to noise ratio value in accordance with said plurality of subband energy values.
- 23The method of Claim 22 wherein said step of determining a set of encoding rate threshold values determines a scaling value in accordance with said signal to noise ratio value.
- 24The method of Claim 23 wherein said step of determining a set of encoding rate threshold values determines said rate threshold value by multiplying a background noise estimate by said scaling value.
- 25The method of Claim 19 wherein said determining said encoding rate compares at least one of said plurality of subband energy values with at least one threshold value to determine said encoding rate.
- 26The method of Claim 24 wherein said step of said determining said encoding rate compares at least one of said plurality of subband energy values with said at least one threshold value to determine said encoding rate.
- 27The method of Claim 19 further comprising the step of generating a suggested encoding rate in accordance with each of said plurality of subband energy values and wherein said step of determining an encoding rate selects one of said suggested encoding rates.
- 28A system for selecting an encoding rate for an input signal, comprising:a subband filter subsystem for determining a signal energy for each frequency subband of the input signal;and a rate selection subsystem for selecting the encoding rate of the input signal based upon the signal energies of each frequency subband of the input signal.
- 29The system of Claim 28, wherein the subband filter subsystem comprises a plurality of subband energy computation elements, and each of the plurality of subband energy computation elements is for determining a frequency subband signal energy.
- 30The system of Claim 29 ,wherein the rate selection subsystem comprises a plurality of threshold adaptation elements, and each of the plurality of threshold adaptation elements is for using the frequency subband signal energy from a corresponding subband energy computation element to determine whether an audio signal is present in the frequency subband.
- 31The system of Claim 30, wherein each threshold adaptation element is configured to determine a threshold value based on the signal energy and a noise estimate of the corresponding frequency subband, wherein the threshold value is used to determine whether the audio signal is present in the frequency subband.
- 32The system of Claim 30, wherein the plurality of threshold adaptation elements are configured to determine a threshold value based upon the combined signal energies of the frequency subbands of the input signal, wherein the threshold value is used to determine whether the audio signal is present in the frequency subband.
Independent claims32
35 paragraphs in 5 sections, as filed
BACKGROUND OF THE INVENTION
I. Field of the Invention
0001The present invention relates to vocoders. More particularly, the present invention relates to a novel and improved method for determining speech encoding rate in a variable rate vocoder.
II. Description of the Related Art
0002Variable rate speech compression systems typically use some form of rate determination algorithm before encoding begins. The rate determination algorithm assigns a higher bit rate encoding scheme to segments of the audio signal in which speech is present and a lower rate encoding scheme for silent segments. In this way a lower average bit rate will be achieved while the voice quality of the reconstructed speech will remain high. Thus to operate efficiently a variable rate speech coder requires a robust rate determination algorithm that can distinguish speech from silence in a variety of background noise environments.
0003One such variable rate speech compression system or variable rate vocoder is disclosed in copending U.S. Patent Application Serial No. 07/713,661 filed June 11, 1991, entitled "Variable Rate Vocoder" and assigned to the assignee of the present invention, the disclosure of which is incorporated by reference. In this particular implementation of a variable rate vocoder, input speech is encoded using Code Excited Linear Predictive Coding (CELP) techniques at one of several rates as determined by the level of speech activity. The level of speech activity is determined from the energy in the input audio samples which may contain background noise in addition to voiced speech. In order for the vocoder to provide high quality voice encoding over varying levels of background noise, an adaptively adjusting threshold technique is required to compensate for the affect of background noise on the rate decision algorithm.
0004Vocoders are typically used in communication devices such as cellular telephones or personal communication devices to provide digital signal compression of an analog audio signal that is converted to digital form for transmission. In a mobile environment in which a cellular telephone or personal communication device may be used, high levels of background noise energy make it difficult for the rate determination algorithm to distinguish low energy unvoiced sounds from background noise silence using a signal energy based rate determination algorithm. Thus unvoiced sounds frequently get encoded at lower bit rates and the voice quality becomes degraded as consonants such as "s","x","ch","sh","t", etc. are lost in the reconstructed speech.
0005Vocoders that base rate decisions solely on the energy of background noise fail to take into account the signal strength relative to the background noise in setting threshold values. A vocoder that bases its threshold levels solely on background noise tends to compress the threshold levels together when the background noise rises. If the signal level were to remain fixed this is the correct approach to setting the threshold levels, however, were the signal level to rise with the background noise level, then compressing the threshold levels is not an optimal solution. An alternative method for setting threshold levels that takes into account signal strength is needed in variable rate vocoders.
0006A final problem that remains arises during the playing of music through background noise energy based rate decision vocoders. When people speak, they must pause to breathe which allows the threshold levels to reset to the proper background noise level. However, in transmission of music through a vocoder, such as arises in music-on-hold conditions, no pauses occur and the threshold levels will continue rising until the music starts to be coded at a rate less than full rate. In such a condition the variable rate coder has confused music with background noise.
SUMMARY OF THE INVENTION
0007The present invention is a novel and improved method and apparatus for determining an encoding rate in a variable rate vocoder. It is a first objective of the present invention to provide a method by which to reduce the probability of coding low energy unvoiced speech as background noise. In the present invention, the input signal is filtered into a high frequency component and a low frequency component. The filtered components of the input signal are then individually analyzed to detect the presence of speech. Because unvoiced speech has a high frequency component its strength relative to a high frequency band is more distinct from the background noise in that band than it is compared to the background noise over the entire frequency band.
0008A second objective of the present invention is to provide a means by which to set the threshold levels that takes into account signal energy as well as background noise energy. In the present invention, the setting of voice detection thresholds is based upon an estimate of the signal to noise ratio (SNR) of the input signal. In the exemplary embodiment, the signal energy is estimated as the maximum signal energy during times of active speech and the background noise energy is estimated as the minimum signal energy during times of silence.
0009A third objective of the present invention is to provide a method for coding music passing through a variable rate vocoder. In the exemplary embodiment, the rate selection apparatus detects a number of consecutive frames over which the threshold levels have risen and checks for periodicity over that number of frames. If the input signal is periodic this would indicate the presence of music. If the presence of music is detected then the thresholds are set at levels such that the signal is coded at full rate.
BRIEF DESCRIPTION OF THE DRAWINGS
0010The features, objects, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein: <ul id="ul0001" list-style="none" compact="compact"><li>Figure 1 is a block diagram of the present invention.</li></ul>
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
0011Referring to Figure 1 the input signal, S(n), is provided to subband energy computation element 4 and subband energy computation element 6. The input signal S(n) is comprised of an audio signal and background noise. The audio signal is typically speech, but it may also be music. In the exemplary embodiment, S(n) is provided in twenty millisecond frames of 160 samples each. In the exemplary embodiment, input signal S(n) has frequency components from 0 kHz to 4 kHz, which is approximately the bandwidth of a human speech signal.
0012In the exemplary embodiment, the 4 kHz input signal, S(n), is filtered into two separate subbands. The two separate subbands lie between 0 and 2 kHz and 2 kHz and 4 kHz respectively. In an exemplary embodiment, the input signal may be divided into subbands by subband filters, the design of which are well known in the art and detailed in U.S. Patent Application Serial No. 08/189,819 filed February 1, 1994, entitled "Frequency Selective Adaptive Filtering", and assigned to the assignee of the present invention, incorporated by reference herein.
0013The impulse responses of the subband filters are denoted h<sub>L</sub>(n), for the lowpass filter, and h<sub>H</sub>(n), for the highpass filter. The energy of the resulting subband components of the signal can be computed to give the values R<sub>L</sub>(0) and R<sub>H</sub>(0), simply by summing the squares of the subband filter output samples, as is well known in the art.
0014In a preferred embodiment, when input signal S(n) is provided to subband energy computation element 4, the energy value of the low frequency component of the input frame, R<sub>L</sub>(0), is computed as:<maths id="math0001"><img file="EP1530201A2_D0001.tif" /></maths> where L is the number taps in the lowpass filter with impulse response h<sub>L</sub>(n), where R<sub>S</sub>(i) is the autocorrelation function of the input signal, S(n), given by the equation:<maths id="math0002"><img file="EP1530201A2_D0002.tif" /></maths> where N is the number of samples in the frame, and where R<sub>hL</sub> is the autocorrelation function of the lowpass filter h<sub>L</sub>(n) given by:<maths id="math0003"><img file="EP1530201A2_D0003.tif" /></maths> The high frequency energy, R<sub>H</sub>(0), is computed in a similar fashion in subband energy computation element 6.
0015The values of the autocorrelation function of the subband filters can be computed ahead of time to reduce the computational load. In addition, some of the computed values of R<sub>S</sub>(i) are used in other computations in the coding of the input signal, S(n), which further reduces the net computational burden of the encoding rate selection method of the present invention. For example, the derivation of LPC filter tap values requires the computation of a set of input signal autocorrelation coefficients.
0016The computation of LPC filter tap values is well known in the art and is detailed in the abovementioned U.S. Patent Application 08/004,484. If one were to code the speech with a method requiring a ten tap LPC filter only the values of R<sub>S</sub>(i) for i values from 11 to L-1 need to be computed, in addition to those that are used in the coding of the signal, because R<sub>S</sub>(i) for i values from 0 to 10 are used in computing the LPC filter tap values. In the exemplary embodiment, the subband filters have 17 taps, L=17.
0017Subband energy computation element 4 provides the computed value of R<sub>L</sub>(0) to subband rate decision element 12, and subband energy computation element 6 provides the computed value of R<sub>H</sub>(0) to subband rate decision element 14. Rate decision element 12 compares the value of R<sub>L</sub>(0) against two predetermined threshold values T<sub>L1/2</sub> and T<sub>Lfull</sub> and assigns a suggested encoding rate, RATE<sub>L</sub>, in accordance with the comparison. The rate assignment is conducted as follows:<maths id="math0004" num="(4)"><math display="block"><mrow><msub><mrow><mtext>RATE</mtext></mrow><mrow><mtext>L</mtext></mrow></msub><msub><mrow><mtext> = eighth rate R</mtext></mrow><mrow><mtext>L</mtext></mrow></msub><msub><mrow><mtext>(0) ≦ T</mtext></mrow><mrow><mtext>L1/2</mtext></mrow></msub></mrow></math><img file="EP1530201A2_D0004.tif" /></maths><maths id="math0005" num="(5)"><math display="block"><mrow><msub><mrow><mtext>RATE</mtext></mrow><mrow><mtext>L</mtext></mrow></msub><msub><mrow><mtext> = half rate T</mtext></mrow><mrow><mtext>L1/2</mtext></mrow></msub><msub><mrow><mtext> < R</mtext></mrow><mrow><mtext>L</mtext></mrow></msub><msub><mrow><mtext>(0) T</mtext></mrow><mrow><mtext>Lfull</mtext></mrow></msub></mrow></math><img file="EP1530201A2_D0005.tif" /></maths><maths id="math0006" num="(6)"><math display="block"><mrow><msub><mrow><mtext>RATE</mtext></mrow><mrow><mtext>L</mtext></mrow></msub><msub><mrow><mtext> = full rate R</mtext></mrow><mrow><mtext>L</mtext></mrow></msub><msub><mrow><mtext>(0) > T</mtext></mrow><mrow><mtext>Lfull</mtext></mrow></msub></mrow></math><img file="EP1530201A2_D0006.tif" /></maths> Subband rate decision element 14 operates in a similar fashion and selects a suggest encoding rate, RATE<sub>H</sub>, in accordance with the high frequency energy value R<sub>H</sub>(0) and based upon a different set of threshold values T<sub>H1 / 2</sub> and T<sub>Hfull</sub>. Subband rate decision element 12 provides its suggested encoding rate, RATE<sub>L</sub>, to encoding rate selection element 16, and subband rate decision element 14 provides its suggested encoding rate, RATE<sub>H</sub>, to encoding rate selection element 16. In the exemplary embodiment, encoding rate selection element 16 selects the higher of the two suggest rates and provides the higher rate as the selected ENCODING RATE.
0018Subband energy computation element 4 also provides the low frequency energy value, R<sub>L</sub>(0), to threshold adaptation element 8, where the threshold values T<sub>L1/2</sub> and T<sub>Lfull</sub> for the next input frame are computed. Similarly, subband energy computation element 6 provides the high frequency energy value, R<sub>H</sub>(0), to threshold adaptation element 10, where the threshold values T<sub>H1/2</sub> and T<sub>Hfull</sub> for the next input frame are computed.
0019Threshold adaptation element 8 receives the low frequency energy value, R<sub>L</sub>(0), and determines whether S(n) contains background noise or audio signal. In an exemplary implementation, the method by which threshold adaptation element 8 determines if an audio signal is present is by examining the normalized autocorrelation function NACF, which is given by the equation:<maths id="math0007"><img file="EP1530201A2_D0007.tif" /></maths> where e(n) is the formant residual signal that results from filtering the input signal, S(n), by an LPC filter. The design of and filtering of a signal by an LPC filter is well known in the art and is detailed in aforementioned U.S. Patent Application 08/004,484. The input signal, S(n) is filtered by the LPC filter to remove interaction of the formants. NACF is compared against a threshold value to determine if an audio signal is present. If NACF is greater than a predetermined threshold value, it indicates that the input frame has a periodic characteristic indicative of the presence of an audio signal such as speech or music. Note that while parts of speech and music are not periodic and will exhibit low values of NACF, background noise typically never displays any periodicity and nearly always exhibits low values of NACF.
0020If it is determined that S(n) contains background noise, the value of NACF is less than a threshold value TH1, then the value R<sub>L</sub>(0) is used to update the value of the current background noise estimate BGN<sub>L</sub>. In the exemplary embodiment, TH1 is 0.35. RL(0) is compared against the current value of background noise estimate BGN<sub>L</sub>. If R<sub>L</sub>(0) is less than BGN<sub>L</sub>, then the background noise estimate BGN<sub>L</sub> is set equal to R<sub>L</sub>(0) regardless of the value of NACF.
0021The background noise estimate BGN<sub>L</sub> is only increased when NACF is less than threshold value TH1. If R<sub>L</sub>(0) is greater than BGN<sub>L</sub> and NACF is less than TH1, then the background noise energy BGN<sub>L</sub> is set α<sub>1</sub>·BGN<sub>L</sub>, where α<sub>1</sub> is a number greater than 1. In the exemplary embodiment, α<sub>1</sub> is equal to 1.03. BGN<sub>L</sub> will continue to increase as long as NACF is less than threshold value TH1 and R<sub>L</sub>(0) is greater than the current value of BGN<sub>L</sub>, until BGN<sub>L</sub> reaches a predetermined maximum value BGN<sub>max</sub> at which point the background noise estimate BGN<sub>L</sub> is set to BGN<sub>max</sub>.
0022If an audio signal is detected, signified by the value of NACF exceeding a second threshold value TH2, then the signal energy estimate, S<sub>L</sub>, is updated. In the exemplary embodiment, TH2 is set to 0.5. The value of R<sub>L</sub>(0) is compared against a current lowpass signal energy estimate, S<sub>L</sub>. If R<sub>L</sub>(0) is greater than the current value of S<sub>L</sub>, then S<sub>L</sub> is set equal to R<sub>L</sub>(0). If R<sub>L</sub>(0) is less than the current value of S<sub>L</sub>, then S<sub>L</sub> is set equal to α<sub>2</sub>·S<sub>L</sub>, again only if NACF is greater than TH2. In the exemplary embodiment, α<sub>2</sub> is set to 0.96.
0023Threshold adaptation element 8 then computes a signal to noise ratio estimate in accordance with equation 8 below:<maths id="math0008"><img file="EP1530201A2_D0008.tif" /></maths> Threshold adaptation element 8 then determines an index of the quantized signal to noise ratio I<sub>SNRL</sub> in accordance with equation 9-12 below:<maths id="math0009"><img file="EP1530201A2_D0009.tif" /></maths><maths id="math0010"><img file="EP1530201A2_D0010.tif" /></maths> where nint is a function that rounds the fractional value to the nearest integer.
0024Threshold adaptation element 8, then selects or computes two scaling factors, k<sub>L1/2</sub> and k<sub>Lfull</sub>, in accordance with the signal to noise ratio index, I<sub>SNRL</sub>. An exemplary scaling value lookup table is provided in table 1 below: <tables id="tabl0001" num="0001"><table frame="all"><title>TABLE 1</title><tgroup cols="3" colsep="1" rowsep="0"><colspec colnum="1" colname="col1" colwidth="52.50mm" /><colspec colnum="2" colname="col2" colwidth="52.50mm" /><colspec colnum="3" colname="col3" colwidth="52.50mm" /><thead valign="top"><row rowsep="1"><entry namest="col1" nameend="col1" align="center">I<sub>SNRL</sub></entry><entry namest="col2" nameend="col2" align="center">K<sub>L1/2</sub></entry><entry namest="col3" nameend="col3" align="center">K<sub>Lfull</sub></entry></row></thead><tbody valign="top"><row><entry namest="col1" nameend="col1" align="center">0</entry><entry namest="col2" nameend="col2" align="char" char=".">7.0</entry><entry namest="col3" nameend="col3" align="char" char=".">9.0</entry></row><row><entry namest="col1" nameend="col1" align="center">1</entry><entry namest="col2" nameend="col2" align="char" char=".">7.0</entry><entry namest="col3" nameend="col3" align="char" char=".">12.6</entry></row><row><entry namest="col1" nameend="col1" align="center">2</entry><entry namest="col2" nameend="col2" align="char" char=".">8.0</entry><entry namest="col3" nameend="col3" align="char" char=".">17.0</entry></row><row><entry namest="col1" nameend="col1" align="center">3</entry><entry namest="col2" nameend="col2" align="char" char=".">8.6</entry><entry namest="col3" nameend="col3" align="char" char=".">18.5</entry></row><row><entry namest="col1" nameend="col1" align="center">4</entry><entry namest="col2" nameend="col2" align="char" char=".">8.9</entry><entry namest="col3" nameend="col3" align="char" char=".">19.4</entry></row><row><entry namest="col1" nameend="col1" align="center">5</entry><entry namest="col2" nameend="col2" align="char" char=".">9.4</entry><entry namest="col3" nameend="col3" align="char" char=".">20.9</entry></row><row><entry namest="col1" nameend="col1" align="center">6</entry><entry namest="col2" nameend="col2" align="char" char=".">11.0</entry><entry namest="col3" nameend="col3" align="char" char=".">25.5</entry></row><row rowsep="1"><entry namest="col1" nameend="col1" align="center">7</entry><entry namest="col2" nameend="col2" align="char" char=".">15.8</entry><entry namest="col3" nameend="col3" align="char" char=".">39.8</entry></row></tbody></tgroup></table></tables> These two values are used to compute the threshold values for rate selection in accordance with the equations below:<maths id="math0011" num="(11)"><math display="block"><mrow><msub><mrow><mtext>T</mtext></mrow><mrow><mtext>L1/2</mtext></mrow></msub><msub><mrow><mtext> = K</mtext></mrow><mrow><mtext>L1/2</mtext></mrow></msub><msub><mrow><mtext>•BGN</mtext></mrow><mrow><mtext>L</mtext></mrow></msub><mtext>,</mtext></mrow></math><img file="EP1530201A2_D0011.tif" /></maths> and<maths id="math0012" num="(12)"><math display="block"><mrow><msub><mrow><mtext>T</mtext></mrow><mrow><mtext>Lfull</mtext></mrow></msub><msub><mrow><mtext> = K</mtext></mrow><mrow><mtext>Lfull</mtext></mrow></msub><msub><mrow><mtext>•BGN</mtext></mrow><mrow><mtext>L</mtext></mrow></msub><mtext>,</mtext></mrow></math><img file="EP1530201A2_D0012.tif" /></maths> where T<sub>L1/2</sub> is low frequency half rate threshold value and T<sub>Lfull</sub> is the low frequency full rate threshold value. Threshold adaptation element 8 provides the adapted threshold values T<sub>L1/2</sub> and T<sub>Lfull</sub> to rate decision element 12. Threshold adaptation element 10 operates in a similar fashion and provides the threshold values T<sub>H1/2</sub> and T<sub>Hfull</sub> to subband rate decision element 14.
0025The initial value of the audio signal energy estimate S, where S can be S<sub>L</sub> or S<sub>H</sub>, is set as follows. The initial signal energy estimate, S<sub>INIT</sub>, is set to -18.0 dBm0 where 3.17 dBm0 denotes the signal strength of a full sine wave, which in the exemplary embodiment is a digital sine wave with an amplitude range from -8031 to 8031. S<sub>INIT</sub> is used until it is determined that an acoustic signal is present.
0026The method by which an acoustic signal is initially detected is to compare the NACF value against a threshold, when the NACF exceeds the threshold for a predetermined number consecutive frames, then an acoustic signal is determined to be present. In the exemplary embodiment, NACF must exceed the threshold for ten consecutive frames. After this condition is met the signal energy estimate, S, is set to the maximum signal energy in the preceding ten frames.
0027The initial value of the background noise estimate BGN<sub>L</sub> is initially set to BGN<sub>max</sub>. As soon as a subband frame energy is received that is less than BGN<sub>max</sub>, the background noise estimate is reset to the value of the received subband energy level, and generation of the background noise BGN<sub>L</sub> estimate proceeds as described earlier.
0028In a preferred embodiment a hangover condition is actuated when following a series of full rate speech frames, a frame of a lower rate is detected. In the exemplary embodiment, when four consecutive speech frames are encoded at full rate followed by a frame where ENCODING RATE is set to a rate less than full rate and the computed signal to noise ratios are less than a predetermined minimum SNR, the ENCODING RATE for that frame is set to full rate. In the exemplary embodiment the predetermined minimum SNR is 27.5 dBas defined in equation 8.
0029In the preferred embodiment, the number of hangover frames is a function of the signal to noise ratio. In the exemplary embodiment, the number of hangover frames is determined as follows:<maths id="math0013" num="(13)"><math display="block"><mrow><mtext>#hangover frames = 1 22.5 < SNR < 27.5,</mtext></mrow></math><img file="EP1530201A2_D0013.tif" /></maths><maths id="math0014" num="(14)"><math display="block"><mrow><mtext>#hangover frames = 2 SNR ≤ 22.5,</mtext></mrow></math><img file="EP1530201A2_D0014.tif" /></maths><maths id="math0015" num="(15)"><math display="block"><mrow><mtext>#hangover frames = 0 SNR ≥ 27.5.</mtext></mrow></math><img file="EP1530201A2_D0015.tif" /></maths>
0030The present invention also provides a method with which to detect the presence of music, which as described before lacks the pauses which allow the background noise measures to reset. The method for detecting the presence of music assumes that music is not present at the start of the call. This allows the encoding rate selection apparatus of the present invention to properly estimate and initial background noise energy, BGN<sub>init</sub>. Because music unlike background noise has a periodic characteristic, the present invention examines the value of NACF to distinguish music from background noise. The music detection method of the present invention computes an average NACF in accordance with the equation below:<maths id="math0016"><img file="EP1530201A2_D0016.tif" /></maths> where NACF is defined in equation 7, and where T is the number of consecutive frames in which the estimated value of the background noise has been increasing from an initial background noise estimate BGN<sub>INIT</sub>.
0031If the background noise BGN has been increasing for the predetermined number of frames T and NACF<sub>AVE</sub> exceeds a predetermined threshold, then music is detected and the background noise BGN is reset to BGN<sub>init</sub>. It should be noted that to be effective the value T must be set low enough that the encoding rate doesn't drop below full rate. Therefore the value of T should be set as a function of the acoustic signal and BGN<sub>init</sub>.
0032The previous description of the preferred embodiments is provided to enable any person skilled in the art to make or use the present invention. The various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without the use of the inventive faculty. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
FURTHER SUMMARY OF THE INVENTION
0033<ul id="ul0002" list-style="none"><li>1. An apparatus for determining an encoding rate for a variable rate vocoder comprising: <ul id="ul0003" list-style="none" compact="compact"><li>subband energy computation means for receiving an input signal and determining a plurality of subband energy values in accordance with a predetermined subband energy computation format;</li><li>rate determination means for receiving said plurality of subband energy values and determining said encoding rate in accordance with said plurality of subband energy values.</li></ul></li><li>2. The apparatus of 1 wherein said subband energy computation means determines each of said plurality of subband energy values in accordance with the equation:<maths id="math0017"><img file="EP1530201A2_D0017.tif" /></maths> where L is the number taps in the lowpass filter h<sub>L</sub>(n), where R<sub>S</sub>(i) is the autocorrelation function of the input signal, S(n), and where R<sub>hL</sub> is the autocorrelation function of a bandpass filter h<sub>bp</sub>(n).</li><li>3. The apparatus of 1 further comprising threshold computation means disposed between said subband energy computation means and said rate determination means for receiving said subband energy values and for determining a set of encoding rate threshold values in accordance with plurality of subband energy values.</li><li>4. The apparatus of 3 wherein said threshold computation means determines a signal to noise ratio value in accordance with said plurality of subband energy values.</li><li>5. The apparatus of 4 wherein said threshold computation means determines a scaling value in accordance with said signal to noise ratio value.</li><li>6. The apparatus of 5 wherein threshold computation means determines at least one threshold value by multiplying a background noise estimate by said scaling value.</li><li>7. The apparatus of 1 wherein said rate determination compares at least one of said plurality of subband energy values with at least one threshold value to determine said encoding rate.</li><li>8. The apparatus of 6 wherein said rate determination means compares at least one of said plurality of subband energy values with said at least one threshold value to determine said encoding rate.</li><li>9. The apparatus of claim 1 wherein said rate determination means determines a plurality of suggested encoding rates wherein each suggested encoding rate corresponds to each of said plurality of subband energy values and wherein said rate determination means determines said encoding rate in accordance with said plurality of suggested encoding rates.</li><li>10. An apparatus for determining an encoding rate for a variable rate vocoder comprising: <ul id="ul0004" list-style="none" compact="compact"><li>signal to noise ratio means for receiving an input signal and determining a signal to noise ratio value in accordance with said input signal;</li><li>rate determination means for receiving said signal to noise ratio value and determining said encoding rate in accordance with said signal to noise ratio value.</li></ul></li><li>11. An apparatus for determining an encoding rate for a variable rate vocoder comprising: <ul id="ul0005" list-style="none" compact="compact"><li>a subband energy calculator that receives an input signal and determines a plurality of subband energy values in accordance with a predetermined subband energy computation format;</li><li>a rate selector that receives said plurality of subband energy values and selects said encoding rate in accordance with said plurality of subband energy values.</li></ul></li><li>12. The apparatus of 11 wherein said subband energy calculator determines each of said plurality of subband energy values in accordance with the equation:<maths id="math0018"><img file="EP1530201A2_D0018.tif" /></maths> where L is the number taps in the lowpass filter h<sub>L</sub>(n), where R<sub>S</sub>(i) is the autocorrelation function of the input signal, S(n), and where R<sub>hL</sub> is the autocorrelation function of a bandpass filter h<sub>bp</sub>(n).</li><li>13. The apparatus of 11 further comprising threshold calculator disposed between said subband energy calculator and said rate selector that receives said subband energy values and determines a set of encoding rate threshold values in accordance with plurality of subband energy values.</li><li>14. The apparatus of 13 wherein said threshold calculator determines a signal to noise ratio value in accordance with said plurality of subband energy values.</li><li>15. The apparatus of 14 wherein said threshold calculator determines a scaling value in accordance with said signal to noise ratio value.</li><li>16. The apparatus of 15 wherein threshold calculator determines at least one threshold value by multiplying a background noise estimate by said scaling value.</li><li>17. The apparatus of 11 wherein said rate selector compares at least one of said plurality of subband energy values with at least one threshold value to determine said encoding rate.</li><li>18. The apparatus of 16 wherein said rate selector compares at least one of said plurality of subband energy values with said at least one threshold value to determine said encoding rate.</li><li>19. The apparatus of 11 wherein said rate selector determines a plurality of suggested encoding rates wherein each suggested encoding rate corresponds to each of said plurality of subband energy values and wherein said rate selector determines said encoding rate in accordance with said plurality of suggested encoding rates.</li><li>20. An apparatus for determining an encoding rate for a variable rate vocoder comprising: <ul id="ul0006" list-style="none" compact="compact"><li>a signal to noise ratio calculator that receives an input signal and determining a signal to noise ratio value in accordance with said input signal;</li><li>rate selector that receives said signal to noise ratio value and selects said encoding rate in accordance with said signal to noise ratio value.</li></ul></li><li>21. A method for determining an encoding rate for a variable rate vocoder comprising the steps of: <ul id="ul0007" list-style="none" compact="compact"><li>receiving an input signal;</li><li>determining a plurality of subband energy values in accordance with a predetermined subband energy computation format; and</li><li>determining said encoding rate in accordance with said plurality of subband energy values.</li></ul></li><li>22. The method of 21 wherein said step of determining a plurality of subband energy values is performed in accordance with the equation:<maths id="math0019"><img file="EP1530201A2_D0019.tif" /></maths> where L is the number taps in the lowpass filter h<sub>L</sub>(n), where R<sub>S</sub>(i) is the autocorrelation function of the input signal, S(n), and where R<sub>hL</sub> is the autocorrelation function of a bandpass filter h<sub>bp</sub>(n).</li><li>23. The method of 21 further comprising the step of determining a set of encoding rate threshold values in accordance with plurality of subband energy values.</li><li>24. The method of 23 wherein said step of determining a set of encoding rate threshold values determines a signal to noise ratio value in accordance with said plurality of subband energy values.</li><li>25. The method of 24 wherein said step of determining a set of encoding rate threshold values determines a scaling value in accordance with said signal to noise ratio value.</li><li>26. The method of 25 wherein said step of determining a set of encoding rate threshold values determines said rate threshold value by multiplying a background noise estimate by said scaling value.</li><li>27. The method of 21 wherein said determining said encoding rate compares at least one of said plurality of subband energy values with at least one threshold value to determine said encoding rate.</li><li>28. The method of 26 wherein said step of said determining said encoding rate compares at least one of said plurality of subband energy values with said at least one threshold value to determine said encoding rate.</li><li>29. The method of 21 further comprising the step of generating a suggested encoding rate in accordance with each of said plurality of subband energy values and wherein said step of determining an encoding rate selects one of said suggested encoding rates.</li><li>30. A method for determining an encoding rate for a variable rate vocoder comprising the steps of: <ul id="ul0008" list-style="none" compact="compact"><li>receiving an input signal;</li><li>determining a signal to noise ratio value in accordance with said input signal; and</li><li>determining said encoding rate in accordance with said signal to noise ratio value.</li></ul></li></ul>
Contents5
23 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP0167364A1 | Cites | European Patent Office (EPO) | Search report |
| EP0190796A1 | Cites | European Patent Office (EPO) | Search report |
| US5054075A | Cites | United States of America | Search report |
| WO9222891A1 | Cites | World Intellectual Property Organization (WIPO) | Examiner |
111 members in 20 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 288413 | United States of America | – | |
| 28841394 | United States of America | A | |
| 04003180 | European Patent Office (EPO) | A | |
| 02009465 | European Patent Office (EPO) | A | |
| 95929372 | European Patent Office (EPO) | A |
Members111
| Document | Office | Kind | |
|---|---|---|---|
| IL114874D0 | Israel | D0 | |
| CA2171009A1 | Canada | A1 | |
| CA2488918A1 | Canada | A1 | |
| CA2488921A1 | Canada | A1 | |
| WO9605592A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU3275195A | Australia | A | |
| ZA956081B | South Africa | B | |
| FI961112A | Finland | A | |
| FI961112A7 | Finland | A7 | |
| TW277189B | Taiwan Province of China | B | |
| EP0728350A1 | European Patent Office (EPO) | A1 | |
| CN1131473A | China | A | |
| KR960705305A | Republic of Korea | A | |
| JPH09504124A | Japan | A | |
| MX9600920A | Mexico | A | |
| BR9506036A | Brazil | A | |
| US5742734A | United States of America | A | |
| IL114874A | Israel | A | |
| HK1015185A1 | Hong Kong, China | A1 | |
| AU711401B2 | Australia | B2 | |
| EP1233408A1 | European Patent Office (EPO) | A1 | |
| EP1239465A2 | European Patent Office (EPO) | A2 | |
| EP1239465A3 | European Patent Office (EPO) | A3 | |
| EP0728350B1 | European Patent Office (EPO) | B1 | |
| AT235734T | Austria | T | |
| ATE235734T1 | Austria | T1 | |
| DE69530066D1 | Germany | D1 | |
| DK0728350T3 | Denmark | T3 | |
| PT728350E | Portugal | E | |
| ES2194921T3 | Spain | T3 | |
| JP2004004971A | Japan | A | |
| KR20040004420A | Republic of Korea | A | |
| KR20040004421A | Republic of Korea | A | |
| DE69530066T2 | Germany | T2 | |
| JP2004046228A | Japan | A | |
| JP3502101B2 | Japan | B2 | |
| EP1424686A2 | European Patent Office (EPO) | A2 | |
| CN1512487A | China | A | |
| CN1512488A | China | A | |
| CN1512489A | China | A | |
| CN1168071C | China | C | |
| KR100455225B1 | Republic of Korea | B1 | |
| EP1233408B1 | European Patent Office (EPO) | B1 | |
| AT285620T | Austria | T | |
| ATE285620T1 | Austria | T1 | |
| DK1233408T3 | Denmark | T3 | |
| DE69533881D1 | Germany | D1 | |
| KR100455826B1 | Republic of Korea | B1 | |
| EP1530201A2This record | European Patent Office (EPO) | A2 | |
| PT1233408E | Portugal | E | |
| EP1239465B1 | European Patent Office (EPO) | B1 | |
| ES2233739T3 | Spain | T3 | |
| FI20050702A | Finland | A | |
| FI20050702L | Finland | L | |
| FI20050703A | Finland | A | |
| FI20050703L | Finland | L | |
| FI20050704A | Finland | A | |
| FI20050704L | Finland | L | |
| AT298124T | Austria | T | |
| ATE298124T1 | Austria | T1 | |
| DE69534285D1 | Germany | D1 | |
| EP1530201A3 | European Patent Office (EPO) | A3 | |
| DK1239465T3 | Denmark | T3 | |
| PT1239465E | Portugal | E | |
| ES2240602T3 | Spain | T3 | |
| DE69533881T2 | Germany | T2 | |
| HK1077911A1 | Hong Kong, China | A1 | |
| EP1424686A3 | European Patent Office (EPO) | A3 | |
| DE69534285T2 | Germany | T2 | |
| CA2171009C | Canada | C | |
| EP1703493A2 | European Patent Office (EPO) | A2 | |
| FI20061084A | Finland | A | |
| FI20061084L | Finland | L | |
| EP1703493A3 | European Patent Office (EPO) | A3 | |
| EP1530201B1 | European Patent Office (EPO) | B1 | |
| CN1945696A | China | A | |
| AT358871T | Austria | T | |
| ATE358871T1 | Austria | T1 | |
| FI117993B | Finland | B | |
| DE69535452D1 | Germany | D1 | |
| CN1320521C | China | C | |
| JP3927159B2 | Japan | B2 | |
| ES2281854T3 | Spain | T3 | |
| JP2007293355A | Japan | A | |
| JP2007304604A | Japan | A | |
| JP2007304605A | Japan | A | |
| JP2007304606A | Japan | A | |
| DE69535452T2 | Germany | T2 | |
| EP1703493B1 | European Patent Office (EPO) | B1 | |
| AT386321T | Austria | T | |
| ATE386321T1 | Austria | T1 | |
| DE69535709D1 | Germany | D1 | |
| ES2299122T3 | Spain | T3 | |
| FI119085B | Finland | B | |
| DE69535709T2 | Germany | T2 | |
| CN100508028C | China | C | |
| EP1239465B2 | European Patent Office (EPO) | B2 | |
| DK1239465T4 | Denmark | T4 | |
| ES2240602T5 | Spain | T5 | |
| DE69534285T3 | Germany | T3 |
58 legal events, as 8 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Announcement of lapse in spainLapsedFD2A | FD2A | ES | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent expiredExpiredMK9A | MK9A | IE | |
| Patent expired after termination of 20 yearsExpiredPE20 | PE20 | GB | |
| Discontinued because of reaching the maximum lifetime of a patentV4 | V4 | NL | |
| Expiry of rightR071 | R071 | DE | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent ceasedCeasedPL | PL | CH | |
| Fr: translation filedET | ET | EP | |
| Definitive protectionFG2A | FG2A | ES | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Standard patents granted in hong kongGrantedGR | GR | HK | |
| European patents granted designating irelandGrantedFG4D | FG4D | IE | |
| Corresponds to:REF | REF | EP | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Divisional application: reference to earlier applicationAC | AC | EP | |
| Divisional application: reference to earlier applicationAC | AC | EP | |
| Divisional application: reference to earlier applicationAC | AC | EP | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Information related to communication of intention to grant a patent modifiedORIGINAL CODE: EPIDOSCIGR1GRAC | GRAC | EP | |
| Information related to communication of intention to grant a patent modifiedORIGINAL CODE: EPIDOSCIGR1GRAC | GRAC | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Designation fees paidAKX | AKX | EP | |
| Requests to designate patent in hong kongDE | DE | HK | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Designated contracting statesAK | AK | EP | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | EP | |
| Request for examination filed17P | 17P | EP | |
| Divisional application: reference to earlier applicationAC | AC | EP | |
| Divisional application: reference to earlier applicationAC | AC | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1530201
- Application
- 50019389
Titles3
- German
- Verfahren und Vorrichtung zur Auswahl der Kodierrate in einem Vocoder mit Variabler Rate
- English
- Method and apparatus for selecting an encoding rate in a variable rate vocoder
- French
- Procédé et appareil de sélection d'un taux de codage dans un vocodeur à taux variable
Classification
- CPC, 8
- G10L19/0208
- G10L19/24
- G10L19/02
- G10L19/0204
- G10L19/10
- G10L19/22
- G10L25/78
- G10L21/02
- IPC, 8
- G10L19 24
- G10L19 00
- G10L19 02
- G10L19 035
- G10L21 0208
- G10L25 18
- G10L25 78
- H03M7 30
Designated states17
- Contracting states, 17
- Austria
- Belgium
- Switzerland
- Germany
- Denmark
- Spain
- France
- United Kingdom
- Greece
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Sweden