CA1202419A - Speech encoder - Google Patents
Speech encoderInfo
- Publication number
- CA1202419A CA1202419A CA000449198A CA449198A CA1202419A CA 1202419 A CA1202419 A CA 1202419A CA 000449198 A CA000449198 A CA 000449198A CA 449198 A CA449198 A CA 449198A CA 1202419 A CA1202419 A CA 1202419A
- Authority
- CA
- Canada
- Prior art keywords
- signal
- speech
- filter
- weighting
- encoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 230000005284 excitation Effects 0.000 claims abstract description 28
- 230000001755 vocal effect Effects 0.000 claims description 7
- 238000005311 autocorrelation function Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 9
- 230000002596 correlated effect Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 6
- 238000010079 rubber tapping Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005534 acoustic noise Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- SAPNXPWPAUFAJU-UHFFFAOYSA-N lofepramine Chemical compound C12=CC=CC=C2CCC2=CC=CC=C2N1CCCN(C)CC(=O)C1=CC=C(Cl)C=C1 SAPNXPWPAUFAJU-UHFFFAOYSA-N 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
ABSTRACT OF THE DISCLOSURE
The invention relates to a speech encoder using linear predictive coding and proposes a code comprising the parameters of a linear predictor and an excitation signal consisting of a plurality of pulses of which the timing and the amplitude is selected for each frame of speech.
To enable the excitation signal pulses for the recursive filter to be evaluated in real time, the speech signal is passed through a pole-zero filter 38 to suppress the effects of reverberations and the output of the filter 38 is correlated with the time weighted impulse response of the recursive filter with the encoded parameters.
The invention relates to a speech encoder using linear predictive coding and proposes a code comprising the parameters of a linear predictor and an excitation signal consisting of a plurality of pulses of which the timing and the amplitude is selected for each frame of speech.
To enable the excitation signal pulses for the recursive filter to be evaluated in real time, the speech signal is passed through a pole-zero filter 38 to suppress the effects of reverberations and the output of the filter 38 is correlated with the time weighted impulse response of the recursive filter with the encoded parameters.
Description
~o~
SPEECH ENCODER
This invention relates to a speech encoder, this beiny a circui-t for converting a speech signal in-to a pulse train. The pulse train may ei-ther be -transmitted, encrypted, or stored and from it the original speech can be reproduced.
The design of a vocoder for commercial application requires a careful compromise between -three main parameters:
perceived voice quality, data rate, and complexity (roughly equivalent to cost) of the hardware implemen-tation. Other important performance parameters tha-t must be considered are voice quality in the presence of acoustic noise at the input, robustness against errors in the low bit-rate digital s-tream and performance in tandem wi-th other voice coding equipment.
There is already known in the art a system of speech encoding which makes use oE the technique of linear pre-dictive coding (LPC). In order to explain -the principles employed in this method of encoding, reference will first be made to Figure 1 which shows a linear predictor.
In the Accompanying drawings:
Figure 1 is, as earlier described, a diagram of a linear predictive filter;
Figure 2 is a block circui-t diagram of an encoder in accordance with the present invention; and Figure 3 is a diagram showing a weighting filter.
The linear predictor in Figure 1 is a recursive digital filter comprising a summation circuit 10 which has an input line 12 and an output line 14. The output line 14 is connected to a shift regis-ter or to a tapped delay line 6 -la-each -tapping of which is fed back to the summation circuit by way of a respective multiplica-tion circuit 18~ to 18n.
Assume -that it is desired to produce a particular sequence of outpu-t signals corresponding to a sampled speech signal.
S At any given instant, -the output signal has a firs-t component determined by the weighted summed outputs from the tappings of the delay line and el second 1.
component determined by the value of the input siynal at that instant. The first of these two components may be regarded as the predicted value based on previous values of the output signal and the second as the residual error. If the weighting parameters Pl to Pn of the circuits 18 are optimised then the residual error will be minimised. To enable the reproduction by a linear predictor of an original speech signal it is only necessary to transmit or store in each frame the weighting p~rameters and an e~citation signal. The residual error, if used as the excitation, yields perfect reproduction of the original speech.
The technique described above works well for speech signals because the operation simulates the acoustic properties of the human vocal tract. When a sound is uttered a vibration is transmitted down the vocal tract which is configured to pxoduce the desired sound.
-The configuration of the vocal tract, being due tophysical movement of articulatory organs, can only change quite slo~ly. The analogy between the configuration of the vocal tract and the weighting parameters allows much of the information in the speech signal to be transmitted at a low data rate. While this ensures good intelligibility, the quality and naturalness of the reproduced speech is largely dependent on the excitation signal usedD
In a system which has been proposed in the past, the parameters of the predictor are transmitted or stored and the excitation signal is selected either as ~hite noise or as a regular series of pulses depending on the type of sound to be produced. Even using such crude simulation of the residual signal it was possible to produce recognisable speech However, though the quality was acceptable for certain applications, for example military a.pplications where maximum signal compression was of most importance, it fell below acceptable commercial standards.
In order to improve the ~uality of the reproduced speech, it is necessary to put more information into the excitation signal so that it should resemble the residual signal more closely~ With this aim in mind, it has been proposed that in each frame the predictor should be excited by a train of pulses, in which the timing and the magnitude of each pulse in the train should be selected in order to minimise the difference between the re-synthesised speech and the original speech signal. In this last case, the excitation signal does not depend on the type of sound to be produced but for each frame the ideal excitation pulse train is computed.
The multi-pulse-exicted linear-reductive model of speech generation was presented by Atal and Remde in their paper "A New Model of LPC Excitation for Producing Natural Sounding Speech at Low Bit Rates" Proc. ICASSP
1982 pp ~14-617. This model bypasses neatly the problem of inflexible classification of speech segments into voiced and unvoiced sounds encountered in previous approaches to vocoding. It has been used to demonstrate very good reproduction of speech from parameters encoded at bit-rates estimated to be in the region of 10 kbits/s. -There now follows the derivation of multi-phase excitation parameters based on a model comprising a multi-pulse excitation generator coupled to a linear predictor. The multi-pulse excit:ation signal, u(n), is a sequence of samples whose values are zero in all but a few positions. The amplitudes and positions of the non-zero samples are chosen so as to minimise a perceptually meaningful error. The details of a possible formulation are summarized below.
~02~:a~
A se~uence s(n) is to be synthesised over the interval n = 1 .. N by exciting a linear predictsr with the multi-pulse sequence u(n). The linear predictor has a transfer function H(z), corresponding to an impulse response h(n). The sequence u(n) contains at most K non-zero samples u(nk), k=l..K, where K N. The positions nk and the values u(nk) are to be chosen so as to minimise the energy in the error sequence.
~ S(~ g~ W (~ (13 where s(n) is the sequence of samples ~f original speech, w(n) is the impulse response corxesponding to a spectral weighting function W(z), and * denotes convolution.
The problem is tberefore to determine nk, u(nk) for k = l..K
so as to minimise E- ~ e%(~ 12) ~=1 In order to avoid the complexity of determining all 2K
unknowns simultaneouslyr an iterative procedure can be adopted in which position and amplit.ude are evaluated for one non-zero sample at a time.
The jth iteration establishes the values nj~ u(nj) once nk , u(nk) for k=l..j-l have been determined by the previous j-l iterations and with u(nk) set to zero for k ~ j. At tne jth iteraion we minimise E~ - ~ e~ ,[s(~) s(~ a ~ ~ ", , .
Setting (n) = h(n)*w(n) (4) and noting that ei(n) = e~ n) - u~nj).hl(n-nj) (5 we have - E ~ ~ ~ e~ (6) The optimum value of u(nj) is found by differentiating Ej partially with respect ot u(nj) and setting the deriYative to 0. This yields lo ~(~d)~ 2 (7) d ) l ,", .
The minimum value of Ei for a given nj can then be obtained by combining (6) and (7) into :a N
F-d ~ ^ ~ e~ h` (~ ( 8 ) From (6), Ejmin cannot be negati~e. Therefore Ej is minimised in (~) if nj is chosen such that ¦u(nj)¦ is a maximumO
The sequence e~n) and values of U(nj1 for all possible nj must be recomputed at each iteration over the interval of interest. The procedure can be refined by re-adjusting the amplitudes of all selected samples simultaneously, once their positions are all known.
The procedure described above is ill-s~lited to implementation in real-time at low-cost with current hardware technology because of the large computation rate and because oE the inherent block-processed structure of the algorithm.
The present invention is intended to encode and decode speech using linear predictive coding in which the LPC
filter is excited by a series of pulses whose positions and amplitude are capable of being computed in real time.
According ~o the present invention, there is provided an encoder for encoding speech signals, comprising means for sampling frames of the speech signal to be encoded, a linear prediction analyser for determining for each frame the weighting parameters of a linear predictor to minimise the residual signal for the sampled frame, and means for producing an excitation signal for transmission or storage in conjunction with the para-meters to enable each frame of the speech signal to be resynthesised, in which the means for producing an excitation signal comprises means for correlating a signal derived from the speech signal in that frame with the tim~ weighted impulse respons~ of a linear predictor having the weighting parameters determined by the analyser by the analyser.
The expression ~'time weighted" is intended to signify that the response has the same shape but decays more rapidly, this being achieved by multiplying the parameter Pn by a factor kn, where k<l.
A linear recursive filter if excited by a single pulse may have an impulse response of very long time duration and provided that it is not unstable will eventually decay rather than oscillate. The effect of a long time response is that responses from consecutive excitation pulses tend to run into each other and it is difficult when performing a correlation to separate the pulse response of one excitation from another.
~2~
.
In the preferred embodiment of the invention, the speech signal is passed through a weighting filter/ preferably a pole-zero filter, which has the effect of damping reverberations The weighting filter has a non-recursive part the weightin~ parameters of which are of the same magnitude as, but of opposite sign to, those of the linear predictor in the decoder. In the analogy mentioned above one may regard the purpose of the non-~ecursive side of the weightin~ filter as negating the effect ~f the vocal tract on the pulses originally generated within the throat of the speaker. The other side of the filter, on the ot~er hand, the recursive part, has weighting coefficients which are relat~d to those of the linear predictor but are weighted by a factor which follows a power law of knr (k<13, so that time-weighting of the impulse response is achieved.
If one correlates the speech signal after passing it through such a weishting filter with the impulse response of a filter which consists only of the recursive side of the weighting filter when excited by a single excitation pulse, then the correlator will produce a high correlation output at the times when impulses should be applie~d to the linear prediction filter in order to simulate the speech signal.
Thus, in the preferred embodiment, the weighting filter is followed by a correlator of which the output is fed to an impulse selector. The purpose of the impulse selector is to select from amongst the peaks of the output of the correlator a number of peaks having the highest magnitude. These peaks determine the time at which the residual signal should be applied to the linear predictor in the decoder in order to resynthesise the speech signal.
Also in the preferred embodiment, the peaks are selected such that they are all of the same polarity~ This polarity can be set so as -to match -the polarity of the microphone being used. If the polarities of the peak selection and microphone are correc-tl.y matched, then this improves the quality of the resynthesised speech by helping to preserve i-ts harmonic content.
It is also preferred that -the excitation pulses should have arl ampli-tude rela-ted to the ampli-tude of the peak produced by the correlator. Because the auto-correlation functions of the pulse responses of the LPC filter are no-t constant but vary with the weighting parameters, it is preferred that the excitation pulse amplitude should be derived by divi,ding the correlator output by the value of -the auto-correlation function of the impulse response of the filter with the prevailing time weighted parameters.
The invention will now be described further, by way o:E
example, with reference to Figures 2 and 3 o:E the accompanying drawings introduced above.
In Figure 2, the speech signal to be encoded is received over an input line 30. The input signal is applied to a known circuit 32 which is a linear prediction analyser.
This circuit computes -the values of the weighting para-meters oE a digital recursive filter which would minimise the residual signal and outputs these parameters. As is known, a linear predic-tion analyser more readily computes so called reflection co-eEficients which are not the same as the weigh-ting parameters but ~2~
g from which these parameters can be computed. The reflection co-efficients are applied to a line 34.
The speech signal is also applied via a line 36 to a weighting filter 38 which will now be described by reference to Figure 3. The weighting filter comprises an input line 40 connected to a summation circuit ~2 having an output line 44. A multi-tapped delay line (or shift register~ 46 is connected to the input line 40 and a similar multi-tapped delay line 48 i5 connected to the output line 44. The tappings of the delay line 46 are connected by way of a first setof weighting circuits 50 to the circuit 42 which also receives signals from the tappings of the delay line 48 through weighting circuits 5~. The values of the parameters used in the multiplica-tion circuits of the weighting filter 38in Figure 3 arederived from the linear prediction analyser 32.
In a block 60, the weighting parameters Pl to pn~
equivalent to the reflection coefficients are computed.
In the coefficient weighting circuits 32, two sets of parameters are derived from the parameters 21 to Pn for setting the parameters of the weighting filter 38. The first set of parameters is applied to the weighting circuits 50 and are equal to -Pl to ~Pn. Thus the combination of the summation circuit with the delay line ~6 and the weighting circuits 50 results in a digital non-recursive filter having parameters which are the opposite of those used in the receiving circuit to re-synthesize the speech signal. As previously stated, the effect of the non-recursive part of the weighting filter is to negate the effect of the vocal tract.
The second set of parameters evaluated ~y the co-efficient weighting circuit 62 is equal to k.pl to kn,pn, where k is less than 1. Thus, the delay line 48 and the weighting circuits 52 produce in conjunction with the summation circuit 42 a recursive digital filter ~2~
whose pul~e response is similar to that of the filter used to resynthesize the speech but with more rapid decay. The effect of combination of the non-recursive and recursive Eilters which constitute the weighting filter 38, which is also termed a pole-zero filter, is to produce from the speech signal one in which reverberations are more severely damped to reduce the interaction between the effects of consecutive excitation pulses.
The output of the digital weighting filter 38 is applied to a correlator 64 connected to a circuit ~6 which evaluates the impulse response of a digital recursive filter of the same construction as that shown in Fig. 1 but with weighting parameters k.pl to kn.pn~
- 15 The correlator 64 may consist of a shift register whose tapping are connected to multiplication circuits the multiplication factors of which are determined by the impulse response evaluating circuit 66. When there is a high level of correlation between the output of the weighting filter 38 and the impulse response evaluated by the circuit 66, a high output is produced hy the correlator The output of the correlator 64 thus contains peaks which coincide with impulses in the excitation signal which, if applied to the linear predictor at the decoder, will cause a good approximation to the original speech signal to be produced. Howev~r, in oraer to r~duce the bit rate, i-t is necessary to select from amongst the correlator output only a small number of pulses and these should coincide with the impulses of maximum energy in the excitation signal.
The purpose of the pulse selector circuit 70 in Figure 2 is to select the timing of the pulses which are to be encoded. One could merely store the output values Erom the correlator and select the highest peaks but this : .
~.2~
could result in consecutive high values being used to produce excitation pulses when they are truly the flanks of the same pulse. Therefore, it i~ preferable that the impulse circuit locate local maxima and minima and disregard the values adjacent to these peaks. One possible algorithm would be to disregard high values adjacent a local maximum or minimum if they are not separated from the local maximum or minimum by a ~ero crossing or a turning point. Another possible algorithm is to select a fixed number of the greatest peaks in each time frame and to ensure that they are separated by at least some minimum time.
The amplitude of the selected pulses will be related to the amplitude of an optimal excitation signal. In order lS to normalise these pulses to take into account the different values of the auto-correlation function of the impulse responses, the impulse reponse circuit 66 additionally evaluates the auto-correlation function of each pulse response and applies a signal over a line 72 to a divider circuit 74. In the divider circuit 74, the selected pulses are divided by the auto-correlation value and the output signal from the divider is fed to a multiplexer 76 which encodes the reflection coefficient received over the line 34 and the signals from the divider 74 to produce the encoded signal on output line 78 for transmission or storage.
The mathematical considerations underlying the invention are now considered for completeness but the successful operation of the apparatus of the invention is not de`pendent upon the accuracy of the analysis.
.
The preferred embodiment of the invention proposes making some simplifying assumptions in order to derive a modified algorithm which permits implementation in real-time of a 7.2 kbits/s vocoder using standard components on a double Eurosize circuit board.
12a~
Defining the linear predictor of oxder M as H(z) = ~ ~ ~ t9) Z
We now define the weighting function, W~z) by Z
where r is a real number between 0 and 1. The filter W(z) serves to de-emphasize the error signal e(n) in the formant regions, reflecting ~be fact that distortion in these regions is- masked by relatively large concentrations of energy in the speech signal. Broadly speaking, the-de-emphasis.efect is enhanced.by reducing ~ .
If the linear-r~dictive analysis method employed leads to an unconditionally-stable linear predictor, then the envelope of its impulse response, h(n), decays with ti~e~ `
The impluse response hl(n~, defined in (4), corresponds to the cascade of the transfer functions H(z) and W(~).
50me thought shows that Since ~< 1, the envelope of hl~n) decays more rapidly than that of h(n). Combining this with the causality of the linPar predictor we can write h]-(n) = 0 for n < 0 hl~n) ~ 0 for n => ny - (12 t2 ! In (12) ng is an arbitary positive integer. The approximation in ~12) can be improved by increasing ng and/or by reducing7r.
Furthermore, (12) can be applied to (5) to yield ej(n) = ej_l(n~ for (n-nj) < 0 (13) ej(n) ~ ej_l(n) for (n-nj) => ng We now apply the restriction In; - nii => ng for i = l..j-l (14) rPquiring a minimum separation of ng between non-zero samples of the excitation sequence. This restriction can extend (13) to ej_l(n) ~~ eO(n) for ¦n-ni¦=> ng,i=l..j-l (15) The sequence eO(n) is defined as eO~n) = [5(~) - sO(n)]*w(n) (16) where sO(n) is the output of the linear predictor driven with zero input.
Using equations (12) and (15), we can rewrite (7) in approximate form as ~ eO('n) ' 1~ (~3 ) ~ ~,h'(~ ., (17 ~ o subject to the restriction of (14).
An ,approximate solution to the problem of determing the positions and amplitudes of the non-zero excitation sample~ can therefore be fou~d by computing the following equation O
~ 18) ~ 0 and selecting values of n=nk, for which the corresponding values of l~tn)l are local maxima, subject to the restriction of tl4).
The modified computation exploits an alternative interpretation of the role of the weighting function Wtz). The effect of the weighting function can be viewed as an attempt to separate the response of the system to - successive non-zero excitation samples. If these samples are far enough apart, their values can be optimized independently.
-In low bit-rate applications it is desirable to place the non-zero samples far apart, so as to distribute them roughly evenly across the interval of synthesis.
SPEECH ENCODER
This invention relates to a speech encoder, this beiny a circui-t for converting a speech signal in-to a pulse train. The pulse train may ei-ther be -transmitted, encrypted, or stored and from it the original speech can be reproduced.
The design of a vocoder for commercial application requires a careful compromise between -three main parameters:
perceived voice quality, data rate, and complexity (roughly equivalent to cost) of the hardware implemen-tation. Other important performance parameters tha-t must be considered are voice quality in the presence of acoustic noise at the input, robustness against errors in the low bit-rate digital s-tream and performance in tandem wi-th other voice coding equipment.
There is already known in the art a system of speech encoding which makes use oE the technique of linear pre-dictive coding (LPC). In order to explain -the principles employed in this method of encoding, reference will first be made to Figure 1 which shows a linear predictor.
In the Accompanying drawings:
Figure 1 is, as earlier described, a diagram of a linear predictive filter;
Figure 2 is a block circui-t diagram of an encoder in accordance with the present invention; and Figure 3 is a diagram showing a weighting filter.
The linear predictor in Figure 1 is a recursive digital filter comprising a summation circuit 10 which has an input line 12 and an output line 14. The output line 14 is connected to a shift regis-ter or to a tapped delay line 6 -la-each -tapping of which is fed back to the summation circuit by way of a respective multiplica-tion circuit 18~ to 18n.
Assume -that it is desired to produce a particular sequence of outpu-t signals corresponding to a sampled speech signal.
S At any given instant, -the output signal has a firs-t component determined by the weighted summed outputs from the tappings of the delay line and el second 1.
component determined by the value of the input siynal at that instant. The first of these two components may be regarded as the predicted value based on previous values of the output signal and the second as the residual error. If the weighting parameters Pl to Pn of the circuits 18 are optimised then the residual error will be minimised. To enable the reproduction by a linear predictor of an original speech signal it is only necessary to transmit or store in each frame the weighting p~rameters and an e~citation signal. The residual error, if used as the excitation, yields perfect reproduction of the original speech.
The technique described above works well for speech signals because the operation simulates the acoustic properties of the human vocal tract. When a sound is uttered a vibration is transmitted down the vocal tract which is configured to pxoduce the desired sound.
-The configuration of the vocal tract, being due tophysical movement of articulatory organs, can only change quite slo~ly. The analogy between the configuration of the vocal tract and the weighting parameters allows much of the information in the speech signal to be transmitted at a low data rate. While this ensures good intelligibility, the quality and naturalness of the reproduced speech is largely dependent on the excitation signal usedD
In a system which has been proposed in the past, the parameters of the predictor are transmitted or stored and the excitation signal is selected either as ~hite noise or as a regular series of pulses depending on the type of sound to be produced. Even using such crude simulation of the residual signal it was possible to produce recognisable speech However, though the quality was acceptable for certain applications, for example military a.pplications where maximum signal compression was of most importance, it fell below acceptable commercial standards.
In order to improve the ~uality of the reproduced speech, it is necessary to put more information into the excitation signal so that it should resemble the residual signal more closely~ With this aim in mind, it has been proposed that in each frame the predictor should be excited by a train of pulses, in which the timing and the magnitude of each pulse in the train should be selected in order to minimise the difference between the re-synthesised speech and the original speech signal. In this last case, the excitation signal does not depend on the type of sound to be produced but for each frame the ideal excitation pulse train is computed.
The multi-pulse-exicted linear-reductive model of speech generation was presented by Atal and Remde in their paper "A New Model of LPC Excitation for Producing Natural Sounding Speech at Low Bit Rates" Proc. ICASSP
1982 pp ~14-617. This model bypasses neatly the problem of inflexible classification of speech segments into voiced and unvoiced sounds encountered in previous approaches to vocoding. It has been used to demonstrate very good reproduction of speech from parameters encoded at bit-rates estimated to be in the region of 10 kbits/s. -There now follows the derivation of multi-phase excitation parameters based on a model comprising a multi-pulse excitation generator coupled to a linear predictor. The multi-pulse excit:ation signal, u(n), is a sequence of samples whose values are zero in all but a few positions. The amplitudes and positions of the non-zero samples are chosen so as to minimise a perceptually meaningful error. The details of a possible formulation are summarized below.
~02~:a~
A se~uence s(n) is to be synthesised over the interval n = 1 .. N by exciting a linear predictsr with the multi-pulse sequence u(n). The linear predictor has a transfer function H(z), corresponding to an impulse response h(n). The sequence u(n) contains at most K non-zero samples u(nk), k=l..K, where K N. The positions nk and the values u(nk) are to be chosen so as to minimise the energy in the error sequence.
~ S(~ g~ W (~ (13 where s(n) is the sequence of samples ~f original speech, w(n) is the impulse response corxesponding to a spectral weighting function W(z), and * denotes convolution.
The problem is tberefore to determine nk, u(nk) for k = l..K
so as to minimise E- ~ e%(~ 12) ~=1 In order to avoid the complexity of determining all 2K
unknowns simultaneouslyr an iterative procedure can be adopted in which position and amplit.ude are evaluated for one non-zero sample at a time.
The jth iteration establishes the values nj~ u(nj) once nk , u(nk) for k=l..j-l have been determined by the previous j-l iterations and with u(nk) set to zero for k ~ j. At tne jth iteraion we minimise E~ - ~ e~ ,[s(~) s(~ a ~ ~ ", , .
Setting (n) = h(n)*w(n) (4) and noting that ei(n) = e~ n) - u~nj).hl(n-nj) (5 we have - E ~ ~ ~ e~ (6) The optimum value of u(nj) is found by differentiating Ej partially with respect ot u(nj) and setting the deriYative to 0. This yields lo ~(~d)~ 2 (7) d ) l ,", .
The minimum value of Ei for a given nj can then be obtained by combining (6) and (7) into :a N
F-d ~ ^ ~ e~ h` (~ ( 8 ) From (6), Ejmin cannot be negati~e. Therefore Ej is minimised in (~) if nj is chosen such that ¦u(nj)¦ is a maximumO
The sequence e~n) and values of U(nj1 for all possible nj must be recomputed at each iteration over the interval of interest. The procedure can be refined by re-adjusting the amplitudes of all selected samples simultaneously, once their positions are all known.
The procedure described above is ill-s~lited to implementation in real-time at low-cost with current hardware technology because of the large computation rate and because oE the inherent block-processed structure of the algorithm.
The present invention is intended to encode and decode speech using linear predictive coding in which the LPC
filter is excited by a series of pulses whose positions and amplitude are capable of being computed in real time.
According ~o the present invention, there is provided an encoder for encoding speech signals, comprising means for sampling frames of the speech signal to be encoded, a linear prediction analyser for determining for each frame the weighting parameters of a linear predictor to minimise the residual signal for the sampled frame, and means for producing an excitation signal for transmission or storage in conjunction with the para-meters to enable each frame of the speech signal to be resynthesised, in which the means for producing an excitation signal comprises means for correlating a signal derived from the speech signal in that frame with the tim~ weighted impulse respons~ of a linear predictor having the weighting parameters determined by the analyser by the analyser.
The expression ~'time weighted" is intended to signify that the response has the same shape but decays more rapidly, this being achieved by multiplying the parameter Pn by a factor kn, where k<l.
A linear recursive filter if excited by a single pulse may have an impulse response of very long time duration and provided that it is not unstable will eventually decay rather than oscillate. The effect of a long time response is that responses from consecutive excitation pulses tend to run into each other and it is difficult when performing a correlation to separate the pulse response of one excitation from another.
~2~
.
In the preferred embodiment of the invention, the speech signal is passed through a weighting filter/ preferably a pole-zero filter, which has the effect of damping reverberations The weighting filter has a non-recursive part the weightin~ parameters of which are of the same magnitude as, but of opposite sign to, those of the linear predictor in the decoder. In the analogy mentioned above one may regard the purpose of the non-~ecursive side of the weightin~ filter as negating the effect ~f the vocal tract on the pulses originally generated within the throat of the speaker. The other side of the filter, on the ot~er hand, the recursive part, has weighting coefficients which are relat~d to those of the linear predictor but are weighted by a factor which follows a power law of knr (k<13, so that time-weighting of the impulse response is achieved.
If one correlates the speech signal after passing it through such a weishting filter with the impulse response of a filter which consists only of the recursive side of the weighting filter when excited by a single excitation pulse, then the correlator will produce a high correlation output at the times when impulses should be applie~d to the linear prediction filter in order to simulate the speech signal.
Thus, in the preferred embodiment, the weighting filter is followed by a correlator of which the output is fed to an impulse selector. The purpose of the impulse selector is to select from amongst the peaks of the output of the correlator a number of peaks having the highest magnitude. These peaks determine the time at which the residual signal should be applied to the linear predictor in the decoder in order to resynthesise the speech signal.
Also in the preferred embodiment, the peaks are selected such that they are all of the same polarity~ This polarity can be set so as -to match -the polarity of the microphone being used. If the polarities of the peak selection and microphone are correc-tl.y matched, then this improves the quality of the resynthesised speech by helping to preserve i-ts harmonic content.
It is also preferred that -the excitation pulses should have arl ampli-tude rela-ted to the ampli-tude of the peak produced by the correlator. Because the auto-correlation functions of the pulse responses of the LPC filter are no-t constant but vary with the weighting parameters, it is preferred that the excitation pulse amplitude should be derived by divi,ding the correlator output by the value of -the auto-correlation function of the impulse response of the filter with the prevailing time weighted parameters.
The invention will now be described further, by way o:E
example, with reference to Figures 2 and 3 o:E the accompanying drawings introduced above.
In Figure 2, the speech signal to be encoded is received over an input line 30. The input signal is applied to a known circuit 32 which is a linear prediction analyser.
This circuit computes -the values of the weighting para-meters oE a digital recursive filter which would minimise the residual signal and outputs these parameters. As is known, a linear predic-tion analyser more readily computes so called reflection co-eEficients which are not the same as the weigh-ting parameters but ~2~
g from which these parameters can be computed. The reflection co-efficients are applied to a line 34.
The speech signal is also applied via a line 36 to a weighting filter 38 which will now be described by reference to Figure 3. The weighting filter comprises an input line 40 connected to a summation circuit ~2 having an output line 44. A multi-tapped delay line (or shift register~ 46 is connected to the input line 40 and a similar multi-tapped delay line 48 i5 connected to the output line 44. The tappings of the delay line 46 are connected by way of a first setof weighting circuits 50 to the circuit 42 which also receives signals from the tappings of the delay line 48 through weighting circuits 5~. The values of the parameters used in the multiplica-tion circuits of the weighting filter 38in Figure 3 arederived from the linear prediction analyser 32.
In a block 60, the weighting parameters Pl to pn~
equivalent to the reflection coefficients are computed.
In the coefficient weighting circuits 32, two sets of parameters are derived from the parameters 21 to Pn for setting the parameters of the weighting filter 38. The first set of parameters is applied to the weighting circuits 50 and are equal to -Pl to ~Pn. Thus the combination of the summation circuit with the delay line ~6 and the weighting circuits 50 results in a digital non-recursive filter having parameters which are the opposite of those used in the receiving circuit to re-synthesize the speech signal. As previously stated, the effect of the non-recursive part of the weighting filter is to negate the effect of the vocal tract.
The second set of parameters evaluated ~y the co-efficient weighting circuit 62 is equal to k.pl to kn,pn, where k is less than 1. Thus, the delay line 48 and the weighting circuits 52 produce in conjunction with the summation circuit 42 a recursive digital filter ~2~
whose pul~e response is similar to that of the filter used to resynthesize the speech but with more rapid decay. The effect of combination of the non-recursive and recursive Eilters which constitute the weighting filter 38, which is also termed a pole-zero filter, is to produce from the speech signal one in which reverberations are more severely damped to reduce the interaction between the effects of consecutive excitation pulses.
The output of the digital weighting filter 38 is applied to a correlator 64 connected to a circuit ~6 which evaluates the impulse response of a digital recursive filter of the same construction as that shown in Fig. 1 but with weighting parameters k.pl to kn.pn~
- 15 The correlator 64 may consist of a shift register whose tapping are connected to multiplication circuits the multiplication factors of which are determined by the impulse response evaluating circuit 66. When there is a high level of correlation between the output of the weighting filter 38 and the impulse response evaluated by the circuit 66, a high output is produced hy the correlator The output of the correlator 64 thus contains peaks which coincide with impulses in the excitation signal which, if applied to the linear predictor at the decoder, will cause a good approximation to the original speech signal to be produced. Howev~r, in oraer to r~duce the bit rate, i-t is necessary to select from amongst the correlator output only a small number of pulses and these should coincide with the impulses of maximum energy in the excitation signal.
The purpose of the pulse selector circuit 70 in Figure 2 is to select the timing of the pulses which are to be encoded. One could merely store the output values Erom the correlator and select the highest peaks but this : .
~.2~
could result in consecutive high values being used to produce excitation pulses when they are truly the flanks of the same pulse. Therefore, it i~ preferable that the impulse circuit locate local maxima and minima and disregard the values adjacent to these peaks. One possible algorithm would be to disregard high values adjacent a local maximum or minimum if they are not separated from the local maximum or minimum by a ~ero crossing or a turning point. Another possible algorithm is to select a fixed number of the greatest peaks in each time frame and to ensure that they are separated by at least some minimum time.
The amplitude of the selected pulses will be related to the amplitude of an optimal excitation signal. In order lS to normalise these pulses to take into account the different values of the auto-correlation function of the impulse responses, the impulse reponse circuit 66 additionally evaluates the auto-correlation function of each pulse response and applies a signal over a line 72 to a divider circuit 74. In the divider circuit 74, the selected pulses are divided by the auto-correlation value and the output signal from the divider is fed to a multiplexer 76 which encodes the reflection coefficient received over the line 34 and the signals from the divider 74 to produce the encoded signal on output line 78 for transmission or storage.
The mathematical considerations underlying the invention are now considered for completeness but the successful operation of the apparatus of the invention is not de`pendent upon the accuracy of the analysis.
.
The preferred embodiment of the invention proposes making some simplifying assumptions in order to derive a modified algorithm which permits implementation in real-time of a 7.2 kbits/s vocoder using standard components on a double Eurosize circuit board.
12a~
Defining the linear predictor of oxder M as H(z) = ~ ~ ~ t9) Z
We now define the weighting function, W~z) by Z
where r is a real number between 0 and 1. The filter W(z) serves to de-emphasize the error signal e(n) in the formant regions, reflecting ~be fact that distortion in these regions is- masked by relatively large concentrations of energy in the speech signal. Broadly speaking, the-de-emphasis.efect is enhanced.by reducing ~ .
If the linear-r~dictive analysis method employed leads to an unconditionally-stable linear predictor, then the envelope of its impulse response, h(n), decays with ti~e~ `
The impluse response hl(n~, defined in (4), corresponds to the cascade of the transfer functions H(z) and W(~).
50me thought shows that Since ~< 1, the envelope of hl~n) decays more rapidly than that of h(n). Combining this with the causality of the linPar predictor we can write h]-(n) = 0 for n < 0 hl~n) ~ 0 for n => ny - (12 t2 ! In (12) ng is an arbitary positive integer. The approximation in ~12) can be improved by increasing ng and/or by reducing7r.
Furthermore, (12) can be applied to (5) to yield ej(n) = ej_l(n~ for (n-nj) < 0 (13) ej(n) ~ ej_l(n) for (n-nj) => ng We now apply the restriction In; - nii => ng for i = l..j-l (14) rPquiring a minimum separation of ng between non-zero samples of the excitation sequence. This restriction can extend (13) to ej_l(n) ~~ eO(n) for ¦n-ni¦=> ng,i=l..j-l (15) The sequence eO(n) is defined as eO~n) = [5(~) - sO(n)]*w(n) (16) where sO(n) is the output of the linear predictor driven with zero input.
Using equations (12) and (15), we can rewrite (7) in approximate form as ~ eO('n) ' 1~ (~3 ) ~ ~,h'(~ ., (17 ~ o subject to the restriction of (14).
An ,approximate solution to the problem of determing the positions and amplitudes of the non-zero excitation sample~ can therefore be fou~d by computing the following equation O
~ 18) ~ 0 and selecting values of n=nk, for which the corresponding values of l~tn)l are local maxima, subject to the restriction of tl4).
The modified computation exploits an alternative interpretation of the role of the weighting function Wtz). The effect of the weighting function can be viewed as an attempt to separate the response of the system to - successive non-zero excitation samples. If these samples are far enough apart, their values can be optimized independently.
-In low bit-rate applications it is desirable to place the non-zero samples far apart, so as to distribute them roughly evenly across the interval of synthesis.
Claims (7)
PROPERTY OR PRIVILEGEIS CLAIMED ARE DEFINED AS FOLLOWS:
1. An encoder for encoding speech signals, comprising means for sampling frames of the speech signal to be encoded, a linear prediction analyser for determining for each frame the weighting parameters of a linear predictor to minimise the residual signal for the sampled frame, and means for producing an excitation signal for transmission or storage in conjunction with the parameters to enable each frame of the speech signal to be resynthesised, in which the means for producing an excitation signal comprises means for correlating a signal derived from the speech signal in that frame with the time weighted impulse response of a linear predictor having the weighting parameters determined by the analyser.
2. A signal encoder as claimed in Claim 1, in which the signal derived from the speech signal is obtained by means of a weighting filter which is operative to damp reverberations within the speech signal caused by resonances in the vocal tract and precedes the correlating means.
3. A signal encoder as claimed in Claim 2, in which the weighting filter comprises a pole-zero filter.
4. A signal encoder as claimed in claim 1, in which the correlating means comprises a tapped delay line, means for multiplying the tapped signals by the said time weighted impulse response, and means for summing the outputs of the multiplication circuits.
5. A signal encoder as claimed in claim 1, in which the output of the correlating means is connected to a pulse selector which is operative to select a number of pulses from the correlator output.
6. A signal encoder as claimed in Claim 5, in which the pulse selector comprises means for detecting local peaks and means for selecting amongst the local peaks, those having the most positive or the most negative amplitudes.
7. A signal encoder as claimed in claim 1, in which the magnitude of the transmitted pulses is determined by dividing the output of the correlating means by the auto-correlation function of the said time weighted impulse response.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB8306685A GB2137054B (en) | 1983-03-11 | 1983-03-11 | Speech encoder |
GB8306685 | 1983-03-11 | ||
GB8333037 | 1983-12-10 | ||
GB8333037 | 1983-12-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1202419A true CA1202419A (en) | 1986-03-25 |
Family
ID=26285473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000449198A Expired CA1202419A (en) | 1983-03-11 | 1984-03-09 | Speech encoder |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0119033B1 (en) |
CA (1) | CA1202419A (en) |
DE (1) | DE3463192D1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4472832A (en) * | 1981-12-01 | 1984-09-18 | At&T Bell Laboratories | Digital speech coder |
-
1984
- 1984-02-28 DE DE8484301302T patent/DE3463192D1/en not_active Expired
- 1984-02-28 EP EP19840301302 patent/EP0119033B1/en not_active Expired
- 1984-03-09 CA CA000449198A patent/CA1202419A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE3463192D1 (en) | 1987-05-21 |
EP0119033B1 (en) | 1987-04-15 |
EP0119033A1 (en) | 1984-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gersho | Advances in speech and audio compression | |
US5060269A (en) | Hybrid switched multi-pulse/stochastic speech coding technique | |
Atal | High-quality speech at low bit rates: Multi-pulse and stochastically excited linear predictive coders | |
US6782359B2 (en) | Determining linear predictive coding filter parameters for encoding a voice signal | |
JP2004514182A (en) | A method for indexing pulse positions and codes in algebraic codebooks for wideband signal coding | |
JP2002268686A (en) | Voice coder and voice decoder | |
EP1103953B1 (en) | Method for concealing erased speech frames | |
Hagen et al. | Voicing-specific LPC quantization for variable-rate speech coding | |
CA1202419A (en) | Speech encoder | |
JP2853170B2 (en) | Audio encoding / decoding system | |
JP3071800B2 (en) | Adaptive post filter | |
Tseng | An analysis-by-synthesis linear predictive model for narrowband speech coding | |
Kim et al. | On a Reduction of Pitch Searching Time by Preprocessing in the CELP Vocoder | |
JP3103108B2 (en) | Audio coding device | |
GB2137054A (en) | Speech encoder | |
Yuan | The weighted sum of the line spectrum pair for noisy speech | |
Kim et al. | On a Reduction of Pitch Searching Time by Preliminary Pitch in the CELP Vocoder | |
Zhang | Speech transform coding using ranked vector quantization | |
Kwong et al. | Design and implementation of a parametric speech coder | |
GB2352949A (en) | Speech coder for communications unit | |
Gersho | Advances in speech and audio compression | |
Walls | Enhanced spectral modeling for sinusoidal speech coders | |
Farsi | Advanced Pre-and-post processing techniques for speech coding | |
Bae et al. | On a reduction of pitch searching time by preliminary pitch in the CELP vocoder | |
Bouzoubaa | Low bit-rate speech coding via multipulse plus noise excitation and LPC parameter optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |