Patent Publication Number: US-7716045-B2

Title: Method for quantifying an ultra low-rate speech coder

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
   The present Application is based on International Application No. PCT/EP2005/051661, filed on Apr. 14, 2005, which in turn corresponds to France Application No. 04/04105 filed on Apr. 19, 2004, and priority is hereby claimed under 35 USC §119 based on these applications. Each of these applications are hereby incorporated by reference in their entirety into the present application. 
   BACKGROUND OF THE INVENTION 
   Field of the Invention 
   The invention relates to a method of coding speech. It applies in particular to the realization of vocoders with very low bit rate, of the order of 600 bits per second. 
   It is used for example for the MELP coder (Mixed Excitation Linear Prediction coder), described for example in one of the references [1,2,3,4]. 
   The method is for example implemented in communications by satellite, telephone over the Internet, static responders, voice pagers, etc. 
   The objective of these vocoders is to reconstruct a signal which is as close as possible, in the sense of perception by the human ear, to the original speech signal, using the lowest possible binary bit rate. 
   To attain this objective, most vocoders use a totally parametrized model of the speech signal. The parameters used relate to: the voicing which describes the harmonic character of the voiced sounds or the stochastic character of the unvoiced sounds, the fundamental frequency of the voiced sounds also known by the term “PITCH”, the temporal evolution of the energy as well as the spectral envelope of the signal for exciting and parametrizing the synthesis filters. 
   In the case of the MELP coder, the spectral parameters used are the LSF coefficients (Line Spectral Frequencies) derived from an analysis by linear prediction, LPC (Linear Predictive Coding). The analysis is done for a conventional bit rate of 2400 bit/sec every 22.5 ms. 
   The additional information extracted during the modeling is:
         the fundamental frequency or pitch,   the gains,   the sub-band voicing information,   the Fourier coefficients calculated on the residual signal after linear prediction.       

   The document by ULPU SINERVO et al. discloses a procedure making it possible to quantize the spectral coefficients. In the procedure proposed, a multi-frame matrix quantizer is used to exploit the correlation between the LSF parameters of adjacent frames. 
   The document by STACHURSKI relates to a coding technique for bit rates of about 4 kbits/s. The coding technique uses an MELP model in which the complex coefficients are used in the speech synthesis. In this document the significance of the parameters is analyzed. 
   The object of the present invention is, in particular, to extend the MELP model to the bit rate of 600 bits/sec. The parameters employed are for example, the pitch, the LSF spectral coefficients, the gains and the voicing. The frames are grouped for example into a superframe of 90 ms, that is to say 4 consecutive frames of 22.5 ms of the initial scheme (scheme customarily used). 
   A bit rate of 600 bits/sec is obtained on the basis of an optimization of the quantization scheme for the various parameters (pitch, LSF coefficient, gain, voicing). 
   SUMMARY OF THE INVENTION 
   The invention relates to a method of coding and decoding speech for voice communications using a vocoder with very low bit rate comprising an analysis part for the coding and the transmission of the parameters of the speech signal, such as the voicing information per sub-band, the pitch, the gains, the LSF spectral parameters and a synthesis part for the reception and the decoding of the parameters transmitted and the reconstruction of the speech signal. It is characterized in that it comprises at least the following steps:
         grouping together the voicing parameters, pitch, gains, LSF coefficients over N consecutive frames to form a superframe,   performing a vector quantization of the voicing information for each superframe by formulating a classification using the information on the chaining in terms of voicing existing over a sub-multiple of N consecutive elementary frames, the voicing information makes it possible specifically to identify classes of sounds for which the allocation of the bit rate and the associated dictionaries will be optimized,   coding the pitch, the gains and the LSF coefficients by using the classification obtained.       

   The classification is for example formulated by using the information on the chaining in terms of voicing existing over 2 consecutive elementary frames. 
   The method according to the invention makes it possible advantageously to offer reliable coding for low bit rates. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Other characteristics and advantages of the present invention will be more apparent on reading the description of an exemplary embodiment given by way of illustration, with appended figures which represent: 
       FIG. 1  a general diagram of the method according to the invention for the coder part, 
       FIG. 2  the functional diagram of the vector quantization of the voicing information, 
       FIGS. 3 and 4  the functional diagram of the vector quantization of the pitch, 
       FIG. 5  the functional diagram of the vector quantization of the spectral parameters (LSF coefficients), 
       FIG. 6  the functional diagram of multi-stage vector quantization, 
       FIG. 7  the functional diagram of the vector quantization of the gains, 
       FIG. 8  a diagram applied to the decoder part. 
   

   DETAILED DESCRIPTION OF THE DRAWINGS 
   The example detailed hereafter, by way of wholly nonlimiting illustration, relates to an MELP coder suitable for the bit rate of 600 bits/sec. 
   The method according to the invention pertains notably to the encoding of the parameters which make it possible to best reproduce all the complexity of the speech signal, with a minimum of bit rate. The parameters employed are for example: the pitch, the LSF spectral coefficients, the gains and the voicing. The method notably calls upon a procedure of vector quantization with classification. 
     FIG. 1  diagrammatically shows globally the various implementations at the level of a speech coder. The method according to the invention proceeds in 7 main steps. 
   Step of Analysis of the Speech Signal 
   Step 1 analyzes the signal by means of an algorithm of the MELP type known to the person skilled in the art. In the MELP model, a voicing decision is taken for each frame of 22.5 ms and for 5 predefined frequency sub-bands. 
   Step of Grouping of the Parameters 
   For step 2, the method groups together the selected parameters: voicing, pitch, gains and LSF coefficients over N consecutive frames of 22.5 ms so as to form a superframe of 90 ms. The value N=4 is chosen for example so as to form a compromise between the possible reduction of the binary bit rate and the delay introduced by the quantization method (compatible with the current interleaving and error corrector coding techniques). 
   Step of Quantization of the Voicing Information—Detailed in  FIG. 2   
   At the horizon of a superframe, the voicing information is therefore represented by a matrix with binary components (0: unvoiced; 1: voiced) of size (5*4), 5 MELP sub-bands, 4 frames. 
   The method uses a vector quantization procedure on n bits, with for example n=5. The distance used is a Euclidean distance weighted so as to favor the bands situated at low frequencies. We use for example as weighting vector [1.0; 1.0; 0.7; 0.4; 0.1]. 
   The quantized voicing information makes it possible to identify classes of sounds for which the allocation of the bit rate and the associated dictionaries will be optimized. This voicing information is thereafter implemented for the vector quantization of the spectral parameters and of the gains with preclassification. 
   The method can comprise a step of applying constraints. During the training phase, the method for example calls upon the following 4 vectors [0,0,0,0,0], [1,0,0,0,0], [1,1,1,0,0], [1,1,1,1,1] indicating the voicing from the low band to the high band. Each column of the voicing matrix, associated with the voicing of one of the 4 frames constituting the superframe, is compared with each of these 4 vectors, and replaced by the closest vector for the training of the dictionary. 
   During the coding, the same constraint is applied (choice of the above 4 vectors) and the vector quantization QV is carried out by applying the dictionary found previously. The voicing indices are thus obtained. 
   In the case of the MELP model, the voicing information forming part of the parameters to be transmitted, the classification information is therefore available at the level of the decoder without cost overhead in terms of bit rate. 
   As a function of the quantized voicing information, dictionaries are optimized. For this purpose the method defines for example 6 voicing classes over a horizon of 2 elementary frames. The classification is for example determined by using the information on the chaining in terms of voicing existing over a sub-multiple of N consecutive elementary frames, for example over 2 consecutive elementary frames. 
   Each superframe is therefore represented over 2 voicing classes. The 6 voicing classes thus defined are for example: 
   
     
       
         
             
             
           
             
                 
             
             
               Class 
               Characteristics of the class 
             
             
                 
             
           
          
             
                 
             
          
         
         
             
             
             
          
             
               1 st  class 
               UU 
               Two consecutive unvoiced frames 
             
             
               2 nd  class 
               UV 
               An unvoiced frame followed by a voiced frame 
             
             
               3 rd  class 
               VU 
               A voiced frame followed by an unvoiced frame 
             
             
               4 th  class 
               VV 1   
               Two consecutive voiced frames, with at least one 
             
             
                 
                 
               weak voicing frame (1, 0, 0, 0, 0), the other frame 
             
             
                 
                 
               being of greater or equal voicing 
             
             
               5 th  class 
               VV 2   
               Two consecutive voiced frames, with at least one 
             
             
                 
                 
               mean voicing frame (1, 1, 1, 0, 0), the other frame 
             
             
                 
                 
               being of greater or equal voicing 
             
             
               6 th  class 
               VV 3   
               Two consecutive voiced frames, where each of the 
             
             
                 
                 
               frames is strongly voiced, that is to say where only 
             
             
                 
                 
               the last sub-band may be unvoiced (1, 1, 1, 1, x) 
             
             
                 
             
          
         
       
     
   
   A dictionary is optimized for each voicing level. The dictionaries obtained are estimated in this case over a horizon of 2 elementary frames. 
   The vectors obtained are therefore of size 20=2*10 LSF coefficients, according to the order of the analysis by linear prediction in the initial MELP model. 
   Step of Definition of the Quantization Modes, Detailed in  FIG. 1   
   On the basis of these various quantization classes, the method defines 6 quantization modes determined according to the chaining of the voicing classes: 
   
     
       
         
             
             
             
           
             
                 
                 
             
             
                 
               Mode 
               Chaining of the classes 
             
             
                 
                 
             
           
          
             
                 
               1 st  mode 
               Unvoiced classes (UU) 
             
             
                 
               2 nd  mode 
               Unvoiced class (UU) and mixed class (UV, VU) 
             
             
                 
               3 rd  mode 
               Mixed classes (UV, VU) 
             
             
                 
               4 th  mode 
               Voiced classes (VV) and unvoiced classes (UU) 
             
             
                 
               5 th  mode 
               Voiced classes (VV) and mixed classes (UV, VU) 
             
             
                 
               6 th  mode 
               Voiced classes (VV) 
             
             
                 
                 
             
          
         
       
     
   
   Table 1 groups together the various quantization modes as a function of the voicing class and table 2 the voicing information for each of the 6 quantization modes. 
   
     
       
         
             
             
             
             
             
           
             
                 
               TABLE 1 
             
             
                 
                 
             
             
                 
               Class 1: 
               Class 2: 
               Class 3: 
               Class 4, 
             
             
                 
               UU 
               UV 
               VU 
               5, 6: VV 
             
             
                 
                 
             
           
          
             
                 
             
          
         
         
             
             
             
             
             
          
             
               Class 1: UU 
               1 
               2 
               2 
               4 
             
             
               Class 2: UV 
               2 
               3 
               3 
               5 
             
             
               Class 3: VU 
               2 
               3 
               3 
               5 
             
             
               Class 4, 5, 6: VV 
               4 
               5 
               5 
               6 
             
             
                 
             
          
         
       
     
   
   
     
       
         
             
             
           
             
                 
               TABLE 2 
             
             
                 
                 
             
             
                 
               Voicing information 
             
             
                 
                 
             
           
          
             
                 
             
          
         
         
             
             
             
          
             
                 
               Mode 1 
               (UU|UU) 
             
             
                 
               Mode 2 
               (UU|UV), (UU|VU), (UV|UU), (VU|UU) 
             
             
                 
               Mode 3 
               (UV|UV), (UV|VU), (VU|UV), (VU|VU) 
             
             
                 
               Mode 4 
               (VV|UU), (UU|VV) 
             
             
                 
               Mode 5 
               (VV|UV), (VV|VU), (UV|VV), (VU|VV) 
             
             
                 
               Mode 6 
               (VV|VV) 
             
             
                 
                 
             
          
         
       
     
   
   In order to limit the size of the dictionaries and to reduce the search complexity, the method implements a quantization procedure of multi-stage type, such as the procedure MSVQ (Multi Stage Vector Quantization) known to the person skilled in the art. 
   In the example given, a superframe consists of 4 vectors of 10 LSF coefficients and the vector quantization is applied for each grouping of 2 elementary frames (2 sub-vectors of 20 coefficients). 
   There are therefore at least 2 multi-stage vector quantizations whose dictionaries are deduced from the classification (table 1). 
   Step of Quantization of the Pitch,  FIGS. 3 and 4   
   The pitch is quantized in a different manner according to the mode.
         In the case of mode 1 (unvoiced, number of voiced frames equal to 0), no pitch information is transmitted.   In the case of mode 2, a single frame is regarded as voiced and identified by the voicing information. The pitch is then represented on 6 bits (scalar quantization of the pitch period after logarithmic compression).   In the other modes:
           5 bits are used to transmit a pitch value (scalar quantization of the pitch period after logarithmic compression),   2 bits are used to position the pitch value on one of the 4 frames   1 bit is used to characterize the evolution profile.   
               

     FIG. 4  shows diagrammatically the profile of evolution of the pitch. The pitch value transmitted, its position and the evolution profile are determined by minimizing a least squares criterion over the pitch trajectory estimated in the analysis. The trajectories considered are obtained for example by linear interpolation between the last pitch value of the preceding superframe and the pitch value which will be transmitted. If the pitch value transmitted is not positioned on the last frame, the indicator of the evolution profile makes it possible to complete the trajectory either by keeping the value attained, or by returning to the value of “initial pitch” (the last pitch value of the preceding superframe). The whole set of positions is considered, as well as all the pitch values lying between the quantized pitch value immediately lower than the minimum pitch estimated over the superframe and the quantized pitch value immediately greater than the maximum pitch estimated over the superframe. 
   Step of Quantization of the Spectral Parameters, of the LSF Coefficients, Detailed in  FIGS. 5 ,  6   
   Table 3 gives the allocation of the bit rate for the spectral parameters for each of the quantization modes. The distribution of the bit rate for each stage is given between parentheses. 
   
     
       
         
             
             
             
           
             
                 
               TABLE 3 
             
             
                 
                 
             
             
                 
               Quantization mode 
               Allocation of bit rate (MSVQ) 
             
             
                 
                 
             
           
          
             
                 
               Mode 1 
               (6, 4, 4, 4) + (6, 4, 4, 4) = 36 bits 
             
             
                 
               Mode 2 
               (6, 4, 4) + (7, 5, 4) = 30 bits 
             
             
                 
               Mode 3 
               (6, 5, 4) + (6, 5, 4) = 30 bits 
             
             
                 
               Mode 4 
               (6, 4, 4) + (7, 5, 4) = 30 bits 
             
             
                 
               Mode 5 
               (6, 5, 4) + (6, 5, 4) = 30 bits 
             
             
                 
               Mode 6 
               (7, 5, 4) + (7, 5, 4) = 32 bits 
             
             
                 
                 
             
          
         
       
     
   
   In each of the 6 modes, the bit rate is allocated by priority to the greater voicing class, the concept of greater voicing corresponding to a greater or equal number of voiced sub-bands. 
   For example, in mode 4, the two consecutive unvoiced frames will be represented on the basis of the dictionary (6, 4, 4) while the two consecutive voiced frames will be represented by the dictionary (7, 5, 4). In mode 2 the two mixed consecutive frames are represented by the dictionary (7,5,4) and the two consecutive unvoiced frames by the dictionary (6,4,4). 
   Table 4 groups together the memory size associated with the dictionaries. 
                                   TABLE 4                       MSVQ   Number of           Class   Mode   type   vectors   Memory size                  UU   Mode   MSVQ   (64 + 16 +   2240 words           1   (6, 4, 4, 4)   16 + 16)       UU   Modes   MSVQ   Included in   0           2, 4   (6, 4, 4)   (6, 4, 4, 4)       UV   Mode   MSVQ   (128 + 32 +   3520 words           2   (7, 5, 4)   16)       UV   Mode   MSVQ   (64 + 32 +   2240 words           3, 5   (6, 5, 4)   16)       VU   Mode   MSVQ   (128 + 32 +   3520 words           2   (7, 5, 4)   16)       VU   Mode   MSVQ   (64 + 32 +   2240 words           3, 5   (6, 5, 4)   16)       VV   Mode   MSVQ   (128 + 32 +   10 560 words            4, 6   (7, 5, 4)   16) * 3       VV   Mode   MSVQ   (64 + 32 +   6720 words           5   (6, 5, 4)   16) * 3                           TOTAL =                       31 040 words                     
Step of Quantization of the Gain Parameter, Detailed in  FIG. 7   
   A vector of m gains with m=8 is for example calculated for each superframe (2 gains per frame of 22.5 ms, scheme used customarily for the MELP). m can take any value, and is used to limit the complexity of the search for the best vector in the dictionary. 
   The method uses a vector quantization with preclassification. Table 5 groups together the bit rates and the memory size associated with the dictionaries. 
   The method calculates the gains, then it groups together the gains over N frames, with N=4 in this example. It thereafter uses the vector quantization and the predefined classification mode (on the basis of the voicing information) to obtain the indices associated with the gains. The indices being thereafter transmitted to the decoder part of the system. 
                                   TABLE 5                   Allocation                       of MSVQ/VQ   MSVQ   Number of       Mode   bit rate   type   vectors   Memory size                  Modes   (7, 6) = 13 bits   MSVQ   (128 + 64)   1536 words       1, 2       (7, 6)       Modes   (6, 5) = 11 bits   MSVQ    (64 + 32)    768 words       3, 4, 5       (6, 5)       Mode 6   (9) = 9 bits   VQ   512   4096 words               (9)                               TOTAL =                       6400 words                    
The abbreviation VQ corresponds to vector quantization and MSVQ multi-stage vector quantization procedure.
 
Evaluation of the Bit Rate
 
   Table 6 groups together the allocation of the bit rate for the realization of the 600 bit/sec speech coder of MELP type a superframe of 54 bits (90 ms). 
   
     
       
         
             
             
             
             
             
           
             
               TABLE 6 
             
             
                 
             
             
               Mode 
               Voicing 
               LSF 
               Pitch 
               Gain 
             
             
                 
             
           
          
             
               1 
               5 bits 
               (6, 4, 4, 4) + (6, 4, 4, 4) 
               0 
               (7, 6) 
             
             
               (54 bits) 
                 
               32 bits 
                 
               13 bits 
             
             
               2 
               5 bits 
               (6, 4, 4) + (7, 5, 4) 30 bits 
               6 bits 
               (7, 6) 
             
             
               (54 bits) 
                 
                 
                 
               13 bits 
             
             
               3 
               5 bits 
               (6, 5, 4) + (6, 5, 4) 30 bits 
               8 bits 
               (6, 5) 
             
             
               (54 bits) 
                 
                 
                 
               11 bits 
             
             
               4 
               5 bits 
               (6, 4, 4) + (7, 5, 4) 30 bits 
               8 bits 
               (6, 5) 
             
             
               (54 bits) 
                 
                 
                 
               11 bits 
             
             
               5 
               5 bits 
               (6, 5, 4) + (6, 5, 4) 30 bits 
               8 bits 
               (6, 5) 
             
             
               (54 bits) 
                 
                 
                 
               11 bits 
             
             
               6 
               5 bits 
               (7, 5, 4) + (7, 5, 4) 32 bits 
               8 bits 
                9 bits 
             
             
               (54 bits) 
             
             
                 
             
          
         
       
     
   
     FIG. 8  represents the scheme at the level of the decoding part of the vocoder. The voicing index transmitted by the coder part is used to generate the quantization modes. The indices of voicing, of quantization of the pitch, of the gains and of the LSF spectral parameters transmitted by the coder part are de-quantized using the quantization modes obtained. The various steps are performed according to a scheme similar to that described for the coder part of the system. The various de-quantized parameters are thereafter grouped together before being transmitted to the synthesis part of the decoder so as to retrieve the speech signal.