Wideband adaptive prediction
TECHNICAL FIELD 
     The present invention relates to adaptive prediction in differential PCM coding of speech, music, voiceband data, and tones. 
     BACKGROUND OF THE INVENTION 
     Over the past several years there has been, and continues to be, a tremendous amount of activity in the area of efficient encoding of speech. For an evolving digital telephone network, a most important application is the possible replacement of the 64,000 bit-per-second (b/s) PCM signal (8 bits per time slot, repeated at an 8 kHz rate) with other coding algorithms for telphoney--both in the public switched and private line networks. The reason, of course, is to achieve bandwidth compression. 
     For a realistic mix of input speech, music and voiceband data, adaptive differential PCM appears to be a most promising approach. One form of adaptive differential PCM coding is disclosed, for example, in U.S. Pat. No. 4,437,087 issued Mar. 13, 1984 to D. W. Petr, and can be considered a benchmark since a single encoding with this ADPCM coder at 32 kb/s is near to being subjectively equivalent to 64 kb/s μ255 PCM. 
     The prior adaptive predictors employed in the Petr coding arrangement are particularly advantageous in handling signals encountered in conventional telephone channels, i.e., signals up to 4 kHz. However, processing of so-called wideband signals, i.e., signals above 4 kHz, imposes more stringent requirements on the adaptive predictor. Indeed, wideband processing is intended to provide reduced distortion and noise with greater audio bandwidth as compared to conventional telephone transmission. 
     Prior predictor arrangements have performance limitations in the presence of transmission errors which result in a decoder not tracking a corresponding coder. Such mistracking results in degradation of the received signal. Moreover, wideband applications typically require so-called higher order filters in the predictor. Heretofore, maintaining tracking and stability of the higher order predictor filters was a problem. 
     SUMMARY OF THE INVENTION 
     The performance limitations and stability problems are overcome in an adaptive predictor for use in an adaptive differential PCM coder-decoder by employing, in accordance with an aspect of the invention, a high order prediction filter in which the prediction filter coefficients are updated in accordance with a predetermined relationship between a reconstructed sample (s q  (k)) and a quantized version (e q  (k)) of the differential error signal. More specifically, the filter coefficients are updated using an algorithm based on the sign of a reconstructed sample (s q  (k)) multiplied by a quantized version (e q  (k)) of the differential error signal (e(k)) normalized by the expected magnitude of the reconstructed sample (s q  (k)). 
     It is a feature of the invention that the above-described functions or operations can be carried out digitally and, therefore, an adaptive predictor designed in accordance with the invention can be readily implemented in integrated circuit form or, alternatively, through the use of a digital signal processor. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     The invention will be more fully understood from the following detailed description of an illustrative embodiment taken in connection with the appended figures in which: 
     FIG. 1 shows in simplified block diagram form an ADPCM CODEC (coder-decoder) including the present invention; 
     FIG. 2 depicts in simplified form details of adaptive filter(A) employed in the embodiment of FIG. 1; 
     FIG. 3 shows in simplified form details of adaptive filter(B) also employed in the embodiment of FIG. 1; 
     FIG. 4 depicts in simplified block diagram form details of adaptation control(A) of FIG. 1; 
     FIG. 5 shows in simplified form details of the R( ) function of FIG. 4; and 
     FIG. 6 shows in graphical form the F( ) function of FIG. 4. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 shows an ADPCM CODEC system in which adaptive prediction in accordance with the present invention can be used to advantage. Accordingly, coder 100 receives, in this example, linear PCM samples s(k) and encodes them into an n-bit differential PCM signal I(k) for transmission to ADPCM decoder 101 over transmission facility 102. For purposes of illustration, a 4-bit differential PCM signal is assumed. This 4-bit differential PCM signal I(k) in conjunction with the ADPCM coding algorithm provides very reliable transmission for both speech and wideband signals, e.g., music. 
     The multibit (e.g., 15-16 bits) linear PCM samples s(k) are supplied to one input of algebraic difference circuit 11. Samples s(k) could also be pulse amplitude modulated (PAM) samples. Linear PCM samples s(k) may result from the direct encoding of an input speech or music signal. 
     Adaptive predictor 12 provides a predicted signal s e  (k) which is a prediction or estimate of sample s(k). This predicted signal s e  (k) is supplied to the second input of difference circuit 11. Difference circuit 11 yields differential error signal e(k) which is the algebraic difference of the supplied inputs, namely, 
     
         e(k)=s(k)-s.sub.e (k).                                     (1) 
    
     The error signal e(k) is supplied to adaptive quantizer 14. Adaptive quantizer 14 is, in this example, a 16-level quantizer and not only provides the desired quantization of differential error signal e(k) to yield e q  (k), but it also serves to PCM-encode the differential error signal to yield differential PCM output I(k). In this example, output I(k) is a 4-bit signal representing the quantized and PCM-encoded form of differential error signal e(k). Such quantizers are known in the art. See, for example, an article by N. S. Jayant entitled &#34;Adaptive Quantization with a One-Word Memory&#34;, The Bell System Technical Journal, Vol. 52, No. 7, September 1973, pages 1119-1144. 
     The quantized version of differential error signal e(k), namely, e q  (k), is supplied from quantizer 14 to predictor 12 and, therein, to adaptation control(B) 15, adaptive transversal filter(B) 16, adaptation control(A) 17 and one input of adder 18. The s e  (k) output of predictor 12 is also supplied to the second input of adder 18. Adder 18 serves to add quantized signal e q  (k) and predicted signal s e  (k) to generate at its output reconstructed signal s q  (k). Reconstructed signal s q  (k) is a close quantized version of the input sample s(k). Reconstructed signal s q  (k) is supplied to adaptation control(A) 17 and to adaptive transversal filter(A) 19. Adaptation control(B) 15 generates coefficient update vector b(k) (b(k)={b 1  (k), b 2  (k), . . . , b n  (k)}) for adaptive transversal filter(B) 16. Adaptation control(A) 17 generates, in accordance with an aspect of the invention, coefficient update vector a(k) (a(k)={a 1  (k), a 2  (k), . . . , a m  (k)}) for high order adaptive transversal filter(A) 19. An output from adaptive transversal filter(B) 16, s b  (k), and an output from adaptive transversal filter(A) 19, s a  (k), are supplied to adder 20 which, in turn, yields the next predicted signal sample s e  (k) for comparison with the next received linear PCM sample s(k), namely, 
     
         s.sub.e (k)=s.sub.a (k)+s.sub.b (k).                       (2) 
    
     The 4-bit differential PCM output signal I(k) from quantizer 14 is transmitted, in typical time-division multiplexed fashion, over digital transmission facility 102 to decoder 101. The received signal is designated I&#39;(k), the prime indicating that it is close to and yet, perhaps, not identical with the transmitted signal I(k) because of transmission errors. Similarly, the other letter symbols used in decoder 101 are primed to indicate that they are close to, but perhaps not identical with, the similarly designated symbols or signals of coder 100. 
     In decoder 101, received signal I&#39;(k) is supplied to quantizer scale adaptation unit 21 which generates at its output the quantized signal e&#39; q  (k). Such quantizer scale adaptation units are known in the art. See, for example, the N. S. Jayant article noted above. Again, as before, e&#39; q  (k) represents the quantized version of the differential error signal e(k), with the prime indicating a possible variation therefrom because of transmission errors. The quantized differential error signal e&#39; q  (k) is supplied to adaptive predictor 112 and, therein, to adaptation control(B) 115, adaptive transversal filter(B) 116, adaptation control(A) 117 and one input of adder 118. An output from predictor 112 is the reconstructed signal s&#39; q  (k) which, again, is a close quantized version of the original sample s(k) supplied to coder 100. The reconstructed signal s&#39; q  (k) is also supplied to predictor 112 and, therein, to adaptation control(A) 117 and adaptive transversal filter(A) 119. Adaptation control(B) 115 generates coefficient update vector b&#39;(k) for adaptive transversal filter(B)116 and adaptation control(A) 117 generates, in accordance with an aspect of the invention, coefficient update vector a&#39;(k) for adaptive transversal filter(A) 119. Filter 116 generates s&#39; b  (k) while filter 119 generates s&#39; a  (k), which are combined via adder 120 to generate the predicted sample s&#39; e  (k). Predicted sample s&#39; e  (k) is supplied to one input of adder 118 and the quantized differential error signal e&#39; q  (k) is supplied to a second input of adder 118. Adder 118 generates the reconstructed signal s&#39; q  (k), namely, 
     
         s&#39;.sub.q (k)=e&#39;.sub.q (k)+s&#39;.sub.e (k).                    (3) 
    
     The reconstructed signal s&#39; q  (k) is supplied to an output of decoder 101 where it is utilized to reconstruct a replica of the original speech or music signal. 
     FIG. 2 shows in simplified form details of adaptive transversal filter(A) 19, 119 employed in both encoder 100 and decoder 101 of FIG. 1. In this example, the number of filter coefficients, a i  (k), used in filter 19, 119 is assumed to be eight (8). Accordingly, filter 19, 119 is a so-called high order filter which generates output s a  (k) in response to reconstructed signal s q  (k) and the filter(A) coefficients a i  (k), namely, ##EQU1## where in this example m=8. To this end, filter 19, 119 includes a delay line consisting of a serial connection of delay units 201-1 through 201-8. Each of delay units 201 has a predetermined delay interval which, in this example, in the PCM sample interval. Outputs from delay units 201-1 through 201-8 are supplied to inputs of controllable gain units 202-1 through 202-8, respectively. Controllable gain units 202-1 through 202-8 are each responsive to a corresponding amplitude coefficient signal from adaptation control(A) 17, 117, namely, a 1  (k) through a 8  (k), respectively, to generate an updated amplitude signal. The amplitude signal outputs from controllable gain units 202-1 through 202-8 are appropriately summed via summers 203-1 through 203-7 to yield the desired output s a  (k) in accordance with equation (4). 
     FIG. 3 also shows in simplified block diagram form details of adaptive transversal filter(B) 16, 116 employed in both encoder 100 and decoder 101. In this example, the number of filter coefficients b i  (k) used in filter 16, 116 is assumed to be six (6). Accordingly, filter 16, 116 generates output s b  (k) in response to the quantized differential error signal e q  (k) and the filter(B) coefficients b i  (k), namely, ##EQU2## In this example n=6. To this end, filter 16, 116 includes a delay line consisting of a serial connection of delay units 301-1 through 301-6. Each of delay units 301 has a predetermined delay interval which, in this example, is the PCM sampling interval. Outputs from delay units 301-1 through 301-6 are supplied on a one-to-one basis to inputs of controllable gain units 302-1 through 302-6, respectively. Controllable gain units 302-1 through 302-6 are each responsive to a corresponding amplitude coefficient signal from adaptation control(B) 15, 115, namely, b 1  (k) through b 6  (k), respectively, to generate an updated amplitude signal. The updated amplitude signals from gain units 302-1 through 302-6 are appropriately summed via summers 303-1 through 303-5 to yield the desired output s b  (k), in accordance with equation (5). 
     Adaptation control(B) 15, 115 is responsive to the quantized error signal e q  (k) for generating the filter coefficient vector b(k) in known fashion. One predictor arrangement using i=1, 2, . . . 6 which may be employed for adaptation control(B) 15, 115 is described in a CCITT STUDY GROUP XVIII document entitled &#34;32k bit/s Adaptive Differential Pulse Code Modulation (ADPCM)&#34;, Temporary Document No. 4-E, 21-25, November 1983. 
     FIG. 4 depicts in simplified block degree form details of adaptation control(A) 17, 117 which generates filter amplitude coefficient, a i  (k), in accordance with an aspect of the invention. That is to say, adaptation control(A) 17, 117 updates the filter coefficient vector a(k) of higher order filter 19, 119 by using an algorithm based on the sign of reconstructed sample s q  (k) multiplied by the quantized differential error signal e q  (k) normalized by the expected magnitude of reconstructed sample s q  (k), namely, ##EQU3## The quantity, e q  (k)/E{|s q  (k)|} of equation (6) can be considered a normalized error signal because the actual quantized error signal sample, e q  (k), is scaled by the expected magnitude of the reconstructed signal sample, E{|s q  (k)|}. If the prediction filter signal estimate is very good, then the normalized error signal is relatively small. This implies that the coefficient update term of equation (6) is relatively small. Consequently, the effects of transmission errors on the predictor adaptation are reduced. 
     In certain implementations, for example, those using a digital signal processor (DSP) chip, the function of equation (6) is modified. This is because division is not readily performed in the DSP chip. Instead the value of 1/E{|s q  (k)|} of equation (6) is approximated by using a table of reciprocals. An index of this table is found by using the μ-law 255 PCM function. The table contains quantized reciprocal values of an estimate of E{|s q  (k)|}. In addition, limiting of the update term of equation (6) improves performance under conditions of transmission bit errors. The modified prediction filter coefficient adaptation procedure is 
     
         a.sub.i (k)=λ.sub.i a.sub.i (k-1)+g.sub.a sign (s.sub.q (k-i))F(e.sub.q (k)r.sub.q (k))                           (7) 
    
     for i=1, 2, . . . m and where F() is a nonlinear function of e q  (k)r q  (k). The function, F(), is shown in FIG. 6 and is given by ##EQU4## where ##EQU5## and r q  (k) is schematically shown in FIG. 5. Letting x=s q  (k), the function μ(x) is, in this example, a μ255 PCM conversion function where x is a positive linear representation in the appropriate range. The function l(y) is the linear conversion function where y=μ(x). The sequence s q  (k) is an estimate of the expected magnitude of the reconstructed signal s q  (k) obtained by the average filter 
     
         s.sub.q (k)=αs.sub.q (k-1)+(1-α)|s.sub.q (k)|.                                            (10) 
    
     The parameter λ i  of equation (7) is a so-called &#34;leak&#34; factor associated with a i  (k) and 0&lt;λ i  &lt;1. The parameter α of equation (10) is the average filter coefficient where 0&lt;α&lt;1. 
     It is seen that the update term of equation (7) is a nonlinear function of e q  (k)r q  (k). The range of the function, F(), is limited in order to provide better performance under conditions of transmission errors. It was found that the best overall performance was obtained with f 2  &lt;f 1 . One effect of this type of limiting is that the signal-to-noise ratio (SNR) performance for signals corresponding to relatively small normalized errors is better than the SNR performance for other signals. This performance characteristic takes advantage of certain subjective effects to provide good quality for a large class of signals. Subjectively, quantizing noise is generally more perceptible with narrowband signals and signals with strong spectral peaks than with broadband signals without spectral peaks. This is a result of noise masking effects. Therefore, since the normalized error is relatively small for signals with strong spectral peaks compared with other signals, the prediction filter performance characteristics match the observed subjective criterion. Another advantage of such limiting is that if a transmission error causes the value of e q  (k) to increase significantly, then the limiting will tend to suppress the effects on the adaptation update term. Therefore, this adaptation technique provides good performance under conditions with transmission errors as well as under normal conditions. 
     Accordingly, shown in FIG. 4 is one embodiment of adaptation control(A) 17, 117 which generates filter coefficient vector a(k) in accordance with equation (6). To this end, reconstructed signal s q  (k) is supplied to absolute value unit 401 and to buffer 402. Buffer 402 includes a plurality of stages equal to m, which in this example is eight (8). s q  (k) is supplied from absolute value unit 401 to one input of multiplier 403 wherein it is multiplied by 1-α to yield (1-α) s q  (k) which, in turn, is supplied to summer 404. The output of summer 404 is s q  (k) which is supplied to divider 405 and via unit delay 406 to multiplier 407. The unit delay interval of 406 is one (1) sampling interval and, thus, delay 406 yields s q  (k-1). Also supplied to multiplier 407 is constant α. Multiplier 407 yields αs q  (k-1) which is supplied to a second input of summer 404. Divider 405 includes μ255 conversion function 408 and the R() function 409 which approximates the division function by doing a table look-up to yield r q  (k) which, in turn, is supplied to multiplier 410. Also supplied to multiplier 410 is the quantized error signal e q  (k). The output of multiplier 410 is 
     
         g(k)=e.sub.q (k)r.sub.q (k).                               (11) 
    
     The signal g(k) is supplied to nonlinear functions F() generator 411 which yields an output in accordance with FIG. 6 and which output is supplied to multiplier 412. The outputs from buffer 402 are supplied to switch 420. The output of switch 420 is s q  (k-i) for i=1, 2 . . . m, and is supplied to sign function circuit 413. The number of stages of buffer 402 is, in this example, m=8. Sign function circuit 413 obtains the sign of s q  (k-i) and supplies it to multiplier 412. Thus, multiplier 412 yields sign (s q  (k-i)) F(e q  (k)r q  (k)) which is supplied to multiplier 414 where it is multiplied by constant g a . Thus, g a  sign (s q  (k-i)) F(e q  (k)r q  (k)) is supplied to a first input of summer 415. The output of summer 415 is a i  (k), where i=1, 2, . . . , m in sequence and, in this example, m=8. The output from summer 415 supplies the filter coefficients sequentially through switch 418 and circuit paths labeled a 1  (k) through a m  (k) where i=1, 2 . . . m and, in this example, m=8. In turn, in this example, the filter coefficient vector a(k) is supplied to unit delay 416 and to the filter 19 (FIG. 2). The output of unit delay 416 is a(k-1) which is supplied to switch 419. Switch 419 supplies a i  (k-1) to multiplier 417. Parameter λ i  is also supplied to multiplier 417 to yield λ i  a i  (k-1) which, in turn, is supplied to a second input of summer 415. 
     In one example not to be construed as limiting the scope of the invention 
     f 1  =0.0625 
     f 2  =0.0264423 
     g a  =0.0063477 
     α=0.8 
     c 1  =4.