Abstract:
A method of encoding signal segments which represent unvoiced plosives. The signal segments to be encoded are contained within a speech signal divided into m=1, . . . , N frames. Each frame is subdivided into l=1, . . . , L subframes. The speech signal has a gain g m (l) within each subframe. An energy measure e m (l) representative of the signal segments&#39; energy content is defined. An energy threshold e th (l) representative of a sudden energy change characteristic of an unvoiced plosive is also defined. For each frame, the energy measure e m (l) and the energy threshold e th (l) are derived for each subframe within that frame. If e m (l)≦e th (l) for each subframe within a particular frame, then a plosive locator l pl =0 and a plosive index i pl =0 are assigned to that frame to indicate absence of a plosive within that frame. If e m (l)&gt;e th (l) for any subframe within the frame, then that frame&#39;s plosive locator l pl  is assigned a non-zero value, with the plosive locator&#39;s value indicating location of the plosive at a transition point immediately following that one of the subframes within the frame for which e m (l)−e th (l) is greatest; and, that frame&#39;s plosive index i pl  is assigned a non-zero value representing presence of a plosive within that frame.

Description:
TECHNICAL FIELD 
     This invention is directed to linear predictive coding of speech sounds in a manner which more accurately represents the sudden energy variations which characterize unvoiced plosives. 
     BACKGROUND 
     Linear Predictive Coding (LPC) of speech involves estimating the coefficients of a time varying filter (henceforth called a “synthesis filter”) and providing appropriate excitation (input) to that time varying filter. The process is conventionally broken down into two steps known as encoding and decoding. 
     As shown in FIG. 1, in the encoding step, the original speech signal s is first filtered by pre-filter  10 . The pre-filtered speech signal s p  is then analyzed by LPC Analysis block  14  to compute the coefficients of the synthesis filter. Then, an LPC analysis filter  12  is formed, using the same coefficients as the synthesis filter but having an inverse structure. The pre-filtered speech signal s p  is processed by analysis filter  12  to produce a residual output signal u called the “residue”. Information about the filter coefficients and the residue is passed to a decoder (not shown) for use in the decoding step. 
     In the decoding step, a synthesis filter is formed using the coefficients obtained from the encoder. An appropriate excitation signal is applied to the synthesis filter, based on the information about the residue obtained from the encoder. The synthesis filter outputs a synthetic speech signal, which is ideally the closest possible approximation imitation to the original speech signal, s. 
     This invention pertains to the processing of unvoiced plosives in the residue (i.e. the process steps shown in blocks  20 - 28  enclosed within the dashed outline portions of FIG.  1 ). During unvoiced speech, plosives (or stops) in the residue are characterized by sudden variations in energy from one block of speech samples to the next. Prior art linear predictive speech coding techniques have achieved only poor representation of unvoiced plosives. In particular, prior art techniques typically represent unvoiced plosives by interpolating energy variations between relatively few samples spaced relatively far apart. This yields a gradual variation in energy, which does not accurately reflect unvoiced plosives&#39; sudden energy variations. This invention achieves more accurate location and coding of unvoiced plosives in the residue. Information about the location of the start of the sudden energy variation (burst portion of the unvoiced plosive) in the residue is encoded. This enables the decoder to produce a synthetic excitation signal having sudden energy variations during unvoiced plosives, thereby improving the quality of the synthetic speech considerably. 
     SUMMARY OF INVENTION 
     The invention provides a method of encoding signal segments which represent unvoiced plosives. The signal segments to be encoded are contained within a speech signal divided into m=1, . . . , N frames. Each frame is subdivided into l=1, . . . , L subframes. The speech signal has a gain g m (l) within each subframe. 
     In accordance with the invention, an energy measure e m (l) representative of the signal segments&#39; energy content is defined. An energy threshold e th (l) representative of a sudden energy change characteristic of an unvoiced plosive is also defined. For each frame, the energy measure e m (l) and the energy threshold e th (l) are derived for each subframe within that frame. If e m (l)≦e th (l) for each subframe within a particular frame, then a plosive locator l pl =0 and a plosive index i pl =0 are assigned to that frame to indicate absence of a plosive within that frame. If e m (l)&gt;e th (l) for any subframe within the frame, then that frame&#39;s plosive locator l pl  is assigned a non-zero value indicating location of the plosive at a transition point immediately following that one of the subframes within the frame for which e m (l)−e th (l) is greatest; and, that frame&#39;s plosive index i pl  is assigned a non-zero value representing presence of a plosive within that frame. 
     The plosive index i pl ≠0 is assigned as: 
     
       
         if (l pl &lt;L) 
       
     
     
       
          i pl =J(l pl −1)+k k=j if g m (l pl )ε(g level (j−1),g level (j)], j=1, . . . , J 
       
     
     else 
     
       
          i pl =2 K −1 
       
     
     end if 
     where, l pl  is the subframe for which the energy measure exceeds the energy measure threshold, J is the predefined value of the number of levels used in quantizing the gain, g m (l pl ), K=┌log 2 (J(L−1)+2)┐ is the value of the number of bits used in encoding the plosive locator l pl  and g level  is the predefined quantized gain decision level vector. 
     The invention further provides a method of decoding a signal which has been encoded as above. Since the encoder&#39;s gain values are not directly available to the decoder, the encoder provides a quantized gain vector for use by the decoder. In order to minimize the encoded bit rate, the gain of only one subframe is quantized, with the remaining elements of the quantized gain vector being estimated in a manner which ensures reproduction of the sudden energy variations necessary for improved characterization of plosives. 
    
    
     BRIEF DESCRIPTION OF DRAWINGS 
     FIG. 1 is a block diagram representation of an LPC based speech encoding method in which unvoiced plosives are located and coded in accordance with the invention. 
     FIGS. 2A-2E respectively depict detection and location of plosives in an m th  frame having four subframes, for the case in which no plosive exists (FIG.  2 A); and, for cases in which plosives are detected and located at the transitions of: the first and second subframes (FIG.  2 B), the second and third subframes (FIG.  2 C), the third and fourth subframes (FIG.  2 D), and the fourth subframe of the m th  frame and the first subframe of the m+1 th  frame (FIG.  2 E). 
     FIGS. 3A-3D depict determination of plosive index for plosive detection and location cases which correspond to FIGS. 2B-2E respectively. 
     FIGS. 4A-4D depict determination of unvoiced synthetic gain variation for plosive detection and location cases which correspond to FIGS. 2B-2E respectively. 
    
    
     DESCRIPTION 
     1. Introduction 
     The original speech signal, s, is processed one frame at a time. Each “frame” contains N samples of the original speech signal, divided into L subframes. Typical values for these parameters are N=320 and L=4. The pre-filtered signal, s p , is obtained by passing the original speech signal, s, through a pre-processing filter  10 . 
     The residual signal, or “residue”, u, is obtained by passing the pre-filtered signal, s p , through a time-varying all-zero LPC analysis filter  12 . The coefficients of analysis filter  12  are derived by LPC analysis block  14  using techniques which are well known in the art and which need not be described further. 
     The energy variation in each frame, m, is represented by a gain vector, g m ={g m (l): l=1, . . . , L}, which corresponds to the root mean square values of the residual signal (in dBs) over a window (length typically 80-160 samples) centered at sampling instants corresponding to the last sample in each subframe of the frame. 
     A frame class information vector, c, consisting of voicing information for the L subframes in the frame, is provided (FIG. 1, block  16 ) in accordance with techniques known to persons skilled in the art. In particular, each subframe, l=1, . . . , L, is classified as either unvoiced (c(l)=0) or voiced (c(l)=1). l fv  is defined as the position number of the first voiced subframe in the m th  frame. l lv  is defined as the position of the last voiced subframe in the m th  frame. 
     2. Encoding of Plosive Indices 
     During plosives (or stops) the residue exhibits sudden variations in energy from one block of samples to the next. A plosive index, i pl , is defined (FIG. 1, block  22 ) to indicate whether a frame contains an unvoiced plosive or not, and if so, the location of the start of the sudden energy variation (burst portion of the plosive) in the residue. The plosive locator, l pl , is defined (FIG. 1, block  20 ) as the subframe, within the m th  frame, at the end of which the start of the burst portion of the plosive is found. The start of the burst portion of the plosive thus coincides with the boundary of the subframe l pl , and the subsequent subframe. For example, if l pl =1, then the plosive&#39;s sudden energy variation starts at the transition boundary between the first and second subframes, and the energy of the samples in the second subframe must be made significantly larger than the energy of the samples in the first subframe to attain more accurate representation of unvoiced plosives in the decoder. The burst portion of the plosive is located by searching across all contiguous unvoiced subframes. The first contiguous unvoiced subframe is denoted by l start . The last contiguous unvoiced subframe is denoted by l stop . For simplicity, it is assumed that there is at most one plosive within a particular frame. 
     The energy variation in each frame, m, is also represented by an “energy measure” vector, e m ={e m (l): l=1, . . . , L}, which corresponds to a function of the energy of the residual signal over a window centered at sampling instants corresponding to an appropriate sample in each subframe of the frame. In the preferred embodiment of the invention, e m  is equivalent to the gain vector, g m ={g m (l): l=1, . . . , L}. However, many alternative energy measures can be used, one possible example being the “peakiness value” defined by Unno et al:  An Improved Mixed Excitation Linear Prediction  ( MELP )  Coder , Proc. IEEE Intl. Conf. On Acoustic, Speech &amp; Signal Processing, 1999, Vol. 1, pp. 245-248. 
     The plosive locator, l pl , in the m th  frame, is obtained as follows (typically, e thresh =10, a e =1 and b e =1): 
     define e m ( 0 )=e m−1 (L) 
     l pl =0 
     e d   p =0 
     l start =location of first unvoiced subframe 
     l stop =location of last unvoiced subframe 
     for l=l start  to l stop p2 e   th (l)=a e e m (l−1)+b e e thresh    
     e d =e m (l)−e th (l) 
     if(e d &gt;e d   p ) 
     l pl =l 
     e d   p =e d    
     end if 
     end for 
     where, e thresh  is a energy threshold constant value (for example, e thresh =10 dB); and, a e  and b e  are energy measure threshold weight constants. It can thus be seen that plosive detection can be adaptively adjusted to directly compare each subframe&#39;s energy measure to a energy threshold constant value, and/or to take the previous subframe&#39;s energy measure into account. For example, if a e =0 and b e =1, then the energy measure of the previous subframe e m (l−1) is ignored and the energy measure difference e d  is determined by comparing the energy measure e m (l) of the current subframe to the unit-weighted energy threshold constant value e thresh . If a e =1 and b e =0, then the energy measure difference e d  is determined by comparing the energy measure e m (l) of the current subframe to the energy measure e m (l−1) of the previous subframe. By selecting values of a e  and b e  between 0 and 1, one may adjust the comparison to include any desired proportion of e thresh  and/or any desired proportion of the previous subframe&#39;s energy measure. 
     The foregoing technique examines all subframes to detect the “most significant” plosive within each frame, in case more than one subframe within a particular frame happens to satisfy whatever energy variation criteria is defined for plosive identification purposes. Thus, the plosive locator l pl , and the “previous” value e d   p  of the energy measure difference e d  are each initialized at zero. If application of the comparison technique described in the preceding paragraph to a particular frame results in derivation of a value e d &gt;0 for any subframe l within that frame, then the plosive locator l pl  is assigned to that subframe (i.e. l pl =l and the value of e d  becomes the new value of e d   p . If subsequent application of the comparison technique to the same frame results in derivation of another value of e d  which exceeds the previously saved value of e d   p , then the plosive locator is updated by assigning it to the subframe having the new, higher, e d  value; and, that new, higher, value of e d  becomes the new value of e d   p . Consequently, after the comparison technique has been applied to all subframes within the particular frame, e d   p  contains the highest (i.e. “most significant”) energy measure difference for all subframes within the frame; and, the plosive locator l pl  identifies the subframe for which e d   p  has the highest (i.e. “most significant”) energy measure difference value. 
     The technique used to compute the plosive locator, l pl , is illustrated in FIGS. 2A-2E. Each of FIGS. 2A-2E depicts an m th  frame having four subframes. l=0 denotes the last subframe of the previous (i.e. m−1 th ) frame. l=1, l=2, l=3 and l=4 respectively denote the first, second, third and fourth subframes of the m th  frame. e m ( 0 ) denotes the energy measure for the last subframe of the previous (i.e. m−1 th ) frame. e m ( 1 ), e m ( 2 ), e m ( 3 ) and e m ( 4 ) respectively denote the energy measure for subframes l=1, l=2, l=3 and l=4. 
     For purposes of illustration only, FIGS. 2A-2E, assume that the previously described technique is applied by assigning a e =1, b e =1 and e thresh =10 dB, meaning that plosive detection involves a comparison of each subframe&#39;s energy measure to a energy threshold comprising the previous subframe&#39;s energy measure plus a 10 dB energy threshold constant value. FIG. 2A depicts a case in which the energy measure e m (l) does not exceed the energy threshold for any subframe within the m th  frame. Therefore, no plosive exists in the m th  frame depicted in FIG.  2 A. The plosive locator l pl  which is assigned in this case is equal to 0 (i.e. l pl =0). 
     FIG. 2B depicts a case in which the energy measure e m (l) in subframe l=1 exceeds the energy threshold e th (l) by the largest margin amongst all subframes for which the energy measure exceeds the energy threshold. This means that a plosive has been detected and that the plosive is located at the transition from subframe  1  to subframe  2 . The plosive locator l pl  which is assigned in this case is l pl =1. 
     FIG. 2C depicts a case in which the energy measure e m ( 2 ) in subframe l=2 exceeds the energy threshold e th ( 2 ) by the largest margin amongst all subframes for which the energy measure exceeds the energy threshold. This means that a plosive has been detected and that the plosive is located at the transition of subframes  2  and  3 . The plosive locator l pl  which is assigned in this case is l pl =2. 
     FIG. 2D depicts a case in which the energy measure e m ( 3 ) in subframe l=3 exceeds the energy threshold e th ( 3 ) by the largest margin amongst all subframes for which the energy measure exceeds the energy threshold. This means that a plosive has been detected and that the plosive is located at the transition of subframes  3  and  4 . The plosive locator l pl  which is assigned in this case is l pl =3. 
     FIG. 2E depicts a case in which the energy measure e m ( 4 ) in subframe l=4 exceeds the energy threshold e th ( 4 ) by the largest margin amongst all subframes in which the energy measure exceeds the energy threshold. This means that a plosive has been detected and that the plosive is located at the transition of subframe  4  of the m th  frame and the first subframe of the next (i.e. m+1 th ) frame. The plosive locator l pl  which is assigned in this case is l pl =4. 
     In general, if the plosive locator, l pl =0, then no plosive exists within the m th  frame, the plosive index, i pl =0, and any gain variations within that frame can be derived by interpolation techniques. However, if the plosive locator, l pl , is non-zero, then a plosive exists within the m th  frame and the plosive locator, l pl , defines the subframe, within the m th  frame, at the end of which the start of the burst portion of the plosive is found. 
     If a plosive is detected within the m th  frame, (i.e. l pl ≠0), the plosive index, i pl , in the m th  frame, is determined as follows (typically, J=2, K=3, g level ={100, 45, 0}): 
      if (l pl &lt;L) 
     
       
          i pl =J(l pl −1)+k k=j if g m (l pl )ε(g level (j−1),g level (j)], j=1, . . . , J 
       
     
     else 
     
       
          i pl =2 K −1 
       
     
     end if 
     where, J is the number of levels used in quantizing the gain, g m (l pl ), K=┌log 2 (J(L−1)+2)┐ is the number of bits used in encoding the plosive locator l pl  and g level ={g level (j): j=0, . . . , J} is the quantized gain decision level vector used in encoding the gain, g m (l pl ). 
     Each of FIGS. 3A-3D depicts an m th  frame having four subframes. l=0 denotes the last subframe of the previous (i.e. m−1 th ) frame. l=1, l=2, l=3 and l=4 respectively denote the first, second, third and fourth subframes of the m th  frame. g m ( 0 ) denotes the gain for the last subframe of the previous (i.e. m−1 th ) frame. g m ( 1 ), g m ( 2 ), g m ( 3 ) and g m ( 4 ) respectively denote the gain for subframes l=1, l=2, l=3 and l=4. 
     FIGS. 3A-3D depict application of the above plosive index determination procedure for cases corresponding to FIGS. 2B-2E respectively. For example, FIG. 3A depicts the case l pl =1 in which a plosive is detected in subframe  1  and is located at the transition from subframe  1  to subframe  2 . The plosive index i pl  which is assigned in this case is either i pl =1 if the gain g m ( 1 ) at the subframe transition (i.e. the transition from l=1 to l=2) exceeds g level ( 1 ), as defined above; 
     
       
         or, i pl =2 if g m ( 1 )&lt;g level ( 1 ). 
       
     
     FIG. 3B depicts the case l pl =2 in which a plosive is detected in subframe  2  and is located at the transition from subframe  2  to subframe  3 . The plosive index i pl  which is assigned in this case is either i pl =3 if the gain g m ( 2 ) at the subframe transition (i.e. the transition from l=2 to l=3) exceeds g level ( 1 ); or, i pl =4 if g m ( 2 )&lt;g level ( 1 ). 
     FIG. 3C depicts the case l pl =3 in which a plosive is detected in subframe  3  and is located at the transition from subframe  3  to subframe  4 . The plosive index i pl  which is assigned in this case is either i pl =5 if the gain g m ( 3 ) at the subframe transition (i.e. the transition from l=3 to l=4) exceeds g level ( 1 ); or, i pl =6 if g m ( 3 )&lt;g level ( 1 ). 
     FIG. 3D depicts the case l pl =4 in which a plosive is detected in subframe  4  and is located at the transition from subframe  4  of the m th  frame and the first subframe of the next (i.e. m+1 th ) frame. The plosive index i pl  which is assigned in this case is equal to 7 (i.e. i pl =7). 
     In general, if the plosive index, i pl =0, then no plosive exists within the m th  frame, and any gain variations within that frame can be derived by interpolation techniques. However, if the index, i pl , is non-zero, then a plosive exists within the m th  frame. 
     3. Decoding Plosive Locator from Plosive Index 
     If a plosive is detected within the m th  frame, (i.e. i pl ≠0), then the plosive locator, l pl , is obtained (FIG. 1, block  24 ) as follows: 
     
       
         if(i pl &lt;2 K −1 
       
     
     
       
         
           
             
               l 
               pl 
             
             = 
             
               ⌈ 
               
                 
                   i 
                   pl 
                 
                 J 
               
               ⌉ 
             
           
         
                 
         
             
         
      
     
     else 
     
       
          l pl =L 
       
     
     end if 
     The plosive index, i pl , and the plosive locator, l pl , are used to determine the gain variation of the excitation signal from one subframe to the next within the m th  frame, as will now be described. 
     4. Computation of Quantized Frame Gain 
     If a plosive is detected within the m th  frame, (i.e. i pl ≠0), then a quantized frame gain vector (in dBs), g q   m  is computed by the decoder (FIG. 1, block  26 ). More particularly, because the gain vector, g m , is not directly available to the decoder, the gain vector g m  is encoded as g q   m  by the encoder for use by the decoder. In low bit-rate encoding of speech, bits available for encoding the various parameters are at a premium, hence any savings that can be obtained by reducing the number of parameters encoded yield large savings in the encoded bit-rate. One such approach, for frames which contain a plosive, is to quantize any one subframe gain (g m (L) for example) within the frame, using few bits for encoding, and then estimating the remaining elements of the quantized gain vector without using any additional bits to encode the remaining subframe gains, thus reducing the number of parameters encoded and consequently reducing the encoded bit-rate. The purpose of estimating the remaining elements of the gain vector is to ensure sudden energy variation during plosives. 
     In the preferred embodiment of the invention g q   m  is determined as follows, although alternative techniques can be used to ensure sudden energy variation during plosives (typically, g thresh =10, g v     —     offset =3, g u     —     offset =10, g sil =10, g rec ={53, 42}): 
     obtain g q   m (L) by techniques well known in the art (FIG. 1, block  18 ) 
     define g q   m ( 0 )=g q   m−1 (L) 
     
       
         if l pl &lt;L 
       
     
     
       
          g q   m (l pl )=g rec (j)j=i pl  mod J 
       
     
     end if 
     
       
         if l pl &gt;1 
       
     
     
       
          g q   m (l pl −1)=0.5 g q   m ( 0 )+0.5 g sil   
       
     
     
       
         g q   m (l pl −1)=min(g q   m (l pl −1), g q   m (l pl )−g thresh ) 
       
     
      compute g q   m (l) by linearly interpolating between g q   m ( 0 ) and g q   m (l pl −1) for subframes l=1, . . . , l pl −2. 
     end if 
     
       
         if l pl &lt;L−1 
       
     
     
       
          if c(L)=1 
       
     
     
       
         
           
             
               
                 g 
                 q 
                 m 
               
                
               
                 ( 
                 l 
                 ) 
               
             
             = 
             
               { 
               
                 
                   
                     
                       
                         
                           g 
                           q 
                           m 
                         
                          
                         
                           ( 
                           L 
                           ) 
                         
                       
                       - 
                       
                         g 
                         
                           
                             v 
                             - 
                           
                            
                           offset 
                         
                       
                     
                   
                   
                     
                       
                         
                           if 
                            
                           
                               
                           
                            
                           
                             c 
                              
                             
                               ( 
                               l 
                               ) 
                             
                           
                         
                         = 
                         1 
                       
                       , 
                       
                         l 
                         = 
                         
                           
                             l 
                             pl 
                           
                           + 
                           1 
                         
                       
                       , 
                       … 
                        
                       
                           
                       
                       , 
                       
                         L 
                         - 
                         1 
                       
                     
                   
                 
                 
                   
                     
                       
                         
                           g 
                           q 
                           m 
                         
                          
                         
                           ( 
                           L 
                           ) 
                         
                       
                       - 
                       
                         g 
                         
                           
                             u 
                             - 
                           
                            
                           offset 
                         
                       
                     
                   
                   
                     
                       otherwise 
                       , 
                       
                         l 
                         = 
                         
                           
                             l 
                             pl 
                           
                           + 
                           1 
                         
                       
                       , 
                       … 
                        
                       
                           
                       
                       , 
                       
                         L 
                         - 
                         1 
                       
                     
                   
                 
               
             
           
         
                 
         
             
         
      
     
     else 
     
       
          g q   m (l)=g q   m (L) l=l pl +1, . . . , L−1 
       
     
     end if 
     where, g v     —     offset  and g u     —offset    are gain offset values, g sil  is the silence gain value, g rec ={g rec (j): j=1, . . . , J} is the quantized gain reconstruction vector used in encoding the gain, g m (l pl ) and g thresh  is the threshold gain value. The “mod” operation returns the remainder after dividing the first operand by the second operand. 
     The quantized frame gain vector (in dBs), g q   m , can be represented by its linear equivalent, ĝ ; q   m , as, ĝ ; q   m (l)=10 (g     m       q     (l)/20)  l=1, . . . , L 
     5. Computation of Unvoiced Plosive Synthetic Gain 
     In the preferred embodiment of the invention the gain variation, g i , from one sample to another within a frame containing an unvoiced plosive (i pl ≠0), is determined (FIG. 1, block  28 ) as follows, although alternative techniques can be used to ensure sudden energy variation during plosives: 
     
       
         for l=l start  to l stop   
       
     
     
       
          if (l&lt;l pl ) 
       
     
     
       
          g i (n)=a g (n)ĝ ; q   m (l−1)+b g (n)ĝ ; q   m (l−2) n=1, . . . , N/L 
       
     
     
       
         else if (l=l pl ) 
       
     
     
       
         g i (n)=ĝ ; q   m (l−1) n=1, . . . , N/L 
       
     
      else 
     Compute g i  for all samples in subframe by linearly interpolating between ĝ ; q   m (l−1) and ĝ ; q   m (l). 
      end if 
     end 
     where, a g  and b g  are gain interpolation weight vectors used in computing the gain trajectory within subframes prior to subframe l pl . Typically, a g (n)=1 and b g (n)=0 for all values of n. 
     The above synthetic gain variation determination procedure is applied only if a plosive exists within a particular frame. FIGS. 4A-4D depict application of the above synthetic gain variation determination procedure for cases corresponding to FIGS. 2B-2E respectively. For example, FIG. 4A depicts the case l pl =1 in which a plosive is detected in subframe  1  and is located at the transition from subframe  1  to subframe  2  (i.e. i pl =1 or i pl =2, as explained above). The synthetic gain g i  remains constant throughout the first subframe, then increases suddenly (i.e. from ĝ ; q   m ( 0 ) to ĝ ; q   m ( 1 ) at the transition from subframe  1  to subframe  2  to represent the plosive. The gain in the subsequent subframes is then obtained by linear interpolation. In particular, the solid line in FIG. 4A depicts interpolation of the gains for the case in which i pl =1 as described above; and, the dashed line in FIG. 4A depicts interpolation of the gain for the case in which i pl =2. 
     FIG. 4B depicts the case l pl =2 in which a plosive is detected in subframe  2  and is located at the transition from subframe  2  to subframe  3  (i.e. i pl =3 or i pl =4, as explained above). The synthetic gain g i  remains piecewise constant through the first and second subframes, then increases suddenly (i.e. from ĝ ; q   m ( 1 ) to ĝ ; q   m ( 2 ) at the transition from subframe  2  to subframe  3  to represent the plosive. The gain in the subsequent subframes is then obtained by linear interpolation. In particular, the solid line in FIG. 4B depicts interpolation of the gains for the case in which i pl =3; and, the dashed line in FIG. 4B depicts interpolation of the gains for the case in which i pl =4. 
     FIG. 4C depicts the case l pl =3 in which a plosive is detected in subframe  3  and is located at the transition from subframe  3  to subframe  4  (i.e. i pl =5 or i pl =6, as explained above). The synthetic gain g i  remains piecewise constant through the first, second and third subframes, then increases suddenly (i.e. from ĝ ; q   m ( 2 ) to ĝ ; q   m ( 3 )) at the transition from subframe  3  to subframe  4  to represent the plosive. The gain in the fourth subframe is then obtained by linear interpolation. In particular, the solid line in FIG. 4C depicts interpolation of the gains for the case in which i pl =5; and, the dashed line in FIG. 4B depicts interpolation of the gains for the case in which i pl =6. 
     FIG. 4D depicts the case l pl =4 in which a plosive is detected in subframe  4  and is located at the transition from subframe  4  of the m th  frame and the first subframe of the next (i.e. m+1 th ) frame (i.e. i pl =7, as explained above). The synthetic gain g i  remains piece-wise constant through the first, second, third and fourth subframes, then increases suddenly (i.e. from ĝ ; q   m ( 3 ) to ĝ ; q   m ( 4 )) at the transition from subframe  4  to the first subframe of the next (i.e. m+1 th ) frame to represent the plosive. 
     As will be apparent to those skilled in the art in the light of the foregoing disclosure, many alterations and modifications are possible in the practice of this invention without departing from the spirit or scope thereof. For example, as noted above, the energy measure used to detect and locate unvoiced plosives may be obtained in any one of a number of ways which are well known to persons skilled in the art. The same is true in selecting the threshold values used to identify the sudden energy changes characteristic of unvoiced plosives. 
     As a further example, the location of the start of the burst portion of the plosive may be encoded in different ways. Thus, instead of assigning i pl  as having L+1 possible values, one could represent i pl  as having at least J(L−1)+2 different values and implicitly encoding (within the plosive index i pl ) the gain, g m (l pl ), to have one of J possible values. Appropriate values of g level  and g rec  can be selected to provide further variation in the algorithm. 
     Alternative techniques can be used to quantize the frame gain vector. For example, instead of quantizing g m (l pl ) to g q   m (l pl ) as described above, one could alternatively obtain a more accurate quantized gain value at the expense of an increase in encoded bit-rate, by actually encoding independently the gain g m (l pl ) with a few extra bits using techniques well known in the art. Similar procedures could be carried out individually or collectively for the other subframe gains. 
     The gain variation from one sample to another within a frame containing an unvoiced plosive may be determined in a manner different than that outlined above, while preserving the ability to synthesize the sudden energy variations which characterize plosives. Thus, instead of holding the synthetic gain g i  piecewise constant during the subframes prior to the subframe l pl , one could interpolate the prior subframe gains to obtain the synthetic gain. This can be achieved by modifying the gain interpolation weight vectors a g  and b g .