Digital speech coder and method utilizing harmonic noise weighting
This is a continuation of application Ser. No. 08/021,639, filed Feb. 22, 1993 and now abandoned, which is a continuation of application Ser. No. 07/635,046, filed Dec. 28, 1990 and now abandoned. 
    
    
     FIELD OF THE INVENTION 
     The present invention is related to digital speech coding at low bit rates. More particularly, the present invention is directed to an improved method and coder for attenuating differences between synthesized digital speech signals and speech signals. 
     BACKGROUND OF THE INVENTION 
     Current Code Excited Linear Prediction (CELP) type speech coders utilize a code-book memory of excitation code book vectors and generally compute an error sequence, for example e i  (n), where: 
     
         e.sub.i (n)=s(n)-s.sub.i (n), n=1, . . . ,N; i=1, . . . ,I 
    
     where s(n) is the input speech signal, s i  (n) is the reconstructed speech signal corresponding to the codebook entry i, and N is a positive integer that specifies a number of samples that constitute a subframe. I typically specifies the number of entries in an excitation codebook. One criterion for selecting the best matching codebook entry is to select a vector s&#39; i  (n), which minimizes an error energy over an N point subframe, i.e., ##EQU1## Thus, if s&#39; K  (n) is a vector that minimizes the error energy equation, the coder parameters used to generate it are transmitted to the receiver. 
     Typically, however, e(n) is passed through a spectral weighting filter prior to the error energy calculation. A spectral weighting filter seeks to equalize a signal-to-noise (SNR) ratio along a frequency axis by allowing more noise in the high energy regions of the spectrum, where the noise is masked by signal energy, and by allowing less noise in the spectral valleys. The spectral weighting filter, as known in the art, is derived from linear predictive coding (LPC) parameters that model the resonance characteristics of the vocal tract, or the spectral envelope. The spectral envelope is a slowly varying function of frequency that is characterized by short-term signal correlation. Typically, such a noise weighting filter is defined by transfer function H(z), where: ##EQU2## 
     Commonly used values for the noise weighting constant are 0.7&lt;α&lt;0.9. a i  are the direct form LPC filter coefficients, where N p  is the order of the filter. Each error vector e i  (n) is then spectrally weighted to yield e is  (n). In the z transform notation, E is  (z)=H(z)E i  (z) . The error energy is calculated as before, except that the spectrally weighted error vector e is  is used: ##EQU3## The vector s&#39; i  (n) that minimizes the spectrally weighted error over all I indices is then selected as the best one, and the parameters specifying it are transmitted to a receiver. 
     In the frequency domain, signal periodicity contributes peaks at the fundamental frequency and at the multiples of that frequency, i.e., harmonics of the fundamental frequency. There is a need for an improved noise weighting method that substantially de-emphasizes the importance of quantization noise in the vicinity of harmonics while increasing the noise penalty in troughs between the harmonics. 
     SUMMARY OF THE INVENTION 
     A device and method for a digital speech coder for generating at least a first modified reconstruction error parameter based on at least a reconstructed speech signal are described that, among other improvements, provide for substantially de-emphasizing the importance of quantization noise in the vicinity of harmonics while increasing the noise penalty in troughs between the harmonics, thereby smoothing the SNR along a frequency axis with respect to a magnitude spectrum of the input speech signal. The device for at least generating at least a first modified reconstruction error parameter for a digital speech coder having an input speech signal, wherein the at least first modified reconstruction error parameter is based on at least a first reconstruction error signal corresponding to at least a first reconstructed speech signal, comprises at least: determining means for determining at least a first periodicity corresponding to a periodicity of the input speech signal; first modification means, responsive to the determining means and to the at least first reconstruction error signal, for generating at least a first modified reconstruction error signal at least in correspondence with the at least a first periodicity of the input speech signal; and generating means, responsive to the at least first modified reconstruction error signal of the first modification means, for generating at least a first modified reconstruction error parameter. The method utilizes steps in correspondence with procedures inherently set forth above with the device. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates a general block diagram of a prior art hardware implementation of a spectrally adjusted reconstruction error parameter generator. 
     FIG. 2A illustrates a general block diagram of a hardware implementation in accordance with the present invention; FIG. 2B further illustrates a selective portion of the present invention illustrated in FIG. 2A. 
     FIG. 3 is a flow diagram illustrating the steps executed in accordance with the method of the present invention. 
    
    
     BEST MODE FOR CARRYING OUT THE INVENTION 
     FIG. 1, generally depicted by the numeral 100, illustrates a typical spectral adjustment hardware device for adjusting a reconstruction error signal based on an input speech signal and a reconstructed speech signal as is known in the art. The known art typically utilizes a speech input vector (102), s(n), and a speech synthesizer vector (with input i)(104), s i  (n), wherein n=1, . . . ,N for both vectors that are input into a subtractor (106) to obtain an error vector e i  (n), utilizes a spectral weighting unit (108) to obtain a spectrally weighted error vector (e is ), employs a weighted energy calculator (110) to determine spectrally weighted error energy, utilizes a weighted energy minimizer (112) to select a vector s &#39;i  (n) that minimizes spectrally weighted error energy over all values for i, and provides an output parameter K (114) specifying to a receiver an index of the parameter i that minimizes spectrally weighted error energy at a selected subframe. 
     FIG. 2A, numeral 200, illustrates a hardware implementation according to the present invention that, upon provision of an input speech signal (202) and at least a first reconstruction error signal input (206), provides further speech synthesizer excitation vector adjustment by supplying a modified reconstruction error parameter that utilizes a harmonic noise weighting function. At least a first periodicity of an input speech signal (202) that is typically at least converted to a sequence of N pulse samples, each having an amplitude represented by a digital code, is substantially determined by a periodicity determiner (204) as is known in the art. A typical speech sampling rate is 8000 kHz. The at least first reconstruction error signal input (206), obtained as is known in the art, is applied to a modifier (208) together with the at least first periodicity of the input speech signal. 
     The modifier (208) generates at least a first modified reconstruction error signal, further illustrated in FIG. 2B. A first computation means (212), where desired, provides an adjustment, utilizing at least a second computation unit (214), with at least a first filter based on at least one long term correlation vector that may be represented by a polynomial, substantially of a form: ##EQU4## such that 0≦ε p  ≦1, (M 1  +M 2  +1) specifies a number of terms in the summation, p i  &#39;s are filter coefficients, x(n) is an input signal to the first modification means, and L is substantially a delay in samples which is related to the periodicity of the input speech signal. For voiced speech L corresponds substantially to a pitch period of a speech signal in samples or, if desired, may be selected to correspond to a multiple of the pitch period at a given subframe. M 1  and M 2  are selected values for a desired summation range. ε p  substantially specifies a selected amount of long term correlation to be removed: for ε p  substantially equal to zero, no long term correlation is removed, and for ε p  substantially equal to 1, the maximum amount of long term correlation is removed. Typical values for ε p  are substantially between 0.3 and 0.7. p i  filter coefficients are determined to maximize the at least first filter prediction gain at a selected subframe. Upon utilizing the at least first long term prediction vector, an output, y(n), from the first filter, is obtained, substantially being: ##EQU5## It is clear that L may be determined prior to p i  coefficient determination, or, where desired, L and p i  may be jointly optimized. Order of the at least first filter is substantially equivalent to M 1  +M 2  +1. M 1  and M 2  values typically range from 0 to 4. Utilizing M 1  =1 and M 2  =1 typically yields a good compromise between performance and complexity. 
     Where (M 1  +M 2  +1) is greater than one, the at least first filter is a multi-tap filter such that, in addition to performing long term correlation removal, short term correlation may be introduced. Where desired, to control the short term correlation introduced, an at least second filter may be utilized, the at least second filter being cascaded with the first filter and having a transfer function, B(z), substantially of a form: ##EQU6## where J is a positive integer and where the b i  &#39;s are determined from at least the p i  &#39;s and 0≦ε b  ≦1, such that a second output generator provides a second output, y&#39;(n), substantially of a form: ##EQU7## where n=1, . . . ,N where v(n) is an input to the second output generator. 
     Typically, to generate the b i  &#39;s, the at least second filter coefficients, R p  (j) , an autocorrelation of an impulse response of the at least first filter, is calculated for j=0, . . . ,(M 1  +M 2 ), wherein R p  (j) is substantially: ##EQU8## Generally, the b i  coefficients are computed via the Levinson recursion given values of R p  (j) and the order of the at least second filter, (M 1  +M 2 ). The ε b  parameter determines the degree of compensation applied by the at least second filter. Setting ε b  substantially equal to one provides application of a full prediction gain of B(z) to the removal of the short term correlation introduced by the at least first filter. Typical values for ε b  span the entire range for which it is defined. 
     Thus, full utilization of the harmonic noise weighting function is typically implemented by cascading at least a first and at least a second filter: 
     
         E.sub.ish (z)=P(z)B(z)E.sub.is (z) 
    
     or equivalently 
     
         E.sub.ish (z)=H(z)P(z)B(z)E.sub.i (z) , 
    
     as set forth above. To maximize speech coder performance, the harmonic noise weighting function is combined with the spectral weighting function. Thus, the noise masking properties of both the long term signal correlation and the short term signal correlation are utilized. A spectrally and harmonically weighted error energy, corresponding to a s&#39; i  (n) vector that substantially minimizes spectrally and harmonically weighted error energy at a subframe over all I values, is determined by a modified reconstruction (RECON) error parameter generator (210), being substantially: ##EQU9## and parameters specifying that s&#39; i  (n) vector are transmitted to a receiver. Vectors of a digital speech coder parameter, typically selected from a codebook of said vectors, have a vector dimension of at least one. 
     While the filters have been cascaded in a specific order in the above description, an alternate sequencing of weighting polynomials may also be beneficially utilized. 
     Correspondence/substantial equivalence is defined to be, substantially, a matching within predetermined boundary conditions. 
     FIG. 3, numeral 300, sets forth a flow diagram describing the steps in accordance with the present invention, such that a reconstructed error signal is determined in correspondence with the input speech signal periodicity. An input speech signal and a reconstruction error signal are input (302), typically such that the input speech signal and the reconstruction error signal are adjusted in accordance with a spectral envelope correlation vector (prior art spectral weighting) associated therewith individually prior to determination of a reconstruction error. The periodicity of the input speech signal is determined (304) and the reconstruction error signal (RES) is modified (306) as set forth above. 
     The utilization of harmonic noise weighting to extend noise weighting methodology thus enables synthesis of higher quality synthetic speech at a given bit rate, and is particularly useful in a radio incorporating digital speech transmission.