Method of and device for quantizing spectral parameters in digital speech coders

Abstract: A method of and a device for speech signal digital coding are described, where spectral parameters are quantized at each frame in order to exploit the actual correlation inside a frame or between contiguous frames. The quantization devices (DQ) recognize strongly correlated signal periods by using a first set of indexes (j₁), representing the parameters and provided by the spectral analysis circuits (ABT, ALT), and in these periods they convert the same indexes into a second set of indexes (j₄) which can be coded with a lower number of bits and which is inserted into the coded signal in place of the first set.

Description: The present invention relates to digital speech coders, and more particularly it concerns a method and a device for the quantization of spectral parameters in these coders. Speech coding systems allowing obtaining a high quality coded speech at a low bit rate are becoming more and more interesting. A reduction in bit rate allows for example devoting more resources to the redundancy required for protecting information in fixed rate transmissions, or reducing average rate in variable rate transmission. Techniques enabling the attainment of this purpose are particularly the linear prediction coding (LPC) techniques, exploiting speech spectral characteristics. For reducing bit rate it has already been proposed to exploit the correlation existing between certain spectral parameters within a signal frame or between successive signal frames, to avoid transmitting information which can easily be predicted and hence reconstructed at the receiver. Examples of these proposals are described in the paper "Low bit-rate quantization of LSP parameters using two-dimensional differential coding" by Chih-Chung Kuo et al., ICASSP-92, S. Francis-co, USA, 23-26 March 1992, pages I-97 to I-100, and "A long history quantization approach to scalar and vector quantization of LSP coefficients", by C.S. Xideas and K.K.M. So, ICASSP-93, Minneapolis, USA, 27-30 April 1993, pages II-1 to II-4. The first paper is based on linear prediction of the line spectrum pairs within the same frame and between successive frames, so that only prediction residuals are to be quantized and coded. The possibility of scalar or vector quantization of these residuals is provided. The quantization law is fixed, and so it can take into account only an "average" correlation, entailing a limited improvement with respect to the conventional technique. The second paper discloses quantization of a group of parameters related to a certain frame with a codebook comprising the N groups of decoded parameters relevant to the N preceding frames or to a set of N frames extracted from the previous frames, so that only the particular group index is to be transmitted. In this case too scalar or vector quantization can be used. The drawback of this technique is that the use of an adaptive codebook, based on signal decoding results, makes the coder particularly sensitive to channel errors. EP 0 331 858 discloses a multi rate CELP coder comprising cascaded CELP coding stages (in particular two stages), each stage providing respective pairs of codeword address and gain data. Full rate is obtained by multiplexing into a frame the pairs provided by all stages; lower rates are obtained by dropping the pairs provided by the stage or by stages following the first stage. The aim of the invention is to provide a quantization technique, based on a particular signal classification, which uses the actual correlation, and not only the average correlation, and which is scarcely sensitive to channel errors. The invention provides a method of speech signal digital coding, in which the signal is converted into a sequence of digital samples divided into frames of a preset number of samples and is submitted to a spectral analysis for generating at each frame at least a group of spectral parameters which are quantized and transformed into a first set of indexes, which method is characterized in that, during the coding phase, speech frames having a correlation with the previous frame higher than a predetermined threshold are recognized by using said first set of indexes of the present frame and the first set of indexes of the previous frame, and, for these frames, said first set of indexes is converted into a second set which can be coded with a number of bits lower than that necessary for coding the first set, and the second set of indexes is inserted into the coded signal, together with a signalling indicating that conversion has taken place, while for the other frames the first set of indexes is inserted into the coded signal. The invention also provides a device for realizing the method which comprises, on the coding side, means for: recognizing frames in which the speech signal presents a correlation with the previous frame higher than a predetermined threshold, by using said first set of indexes of the present frame and the first set of indexes of the previous frame; converting, for these frames, the first set of indexes into a second set of indexes, which can be coded with a number of bits lower than that necessary for coding the indexes of the first set; and generating and transmitting to a decoder a signalling indicating that conversion has taken place; and means for supplying, in these frames, the means generating the coded signal with the second set of indexes in place of the first one. A preferred embodiment of the invention is now described with reference to the annexed drawings in which: Figure 1 is a schematic diagram of the transmitter of a coder using the invention; Figure 2 is a block diagram of the quantization circuit according to the present invention; and Figure 3 is a diagram of the receiver. Figure 1 shows the transmitter of an LPC coder in the more general case in which short-term and long-term spectral characteristics of speech signal are used. The speech signal generated e.g. by a microphone MF is converted by an analog-to-digital converter AN into a sequence of digital samples x(n), which is then divided into frames with a preset length in a buffer TR. The frames are sent to short-term analysis circuits, schematized by block ABT, which incorporate units for estimation and quantization of short-term spectral parameters and the linear prediction filter which generates the short-term prediction residual signal. Spectral parameters can be linear prediction coefficients, line spectrum pairs (LSP) or any other set of variables representing speech signal short-term spectral characteristics. The type of parameters used and the type of quantization to which they are submitted bears no interest for the present invention; by way of example we will however refer to line spectrum pairs, assuming that 9 or 10 coefficients are generated for a frame of 20 ms and are scalarly quantized. As a result of quantization on a connection 1 there is a first group of indexes j 1 , which can be directly provided to coding units CV or submitted to further processing, as it will be seen later. The short-term prediction residual r(n), present on output 2 of ABT, is provided to long-term analysis circuits ALT, which compute and quantize a second group of parameters (more particularly a lag d, linked to the pitch period, and a coefficient b of long-term prediction) and generate a second group of indexes j 2 , provided to units CV through connection 3. Finally, an excitation generator GE sends to units CV, through connection 4, a third group of indexes j 3 , which represent information related to the excitation signal to be used for the current frame. Units CV emit on connection 5 the coded signal x and (n) containing information about short-term and long-term analysis parameters and about excitation. It is known that under certain conditions, more particularly for highly voiced sounds, spectral characteristics of speech change at a rate that is lower than the frame frequency and the spectral shape may vary very little for several contiguous frames. This results in a slight modification of a few line spectrum pair coefficients. According to the invention this fact is exploited by providing, between short-term analysis circuits ABT and coding units CV, a device DQ for recognizing correlation and for quantizing spectral parameters, which allows the coder to operate in a different mode depending on whether the speech segment presents or not a high short-term correlation. Device DQ uses indexes j 1 for recognizing highly correlated sections and emits on output 6 a flag C which is at 1 for example in case of a correlated signal and which is transmitted also to the receiver. In case of a correlated signal, indexes j 1 are transformed into a group of indexes j 4 , which can be coded with a number of bit lower than that required for coding indexes j 1 and which are presented on connection 7. A multiplexer MX, controlled by flag C, transfers to units CV indexes j 1 if the signal is not correlated, or indexes j 4 if the signal is correlated. More particularly, at each frame, circuit DQ computes the difference between each of the indexes j 1 and the value it had in the previous frame, and sets flag C at 1 if the absolute value of all the differences δ i is lower than a preset threshold s. In a preferred embodiment, |s| = 2. If C is 1, a vector quantization of values δ i , suitably grouped into subsets, is carried out. If P is the number of values δ i in a subset, N = (2s+l) P value combinations exist, and for each subset the index corresponding to the particular combination is transmitted to coding units CV. It must be specified that, for having subsets of equal size, an index corresponding to line spectrum pair coefficient with the highest serial number can be neglected when computing the differences. For example, if 10 indexes j 1 are used, differences are computed only for the first 9. It is however possible to have unequally sized subsets. With reference to the example considered, indexes j 1 are divided into three subsets of 3 indexes each and each of these subsets is represented by a respective index j(4,0), j(4,1), j(4,2). Since the considered interval includes 5 values of the difference, 5 3 =125 terns of values are possible, and each index j 4 can be coded in CV with 7 bits, for a total of 21 bits. It can also be noticed that the 7 bits would allow the coding of 128 value combinations: the three combinations which do not correspond to any possible tern of difference values can be used at the receiver for recognizing transmission errors. By way of comparison, a coder for low bit rate transmissions which does not use the invention, described in the paper "A 5.85 kb/s CELP algorithm for cellular applications", presented by the inventor et al. at ICASSP-93, represents short-term analysis parameters with 10 coefficients, each one coded with 3 bits, and then demands 30 bits per frame. Taking into account that the invention requires the transmission of 1 bit for coding flag C, for speech periods in which the signal can be considered as correlated (according to the evaluation criterion here described) and which make up in the average 40% of a conversation, the invention allows a bit rate reduction, for spectral parameters, greater than 25%. Average bit rate reduction is therefore significant. The use of 9 spectral parameters instead of 10 in these periods does not imply a significant degradation of the coded signal. Figure 2 shows a possible circuit embodiment of DQ, always with reference to the above mentioned numerical example. Indexes j(1,0) to j(1,8), present on lines 10 to 18 (making up all together connection 1) are provided to the positive input of respective subtractors S0...S8, which receive at the negative input the indexes relevant to the previous frame, present on the output of memory elements M0...M8. Differences δ 0 ..δ 8 computed by S0...S8 are supplied to threshold circuits CS0...CS8 which carry out the comparison with thresholds +s and -s and generate an output signal whose logic value indicates whether or not the input value is within the threshold interval. For instance, said signal is 1 if the input value is within the interval. The output signals of CS0...CS8 are then provided to the circuit generating flag C, schematized by AND gate AN, the output of which is connection 6. Differences δ i are sent to vector quantization circuits QV0...QV2, each of which receives three values δ i and emits on output 70...72 one of the indexes j(4,0)...j(4,2). Circuits QV can be realized by read-only memories, addressed by the input value terns. To avoid storage of tables of values, the difference value distribution can be exploited and circuits QV can be realized with only one arithmetical unit which computes the indexes with a simple algorithm. For the sake of simplicity, refer to the table of value terns related to the first three differences: δ 0 δ 1 δ 2 j(4,0) -2 -2 -2 0 -2 -2 -1 1 -2 -2 0 2 -2 -2 +1 3 -2 -2 +2 4 -2 -1 -2 5 +2 +2 +2 124 Considering that values δ 2 are different row by row (except for the periodicity by groups of 5 rows), values δ 1 change every 5 rows, and values δ 0 change every 25 rows, index j(4,0) of a generic tern of values satisfies the relation j(4,0) = 25(δ 0 +2) + 5(δ 1 +2) + (δ 2 +2). Value +2 (i.e. positive threshold value) is added to all values δ i only to make positive all the values, since this facilitates computations. In general, if w = 0, 1, 2 indicates the generic difference subset, the relation exists j(4,w) = 25[δ(0+3w)+2] + 5[δ(1+3w)+2] + [δ(2+3w)+2] which is to be computed at each frame for the three values of w. It is immediate to extend (1) and (2) to the case of subsets with any number P of differences and to any value of |s|. It is also to be noted that certain difference configurations, if scarcely probable, can be neglected, thus increasing the recognition capacity of transmission errors. Figure 3 shows the receiver block diagram. The receiver comprises a filtering system or synthesizer FS which imposes onto an excitation signal long-term and short-term spectral characteristics and generates a decoded digital signal y(n). The parameters representing short-term and long-term spectral characteristics and the excitation are supplied to FS by respective decoders DJ1, DJ2, DJ3 which decode the proper bit groups of the coded signal, present on wire groups 5a, 5b, 5c of connection 5. For reconstructing short-term synthesis parameters, it must be taken into account that information transmitted by the coder is different depending on whether it concerns a highly correlated speech period or not. Decoder DJ1 must therefore receive either directly the information coming from CV (in the case of a non correlated signal) or information processed to take into account the further quantization undergone at the coder in case of a correlated signal. For this purpose, a demultiplexer DM, controlled by flag C, supplies the signals present on wires 5a either on output 50 connected to DJ1 (if C=0) or on output 51 connected to units DJ4 (if C=1) which carry out inverse quantization to that carried out by units QV0 - QV2 (Figure 2) and then reconstruct differences δ i . Depending on the structure of units QV, DJ4 will read the values in suitable tables or will perform the inverse algorithm to that above described. In this second case it is immediate to see that a generic tern of differences is obtained from index j(4,w) according to relations δ(0+3w) = int[j(4,w)·0.04] δ(1+3w) = int{[j(4,w) - 25·δ(0+3w)]·0.2} δ(2+3w) = j(4,w) - 25·δ(0+3w) - 5·δ(1+3w) where "int" indicates the integer part of the quantity in brackets, and multiplications by 0.04 and 0.2 avoid carrying out the divisions by 25 and by 5. Also relations (3) must be computed at each frame for all the terns of values. To the values given by (3) it is to be added -2 (i.e. -s) to take into account the scaling introduced at the coder. Reconstructed differences are added in adders SD to the values of indexes j 1 relevant to the previous frame, present at output of delay elements RT, thereby providing the indexes j 1 relevant to current frame. Outputs of adders SD are then connected to DJ1 through an OR gate PO, connected also to wires 50. It is obvious that what described has been given only by way of non limiting example and that variations and modifications are possible without going out of the scope of the invention as defined by the appended claims. Thus, even if reference has been made to quantization of short-term analysis parameters, the invention can be applied as an alternative or in addition to other types of parameters, in particular to those of long-term analysis, even if in these ones the correlations are less important and the advantages are therefore less marked. Furthermore, the difference quantization tables may be different for the various groups of differences. The particular quantization of speech periods with a high correlation can also be used in coders in which different coding strategies are provided depending on whether the sound is voiced or unvoiced.

Claims: A method of speech signal digital coding, in which the signal is converted into a sequence of digital samples divided into frames of a preset number of samples and is submitted to a spectral analysis for generating at each frame at least a group of spectral parameters which are quantized and transformed into a first set of indexes (j 1 ), characterized in that, during the coding phase, speech frames having a correlation with the previous frame higher than a predetermined threshold are recognized by using the first set of indexes (j 1 ) of the present frame and the first set of indexes of the previous frame, and, for these frames, said first set of indexes (j 1 ) is converted into a second set (j 4 ) which can be coded with a number of bits lower than that necessary for coding the first set, and the second set of indexes (j 4 ) is inserted into the coded signal, together with a signalling indicating that conversion has taken place, while for the other frames the first set of indexes is inserted into the coded signal. A method according to claim 1, characterized in that the differences are computed between the indexes (j 1 ) of the first set generated for the current frame and those generated at the previous frame; the absolute values of said differences are compared with the threshold; a flag (C) is generated constituting said signalling and having a preset logic value, which indicates the higher-than-threshold correlation frames, when all absolute values lie in an interval of values limited by the threshold; and, for the higher-than-threshold correlation frames, these differences are divided into groups and vector quantization of the individual groups is carried out, generating the second set of indexes (j 4 ). A method according to claim 1 or 2, characterized in that said spectral parameters are at least the representative parameters of speech signal short-term correlation. A method according to any of the preceding claims, characterized in that the indexes (j 4 ) of the second set are directly computed at each frame, starting from the difference values in each group, without storing quantization tables. A method according to claim 2 or claims 3 or 4 if referred to claim 2, comprising a decoding phase in which said spectral parameters are reconstructed and the reconstructed parameters are supplied to units synthesizing a decoded signal, characterized in that the spectral parameters are directly reconstructed starting from the coded signal received if said flag (C) has a logic value complementary to the preset value and, if the flag (C) has the preset logic value, the received signal is submitted to an inverse quantization for reconstructing the differences between the indexes representative of the parameters relevant to the current frame and to the previous frame, and the first set of indexes is reconstructed starting from these differences. A device for speech signal digital coding, comprising means (AN, TR) for converting the speech signal into a sequence of digital samples and for dividing the sequence into frames comprising a preset number of samples, means (ABT, ALT) for the spectral analysis of the speech signal to be coded and the quantization of the parameters obtained as the result of the analysis, which means generate at each frame at least a first set of indexes (j 1 ) representing the value of the parameters in that frame, and means (CV) for generating a coded signal containing information relevant to said parameters, characterized in that it comprises, on the coding side: means (DQ) for: recognizing frames in which the speech signal presents a correlation with the previous frame higher than a predetermined threshold, by using the first set of indexes (j 1 ) of the present frame and the first set of indexes of the previous frame; converting, for these frames, the first set of indexes (j 1 ) into a second set of indexes (j 4 ), which can be coded with a number of bits lower than that necessary for coding the indexes of the first set; and generating and transmitting to a decoder a signalling indicating that conversion has taken place; and means (MX) for supplying, in these frames, the means (CV) generating the coded signal with the second set of indexes in place of the first one. A device according to claim 6, characterized in that the means (DQ) for recognizing frames with a higher-than-threshold correlation comprise: means (S0...S8) for computing the values of the differences between each index of the first set (j 1 ) and the value assumed by the same index at the previous frame; means (CS0...CS8) for comparing the absolute value of each difference with the threshold and generating signals the logic value of which indicates whether the absolute value has exceeded the threshold or not; means (AN), receiving the signals generated by the comparison means and emitting a flag which has a preset logic value when all output signals of the comparison means have the same logic value indicating that the threshold has not been exceeded, said flag being inserted into the coded signal and making up said signalling; means (QV0...QV2), enabled by said flag when it has the preset logic value, for vector quantization of groups of differences, generating the aforesaid second set of indexes. A device according to claim 7, characterized in that the vector quantization means (QV0...QV2) are made up of a single computing unit which directly computes the index representing the individual difference groups starting from the input values, without storing quantization tables. A device according to any of the claims from 6 to 8, characterized in that it comprises, on the decoding side, means (DM), controlled by said flag, which supply the coded information relevant to said parameters either to units (DJ4, RT, SD) for reconstructing the first set of indexes (j 1 ) and supplying the reconstructed set to units (DJ1) for parameter reconstruction, if said flag presents the preset logic value, or directly to the units (DJ1) for parameter reconstruction, if the flag presents the logic value complementary to the preset one. A device according to claim 9, characterized in that the units (DJ4, RT, SD) reconstructing the first set of indexes comprise means (DJ4) for reconstructing the differences between the indexes of the first set relevant to the current frame and to the previous frame, and means (SD, RT) for storing said indexes relevant to the previous frame and adding them to the reconstructed differences, for reconstructing the indexes of the first set relevant to the current frame. A device according to any of claims from 6 to 10, characterized in that the spectral analysis means are means for short-term analysis of a linear prediction coder.

Inventors: SERENO DANIELE, SERENO, DANIELE
Applicants: TELECOM ITALIA SPA, TELECOM ITALIA S.P.A.
Application year: 1994
Main classification: G10L9
IPC codes: G10L19