REDUCED COMPLEXITY SIGNAL TRANSMISSION SYSTEM

Abstract: In a CELP coder a comparison between a target signal and a plurality of synthetic signals is made. The synthetic signal is derived by filtering a plurality of excitation sequences from a one-dimensional codebook by a synthesis filter having parameters derived from the target signal. The excitation signal which results in a minimum error between the target signal and the synthetic signal is selected. The search for the best excitation signal requires a substantial computational complexity. To reduce the complexity a preselection of a small number of excitation sequences is made by selecting only every L<th> codebook entry for preselecting a plurality of excitation sequences. With this small number of excitation sequences a full complexity search is made in which all excitation sequences surrounding the preselected ones are involved in the selection.

Description: Reduced complexity signal transmission system The invention is related to a transmission system comprising a transmitter for transmitting an input signal to a receiver via a transmission channel, the transmitter comprising an encoder with an excitation signal generator for deriving from a main sequence, a plurality of excitation sequences being parts from the main sequence, said parts being mutually displaced over a plurality of positions, selection means for selecting an excitation sequence resulting in a minimum error between a synthetic signal derived from said excitation sequence, and a target signal derived from the input signal, the transmitter being arranged for transmitting a signal representing an optimal excitation sequence to the receiver, the receiver comprises a decoder with an excitation signal generator for deriving the selected excitation sequence from the signal representing the optimal excitation sequence, and a synthesis filter for deriving a synthetic signal from the optimal sequence of excitation signal samples. The present invention is also related to a transmitter, an encoder, a trans¬ mission method and an encoding method. A transmission system according to the preamble is known from US Patent No. 5, 140,638. Such transmission systems can be used for transmission of speech signals via a transmission medium such as a radio channel, a coaxial cable or an optical fibre. Such transmission systems can also be used for recording of speech signals on a recording medium such as a magnetic tape or disc. Possible applications are automatic answering machines or dictating machines. In modern speech transmission systems, the speech signals to be transmitted are often coded using the analysis by synthesis technique. In this technique, a synthetic signal is generated by means of a synthesis filter which is excited by a plurality of excitation sequences. The synthetic speech signal is determined for a plurality of excitation sequences, and an error signal representing the error between the synthetic signal, and a target signal derived from the input signal is determined. The excitation sequence resulting in the smallest error is selected and transmitted in coded form to the receiver. In the receiver, the excitation sequence is recovered, and a synthetic signal is generated by applying the excitation sequence to a synthesis filter. This synthetic signal is a replica of the input signal of the transmitter. In order to obtain a good quality of signal transmission a large number (e.g. 1024) of excitation sequences are involved with the selection. This selection involves a large number of filter operations requiring a substantial computing power. In order to reduce the required amount of computing power often a so-called one dimensional codebook is used. This means that the codebook comprises a main sequence of samples from which the excitation sequences are selected. Because adjacent sequences have a large number of samples in common, the filtering can be performed using a recursive method requiring substantially less computational resources. Furthermore, the use of a main sequence from which excitation sequences are selected, results into a reduction of the amount of memory required for storing the excitation sequences. A consequence of the large number of common samples in adjacent sequences is a large correlation value between adjacent sequences. In order to reduce the number of calculations not all possible sequences from the main sequence are used in the coder disclosed in the above mentioned US patent, but only the sequences being mutually displaced over a distance of p samples. By doing so some quality loss will be inevitably occur. The object of the present invention is to provide a transmission system according to the preamble in which the coding quality is increased without substantially increasing the computational complexity of the transmission system. Therefore the transmission system according to the invention is characterised in that the selection means are arranged for deriving at least one further excitation sequence from the main sequence, the further excitation sequence being displaced with respect to the selected sequence over a distance smaller than the displacement between the excitation sequences and in that the selection means are arranged for selecting from the selected excitation sequence and the at least one further excitation sequence that excitation sequence resulting in a minimum error between the synthetic signal derived from said further excitation sequence, and the target signal derived from the input signal, as the optimal sequence. By using one or more further excitation sequence having a smaller displacement value than the displacement value between two excitation sequences it is possible to approximate the target signal more accurately. Because the additional excitation sequence(s) is (are) selected in the vicinity of the best excitation sequence the additional number of computations is very small. It is observed that the main sequence can be stored in a fixed codebook, but that it is also possible that the main sequence is stored in an adaptive codebook, whose content is derived from previously used excitation sequences. An embodiment of the invention is characterised in that the displacement between two excitation sequences is between two and five positions. Experiments have shown that a value of p between 2 and 5 is a good choice. A further embodiment of the invention is characterised in that the encoder comprises a synthesis filter for deriving a synthetic signal from said excitation sequence, said synthesis filter having a reduced complexity with respect to the synthesis filter in the decoder. In this embodiment the encoder uses a synthesis filter having a reduced complexity with respect to the synthesis filter used in the decoder. Experiments have surprisingly shown that it is possible to reduce the complexity (filter order) of the synthesis filter in the encoder a factor of 10-20 with respect to the complexity of the synthesis filter in the receiver. A still further embodiment of the embodiment of the invention is characterised in that the selection means are arranged for selecting at least one further excitation sequence, in that the encoder comprises an additional synthesis filter arranged for deriving additional synthetic signals from the at least two excitation sequences, and in that the selection means are arranged for selecting the excitation sequence from the at least two excitation sequences resulting in a minimum error between the corresponding additional synthetic input signal and a reference signal derived from the input signal as the selected excitation signal. In this embodiment a preselection is made of at least two excitation sequences based on the use of the reduced complexity synthesis filter. Subsequently a final selection is made, using a more complex synthesis filter. This synthesis filter can be the same as the synthesis filter in the receiver, but it is also possible that is has still a reduced complexity compared with the synthesis filter in the receiver. It is observed that the reference signal may be the same signal than the target signal, but that it is also possible that these signals are different. The invention will now be explained with reference to the drawings. Herein shows Fig. 1 , a transmission system in which the invention can be applied; Fig. 2, an encoder according to the invention; Fig. 3, a part of the adaptive codebook selection means for preselecting a plurality of excitation sequences from the main sequence; Fig. 4, a part of the selection means for selecting the at least one further excitation sequence; Fig. 5, excitation sequence selection means according to the invention; Fig. 6, fixed codebook selection means according to the invention; Fig. 7, a decoder to be used in the transmission system according to Fig. 1. In the transmission system according to Fig. 1 , the input signal is applied to a transmitter 2. In the transmitter 2, the input signal is encoded using an encoder according to the invention. The output signal of the encoder 4 is applied to an input of transmitting means 6 for transmitting the output signal of the encoder 4 via die transmission medium 8 to a receiver 10. The operation of the transmitting means can include modulation of the (binary) signals from the encoder, possibly in binary form on a carrier signal suitable for the transmission medium 8. In the receiver 10, the signal received is converted to a signal suitable for the decoder 14 by a frontend 12. The operation of the frontend 12 can include filtering, demodulation and detection of binary symbols. The decoder 14 derives a reconstructed input signal from the output signal from the frontend 12. In the encoder according to Fig. 2, the input of the encoder 4 carrying samples i[ή] of the digitised input signal is connected to an input of framing means 20. The ouφut of the framing means, carrying an output signal x[n], is connected to a high pass filter 22. The output of the high pass filter 22, carrying an ouφut signal s[n], is connected to a perceptual weighting filter 32, and to an input of a LPC analyzer 24. A first ouφut of the LPC analyzer 24, carrying ouφut signal r[k) is connected to a quantiser 26. A second ouφut of the LPC analyzer carries a filter coefficient af for the reduced complexity synthesis filter. The ouφut of the quantiser 26, carrying the ouφut signal C[k], is connected to an input of an interpolator 28, and to a first input of a multiplexer 59. The ouφut of the interpolator 28, carrying the signal α9[/.][- is connected to a second input of the perceptual weighting filter 32, to an input of a zero input response filter 34, and to an input of an impulse response calculator 36. The ouφut of the perceptual weighting filter 32, carrying the signal w[n], is connected to a first input of a subtracter 38. The ouφut of the zero input response filter 34, carrying ouφut signal z[n] is connected to a second input of the subtracter 38. The ouφut of the subtracter 38, carrying a target signal t[n] is connected to an input of adaptive codebook selection means 40, adaptive codebook preselection means 42, and to an input of a subtracter 41. The ouφut of the impulse response calculator 36, carrying ouφut signal h[n] is connected to an input of the adaptive codebook selection means 40, an input of the adaptive codebook preselection means 42, an input of fixed codebook selection means 44 and an input of excitation signal selection means further to be referred to as fixed codebook preselection means 46. An ouφut of the adaptive codebook preselection means 42, carrying ouφut signal ia[k] is connected to an input of the adaptive codebook selection means 40. The combination of the adaptive codebook preselection means 42, the adaptive codebook selection means 40, the fixed codebook preselection means 46 and the fixed codebook selection means 44 form the selection means 45. A first ouφut of the adaptive codebook selection means, carrying ouφut signal Ga, is connected to a second input of the multiplexer 59, and to a first input of a multiplier 52. A second ouφut of the adaptive codebook selection means, carrying ouφut signal la, is connected to a third input of the multiplexer 59 and to an input of an adaptive codebook 48. A third ouφut of the adaptive codebook selection means 40, carrying ouφut signal p[n], is connected a second input of the subtracter 41. The ouφut of the subtracter 42 carrying ouφut signal e[n], is connected to a second input of the fixed codebook selection means 44 and to a second input of fixed codebook preselection means 46. An ouφut of the fixed codebook preselection means 46, carrying ouφut signal if[k], is connected to a third input of the fixed codebook selection means 44. A first ouφut of the fixed codebook selection means, carrying ouφut signal Gf, is connected to a first input of a multiplier 54 and to a fourth input of the multiplexer 59. A second ouφut of the fixed codebook selection means 44, carrying ouφut signal P, is connected to a first input of an excitation generator 50 and to a fifth input of the multiplexer 59. A third ouφut of the fixed codebook selection means 44, carrying ouφut signal L[k], is connected to a second input of the excitation generator 50 and to a sixth input of the multiplexer 59. An ouφut of the excitation generator 50, carrying ouφut signal y [n], is connected to a second input of the multiplier 54. An ouφut of the adaptive codebook 48, carrying ouφut signal ya[n] is connected to a second input of the multiplier 52. An ouφut of the multiplier 52 is connected to a first input of an adder 56. An ouφut of the multiplier 54 is connected to a second input of the adder 56. An ouφut of the adder 56, carrying ouφut signal yafln] is connected to a memory update unit 58, the latter being coupled to die adaptive codebook 48. An ouφut of the multiplexer 59 constitutes die ouφut of die encoder 59. The embodiment of die encoder according to Fig. 2 is explained under die assumption that the input signal is a wide band speech signal widi a frequency range from 0- 7 kHz. A sampling rate of 16 kHz is assumed. However it is observed that the present invention is not limited to such type of signals. In the framing means 20 the speech signal i[n] is divided into sequences of N signal samples x[n], also called frames. The duration of such a frame is typically 10- 30 mS. By means of the high pass filter 22 die DC content of the framed signal is removed such Uiat a DC free signal is available at the ouφut of the high pass filter 22. By means of the linear predictive analyzer 24, K linear prediction coefficients a[k] are determined. K is typically between 8 and 12 for narrow band speech and between 16 to 20 for wideband speech, however exceptions to this typical value are possible. The linear predictive coefficients are used in die syndiesis filter to be explained later. For the calculation of the prediction coefficients a[k] first the signal s[n] is weighted widi a Hamming window to obtain the weighted signal sw[n]. The prediction coefficients a[n] are derived from the signal sw[n] by first calculating autocorrelation coefficients and subsequently performing the Levinson-Durbin algorithm for recursively determining the values a[ \. The result of the first recursion step is stored as o/ for use in the reduced complexity synthesis filter. Alternatively it is possible to store the results afl and af2 of the second recursion step as parameters for the reduced complexity synthesis filter. It is observed that if a second order reduced complexity synthesis filter is used, it may be possible to perform only d e preselection. A selection using a full complexity synthesis filter can then be dispensed with. To eliminate extremely sharp peaks in the spectral envelope represented by the prediction parameters a[k], a bandwidth expansion operation is performed by multiplying each coefficient a[k] with a value γ*. The modified prediction coefficients ab[k] are transformed into log area ratios r[k]. The quantiser 26 quantises the log area ratios in a non-uniform way in order to reduce die number of bits to be used for transmitting the log area ratios to the receiver. The quantiser 26 generates a signal C[k) indicating die quantisation level of the log area ratios. For the selection of the optimum excitation sequence for the synthesis filter the frames s[n] are subdivided in S subframes. In order to achieve smooth filter transitions the interpolator 28 performs linear interpolation between the current indices C[k] and the previous ones Cp[k] for each sub frame, and converts the corresponding log area ratios back into prediction parameters 04[ |[-?]. s is equal to the index of die current sub frame. In an analysis by synthesis encoder, a frame (or sub frame) of the speech signal is compared with a plurality of synthetic speech frames each corresponding to a different excitation sequence filtered by a syndiesis filter. The transfer function of the synthesis filter is equal to I/A(z) with _4(z) being equal to P- \ A ( z) = 1 - ∑ a ?tW [s] - z " * "1 ( 1 ) In (1) P is the prediction order, k is a running index, and z "1 is the unity delay operator. In order to deal with the perceptual properties of the human auditory system the difference between the speech frame and the synthetic speech frame is filtered by a perceptual weighting filter with transfer function A{z)/A(z/ ). γ is a constant normally having a value around 0.8 .The optimum excitation signal selected is the excitation signal that results in a minimum power of the ouφut signal of the perceptual weighting filter. In die most speech coders die perceptual weighting filtering operation is performed before the comparison operation. This means that the speech signal has to be filtered by a filter with transfer function _4(z)/_ (z/γ) and that the synthesis filter has to be replaced by a modified synthesis filter with transfer function l/A(z/y). It is observed that also other types of perceptually weighting filters are in use, such as the one with transfer function -4(z/7;)/-4(z/7 2 ) The perceptual weighting filter 32 performs the filtering of the speech signal according to the transfer function A (z)/A(z/y) as discussed above. The parameters of the perceptual weighting filter 32 are updated each subframe with the interpolated prediction parameters -j<7[£][5]. It is observed diat the scope of the present invention includes all variants of the transfer function of the perceptual weighting filter and all positions of the perceptual weighting filter. The ouφut signal of die modified synthesis filter is also dependent on the selected excitation sequences from previous subframes. The parts of the synthetic speech signal dependent on the current excitation sequence and the previous excitation sequences can be separated. Because the ouφut signal of the zero input filter is independent on the current excitation sequence, it can be moved to the speech signal path as is done with the filter 34 in Fig. 2. Because the ouφut signal of the modified syndiesis filter is subtracted from the perceptually weighted speech signal, the signal of the zero input response filter 34 has also to be subtracted from die perceptually weighted speech signal. This subtraction is performed by me subtracter 38. At the ouφut of the subtracter 38 the target signal t[n] is available. The encoder 4 comprises a local decoder 30. The local decoder 30 comprises an adaptive codebook 48 which stores subsequently a plurality of previously selected excitation sequences. The adaptive codebook 48 is addressed widi the adaptive code- book index la. The ouφut signal ya[n] of the adaptive codebook 48 is scaled with a gain factor Ga by the multiplier 52. The local decoder 30 comprises also an excitation generator 50 which is arranged for generating a plurality of predetermined excitation sequences. The excitation sequence yj\n is a so-called regular pulse excitation sequence. It comprises a plurality of excitation samples separated by a number of samples with zero value. The position of the excitation samples is indicated by the parameter PH (phase). The excitation samples can have one of the values -1 ,0 and + 1. The values of the excitation samples is given by the variable L[k]. The ouφut signal yf\ri of the excitation generator 50 is scaled with a gain factor Gf by the multiplier 54. The ouφut signals of the multipliers 52 and 54 are added by the adder 56 to an excitation signal is stored in the adaptive codebook 48 for use in the next subframe. In the adaptive codebook preselection means 42 a reduced set of excitation sequences is determined. The indices ia[k] of these sequences is passed to the adaptive codebook selection means 40. In the adaptive codebook preselection means 42 a first order reduced complexity synthesis filter is used according to the invention. Further not all possible excitation sequences are taken into account, but a reduced number of excitation sequences having a mutual displacement of at least two positions. A good choice is a displacement in the range from 2 to 5. The reduction of the complexity of the synthesis filter used and the reduction of the number of excitation sequences taken into account gives a substantial reduction of the complexity of the encoder. The adaptive codebook selection means 40 are arranged for deriving from the preselected excitation sequences the best excitation sequence. In this selection a full complexity synthesis filter is used, and a small number of excitation sequences in the vicinity of the preselected excitation sequences is tried. The displacement between the tried excitation sequences is smaller than the displacement used in the preselection. A displacement of one is used in an encoder according to the invention. Due to die small number of excitation sequences involved, the additional complexity of die final selection is low. The adaptive codebook selection means generate also a signal p[n] which is a synthetic signal obtained by filtering the stored excitation sequences by die weighted syndiesis filter and by multiplying die synthetic signal with the value Ga. The subtracter 41 subtracts the signal p[n] from the target signal t[n] to derive the difference signal e[ή). In the fixed codebook preselection means 46 a backward filtered target signal is derived from the signal e[ή]. From the possible excitation sequences, the excitation sequences resembling the most the filtered target signal are preselected, and their indices if[k] are passed to the fixed codebook selection means 46. The fixed codebook selection means 44 perform a search of the optimal excitation signal from those preselected by the fixed codebook preselection means 46. In this search a full complexity synthesis filter is used. The signals C[k], Ga, la, Gf, PH and L[k] are multiplexed to a single ouφut stream by the multiplexer 59. The impulse response values h[n] are calculated by the impulse response calculator 36 from the prediction parameters according to the recursion: (2 ) In (2) Nm is the required length of the impulse response. In the present system this length is equal to the number of samples in a subframe. In the adaptive codebook preselection means 42 according to Fig. 3, the target signal /[/.] is applied to an input of a time reverser 50. The ouφut of the time reverser 50 is connected to an input of a zero state filter 52. The ouφut of the zero state filter 52 is connected to an input of a time reverser 54. The ouφut of the time reverser 54 is connected to a first input of a cross correlator 56. An ouφut of the cross correlator 56 is connected to a first input of a divider 64. An ouφut of the adaptive codebook 48 is connected to a second input of the cross correlator 56 and, via a selection switch 49, to an input of a reduced complexity zero state synthesis filter 60. A further terminal of the selection switch is also connected to an ouφut of the memory update unit 58. The ouφut of the reduced complexity synthesis filter 60 is connected to an input of an energy estimator 62. An ouφut of the energy estimator 62 is connected to an input of an energy table 63. An ouφut of the energy table 63 is connected to a second input of die divider 64. The ouφut of the divider 64 is connected to an input of a peak detector 65, and the ouφut of the peak detector 65 is connected to an input of a selector 66. A first ouφut of the selector 66 is connected to an input of die adaptive codebook 48 for selecting different excitation sequences. A second ouφut of the selector 66 carrying a signal indicating die preselected excitation sequence from the adaptive codebook is connected to a selection input of the adaptive codebook 48 and to a selection input of the energy table 63. The adaptive codebook preselection means 42 are arranged for selecting the excitation sequence from the adaptive codebook and die corresponding gain factor ga. This operation can be written as minimising the error signal ^being equal to: * ~ < t [n] - gra -yll ] [n] ) (3 ) In (3) Nm is the number of samples in a subframe, y[l\[n] is the response of the zero-state synthesis filter on the excitation sequence co[ ][n]. By differentiating (3) with respect to ga and stating the derivative equal to zero for the optimal value of ga can be found: Nm -\ t tø ] * -K [ l ] in ] ga = n=0 (4 ) Nm -\ 52 y 2 [l ] [n] ,ι=0 Substituting (4) into (3) gives for Minimising ^corresponds to maximising die second term [/] in (5) over !. [/] can also be written as: In (6) h[n] is the impulse response of the filter 52 in Fig. 3, as calculated according to (2). (6) can also be written as: (7) is used in the preselection of die adaptive codebook. The advantage of using (7) is that for determining d e numerator of (7) only one filter operation is required for all codebook entries. Using (6) would require one filter operation for each codebook entry involved in the preselection. For determining the denominator of (7), whose calculation still requires filtering all codebook entries, a reduced complexity synthesis filter is used. The denominator Eα of [/] is the energy of die excitation sequences involved filtered with the reduced complexity synthesis filter 60. Experiments have shown that the single filter coefficient varies rather slowly, so it has to be updated only once per frame. It is also possible to calculate the energy of die excitation sequences only once per frame, but this requires a slightly modified selection procedure. For preselecting die excitation sequences from the adaptive codebook the measure rαp[i -Lm+l] derived from (7) is calculated according to: In (8) _ and / are running parameters, J Lmin is die minimum possible pitch period of the speech signal being considered, N,n is the number of samples per subframe, Sα is the displacement between subsequent excitation sequences, and Lm is a constant defining die number of energy values stored per subframe, which is equal to 1 + \_(Nm-I)/Sa . The search according to (8) is performed for 0 < / < Lm and 0 < < 5. The search is arranged to include always the first codebook entry corresponding to the beginning of an excitation sequence previously written in the adaptive codebook 48. This allows die reuse of previously calculated energy values Ea stored in die energy table 63. At the instance for updating the adaptive codebook 48, the selected excitation signal yaj n of the previous subframe is present in the memory update unit 58. The selection switch 49 is in the position 0, and die newly available excitation sequences are filtered by die reduced complexity syn iesis filter 60. The energy values of the new filtered excitation sequences are stored in Lm memory positions. The energy values already present in the memory 63 are shifted downward. The oldest Lm energy values are shifted out from the memory 63, because the corresponding excitation sequences are not present any more in the adaptive codebook. The target signal ta[n] is calculated by the combination of the time reverser 50 die filter 52 and die time reverser 54. The correlator 56 calculates the numerator of (8), and die divider 64 performs die division from the numerator of (8) by die denominator of (8). The peak detector 65 determines die indices of die codebook indices giving die Pa largest values of (8). The selector 66 adds the indices of the neighbouring excitation sequences of the Pa sequences found by the peak selector 56 and passes all these indices to the adaptive codebook selector 40. In die middle of die frame (after S/2 subframes have passed) the value of af is updated. Subsequently the selection switch is put in position 1 and all energy values corresponding to die excitation sequences involved widi die adaptive codebook preselections are recalculated and stored in die memory 63. In the adaptive codebook selector 40 according to Fig. 4, an ouφut of the adaptive codebook 48 is connected to an ouφut of the (full complexity) zero state synthesis filter 70. The synthesis filter 70 receives its impulse response parameter from the calculator 36. The ouφut of the synthesis filter 70 is connected to an input of a correlator 72 and to an input of an energy estimator 74. The target signal t[n] is applied to a second input of the correlator 72. An ouφut of the correlator 72 is connected to a first input of a divider 76. An ouφut of the energy estimator 74 is connected to a second input of the divider 76. The ouφut of the divider 76 is connected to a first input of a selector 78. The indices ia[k] of the preselected excitation sequences are applied to a second input of the selector 78. A first ouφut of the selector is connected to a selection input of the adaptive codebook 48. Two further outputs of the selector 78 provide die ouφut signals Ga and la. The selection of the optimum excitation sequence corresponds to maximising the term ra[r]. Said term ra[r] is equal to: (9) corresponds to die term f[l\ in (5). The signal y[r][n] is derived from the excitation sequences by the filter 70. The initial states of the filter 70 are set to zero each time before an excitation sequence is filtered. It is assumed diat the variable iα[r] contains the indices of the preselected excitation sequences and dieir neighbours in increasing index order. This means that iα[r] contains Pα subsequent groups of indices, each of these groups comprising Sα consecutive indices of die adaptive codebook. For the codebook entry with the first index of a group, y[," -5c][ ι] is calculated according to: y[r - Sa] [n] ~ h [n-l ] - ca [ia [r- Sa] -l ] ; 0≤n <Nm ( 10 ) Because the same excitation samples but one are involved with the calculation of y[r -Sα+ I][n], the value y[r - Sα +I][n] can be determined recursively from y[r -S-.][«]. This recursion can be applied for all excitation sequences having an index in one group. For the recursion can be written in general: y[r- Sa+i+l] [n] =y [r - Sa+i] [n-1] +h [n] ■ ca [ ia [r- Sa+i +1] ] ( ID The correlator 72 determines the numerator of (9) from the ouφut signal of the filter 70 and the target signal t[n]. The energy estimator 74 determines the denominator of (9). At the ouφut of the divider the value of (9) is available. The selector 78 causes (9) to be calculated for all preselected indices and stores die optimum index Iα of the adaptive codebook 48. Subsequently the selector calculates die gain value g according to: Nm-l 52 t [n] -ytn] 9 = ^17-ι (12 > ∑ y 2 ^] ,ι=0 In (12) y is the response of the filter 70 to the selected excitation sequence with index la. The gain factor g is quantised by a non uniform quantisation operation to the quantised gain factor Ga which is presented at the ouφut of the selector 78. The selector 78 also ouφuts the contribution p[ ] of the adaptive codebook to the syndietic signal according to: p in] =Ga - y[n] (13 ) In the fixed codebook preselection means according to Fig. 5, the signal e[ ] is applied to an input of a backward filter 80. The ouφut of the backward filter 80 is connected to a first input of a correlator 86 and to an input of a phase selector 82. The ouφut of the phase selector is connected to an input of an amplitude selector 84. The ouφut of the amplitude selector 84 is connected to a second input of the correlator 86 and to an input of a reduced complexity syn iesis filter 88. The ouφut of the reduced complexity synthesis filter 88 is connected to an input of an energy estimator 90. The ouφut of the correlator 86 is connected to a first input of divider 92. The ouφut of the energy estimator 90 is connected to a second input of the divider 92. The output of the divider 92 is connected to an input of a selector 94. At the ouφut of the selector the indices if[k] of the preselected excitation sequences of the fixed codebook are available. The backward filter 80 calculates from the signal e[n] a backward filtered signal The operation of the backward filter is die same as diat described in relation to die backward filtering operation in die adaptive codebook preselection means 42 according to Fig. 3. The fixed codebook is arranged as a so called ternary RPE codebook (Regular Pulse Excitation) i.e. a codebook comprising a plurality of equidistant pulses separated with a predetermined number of zero values. The ternary RPE codebook has Nm pulses of which Np pulses may have an amplitude of + 1 , 0 or -1. These Np pulses are positioned on a regular grid defined by the phase PH and die pulse spacing D with 0 ≤PH < D. The grid positions pos are given by PH+D • /, with 0 ≤l<Np. The leaving Nm-Np pulses are zero. The ternary RPE codebook as defined above has D • (3 Np -l) entries. To reduce complexity a local RPE codebook containing a subset of gentries is generated for each subframe. All excitation sequences of diis local RPE codebook have die same phase PH which is determined by the phase selector 82 by searching over the interval 0≤PH<D the value of PH which maximises the expression: Np - l 52 I tf [ PH+D - l ] I ( 14 ) i = 0 In the amplitude selector 84 two arrays are filled. The first array, amp contains the variables amp[[ being equal to sign(tf[PH+D • ]) in which sign is the signum function. The second array, pos[l contains a flag indicating the Nz largest values of | tf[PH+D - l \ . For these values the excitation pulses are not allowed to have a zero value. Subsequently a two dimensional array ς [/:][rt] is filled with Nf excitation sequences having phase PH and having sample values which fulfil the requirements imposed by the content of die arrays amp and pos respectively. These excitation sequences are the excitation sequences having the largest resemblance to the residual sequence, being here represented by die backward filtered signal tf[n . The selection of the candidate excitation sequence is based on the same principle as is used in the adaptive codebook preselection means 42. The correlator 86 calculated the correlation value between the backward filtered signal tf[n] and the preselected excitation sequences. The (reduced complexity) synthesis filter 88 is arranged for filtering the excitation sequences, and the energy estimator 90 calculates the energy of the filtered excitation sequences. The divider divides the correlation value by the energy corresponding to the excitation sequence. The selector 94 selects the excitation sequences corresponding to the Pf largest values of the ouφut signal of the divider 92, and stores the corresponding indices of the candidate excitation sequences in an array if[k]. In the fixed codebook selection means 44 according to Fig. 6, an ouφut of the reduced codebook 94 is connected to an input of a synthesis filter 96. The ouφut of the synthesis filter 96 is connected to a first input of a correlator 98 and to an input of an energy estimator 100. The signal is applied to a second input of the correlator 98. The ouφut of the correlator 98 is connected to a first input of a multiplier 108 and to a first input of a divider 102. The ouφut of the energy estimator 100 is connected to a second input of the divider 102 and to an input of a multiplier 112. The ouφut of the divider 102 is connected to an input of a quantiser 104. The ouφut of the quantiser 104 is connected to an input of a multiplier 105 and a squarer 110. The ouφut of die multiplier 105 is connected to a second input of die multiplier 108. The ouφut of the squarer 110 is connected to a second input of die multiplier 112. The ouφut of the multiplier 108 is connected to a first input of a subtracter 114, and de ouφut of the multiplier 112 is connected to a second input of die subtracter 114. The ouφut of the subtracter 114 is connected to an input of a selector 116. A first ouφut of the selector 116 is connected to a selection input of the reduced codebook 94. Three outputs of the selector 116 with ouφut signals P, L[k] and Gf present the final results of the fixed codebook search. In the fixed codebook selection means 42 a closed loop search for the optimal excitation sequence is performed. The search involves determining die index r for which the expression rf[r] is maximal. is equal to: _V,,ι-l Nm-l rf [r] ~2-Gf- ∑ e[n] -y[r] [n] - Gf 2 ■ ∑ y 2 [r] [n] ( 15 ) ,ι=0 ,ι»0 In (15) _y[,~][/ι] is the filtered excitation sequence and Gf is the quantised version of the optimal gain factor g being equal to (16) (15) is obtained by expanding the expression for , deleting the terms not depending on r and replacing the optimal gain g by the quantised gain Gf. The signal y[r][n] can be calculated according to: n ylr] [n] = ∑h[n-j] • cf [if [r] [ j] ; 0≤n<Nm ( 17 ) o Because c[#[r]][/] can only have non-zero values for j=P+D l (O≤KNp) (17) can be simplified to: n-P D (18) ylr] [n] = 2 ln-P-D-1] • cf [r] [P+D-l] /=o The determination of (18) is performed by the filter 96. The numerator of (15) is determined by the correlator 98 and the denominator of (15) is calculated by the energy estimator 100. The value of g is available at the ouφut of die divider 102. The value of g is quantised to Gf by die quantiser 104. At die ouφut of die multiplier 108 the first term of (15) is available, and at die ouφut of die multiplier 112 die second term of (15) is available. The expression rff is available at the ouφut of the subtracter 114. The selector 116 selects the value of r maximising (15), and presents at its ouφuts the gain Gf, the amplitude L[k] of the non-zero excitation pulses, and the optimal phase PH of the excitation sequence. The input signal of the decoder 14 according to Fig. 7, is applied to an input of a demultiplexer 118. A first ouφut of the demultiplexer 118 carrying the signal C[k] is connected to an input of an interpolator 130. A second ouφut of the demultiplexer 118 carrying the signal la is connected to an input of an adaptive codebook 120. An ouφut of die adaptive codebook 120 is connected to a first input of a multiplier 124. A third ouφut of the demultiplexer 118 carrying the signal Ga is connected to a second input of die multiplier 124. A fourth ouφut of die demultiplexer 118 carrying the signal Crf is connected to a first input of a multiplier 126. A fifth ouφut of the demultiplexer 118 carrying the signal PH is connected to a first input of an excitation generator 122. A sixth ouφut of the demultiplexer 118 carrying the signal L[k] is connected to a second input of die excitation generator 122. An ouφut of the excitation generator is connected to a second input of the multiplier 126. An ouφut of the multiplier 124 is connected to a first input of an adder 128, and the ouφut of the multiplier 126 is connected to a second input of the adder 128. The ouφut of the adder 128 is connected to a first input of a synthesis filter 132. An output of the synthesis filter is connected to a first input of a post filter 134. An ouφut of the interpolator 130 is connected to a second input of the synthesis filter 132 and to a second input of the post filter 134. The decoded ouφut signal is available at the output of the post filter 134. The adaptive codebook 120, generates an excitation sequence according to index la for each subframe. Said excitation signal is scaled widi the gain factor Ga by the multiplier 124. The excitation generator 122 generates an excitation sequence according to the phase PH and the amplitude values L[k] for each subframe. The excitation signal from the excitation generator 122 is scaled with the gain factor Gf by the multiplier 126. The ouφut signals of the multipliers 124 and 126 are added by the adder 128 to obtain the complete excitation signal. This excitation signal is fed back to the adaptive codebook 120 for adapting the content of it. The synthesis filter 132 derives a synthetic speech signal from the excitation signal at the ouφut of the adder 128 under control of the interpolated prediction parameters fl#[fc][.s'] which are updated each subframe. The interpolated prediction parameters -*#[&][..] are derived by inteφolation of the parameters C[k] and conversion of the interpolated C[Jt] parameters to prediction parameters. The post filter 134 is used to enhance the perceptual quality of die speech signal. It has a transfer function equal to: P-l l-∑0.65 M -aq[i] [s] • z^^ F(z)~G[ε]- — • (1-0.3-z- 1 ) (19) 1-J20.75 «'+1 -ag[i] [s] • z-< i+1 > i=0 In (19) G[s] is a gain factor for compensating the varying attenuation of the filter function of the post filter 134.

Claims: CLAIMS 1. Transmission system comprising a transmitter for transmitting an input signal to a receiver via a transmission channel, the transmitter comprising an encoder with an excitation signal generator for deriving from a main sequence, a plurality of excitation sequences being parts from the main sequence, said parts being mutually displaced over a plurality of positions, selection means for selecting an excitation sequence resulting in a minimum error between a synthetic signal derived from said excitation sequence, and a target signal derived from the input signal, the transmitter being arranged for transmitting a signal representing an optimal excitation sequence to the receiver, the receiver comprises a decoder with an excitation signal generator for deriving the selected excitation sequence from the signal representing the optimal excitation sequence, and a synthesis filter for deriving a synthetic signal from the optimal sequence of excitation signal samples, characterised in that the selection means are arranged for deriving at least one further excitation sequence from the main sequence, the further excitation sequence being displaced with respect to the selected sequence over a distance smaller than the displacement between die excitation sequences and in that the selection means are arranged for selecting from die selected excitation sequence and the at least one further excitation sequence that excitation sequence resulting in a minimum error between the synthetic signal derived from said further excitation sequence, and the target signal derived from the input signal, as the optimal sequence. 2. Transmission system according to claim 1, characterised in that die displacement between two excitation sequences is between two and five positions. 3. Transmission system according to claim 1 or 2, characterised in that the encoder comprises a synthesis filter for deriving a synthetic signal from said excitation sequence, said synthesis filter having a reduced complexity widi respect to the synthesis filter in the decoder. 4. Transmission system according to claim 3, characterised in that the selection means are arranged for selecting at least one further excitation sequence, in that the encoder comprises an additional synthesis filter arranged for deriving additional syndietic signals from the at least two excitation sequences, and in diat die selection means are arranged for selecting die excitation sequence from the at least two excitation sequences resulting in a minimum error between the corresponding additional synthetic input signal and a reference signal derived from the input signal as the selected excitation signal. 5. Transmitter for transmitting an input signal, comprising an encoder with an excitation signal generator for deriving from a main sequence, a plurality of excitation sequences being parts from the main sequence, said parts being mutually displaced over a plurality of positions, selection means for selecting an excitation sequence resulting in a minimum error between a synthetic signal derived from said excitation sequence, and a target signal derived from the input signal, the transmitter being arranged for transmitting a signal representing an optimal excitation sequence, characterised in diat die selection means are arranged for deriving at least one furdier excitation sequence from the main sequence, the furdier excitation sequence being displaced with respect to die selected sequence over a distance smaller man die displacement between die excitation sequences and in that die selection means are arranged for selecting from the selected excitation sequence and the at least one further excitation sequence diat excitation sequence resulting in a minimum error between the synthetic signal derived from said furdier excitation sequence, and die target signal derived from the input signal, as the optimal sequence. 6. Transmitter according to claim 5, characterised in that the displacement between two excitation sequences is between two and five positions. 7. Encoder comprising an excitation signal generator for deriving from a main sequence, a plurality of excitation sequences being parts from the main sequence, said parts being mutually displaced over a plurality of positions, selection means for selecting an excitation sequence resulting in a minimum error between a synthetic signal derived from said excitation sequence, and a target signal derived from an input signal, the encoder being arranged for generating a signal representing an optimal excitation sequence, characterised in that the selection means are arranged for deriving at least one further excitation sequence from the main sequence, the further excitation sequence being displaced with respect to the selected sequence over a distance smaller than the displacement between the excitation sequences and in that die selection means are arranged for selecting from the selected excitation sequence and die at least one further excitation sequence that excitation sequence resulting in a minimum error between the synthetic signal derived from said further excitation sequence, and the target signal derived from the input signal, as the optimal sequence. 8. Encoder according to claim 7, characterised in that the displacement between two excitation sequences is between two and five positions. 9. Method for transmitting an input signal via a transmission channel, the mediod comprising deriving from a main sequence, a plurality of excitation sequences being parts from the main sequence, said parts being mutually displaced over a plurality of positions, selecting an excitation sequence resulting in a minimum error between a synthetic signal derived from said excitation sequence, and a target signal derived from the input signal, transmitting a signal representing an optimal excitation sequence via the transmission medium, for deriving the selected excitation sequence from a signal received from the transmission medium, and deriving a syn ietic signal from the optimal sequence of excitation signal samples, characterised in mat the mediod comprises deriving at least one further excitation sequence from the main sequence, the furdier excitation sequence being displaced with respect to the selected sequence over a distance smaller than the displacement between me excitation sequences and in diat the method comprises selecting from the selected excitation sequence and die at least one further excitation sequence that excitation sequence resulting in a minimum error between the synthetic signal derived from said furdier excitation sequence, and the target signal derived from the input signal, as the optimal sequence. 10. Mediod for coding an input signal, comprising deriving from a main sequence, a plurality of excitation sequences being parts from the main sequence, said parts being mutually displaced over a plurality of positions, selecting an excitation sequence resulting in a minimum error between a synthetic signal derived from said excitation sequence, and a target signal derived from the input signal and generating a signal represent¬ ing an optimal excitation sequence, characterised in that the method comprises deriving at least one further excitation sequence from the main sequence, the further excitation sequence being displaced with respect to the selected sequence over a distance smaller than the displacement between the excitation sequences and in that the method comprises selecting from the selected excitation sequence and the at least one further excitation sequence that excitation sequence resulting in a minimum error between the syndietic signal derived from said further excitation sequence, and the target signal derived from the input signal, as the optimal sequence.

Inventors: DE BONT FRANSISCUS MARINUS JOS, WUPPERMANN FRIEDHELM, DE BONT, FRANSISCUS, MARINUS, JOSEPHUS, WUPPERMANN, FRIEDHELM
Applicants: PHILIPS ELECTRONICS NV, PHILIPS NORDEN AB, PHILIPS ELECTRONICS N.V.
Application year: 1997
Main classification: H04B1
IPC codes: G10L19, H03M7, H04B1