This invention relates to speech coder based on code excited linear prediction (CELP) coding and, more particularly, to a sub-band speech coder.
Speech compression is a fundamental part of digital communication systems. In a traditional telephone network, the speech signal is a narrow band signal that is band limited to 4 kHz. Many of the new emerging applications do not require the speech bandwidth to be limited. Hence, wideband signals with a signal bandwidth of 50 to 7,0000 Hz, resulting in a higher perceived quality, are rapidly becoming more attractive for new application such as voice over Internet Protocol, or third generation wireless services. Consequently, digital coding of wideband speech is becoming increasingly important.
Code-Excited Linear Prediction (CELP) is a well-known class of speech coding algorithms with good performance at low to medium bit rates (4 to 16 kb/s) for narrow band speech. See B. S. Atal and M. Schroeder's article entitled “Stochastic Coding of Speech Signals at Very Low Bit Rates,” IEEE International conference on Acoustics, Speech and Signal Processing, May 1984. For wide band speech, the same algorithm can be used over the entire input bandwidth with some degree of success. Alternatively, the input signal can be decomposed into two or more sub-bands which are coded independently. In these sub-band coders the signal is downsampled, coded, and upsampled again. In traditional sub-band coders, the signal is critically subsampled. Some anti-aliasing filters with non-zero transition bands used in practical applications introduce some leakage between the bands, which causes sometimes audible aliasing distortions. Quadrature Mirror Filters (QMF) where the aliasing is cancelled out during resynthesis can be used in the case of equal sub-band decomposition. In the general case of unequal sub-band, critical subsampling introduces aliasing.
In accordance with one embodiment of the present invention, a wideband coder is provided wherein the bandwidth is subdivided into sub-bands which may be unequal. The lower sub-band is downsampled and encoded using a CELP coder. A higher sub-band is not downsampled, but is computed over the entire frequency range and the band-pass filtered to complement the lower band.
Referring to
The input speech is sampled at a same frequency fs (16 kHz for example) at A/D (analog to digital) converter 11 and has a signal bandwidth of fs/2 (8 kHz). For coding purposes, this bandwidth is sub-divided into two, possibly unequal, sub-bands. For example, consider a wideband speech coder operating at 16 kHz with a useful signal bandwidth of 50 to 7,000 Hz. A reasonable low-band bandwidth could be 0 to 5.33 kHz (illustrated in
The high-band signal is obtained from the original by simply band-pass or highpass filtering it before applying to a highband coder 20. An appropriate bandwidth can be between fs1 and fs2 such as 5.33 and 7 kHz. The 16 kHz input, for the example, is band-pass filtered between 5.33 kHz and 7 kHz to obtain the high-band signal. The transition band of this filter would have to be between 5 and 5.33 kHz and designed to complement the low-band low-pass filter. The bandpass filtered output is coded in a highband coder 20. There are several possible ways to generate the high-band excitation coder 20, such as random noise, noise excited LPC, gain-matched analysis-by-synthesis, multi-pulse coding or a combination.
The encoded signal is transmitted to the decoder via a transmission medium such as a cable or wireless network. At the decoder, the lowband excitation signal is reconstructed at the low band rate of 10.67 kHz (2fs/3) and this is applied to the CELP decoder (LPC synthesis filter) 21. The output of the CELP decoder 21 is upsampled at upsampler 23 (upsampled by 3) to 2fs (32 kHz) and low-pass filtered at filter 25 at 5.33 kHz and downsampled by downsampler 26 (downsampled at 2) to fs at 16 kHz to form the low-band coded signal. The high band signal of fs (16 kHz) is generated at highband pass decoder 27 at the original sampling rate and bandpass filtered at bandpass filter 29 to obtain the fs (16 kHz) high-band coded signal. The 16 kHz signal is bandpass filtered between 5.33 kHz and 8 kHz to obtain the high band signal. The transition of this filter is between 5 and 5.33 kHz and designed to complement the low-band low-pass filter. The high- and low-band contributions are added at adder 30 to obtain the coded speech signal.
As discussed above, there are several high-band excitation coding methods.
The simplest model is a gain-scaled random noise generator as illustrated in
In the gain-matched analysis by synthesis, the random noise generator is replaced by a codebook 41 containing allowable excitation vectors accessed by the input bits. The excitation vector which minimizes the error between the synthetic signal and the input, under the constraint that the output gain matches the input gain, is selected. The selected vectors are scaled or gain controlled at multiplier 43 by input bits and the resulting output is applied through LPC synthesizer filter 45 controlled by the input bits. The LPC synthesis filter 45 output is applied to bandpass filter 47. This is explained in more detail by E. Paksoy, A. McCree and V. Viswanathan in “A Variable-Rate Multimodal Speech Coder With Gain-Matched Analysis by Synthesis,” IEEE International Conference on Acoustics, Speech and Signal Processing, April, 1997.
Another possibility is to use simple ternary pulse coding as illustrated in
Any combination of the above techniques can also be used in such a subband coder. It should also be noted that the subband coding scheme could also be extended to more than two subbands.
We have described a subband coder where the high-band is not subsampled. The filtering and sampling rate conversion scheme is relatively simple and has the advantages of reduced complexity and reduced aliasing problems in the case of unequal subbands. We have also proposed several high-band coding methods and discussed bandpass random noise generation, LPC spectral shaping, gain-matched analysis-by-synthesis, and ternary pulse coding.
This application claims priority under 35 USC § 119(e)(1) of provisional application No. 60/171,393, filed Dec. 21, 1999.
Number | Name | Date | Kind |
---|---|---|---|
5231669 | Galand et al. | Jul 1993 | A |
5321793 | Drogo De Iacovo et al. | Jun 1994 | A |
5459514 | Sakamoto et al. | Oct 1995 | A |
5490130 | Akagiri | Feb 1996 | A |
5530750 | Akagiri | Jun 1996 | A |
5757931 | Yamada et al. | May 1998 | A |
5808569 | Wuppermann et al. | Sep 1998 | A |
5914752 | Iwamura et al. | Jun 1999 | A |
5926791 | Ogata et al. | Jul 1999 | A |
6122338 | Yamauchi | Sep 2000 | A |
6167375 | Miseki et al. | Dec 2000 | A |
6182031 | Kidder et al. | Jan 2001 | B1 |
6324505 | Choy et al. | Nov 2001 | B1 |
6697775 | Kawahara | Feb 2004 | B2 |
6904404 | Norimatsu et al. | Jun 2005 | B1 |
20020099548 | Manjunath et al. | Jul 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
20020072899 A1 | Jun 2002 | US |
Number | Date | Country | |
---|---|---|---|
60171393 | Dec 1999 | US |