Method for quantifying an ultra low-rate speech coder

Information

  • Patent Grant
  • 7716045
  • Patent Number
    7,716,045
  • Date Filed
    Thursday, April 14, 2005
    19 years ago
  • Date Issued
    Tuesday, May 11, 2010
    14 years ago
  • Inventors
  • Original Assignees
  • Examiners
    • Opsasnick; Michael N
    Agents
    • Lowe Hauptman Ham & Berner, LLP
Abstract
A method of coding and decoding speech for voice communications using a vocoder with very low bit rate includes an analysis part for the coding and the transmission of the parameters of the speech signal and a synthesis part for the reception and the decoding of the parameters transmitted and the reconstruction of the speech signal. The method comprises: grouping together the voicing parameters, pitch, gains, LSF coefficients over N consecutive frames to form a superframe, and performing a vector quantization of the voicing information in the course of each superframe by formulating a classification using the information on the chaining in terms of voicing existing over 2 consecutive elementary frames.
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

















1st class
UU
Two consecutive unvoiced frames


2nd class
UV
An unvoiced frame followed by a voiced frame


3rd class
VU
A voiced frame followed by an unvoiced frame


4th class
VV1
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


5th class
VV2
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


6th class
VV3
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









1st mode
Unvoiced classes (UU)



2nd mode
Unvoiced class (UU) and mixed class (UV, VU)



3rd mode
Mixed classes (UV, VU)



4th mode
Voiced classes (VV) and unvoiced classes (UU)



5th mode
Voiced classes (VV) and mixed classes (UV, VU)



6th 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.

Claims
  • 1. 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 comprising executing the following steps on an audio processor: 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,the classification is performed on voicing classes over a horizon of 2 elementary frames,the classes are 6 in number and include: a 1st class comprising two consecutive unvoiced frames (UU);a 2nd class comprising an unvoiced frame followed by a voiced frame (UV);a 3rd class comprising a voiced frame followed by an unvoiced frame (VU);a 4th class comprising two consecutive voiced frames with at least one weak voicing frame and the other frame being of greater or equal voicing (VV4);a 5th class comprising two consecutive voiced framed with at least one mean voicing frame and the other frame being of greater or equal voicing (VV2); anda 6th class comprising two consecutive voiced frames wherein each of the frames is strongly voiced and only a last sub band may be unvoiced (VV3);coding the pitch, the gains and the LSF coefficients by using the classification obtained.
  • 2. The method as claimed in claim 1, wherein it uses a quantization procedure of multi-stage type to limit the size of the dictionaries and reduce the search complexity.
  • 3. The method as claimed in claim 1, wherein to quantize the LSF spectral parameters, the bit rate is allocated by priority to the greater voicing class.
  • 4. The use of the method as claimed in claim 1 with a 600 bits/s speech coder of MELP type.
  • 5. The method as claimed in claim 1, wherein to quantize the gain parameter a vector of at least 8 gains is calculated for each superframe.
  • 6. The method as claimed in claim 5, wherein the modes and the bit rates allocation (MSVQ/VQ) are as follows: modes 1 and 2 have 13 bits allocated as (7,6);modes 3-5 have 13 bits allocated as (6,5); andmode 6 has 9 bits allocated as (9).
  • 7. The method as claimed in claim 1, wherein for the quantization of the pitch, it comprises at least the following steps: if all the frames are unvoiced, no pitch information is transmitted,if a frame is voiced, its position is identified by the voicing information and its value is coded,if the number of voiced frames is greater than or equal to 2, a pitch value is transmitted, the pitch value is positioned on one of the N frames, the evolution profile is characterized.
  • 8. The method as claimed in claim 7, wherein the pitch value transmitted, its position and the evolution profile are determined by using a least squares criterion over the pitch trajectory estimated in the analysis.
  • 9. The method as claimed in claim 8, wherein the trajectories are determined 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, then the trajectory is completed by keeping the value attained or else by returning to the last pitch value of the preceding superframe.
  • 10. The method as claimed in claim 1, wherein it defines 6 quantization modes according to the chaining of the voicing classes.
  • 11. The method as claimed in claim 10, wherein it uses a quantization procedure of multi-stage type to limit the size of the dictionaries and reduce the search complexity.
  • 12. The method as claimed in claim 10, wherein it uses a quantization procedure of multi-stage type to limit the size of the dictionaries and reduce the search complexity.
  • 13. The method as claimed in claim 10, wherein N=4 and the quantization modes include six modes comprising: mode 1 defined as (UU|UU);mode 2 defined as (UU|UV), (UU|VU), (UV|UU), (VU|UU);mode 3 defined as (UV|UV), (UV|VU), (VU|UV), (VU|VU);mode 4 defined as (VV|UU), (UU|VV);mode 5 defined as (VV|UV), (VV|VU), (UV|VV), (VU|VV); andmode 6 defined as (VV|VV).
  • 14. The method as claimed in claim 13, wherein Multi Stage Vector Quantization (MSVQ) of the bit rate for each of the quantization modes includes: a quantization mode 1 that allocates 36 bits as (6,4,4,4)+(6,4,4,4);a quantization mode 2 that allocates 30 bits as (6,4,4)+(7,5,4);a quantization mode 3 that allocates 30 bits as (6,5,4)+(6,5,4);a quantization mode 4 that allocates 30 bits as (6,4,4)+(7,5,4);a quantization mode 5 that allocates 30 bits as (6,5,4)+(6,5,4); anda quantization mode 6 that allocates 32 bits as (7,5,4)+(7,5,4).
Priority Claims (1)
Number Date Country Kind
04 04105 Apr 2004 FR national
PCT Information
Filing Document Filing Date Country Kind 371c Date
PCT/EP2005/051661 4/14/2005 WO 00 10/18/2006
Publishing Document Publishing Date Country Kind
WO2005/114653 12/1/2005 WO A
US Referenced Citations (9)
Number Name Date Kind
5806027 George et al. Sep 1998 A
5890108 Yeldener Mar 1999 A
6081776 Grabb et al. Jun 2000 A
6134520 Ravishankar Oct 2000 A
6263307 Arslan et al. Jul 2001 B1
6377915 Sasaki Apr 2002 B1
6475145 Baylor Nov 2002 B1
7286982 Gersho et al. Oct 2007 B2
7315815 Gersho et al. Jan 2008 B1
Related Publications (1)
Number Date Country
20070219789 A1 Sep 2007 US