METHOD AND APPARATUS FOR CODING DIGITAL SIGNALS

Abstract: In a method and apparatus for coding of digital signals, especially so-called "waveform" coding of voice frequency signals to reduce bit rates for reduced transmission or storage requirements, in which, for each block, an excitation signal is derived which, when applied to be a synthesis filter having suitable LPC coefficients, will generate an approxima­ tion to the input signal, low signal delay is achieved by deriving such excitation signal using the LPC coefficients corresponding to the last sample period of the correspond­ ing block. Thus the excitation signal calculations in the encoder need only be delayed by the duration of the block. The LPC coefficients can be derived on a continuous or sample-by-sample basis using an adaptive lattice. Simplified computation of the excitation signal, which comprises a set of pulses fewer in number than the number of samples in the original block, may be achieved by cross-correlating the impulse response of the modified synthesis filter with the output of the filter and using the result, together with the covariance of the impulse response, to derive the parameters of the excitation pulses. Further computation simplifications may be achieved by using an auto-correlation as the covariance signal.

Description: Method and Apparatus for Coding Digital Signals The invention relates to a method and apparatus for coding of digital signals and is especially, but not exclusively, applicable to coding of voice frequency signals to reduce bit rates for reduced transmission or storage requirements. In particular, the invention concerns coding systems in which the input signal is encoded in discrete blocks. For each block an excitation signal is derived which, when applied to a synthesis filter having suitable coefficients, will generate an approximation to the input signal. In one type of coding system, specifically the vocoder, the excitation signal is a train of pulses having a period corresponding to the fundamental periodicity of the input signal. This is not entirely satisfactory because the decoded signal from the synthesis filter is not usually an accurate reproduction of the input signal. Better accuracy can be achieved using so-called Wwaveformg coding, in which the derivation of the excitation signal takes into account the waveform of the input signal. One such waveform coding system is disclosed by B.S. Atal and d.R. Remde in a paper entitled "A New Model of LPC Excitation for Producing Natural-Sounding Speech at Low Bit Rates", Proceedings of the International Conference on Acoustics, Speech and Signal Processing, Paris, May 1982? pp 614-617, which is imported herein by reference. In their system, the excitation signal comprises a set of pulses having amplitudes and locations in the particular block determined according to the signal waveform. Each set of pulses is derived using a linear predictive coding (LPC) filter which has reflection coefficients derived from the input signal. Each excitation pulse is derived by calculating the filter response for every possible pulse position and selecting the one which gives least weighted error between such response and the input signal. The weighting of the error exploits the properties of human auditory perception. Naturally, the calculation of the excitation pulses can only begin when the LPC coefficients for the block are available. Consequently, there is a delay, equal to at least twice the period or frame over which the LPC coefficients are derived, between the synthesizer output and the encoder input. To achieve adequate accuracy it is preferable, with such known LPC-based waveform codecs, to derive the coefficients over a large period of time. Atal and Remade, for example, specify a frame period of about 20 milliseconds, equivalent to several blocks, which in their proposal, are 5 milliseconds long. In a practical environment, however, such as the telephone system, such a delay could be intolerable because of exacerbated echo problems. An object of the present invention is to mitigate this problem. According to one aspect of the present invention, apparatus for digital signal encoding and decoding comprises: an encoder comprising: (i) input means for providing a signal Sn in linear PCM format (ii) storage means for storing discrete blocks of said signal Sn individually and successively (iii) coefficient generating means for deriving from said signal 5n a set of prediction coefficients (iv) excitation signal generating means responsive to the coefficient generating means and the signal 5n waveform for generating an excitation signal comprising a set of excitation pulses for each said input signal block; ; the arrangement being such that the coefficients used in generating said excitation pulses for each block correspond to the last sample period of the same block. The apparatus further comprises: (v) a decoder comprising: means for synchronising the start of each block of the reconstructed output signal with the particular sample period to which the coefficients for that block correspond; (vi) a decoder synthesis filter having an input to receive said excitation signal and coefficient means adjustable in response to the prediction coefficients generated by said encoder, whereby upon application of each set of excitation pulses and corresponding coefficients said synthesis filter produces an output signal substantially reproducing said linear PCM signal Sn. The primary advantage of this arrangment is that the excitation signal calculations in the encoder are delayed by only the duration of the block. The delay therefore can be much shorter than in the previous known proposals. The coefficients may be derived on a sample-by-sample or continuous basis and preferably are LPC coefficients. In preferred embodiments, the coefficient generating means comprises an adaptive lattice. The decoder synthesis filter way then comprise a lattice too, although other filters may also be used, for example, and preferably, a recursive filter with adaptabne prediction coefficients. According to a second aspect of the invention, a method of encoding and decoding a digital signal comprises the steps of: (i) providing a signal Sn in linear PCM format; (ii) storing discrete blocks of said signal Sn individually and successively; (iii) deriving from said signal 5n a coefficient signal representing a set of prediction coefficients a-; and (iv) from the output of the coefficient generating means and the input signal waveform, generating an excitation signal (A) corresponding to each of said blocks of said signal Sn, said excitation signal comprising a component representing amplitude and a component representing temporal location within said block for each of a set of excitation pulses less in number than the number of possible PCM samples in said block. The coefficients used in generating said excitation signal for each block correspond to the last sample period of the same block. The method further comprises decoding the output signal by: (v) deriving from said excitation signal said excitation pulses and applying them to the input of a decoder synthesis filter having adjustable predictor coefficients; and (vi) adjusting said filter predictor coefficients, in response to said coefficient signal; wherein each said set of excitation pulses is ipplied to said filter following corresponding adjustment of its coefficients, to produce an output signal substantially identical to the corresponding block of the linear PCM signal. According to other aspects, the invention comprises apparatus and method solely for encoding a digital signal. As mentioned previously, in the system proposed by Atal and Remde the first excitation pulse is derived by calculating the filter response for every possible pulse position in the block and selecting the one which gives the least weighted error when compared with the input signal. The procedure is then repeated, taking into account the contribution of the first excitation pulse, to find the next-best or second excitation pulse, and so on, until the complete set of excitation pulses have been selected. A disadvantage of this approach is that it requires a considerable number of operations, i.e. multiplications and additions for each set of excitation pulses. A further object of the present invention is to mitigate this disadvantage. To this end, in any or all of the aforementioned aspects of the invention the parameters of the set of excitation pulses may be derived by: (i) computing the impulse response hn of an encoder synthesis filter using the coefficients aj appropriate to that block; (ii) computing cross-correlation am between the impulse response hn and the output of the encoder synthesis filter; ; (iii) computing the general covariance U(i,j) of the impulse response hn in accordance with the general expression given in the equation 8 of the attached Figure 6. (It should be noted that in this specification covariance (i,j) is intended to encompass both covariance and the more limited auto-correlation used in signal processing applications.) Preferably, the encoder synthesis filter for which aid impulse response is computed is a modified synthesis filter, i.e. a synthesis filter modified to take into account perceptual weighting additional to any preemphasis applied to the input signal. The modified synthesis filter may have coefficients a; = yi. aj, where aj are the prediction coefficients of the synthesis filter in the decoder and Y is a constant between zero and unity, preferably 0.75. At least for computing the parameters of the first excitation pulse, the covariance and the cross-correlation are used to derive the location of the maximum cross-correlation, which is the position of the first excitation pulse, and the corresponding amplitude of that pulse. For computing the parameters of subsequent pulses of each set, the cross-correlation signal from the preceding pulse computation is used, having been stored in a buffer. The general covariance matrix vector corresponding to the pulse location is multiplied by the corresponding amplitude and subtracted from the stored preceding cross-correlation signal. The location of the maximum value of the difference am and corresponding pulse ampl¯itude; ar'derived as before to give the parameters of the instant excitation pulse. More specifically the general covariance signs only .t derived by: computing the covariance matrix in accordance with equation 9 of Figure 6; squaring the cross-correlation signal am (or the difference &alpha;'m); and dividing the squared cross-correlation signal by the diagonal P(m,m) of the covariance matrix by the squared cross-correlation signal. The general covariance matrix vector is then the matrix row corresponding to that of the maximum cross-correlation value. Alternatively, and preferably, the general covariance signal is the output of an auto-correlator. The auto-correlation signal Is used directly in computing the amplitude of the first excitation pulse. For computing said subsequent pulses, the difference signal Is derived by subtracting from the preceding value the product of the amplitude and the auto-correlation signal Rh(l), An embodiment of the invention will now be described by way of example only and with reference to the accompanying drawings, in which: Figures 1 and 2 are schematic representations of an encoder and a decoder, which are shown included in a transmitter and receiver, respectively, interconnected by a communications channel. Figure 3 is a more detailed diagram of the encoder/transmitter of Figure 1. Figure 4 is a schematic representation of an adaptive lattice which is part of the encoder; Figure 5 is a schematic representation, corresponding to Figure 3, of a modified encoder; and Figure 6 is a table of equations referred to in this description. \D Z- Referring to Figure 1, the transmitter/encoder comprises input means 10, to which an analogue speech input signal is applied and which provides a corresponding signal Sn in linear PCM format. Each sample of the linear PCM formatted signal 5n comprises 16 bits. This signal 5n is applied to storage means 12 and coefficient signal generating means 14, respectively. The storage means 12 comprises a buffer which receives the signal Sn serially and stores it in blocks of 32 samples. Each block has a duration of 4 ms. The contents of the buffer 12 are accessed by excitation signal generating means 16 which uses them to generate an excitation signal (A), which is applied to a multiplexer 18. This excitation signal (A) comprises a series of bits representing the amplitude and location of each of a set of pulses which, applied to a synthesis filter having suitable coefficients, will regenerate the block of the PCM input signal. The excitation signal (A) also includes a gain factor, (6), which will be explained later. The coefficient signal generating means 14 derives from the linear PCM signal 5n a coefficient signal representing sets of reflection coefficients Kl-K8. These coefficients are updated on a sample-by-sample basis. The coefficient signal from the coefficient generating means 14m'is' applied to the multiplexer 18 and the excitation signal generating means 16, respectively. Although the coefficient signal is updated continuously, only one set of coefficients Kl-K8 is used in calculating each set of excitation pulses. In particular, for each 4 mS block, the set of coefficients used are those pertaining to the last sample period of that block. In this specific example, therefore, the coefficients are subsampled or extracted every 32 samples coinciding with the end of each block. The coefficient signal applied to the multiplexer 18 comprises a difference signal, specifically a series of bits which represent the difference between the instant coefficient values and those previously transmitted. The output of multiplexer 18 is transmitted via channel 20 to the receiver/decoder 22. There the excitation signal A and coefficient signal K. are segregated by means of a demultiplexer 24. The three components of the excitation signal, comprising amplitude component A,, location component m, and gain factor G, are applied to decoder input means 26 wherein they are decoded by amplitude decoder 21, location decoder 23, and gain factor or r.m.s. decoder 25, respectively. The outputs of the amplitude decoder 21 and gain or r.m.s. decoder 25 are multiplied together by multiplier 27, the output of which is applied to excitation pulse generator 29. The output of the location decoder 23 is also applied to excitation pulse generator 29, which produces therefrom a train of excitation pulses P, having the appropriate amplitudes and locations. In each 4 mS period only 8 pulses will be generated. It han found that a mere 8 pulses are sufficient to reconstruct accurately each 32 sample block of the input signal. The excitation pulses are applied to the input of a synthesis filter 28, which has adjustable predictor coefficients also8. The coefficient signal Kj from the dernultiplexer 24 is applied to coefficient decoding means 30 which produces therefrom the reflection coefficients Kl-K8. These are converted by conversion means 32 into predictor coefficient values which are applied to the synthesis filter, as indicated by line 34, to effect corresponding adjustment of its predictor coefficients also8. The adjustment of the synthesis filter coefficients is synchronised to the beginning of the 4 millisecond period during which the corresponding set of excitation pulses are applied to the input of the synthesis filter 28. The resulting output signal from the synthesis filter 28, following its excitation by the set of excitation pulses, is a close approximation to the corresponding 4 millisecond block of the linear PCM input signal Sn from which the set of excitation pulses were derived. The apparatus will now be described in more detail with reference also to Figures 3 and 4. The input means 10 comprises sampling means 40 for sampling and digitizing the analogue voice signal into 8-bit p-law samples, p-law to linear conversion means 42, and pre-emphasis means 44 for emphasizing the high frequencies for perceptual reasons. It will be appreciated that the Input means 10 could be modified readily to accommodate inputs other than analogue speech. For example, the A/D sampling means 40 could be omitted if the input signal were already in PCM form. Likewise, conversion from A-law could be used instead of p-law if the signal required it, and other weighting could be applied. The coefficient signal generating means 14 comprises an adaptjve lattice 46 and coefficient encoder 48. The lattice 46 is shown in detail in Figure 4 and Is of the kind disclosed by J.I. Makhoul and L.K. Cosell in a paper entitled "Adaptive Lattice Analysis of Speech", IEEE Transactions on Acoustics, Speech and Signal Processing, Vol. ASSP-29, No. 3, June 1981, which is imported herein by reference. The adaptive lattice illustrated in Figure 4 has eight stages. Its output is discarded, its prime purpose being to vary continually its coefficients K1-Kg in dependence upon the linear PCM input signal Sn applied to its input. The adaptive estimate of Km(n+l) for each stage m, where l < m s 8, is derived generally in accordance with equation 1, (see Figure 6) where: Km is the reflection coefficient for stage m of the lattice n is the instant sample or time slot w is a weighting factor which weights the residual energy so that more recent values have greater significance fm(n) is the "forward residual" at stage m gm(n) is the "backward residual" at stage m b Is a constant (for example unity), which determines the mix between forward and backward residuals. Preferably w is the impulse response of a recursive - filter of finite order. Then the numerator and denominator of equation 1 can be determined in accordance with equations 2 and 3, respectively (see Figure 6). In those equations ss S 0.988, for example. Referring again to Figure 3, the coefficient encoder 48 encodes the set of coefficient values (actually the difference between each set and the previously-transmitted set) every 4 milliseconds to provide the coefficient signal Ki which is applied to both the multiplexer 18 and the excitation signal generating means 16. In the excitation signal generating means 16, the coefficient signal Ki is decoded by a decoder 52 which extracts the original set of reflection coefficients K1-K8. Conversion means 54 then transforms the reflection coefficients K1-K8 into the corresponding set of predictor coefficients al-a8, using the recursive formulae specified as equations 4 and 5 in Figure 6. The set of predictor coefficients a1-a8, shown as signal aj in Figure 3, are applied to impulse response computation means 56, and Desired signal computation means 58, respectively. The "desired" signal computation means 58 comprises an inverse filter 60, which is an all-zero filter, and a modified synthesis filter 62, which is an all-pole filter. The modification of the synthesis filter 62, represented by the symbol Y, results in additional perceptual weighting being applied to the linear PCM signal Sn as it is encoded. The value of y is between 0 and 1, preferably 0.75. More specifically, the predictor coefficients dj of the modified synthesis filter 62 are obtained from the coefficients ai by the relationship ag = via at 8, 1.e. as disclosed in the aforementioned disclosure by Messrs. Atal and Remde, but for a weighting filter rather than a synthesis filter. The predictor coefficients of both filters, 60 and 62, are updated every 4 milliseconds in response to the predictor coefficent signal a1. The input to the inverse filter 60 is derived from the block of thirty-two 16-bit words stored in the storage means 12 at the instant the coefficient signals Ki, and hence a1, are derived or sub-sampled. The output of the inverse filter 60 is a linear prediction residual signal rn, derived in accordance with equation 6 of Figure 6. The signal rn, still comprising thirty-two 16-bit words, is applied by way of an adder 61 to the modified synthesis filter 62, which provides the "desired" signal dn, in accordance with equation 7 of Figure 6. The residual prediction signal rn is also applied to RMS-computing means 63, which computes its root-mean-square value G which is then differentially encoded into a 3-bit word by RMS encoding means 65, the output of which is applied to multiplexer 18 and RMS-decoding means 67. The adder 61 subtracts from the residual signal rn the output of an encoder excitation pulse generator 69 which is connected to the adder 61 by a switch 71. The output of the pulse generator 69 is a set of excitation pulses P corresponding to those which will be generated in the decoder for that block of the input signal. The excitation pulse generator 69 computes the pulses usng the location component m and amplitude component Am derived from the excitation signal A, as will be described later. Closure of switch 71 is controlled by means of a counter 73 which counts the number of excitation pulses and closes the switch 71 after the last pulse in each block, reopening it before the first pulse of the next block. The output of adder 61 is used by the modified synthesis filter 62 to compute the desired signal dn twice. The first time uses the data from the inverse filter 60 directly and is the basis for the set of excitation pulses P used for the second computation. The value for dn calculated the second time around, however, is discarded, the object of the second computation being merely to refresh the memory of the recursive modified synthesis filter. The impulse response computation means 56 computes, for each 4 millisecond block, the impulse response hn of the modified synthesis filter 62. The impulse response hn comprises a corresponding block of thirty-two 16-bit words. The impulse response hn, and output dn of the modified synthesis filter 62, are both applied to pulse-computation means, which computes the amplitude and location of each of the set of excitation pulses corresponding to that block or 4 millisecond period. The impulse response hn is applied to a cross-correlator 80, together with the "desired" signal dn from the modified synthesis filter 62. The cross-correlator 80 correlates the two signals hn and dn in thirty-two steps over the'cntii 4 milliseconds block and produces a cross-correlation signal a,, which is also a block of thirty-two 16-bit words. The cross-correlation signal am is applied by way of switch 82 to squaring means 84, which generates (&alpha;m)ê. The switch 82 is controlled by counter 73 so as to select the output of cross-correlator 82 for application to the squaring means 84 for computation of only the first excitation pulse. Thereafter switch 82 selects the output of an adder 86. One input of adder 86 is connected to the common or output of switch 82, by way of a buffer/delay 88, its other input being connected to the output of a multiplier 90. The impulse response hn is also applied to covariance computation means 92 which derives the covariance matrix (32 x 32 elements, each 16 bits), generally according to equation 8 (see Figure 6) and specifically, and preferably, equation 9 (see Figure 6). One output of covariance means 92 comprises the diagonal terms (m,m) and is applied to one input of a divider 94, the output of squaring means 84 being applied to the second input of the divider 94. The output of the divider 94, representing the term Is m)2/(m,m), is applied to pulse-maximum-locating means 98 which compares the values of all thirty-two samples thereof and selects the maximum. The temporal location of that maximum is m1 the location of the first excitation pulse. This location signal is encoded by encoder 100 and supplied to the multiplexer 18. The output of divider 94 is also supplied to amplitude-computing means 102, together with the location signal m, from the locating means 98, and the output of switch 82 which, for calculation of the first excitation pulse is am and for subsequent pulses of the set, am'. The output of amplitude-computation means 102, derived by dividing (&alpha;m)ê/#(m,m) by &alpha;m, is the amplitude m component Am (see equation 10 of Figure 6), which is applied to one input of a divider 104. The output of decoder 67, i.e. the gain factor 6, is applied to the other input of the divider 104. The output of divider 104 is encoded by means of amplitude encoder 108 and applied to the multiplexer 18. The output of the encoder 108 is also decoded by decoder 110 and multiplied, by means of multiplier 112, by the output of the RMS decoder 67, i.e. the gain factor G, and applied to one input of multiplier 90. The other input of the multiplier 90 is connected to the output of row-selection means 114. As previously mentioned, the output of multiplier 90 is applied to the negative input of adder 110. Row-selection means 114 has one input derived from the covariance computation means 92, to receive the entire matrix and and a second input connected to the max-location means 98 to receive the location of the maximum value i.e. pulse position m. The row-selection means 114 determines to which row of the matrix the maximum pulse corresponds and supplies that row to the multiplier 90. For derivation of the first excitation pulse, switch 82 selects the output am of cross-correlator 80 for application to squaring means 84. The squared cross-correlation signal &alpha;m divided by the diagonal (m,m) of the covariance matrix for the block. The maximum value of &alpha;mê/#(m,m) is selected by location means 98 as the position m, of the first excitation pulse for that block. Amplitude computing means 102 derives the corresponding amplitude Am1 for that first pulse according to equation 10 (Figure 6). Signal Am1 constitutes one element of the excitation signal component Ams which comprises eight 4-bIt words, one for each pulse. Before being encoded by amplitude encoding means 108, the amplitude Am1 Is divided, by the divider 104, by the r.m.s./gain factor. This division process normalizes the amplitudes for different blocks of the signal. The counter 73, which counts the excitation pulses located by location means 98, is arranged so that it resets the switch 82 to disconnect the cross-correlator 80 once the parameters, i.e. amplitude and location, of the first excitation pulse have been generated. Thus, the switch 82 applies to the squaring means 84, and amplitude-computing means 102, the output of adder 86, which is the difference m between the previous cross-correlation signal, stored in bufferldelay 88, and the output of multiplier 90. The output of multiplier 90 is the product of the maximum amplitude vector and the row of the covariance matrix which contains the maximum value. The parameters of the second excitation pulse are computed in the same way as the first, using m instead of am. The cycle repeats for the third and each subsequent pulse until a total set of eight have been generated, whereupon counter 73 restores switch 82 to its position, selecting the cross-correlator output, and momentarily closes switch 71 to refresh thememory of synthesis filter 62. A second embodiment of the invention is illustrated in Figure 5, wherein parts corresponding to the first embodiment have the same reference numerals. In the encoder of Figure 5 the computation of the covariance, in the general sense, is simplified by using an auto-correlator 120 in place of covariance computation means 92 and row-selector 114. The squarer 84 and divider 94 are also omitted. Other modifications are that the output of switch 82 is taken to location means 122 as well as amplitude computing means 102. The locating means 122 differs from locating means 98 in Figure 3 because, although it computes the same output, it uses a different input, namely am direct rather than the signal am2/p( m). In the embodiment of Figure 5, the auto-correlator 120 supplies the first auto-correlation value, directly to the amplitude-computing means 132, as indicated by the line 124. Amplitude-computing means 132 differs from amplitude-computing means 102 of Figure 3 because, although it supplies the same output, it uses different input signals. The impulse response signal hn Is applied to the auto-correlator 120, which auto-correlates it in thirty-two steps over the entire 4 millisecond period to provide an auto-correlation signal Rh(i) which then comprises a block of thirty-two 16-bit words. As in the first embodiment, the impulse response signal hn, is applied to the cross-correlator 80, together with the tesived-sinel dn from the modified synthesis filter 62. The cross-correlator again cross-correlates the two signals hn ind dn in thirty-two steps over the 4 millisecond period and produces a cross-correlation signal am, which is also a block of thirty-two 16-bit words. To determine the location of the first excitation pulse, cross correlation signal am is applied by way of one pole of a switch 82 to pulse-location means 122. The bulse-location means 122 compares the absolute values of the thirty-two 16 bit words of the cross-correlation signal am and selects the maximum. The location of this maximum within the block is coded as a binary word m1 which represents the location of the first excitation pulse. This binary word is applied to encoder 100, as are binary words for locations of subsequent excitation pulses. Encoder 100 encodes them to produce location component m of the excitation signal A and is applied to the multiplexer 18. As before, the position of the maximum value from pulse-location means 122 is applied to amplitude-computing means 132, which receives also, direct from the autocorrelator 102 (as indicated by line 124) the value Rh(O), which is the first of the thirty-two words of the auto-correlation signal Rh. The amplitude-computing means 132 derives the ratio a mj/Rh(O) to provide a signal Am1 which represents the amplitude of the first excitation pulse. Signal Am1 is divided by gain factor G, by means of divider 104, and is then supplied to the multiplexer 18 as a 4-bit binary word by means of a pulse-amplitude encoder 118. The amplitude signal Ami constitutes one element of the excitation signal component Am which comprises eight 4-bit words, one for each excitation pulse. In this embodiment, the output of the auto-correlator 120, i.e. Rh(i), Is applied directly to multiplier 90. The output of multiplier 90 is applied, as before, to the adder 86. The second and subsequent excitation pulses are generated in a similar manner to the first with switch 82 operated to select the output of adder 86 for application to the locating means 98, i.e. disconnecting the cross-correlation signal am. As before, the signal &alpha;m' applied to the maximum locating means 122 is then the difference between am, the previous input to means 122, and the output of multiplier 90. The cycle is repeated, with counter 73 being incremented each time, until eight excitation pulses have been computed, whereupon switch 82 resets to apply the cross-correlation signal for the next block to the pulse-maximum locating means 122.

Claims: Claims: 1. Digital signal encoding and decoding apparatus comprising: an encoder comprising: (i) input means for providing a signal Sn in linear PCM format; (ii) storage means for storing discrete blocks of said signal Sn individually and successively; (iii) coefficient generating means for deriving from said signal 5n a coefficient signal representing a set of prediction coefficients a.; and (iv) excitation signal generating means responsive to the coefficient generating means and the waveform of signal Sn for generating an excitation signal A corresponding to each of said blocks, said excitation signal comprising a component representing amplitude and a component representing temporal location within said block for each of a set of excitation pulses less in number than the number of possible PCM samples in said block, the arrangement being such that the coefficients used In generating said excitation signal for each block correspond to the last sample period of the same block, the apparatus further comprising: a decoder comprising: : a decoder synthesis filter having adjustable predictor coefficients; decoder input means responsive to said excitation signal for providing said excitation pulses and applying them to the input of said synthesis filter; coefficient means responsive to said oef4icient signal for adjusting said filter predictor coefficients, whereby application to said decoder synthesis filter of each said set of excitation pulses, following adjustment of its coefficients to corresponding values, produces an output signal substantially identical to the corresponding block of the linear PCM signal Sn. 2. Apparatus as claimed in claim 1, wherein said coefficient generating means is arranged to derive said coefficients on a continuous basis. 3. Apparatus as claimed in claim 2, wherein the coefficient generating means comprises an adaptive lattice. -4. Apparatus as claimed in claim 1, wherein said coefficients are linear prediction coefficients. 5. Apparatus as claimed in claim 2, wherein said coefficients are linear prediction coefficients. 6. Apparatus as claimed in claim 3, wherein said coefficients are linear prediction coefficients. 7. Apparatus as claimed in claim 1, wherein said encoder includes means for multiplexing said excitation signal and said coefficient signal, and said decoder includes means for demultiplexing said excitation signal and said coefficient signal. 8. Apparatus for encoding a digital signal comprising: (i) input means for providing a signal Sn in linear PCM format; (ii) storage means for storing discrete blocks of said linear PCM signal 5n individually and successively; (iii) coefficient generating means for deriving from said signal Sn a coefficient signal representing a set of prediction coefficients aj; ; and (iv) excitation signal generating means responsive to the coefficient generating means and the waveform of signal 5n for generating an excitation signal (A) corresponding to each of said blocks, said excitation signal comprising a component representing amplitude and a component representing temporal location within said block for each of a set of excitation pulses less in number than the number of possible PCM samples in said block. the arrangement being such that the coefficients used in generating said excitation signal for each block correspond to the last sample period of the same block. 9. Apparatus as claimed in claim 8, wherein said coefficient generating means is arranged to derive said coefficients on a continuous basis. 10. Apparatus as claimed in claim 9, wherein said coefficient generating means comprises an adaptive lattice. V g ç 11. Apparatus as claimed in claim 8, Whe;nin said coefficients are linear prediction coefficients. 12. Apparatus as claimed in claim 9, wherein said coefficients are linear prediction coefficients. 13. Apparatus as claimed in claim 10, wherein said coefficients are linear prediction coefficients. 14. Apparatus as claimed in claim 1 or 8, wherein the excitation signal generating means comprises: (v) filter means for generating from the linear PCM signal a desired signal dn; (vi) impulse response computer means for computing the impulse response hn of the filter means using the coefficients a1 appropriate to that block; (vii) cross-correlator means for computing cross-correlation am between the impulse response hn and the output of the filter means; (viii) covariance means for computing the general covariance B(i,j) of the impulse response hn, in accordance with the general expression given in equation 8 of the attached Figure 6; ; (ix) location means responsive to the covariance means the the cross-correlation means for deriving the location of the maximum correlation, and generating therefrom an element of the said component representing temporal location, such element being the position of the first excitation pulse, and (x) means responsive to the covarianre reans, the locating means and cross-correlation means for generating the corresponding amplitude of that pulse. 15. Apparatus as claimed in claim 14, further comprising: (xi) buffer means for storing the output of the cross-correlator means, for each excitation pulse; (xii) subtraction means for subtracting from the buffer means output a signal representing the product of a covariance vector corresponding to the instant pulse and the corresponding amplitude parameter; and (xiii) switching means operative to select the output of the cross-correlator for application to said locating means for computation of said first pulse and to select the output of the subtraction means for application to said location means for computation of subsequent pulses in the same set. 16. Apparatus as claimed in claim 15, wherein said covariance means comprises: (xiv) matrix means for computing the covariance matrix in accordance with equation 9 of Figure 6; (xv) squaring means for deriving the square of said cross-correlation signal; and (xvi) divider means responsive to the matrix means and the squaring means for dividing the diagonal of the covariance vector by the output of the squaring means; the output of the divider means being applied to said locating means for deteXmination ofteV maximum thereof. 17. Apparatus as claimed in claim 16, further comprising: (xvii) row selection means responsive to the matrix means and the output of the locating means for selecting as said covariance vector the row of the covariance matrix corresponding to the location represented by such locating means output, such row being applied to multiplier means for providing said product. 18. Apparatus as claimed in claim 14 wherein the filter means comprises a synthesis filter having coefficients which are modified relative to those of the decoder synthesis filter. 19. Apparatus as claimed in claim 18, wherein the filter means coefficients ai' are related to the decoder synthesis filter coefficients aj by the expression a.'=Y1 a. I 1 where 1 # i < i < 8 and # # # 1. 20. Apparatus as claimed in claim 15, wherein said covariance means comprises: (xviii) auto-correlator means for providing the auto-correlation Rh(i) of the impulse response hn, said subtraction means being arranged to subtract from the buffer output the product of the auto-correlation Rh(i) and said amplitude parameter. 21. Apparatus as claimed in claim 20, wherein means for computing the amplitude is responsive to the output of the auto-correlator, at least for computing the amplitude of the first excitation pulse. 22. A method of encoding and decoding a digital signal comprising the steps of: encoding the signal by: (i) providing a signal Sn, in linear PCM format; (ii) storing discrete blocks of said signal 5n individually and successively; (iii) deriving from said signal 5n a coefficient signal representing a set of prediction coefficients (ai); and (iv) from the output of the coefficient generating means and the waveform signal Sn, generating an excitation signal (A) corresponding to each of said blocks, said excitation signal comprising a component representing amplitude and a component representing temporal location within said block for each of a set of excitation pulses less in number than the number of possible PCM samples in said block, the coefficients used in generating said excitation signal for each block corresponding to the last sample period of the same block; and decoding the output signal by: (v) deriving from said excitation signal said excitation pulses and apptying them to the input of a synthesis filter having adjustable predictor coefficients; and (vi) adjusting said filter prediceor coeffitientK, in response to said coefficient signal; wherein each said set of excitation pulses is applied to said filter following corresponding adjustment of its coefficients, to produce an output signal substantially identical to the corresponding block of the linear PCM signal Sn. 23. A method as claimed in claim 22, wherein said coefficients are derived on a continuous basis. 24. A method as claimed in claim 23, wherein the coefficients are derived using an adaptive lattice. 25. A method as claimed in claim 22, wherein said coefficients are linear prediction coefficients. 26. A method as claimed in claim 23, wherein said coefficients are linear prediction coefficients. 27. A method as claimed in claim 24, wherein said coefficients are linear prediction coefficients. 28. A method as claimed in claim 22, wherein said encoding includes multiplexing said excitation signal and said coefficient signal, and said decoding includes demultiplexing said excitation signal and said coefficient signal. 29. A method of encoding a digital signal compris.ng: (i) providing a Sn in linear PCM format; (ii) storing discrete blocks of said signal 5n individually and successively; (iii) deriving from said signal Sn a coefficient signal representing a set of prediction coefficients ai; ; and (iv) from the output of the coefficient generating means and the waveform of said signal Sn, generating an excitation signal (A) corresponding to each of said blocks, said excitation signal comprising a component representing amplitude and a component representing temporal location within said block for each of a set of excitation pulses less in number than the number of possible PCM samples in said block, the coefficients used in generating said excitation signal for each block corresponding to the last sample period of the same block. 30. A method as claimed in claim 29, wherein said coefficients are derived on a continuous basis. 31. A method as claimed in claim 30, wherein the coeffients are derived using an adaptive lattice. 32. -A method as claimed in claim 29, wherein said coefficients are linear prediction coefficients. 33. A method as claimed In claim 29,'wherein said coefficients are linear prediction coefficients. 34. A method as claimed in claim 30, wherein said coefficients are linear prediction coefficients. 35. A method as claimed In claim 22 or 29, wherein the generation of said excitation signal comprises the steps of: (v) generating from the linear PCM signal a desired signal dn; (vi) computing the impulse response hn of encoder filter means using the coefficients aj appropriate to that block; (vii) computing cross-correlation am between the impulse response hn and the desired signal dn; (viii) computing the general covariance (i,j) of the impulse response hn, in accordance with the general expression given in equation 8 of the attached Figure 6; (ix) in response to the covariance and the cross-correlation deriving the location of the maximum correlation, and generating therefrom an element of said component representing temporal location, such element being the position of the first excitation pulse; and (x) responsive to the covariance, the maximum location and cross-correlation generating the corresponding amplitude of that pulse in accordance with equation 10 of Figure 6. 36. A method as claimed in claim 35, further comprising: (xi) storing the output of the cross-correlator means, for each excitation pulse; (xii) subtracting from the said stored output a signal representing the product of a covariance vector corresponding to the instant pulse and the corresponding amplitude parameter; and (xiii) selecting the cross-correlation signal for computation of said first pulse and the product of the subtraction means for computation of subsequent pulses in the same set. 37. A method as claimed in claim 36, further comprising: (xiv) computing the covariance matrix in accordance with equation 9 of Figure 6; (xv) deriving the square of said cross-correlation signal; and (xvi) in response to the covariance matrix and the squared signal dividing the diagonal of the covariance vector by the squared signal; the result of such division being used in determination of the maximum thereof. 38. A method as claimed in claim 37, further comprising: (xvii) responsive to the covariance matrix and the pulse location selecting as said covariance vector the row of the covariance matrix corresponding to such location, such row being applied to multiplier means for providing said product. 39. A method as claimed in claim 36, wherein said covariance is derived by: (xviii) providing the auto-correlation Rh(i) of the impulse response , said subtraction subtracting from the stored signal the product of the auto-correlation Rh(i) and said amplitude parameter. 40. A method as claimed in claim 39, wherein computation of the amplitude¯is responsive to the auto-correlation signal, at least for computing the amplitude of the first excitation pulse. 41. A method as claimed in claim 35, wherein the encoder filter means comprises a synthesis filter having coefficients modified relative to those of the decoder synthesis filter. 42. A method as claimed in claim 41, wherein the encoder filter means has coefficients a related to the coefficients ai of the decoder synthesis filter by the expression ai= Y.aj where 1 - < i # 8 and Q < # # l.

Inventors: BEYROUTI, MICHAEL GEORGE, GARTEN, HAIM, MERMELSTEIN, PAUL
Applicants: NORTHERN TELECOM LIMITED
Application year: 1984
Main classification: G10L9
IPC codes: H03M7, G10L19, H04B14