LOW BIT-RATE CODING OF UNVOICED SEGMENTS OF SPEECH

Abstract: A low-bit-rate coding technique for unvoiced segments of speech includes the steps of extracting high-time-resolution energy coefficients from a frame of speech, quantizing the energy coefficients, generating a high-time-resolution energy envelope from the quantized energy coefficients, and reconstituting a residue signal by shaping a randomly generated noise vector with quantized values of the energy envelope. The energy envelope may be generated with a linear interpolation technique. A post-processing measure may be obtained and compared with a predefined threshold to determine whether the coding algorithm is performing adequately.

Description: LOW BIT-RATE CODING OF UNVOICED SEGMENTS OF SPEECH BACKGROUND OF THE INVENTION I. Field of the Invention The present invention pertains generally to the field of speech processing, and more specifically to a method and apparatus for low bit-rate coding of unvoiced segments of speech. II. Background of Art Transmission of voice bv digital techniques has become widespread, particularly in long distance and digital radio telephone applications. This, in turn, has created interest in determining the least amount of information that can be sent over a channel while maintaining the perceived quality of the reconstructed speech. If speech is transmitted by simply sampling and digitizing, a data rate on the order of sixty-four kilobits per second (kbps) is required to achieve a speech quality of conventional analog telephone. However, through the use of speech analysis, followed by the appropriate coding, transmission, and resynthesis at the receiver, a significant reduction in the data rate can be achieved. Devices that employ techniques to compress speech by extracting parameters that relate to a model of human speech generation are called speech coders. A speech coder divides the incoming speech signal into blocks of time, or analysis frames. Speech coders typically comprise an encoder and a decoder, or a codec. The encoder analyzes the incoming speech frame to extract certain relevant parameters, and then quantizes the parameters into binary representation, i.e., to a set of bits or a binary data packet. The data packets are transmitted over the communication channel to a receiver and a decoder. The decoder processes the data packets, unquantizes them to produce the parameters, and then resynthesizes the speech frames using the unquantized parameters. The function of the speech coder is to compress the digitized speech signal into a low-bit-rate signal by removing all of the natural redundancies inherent in speech. The digital compression is achieved by representing the input speech frame with a set of parameters and employing quantization to represent the parameters with a set of bits. If the input speech frame has a number of bits N, and the data packet produced by the speech coder has a number of bits N 0 , the compression factor achieved by the speech coder is C r = N,/N 0 . The challenge is to retain high voice quality of the decoded speech while achieving the target compression factor. The performance of a speech coder depends on (1) how well the speech model, or the combination of the analysis and synthesis process described above, performs, and (2) how well the parameter quantization process is performed at the target bit rate of N 0 bits per frame. The goal of the speech model is thus to capture the essence of the speech signal, or the target voice quality, with a small set of parameters for each frame. One effective technique to encode speech efficiently at low bit rate is multimode coding. A multimode coder applies different modes, or encoding- decoding algorithms, to different types of input speech frames. Each mode, or encoding-decoding process, is customized to represent a certain type of speech segment (i.e., voiced, unvoiced, or background noise) in the most efficient manner. An external mode decision mechanism examines the input speech frame and make a decision regarding which mode to apply to the frame. Typically, the mode decision is done in an open-loop fashion by extracting a number of parameters out of the input frame and evaluating them to make a decision as to which mode to apply. Thus, the mode decision is made without knowing in advance the exact condition of the output speech, i.e., how similar the output speech will be to the input speech in terms of voice-quality or any other performance measure. An exemplary open-loop mode decision for a speech codec is described in U.S. Patent No. 5,414,796, which is assigned to the assignee of the present invention and fully incorporated herein by reference. Multimode coding can be fixed-rate, using the same number of bits N„ for each frame, or variable-rate, in which different bit rates are used for different modes. The goal in variable-rate coding is to use only the amount of bits needed to encode the codec parameters to a level adequate to obtain the target quality. As a result, the same target voice quality as that of a fixed-rate, higher-rate coder can be obtained at a significant lower average-rate using variable-bit-rate (VBR) techniques. An exemplary variable rate speech coder is described in U.S. Patent No. 5,414,796, assigned to the assignee of the present invention and previously fully incorporated herein by reference. There is presently a surge of research interest and strong commercial needs to develop a high-quality speech coder operating at medium to low bit rates (i.e., in the range of 2.4 to 4 kbps and below). The application areas include wireless telephony, satellite communications, Internet telephony, various multimedia and voice-streaming applications, voice mail, and other voice storage systems. The driving forces are the need for high capacity and the demand for robust performance under packet loss situations. Various recent speech coding standardization efforts are another direct driving force propelling research and development of low-rate speech coding algorithms. A low-rate speech coder creates more channels, or users, per allowable application bandwidth, and a low-rate speech coder coupled with an additional layer of suitable channel coding can fit the overall bit-budget of coder specifications and deliver a robust performance under channel error conditions. Multimode VBR speech coding is therefore an effective mechanism to encode speech at low bit rate. Conventional multimode schemes require the design of efficient encoding schemes, or modes, for various segments of speech (e.g., unvoiced, voiced, transition) as well as a mode for background noise, or silence. The overall performance of the speech coder depends on how well each mode performs, and the average rate of the coder depends on the bit rates of the different modes for unvoiced, voiced, and other segments of speech. In order to achieve the target quality at a low average rate, it is necessary to design efficient, high-performance modes, some of which must work at low bit rates. Typically, voiced and unvoiced speech segments are captured at high bit rates, and background noise and silence segments are represented with modes working at a significantly lower rate. Thus, there is a need for a low-bit-rate coding technique that accurately captures unvoiced segments of speech while using a minimal number of bits per frame. SUMMARY OF THE INVENTION The present invention is directed to a low-bit-rate coding technique that accurately captures unvoiced segments of speech while using a minimal number of bits per frame. Accordingly, in one aspect of the invention, a method of coding unvoiced segments of speech advantageously includes the steps of extracting high-time-resolution energy coefficients from a frame of speech; quantizing the high-time-resolution energy coefficients; generating a high-time-resolution energy envelope from the quantized energy coefficients; and reconstituting a residue signal by shaping a randomly generated noise vector with quantized values of the energy envelope. In another aspect of the invention, a speech coder for coding unvoiced segments of speech advantageously includes means for extracting high-time- resolution energy coefficients from a frame of speech; means for quantizing the high-time-resolution energy coefficients; means for generating a high-time- resolution energy envelope from the quantized energy coefficients; and means for reconstituting a residue signal by shaping a randomly generated noise vector with quantized values of the energy envelope. In another aspect of the invention, a speech coder for coding unvoiced segments of speech advantageously includes a module configured to extract high-time-resolution energy coefficients from a frame of speech; a module configured to quantize the high-time-resolution energy coefficients; a module configured to generate a high-time-resolution energy envelope from the quantized energy coefficients; and a module configured to reconstitute a residue signal by shaping a randomly generated noise vector with quantized values of the energy envelope. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a communication channel terminated at each end by speech coders. FIG. 2 is a block diagram of an encoder. FIG. 3 is a block diagram of a decoder. FIG. 4 is a flow chart illustrating the steps of a low-bit-rate coding technique for unvoiced segments of speech. FIGS. 5A-E are graphs of signal amplitude versus discrete time index. FIG. 6 is a functional diagram depicting a pyramid vector quantization encoding process. FIG. 7 is a functional diagram depicting a pyramid vector quantization decoding process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In FIG. 1 a first encoder 10 receives digitized speech samples s(n) and encodes the samples s(n) for transmission on a transmission medium 12, or communication channel 12, to a first decoder 14. The decoder 14 decodes the encoded speech samples and synthesizes an output speech signal s SYNTH (n). For transmission in the opposite direction, a second encoder 16 encodes digitized speech samples s(n), which are transmitted on a communication channel 18. A second decoder 20 receives and decodes the encoded speech samples, generating a synthesized output speech signal s SYNTH (n). The speech samples s(n) represent speech signals that have been digitized and quantized in accordance with any of various methods known in the art including, e.g., pulse code modulation (PCM), companded μ-law, or A- law. As known in the art, the speech samples s(n) are organized into frames of input data wherein each frame comprises a predetermined number of digitized speech samples s(n). In an exemplary embodiment, a sampling rate of 8 kHz is employed, with each 20 ms frame comprising 160 samples. In the embodiments described below, the rate of data transmission may advantageously be varied on a frame-to-frame basis from 8 kbps (full rate) to 4 kbps (half rate) to 2 kbps (quarter rate) to 1 kbps (eighth rate). Varying the data transmission rate is advantageous because lower bit rates may be selectively employed for frames containing relatively less speech information. As understood by those skilled in the art, other sampling rates, frame sizes, and data transmission rates may be used. The first encoder 10 and the second decoder 20 together comprise a first speech coder, or speech codec. Similarly, the second encoder 16 and the first decoder 14 together comprise a second speech coder. It is understood by those of skill in the art that speech coders may be implemented with a digital signal processor (DSP), an application-specific integrated circuit (ASIC), discrete gate logic, firmware, or any conventional programmable software module and a microprocessor. The software module could reside in RAM memory, flash memory, registers, or any other form of writable storage medium known in the art. Alternatively, any conventional processor, controller, or state machine could be substituted for the microprocessor. Exemplary ASICs designed specifically for speech coding are described in U.S. Patent No. 5,727,123, assigned to the assignee of the present invention and fully incorporated herein by reference, and U.S. Application Serial No. 08/197,417, entitled VOCODER ASIC, filed February 16, 1994, assigned to the assignee of the present invention, and fully incorporated herein by reference. In FIG. 2 an encoder 100 that may be used in a speech coder includes a mode decision module 102, a pitch estimation module 104, an LP analysis module 106, an LP analysis filter 108, an LP quantization module 110, and a residue quantization module 112. Input speech frames s(n) are provided to the mode decision module 102, the pitch estimation module 104, the LP analysis module 106, and the LP analysis filter 108. The mode decision module 102 produces a mode index I M and a mode M based upon the periodicity of each input speech frame s(n). Various methods of classifying speech frames according to periodicity are described in U.S. Application Serial No. 08/815,354, entitled METHOD AND APPARATUS FOR PERFORMING REDUCED RATE VARIABLE RATE VOCODING, filed March 11, 1997, assigned to the assignee of the present invention, and fully incorporated herein by reference. Such methods are also incorporated into the Telecommunication Industry Association Industry Interim Standards TIA/EIA IS-127 and TIA/EIA IS-733. The pitch estimation module 104 produces a pitch index I P and a lag value P 0 based upon each input speech frame s(n). The LP analysis module 106 performs linear predictive analysis on each input speech frame s(n) to generate an LP parameter a. The LP parameter a is provided to the LP quantization module 110. The LP quantization module 110 also receives the mode M. The LP quantization module 110 produces an LP index I 1 P and a quantized LP parameter a . The LP analysis filter 108 receives the quantized LP parameter s in addition to the input speech frame s(n). The LP analysis filter 108 generates an LP residue signal R[n], which represents the error between the input speech frames s(n) and the quantized linear predicted parameters a . The LP residue R[n], the mode M, and the quantized LP parameter ύ are provided to the residue quantization module 112. Based upon these values, the residue quantization module 112 produces a residue index I R and a quantized residue signal R[n . In FIG. 3 a decoder 200 that may be used in a speech coder includes an LP parameter decoding module 202, a residue decoding module 204, a mode decoding module 206, and an LP synthesis filter 208. The mode decoding module 206 receives and decodes a mode index I M , generating therefrom a mode M. The LP parameter decoding module 202 receives the mode M and an LP index I LP . The LP parameter decoding module 202 decodes the received values to produce a quantized LP parameter a . The residue decoding module 204 receives a residue index I R , a pitch index I P , and the mode index I M . The residue decoding module 204 decodes the received values to generate a quantized residue signal R[n] - The quantized residue signal R[π] and the quantized LP parameter a are provided to the LP synthesis filter 208, which synthesizes a decoded output speech signal s[n\ therefrom. Operation and implementation of the various modules of the encoder 100 of FIG. 2 and the decoder of FIG. 3 are known in the art, and are described in detail in L.B. Rabiner & R.W. Schafer Digital Processing of Speech Signals 396- 453 (1978), which is fully incorporated herein by reference. An exemplary encoder and an exemplary decoder are described in U.S. Patent No. 5,414,796, previously fully incorporated herein by reference. The flow chart of FIG. 4 illustrates a low-bit-rate coding technique for unvoiced segments of speech in accordance with one embodiment. The low- rate unvoiced coding mode shown in the embodiment of FIG. 4 advantageously offers multimode speech coders a lower average bit rate while preserving an overall high voice quality by capturing unvoiced segments accurately w 7 ith a low number of bits per frame. In step 300 the coder performs an external rate decision, identifying incoming speech frames as either unvoiced or not unvoiced. The rate decision is done by considering a number of parameters extracted from the speech frame S[n], where n=l,2,3,..,N, such as the energy of the frame (E), the frame periodicity (Rp), and the spectral tilt (Ts). The parameters are compared with a set of predefined thresholds. A decision is made as to whether the current frame is unvoiced based upon the results of the comparisons. If the current frame is unvoiced, it is encoded as an unvoiced frame, as described below. The frame energy may advantageously be determined in accordance with the following equation: E = ^* ∑S[ ] * S[m] The frame periodicity may advantageously be determined in accordance with the following equation: Rp = max-over-all-k {9?(S[n], S[n+k])}, for k=l,2,..,N, where 9 (x[n], x[n+k]) is an autocorrelation function of x. The spectral tilt may advantageously be determined in accordance with the following equation: Ts = (Eh/El), where Eh and El are the energy values of Sl[n] and Sh[n], SI and Sh being the low-pass and high-pass components of the original speech frame S[n], which components may advantageously be generated by a set of low-pass and high- pass filters. In step 302 LP analysis is conducted to create the linear predictive residue of the unvoiced frame. The linear predictive (LP) analysis is accomplished with techniques that are known in the art, as described in the aforementioned U.S. Patent No. 5,414,796 and L.B. Rabiner & R.W. Schafer Digital Processing of Speech Signals 396-458 (1978), both previously fully incorporated herein by reference. The N-sample, unvoiced LP residue, R[n], where n=l,2,..,N, is created from the input speech frame S[n], where n=l,2..,N. The LP parameters are quantized in the line spectral pair (LSP) domain with known LSP quantization techniques, as described in either of the above-listed references. A graph of original speech signal amplitude versus discrete time index is illustrated in FIG. 5A. A graph of quantized unvoiced speech signal amplitude versus discrete time index is illustrated in FIG. 5B. A graph of original unvoiced residue signal amplitude versus discrete time index is illustrated in FIG. 5C. A graph of energy envelope amplitude versus discrete time index is illustrated in FIG. 5D. A graph of quantized unvoiced residue signal amplitude versus discrete time index is illustrated in FIG. 5E. In step 304 fine-time resolution energy parameters of the unvoiced residue are extracted. A number (M) of local energy parameters E„ where i=l,2,...,M, is extracted from the unvoiced residue R[n] by performing the following steps. The N-sample residue R[n] is divided into (M-2) sub-blocks X„ where i=2,3,.. / M-l, with each block X, having a length of L = N/(M~2). The L- sample past residue block X, is obtained from the past quantized residue of the previous frame. (The L-sample past residue block X l incorporates the last L samples of the N-sample residue of the last speech frame.) The L-sample future residue block X M is obtained from the LP residue of the following frame. (The L-sample future residue block X M incorporates the first L samples of the N- sample LP residue of the next speech frame.) A number M of local energy parameters E„ where i=l,2,..,M, is created from each of the M blocks X„ where i=l,2,..,M, in accordance with the following equation: 1 E, = - * ∑X,[m] * X,[m] In step 306 the M energy parameters are encoded with Nr bits according to a pyramid vector quantization (PVQ) method. Thus, the M-1 local energy values E„ where i=2,3,..,M, are encoded with Nr bits to form quantized energy values W„ where i=2,3,..,M. A K-step PVQ encoding scheme with bits N^ ,,..,^ is employed such that N, + N 2 + ... + N κ = Nr, the total number of bits available for quantizing the unvoiced residue R[n]. For each of k-stages, where k=l,2,..,K, the following steps are performed. For the first stage (i.e., k=l), the band number is set to and the band length is set to L k =l. For each band B k , the mean value mean κ where j=l,2,...,B k , in accordance with the following equation: mean, = • — * ∑ E„, L j »ι=l The B k mean values mean,, where j=l,2,...,B k , are quantized with N k = N, bits to form the quantized set of mean values qmeart, where j=l,2,...,B k . The energy belonging to each band B k is divided by the associated quantized mean value qmean,, generating a new set of energy values { E k , } = {E 2 , }, where i=l,2,..,M. In the first-stage case (i.e., for k=l) for each i, where i=l,2,3,..,M,: The process of breaking into sub-bands, extracting the means for each band, quantizing the means with bits available for the stage, and then dividing the components of the sub-band by the quantized mean of the subband is repeated for each subsequent stage k, where k=2,3,..,K-l. In the K-th stage, the sub-vectors of each of the B κ sub-bands are quantized with individual VQs designed for each band, using a total of N κ bits. The PVQ encoding process for M=8 and stage=4 is illustrated by way of example in FIG. 6. In step 308 M quantized energy vectors are formed. The M quantized energy vectors are formed from the codebooks and the Nr bits representing the PVQ information by reversing the above-described PVQ encoding process with the final residue sub-vectors and quantized means. The PVQ decoding process for M=3 and stage k=3 is illustrated by way of example in FIG. 7. As those skilled in the art would understand, the unvoiced (UV) gains may be quantized with any conventional encoding technique. The encoding scheme need not be restricted to the PVQ scheme of the embodiment described in connection with FIGS. 4-7. In step 310 a high-resolution energy envelope is formed. An N-sample (i.e., the length of the speech frame), high-time-resolution energy envelope ENV[n], where n=l,2,3,..,N, is formed from the decoded energy values W„ where i=l,2,3,..,M, in accordance with the computations described below. The M energy values represent the energies of M-2 sub-frames of the current residue of speech, each sub-frame having a length L = N/M. The values Wj and W M represent the energy of the past L samples of the last frame of residue and the energy of the future L samples of the next frame of residue, respectively. If W nl .„ W m , and W m+]/ are representative of the energies of the (m-l)th, m-th, and (m+l)-th sub-band, respectively, then the samples of the energy envelope ENV[n], for n=m*L-L/2 to n= m*L+L/2, representing the m-th sub- frame are computed as follows: For n=m*L-L/2, until n= m*L, ENV[n] = « » - ι + 0 /L)*(n-m*L+L) >( ( Jw m ~ ->lw«, - \ ). And for n=m*L, until n= m*L+L/2, ENV[n] ). The steps for computing the energy envelope ENV[n] are repeated for each of the M-1 bands, letting m=2,3,4,..,M, to compute the entire energy envelope ENV[n], where n=l,2,..,N, for the current residue frame. In step 312 a quantized unvoiced residue is formed by coloring random noise with the energy envelope ENV[n]. The quantized unvoiced residue qR[n] is formed in accordance with the following equation: qR[n] = Noise[n] * ENV[n], for n=l,2,..,N, where Noise[n] is a random white noise signal with unit variance, which is advantageously artificially generated by a random number generator in sync with the encoder and the decoder. In step 314 a quantized unvoiced speech frame is formed. The quantized unvoiced residue qS[n] is generated by inverse-LP filtering of the quantized unvoiced speech with conventional LP synthesis techniques, as known in the art and described in the aforementioned U.S. Patent No. 5,414,796 and L.B. Rabiner & R.W. Schafer Digital Processing of Speech Signals 396-458 (1978), both previously fully incorporated herein by reference. In one embodiment a quality-control step can be performed by measuring a perceptual error measure such as, e.g., perceptual signal-to-noise ratio (PSNR), which is defined as: ( * M-ψι]) 2 5N7? = 10 * loglO-" =l ∑e[n] *e[n] n=l where x[n] = h[n]*R[n], and e(n) = h[n]*qR[n], with "*" denoting a convolution or filtering operation, h(n) being a perceptually weighted LP filter, and R[n] and qR[n] being, respectively, the original and quantized unvoiced residue. The PSΝR is compared with a predetermined threshold. If the PSΝR is less than the threshold, the unvoiced encoding scheme did not perform adequately and a higher-rate encoding mode may be applied instead to more accurately capture the current frame. On the other hand, if the PSΝR exceeds the predefined threshold, the unvoiced encoding scheme has performed well and the mode- decision is retained. Preferred embodiments of the present invention have thus been shown and described. It would be apparent to one of ordinary skill in the art, however, that numerous alterations mav be made to the embodiments herein disclosed without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited except in accordance with the following claims.

Claims: CLAIMS What is claimed is: 1. A method of coding unvoiced segments of speech, comprising the steps of: extracting high-time-resolution energy coefficients from a frame of speech; quantizing the high-time-resolution energy coefficients; generating a high-time-resolution energy envelope from the quantized energy coefficients; and reconstituting a residue signal by shaping a randomly generated noise vector with quantized values of the energy envelope. 2. The method of claim 1, wherein the quantizing step is performed in accordance with a pyramid vector quantization scheme. 3. The method of claim 1, wherein the generating step is accomplished with linear interpolation. 4. The method of claim 1, further comprising the steps of obtaining a post-processing performance measure and comparing the post-processing performance measure with a predetermined threshold. 5. The method of claim 1, wherein the generating step comprises generating a high-time-resolution energy envelope including a representation of energy of a predefined number of past samples of a previous frame of residue. 6. The method of claim 1, wherein the generating step comprises generating a high-time-resolution energy envelope including a representation of energy of a predefined number of future samples of a next frame of residue. 7. A speech coder for coding unvoiced segments of speech, comprising: means for extracting high-time-resolution energy coefficients from a frame of speech; means for quantizing the high-time-resolution energy coefficients; means for generating a high-time-resolution energy envelope from the quantized energy coefficients; and means for reconstituting a residue signal by shaping a randomly generated noise vector with quantized values of the energy envelope. 8. The speech coder of claim 7, wherein the means for quantizing comprises means for quantizing in accordance with a pyramid vector quantization scheme. 9. The speech coder of claim 7, wherein the means for generating comprises a linear interpolation module. 10. The speech coder of claim 7, further comprising means for obtaining a post-processing performance measure and means for comparing the post-processing performance measure with a predetermined threshold. 11. The speech coder of claim 7, wherein the means for generating comprises means for generating a high-time-resolution energy envelope including a representation of energy of a predefined number of past samples of a previous frame of residue. 12. The speech coder of claim 7, wherein the means for generating comprises means for generating a high-time-resolution energy envelope including a representation of energy of a predefined number of future samples of a next frame of residue. 13. A speech coder for coding unvoiced segments of speech, comprising: a module configured to extract high-time-resolution energy coefficients from a frame of speech; a module configured to quantize the high-time-resolution energy coefficients; a module configured to generate a high-time-resolution energy envelope from the quantized energy coefficients; and a module configured to reconstitute a residue signal by shaping a randomly generated noise vector with quantized values of the energy envelope. 14. The speech coder of claim 1 , wherein the quantizing is conducted in accordance with a pyramid vector quantization scheme. 15. The speech coder of claim 13, wherein the generation is performed with linear interpolation. 16. The speech coder of claim 13, further comprising a module configured to obtain and compare a post-processing performance measure with a predetermined threshold. 17. The speech coder of claim 13, wherein the high-time-resolution energy envelope includes a representation of energy of a predefined number of past samples of a previous frame of residue. 18. The speech coder of claim 13, wherein the high-time-resolution energy envelope includes a representation of energy of a predefined number of future samples of a next frame of residue.

Inventors: DAS AMITAVA, MANJUNATH SHARATH, DAS, AMITAVA, MANJUNATH, SHARATH
Applicants: QUALCOMM INC, QUALCOMM INCORPORATED
Application year: 1999
Main classification: G10L19
IPC codes: G10L19, H03M7