Abstract:
The spectral range of a stochastic time series of information, including unvoiced speech is reduced to allow transmission over a substantially narrowed frequency band. Sets of autoregressive (AR) parameters are identified for successive time windows of the original time series and of subsequent stages of subsampled reduced-spectrum models of each window of the original time series are used. The AR parameters are transmitted together with subsampled windows of the original data. These AR parameters are used to reconstruct a least square stochastic estimate of the transmitted subsampled time series in a backwards manner from the most subsampled spectrum back to the original spectrum using a sequence of predictive feedback algorithms. Past prediction outputs are feedback for prediction whenever samples are missing. This process yields a high quality reconstructed signal that preserves not only speech parameters and intelligibility, but also near-natural speaker identifiability.

Description:
RELATED APPLICATIONS 
     This application claims priority from provisional application Ser. No. 60/027,569 filed Oct. 2, 1996. 
    
    
     FIELD OF THE INVENTION 
     This invention relates to signal processing, and more particularly, to predictive feedback-based compression and decompression. 
     BACKGROUND OF THE INVENTION 
     The compression of speech, in view of the possible economic gains, has attracted considerable attention. H. W. Dudley&#39;s dedicated efforts in this area during his 40 years at Bell Telephone Laboratories and his contributions from the basis for most subsequent work regarding conventional vocoders. H. W. Dudley, &#34;The Vocoder&#34;, Bell Laboratories Record, Vol. 17, 1939. 
     The conventional band-compression speech system based on analysis-synthesis experiments of Dudley was called vocoder (voice coder) and is now known as the spectrum channel vocoder. 
     Other vocoder systems have been built wherein the pitch and excitation information is either extracted, coded, transmitted, and synthesized, or transmitted in part and expanded as in the voice-excited methods. The amplitude spectrum may be transmitted by circuits that track the formants, determine which of a number of present channels contain power and to what extent, or determine its amplitude spectrum by some suitable transform such as the correlation function, and transmit and synthesize the spectrum information by such means. These approaches give rise to such systems as the auto correlation vocoder, the formant vocoder, and the voice-excited formant vocoder. 
     Many other methods of speech compression have been tried, such as frequency division multiplication and time compression and expansion procedures, but these systems generally become more sensitive to transmission noise. See &#34;Reference Data for Radio Engineers&#34;, 6th Ed. H. Sams 1982, p.37-33 to 37-36. For examples of these conventional vocoder techniques and attendant problems, look to &#34;Digital Coding of Speech Waveforms&#34; by N. S. Jayant, Proceedings of the IEEE, Vol. 62, pp. 611-632, May, 1974. 
     The advantages of coding a signal digitally are well-known and are widely discussed in the literature. Briefly, digital representation offers ruggedness, efficient signal regeneration, easy encryption, the possibility of combining transmission and switching functions, and the advantage of a uniform format for different types of signals. The price paid for these benefits is the need for increased bandwidths. 
     More recent research has produced a linear predictive analysis given a sampled (discrete-time) signal s(n), a powerful and general parmetric model for time series analysis which is, in that case, a signal prediction or reconstruction model, give by: ##EQU1## where s(n) is the outputand u(n) is the input (perhaps unknown). The model parameters are a(k) for k=1, p, b(l) for l=1, q, and G, b(0) is assumed to be unity. This model, described as an autoregressive moving average (ARMA) or pole-zero model, forms the foundation for the analysis method termed linear prediction. An autoregressive (AR) or all-pole model, for which all of the &#34;b&#34; coefficients except b(0) are zero, is frequently used for speech analysis. In the case of stochastic signals, such as speech, u(k) can be shown to be equivalent to inaccessible white noise without loss of generality, as is the usage in this description. (see, Chapter 4 of Graupe, &#34;Time Series Analysis Identification and Adaptive Filtering&#34;, Krieger Publishing Co., Malabar, Fla., 1989 (2nd edition)). 
     In the standard AR formation of linear prediction, the model parameters are selected to minimize the means-squared error between the model and the speech data. In one of the variants of linear prediction, the auto correlation method, the minimization is carried out for a windowed segment of data. In the auto correlation method, minimizing the means-square error of the time domain samples is equivalent to minimizing the integrated ratio of the signal spectrum to the spectrum of the all-pole model. Thus, linear predictive analysis is a good method for spectral analysis whenever the signal is produced by an all-pole system. Most speech sounds fit this model well. One key consideration for linear predictive analysis is the order of the model, p. For speech, if the order is too small, the formant structure is not well represented, If the order is too large, pitch pulses as well as formants begin to be represented. Tenth- or twelfth-order analysis is typical for speech. See, &#34;The Electrical Engineering Handbook&#34;, pp. 302-314, CRC Press, 1993. 
     Telephone quality speech is normally sampled at 8 KHz and quantized at 8 bit/sample (a rate of 64 kbits/s) for uncompressed speech. Simple compression algorithms like adaptive differential pulse code modulation (ADPCM) use the correlation between adjacent samples to reduce the number of bits used by a factor of two to four or more with almost imperceptible distortion. Much higher compression ratios can be obtained with linear predictive coding (LPC), which models speech as an autoregressive process, and send the parameters of the process as opposed to sending the speech itself. One reference for LPC is &#34;Neural Networks for Speech Processing&#34;, by D. P. Morgan and C. L. Scofield, Chapter 4, Kluger Publishing, Boston, Mass., 1991. With conventional LPC-based methods, it is possible to code speech at less than 4 kbits/s. At very low rates, however, the reproduced speech sounds synthetic and the speaker&#39;s identifiability is totally lost. The present invention successfully overcomes these obstacles allowing heretofore unknown bit rates and speech sound quality. 
     SUMMARY OF THE INVENTION 
     The present invention avoids the problems inherent in conventional vocoders and compression techniques. In accordance with the present invention, the spectral range of a stochastic time series signal (such as a speech time series) is reduced to allow its transmission over a frequency band that is substantially narrower than the band over which the time series carries information with a minimal effect on information quality when the transmitted information is reconstructed at the receiving end. This is achieved through a combination of vocoder-like reconstruction of speech from AR parameters and keeping a reduced set of original speech samples. This allows reconstruction of speech with considerable speaker identifiability. 
     These and other aspects and attributes of the present invention will be discussed with reference to the following drawings and accompanying specification. In the context of this invention, signal reconstruction models are signal prediction models. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a block diagram of the compression stage of the system provided by the invention; and 
     FIG. 2 shows a block diagram of the decompression stage of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     While this invention is susceptible of embodiment in many different forms, there is shown in the drawings, and will be described herein in detail, specific embodiments thereof with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the invention to the specific embodiments illustrated. 
     The present invention sets forth a Linear Time Series (TS) Model (Linear Model) for signal prediction, which satisfies: ##EQU2## where α=AR (autoregressive) parameters β=MA (moving--average) parameters 
     x k  =signal at time k 
     k=1, 1, 2, . . . discrete time 
     where w k  is inaccessible, white noise; i.e., where the energy of w k  is E[w 2   k  ]=W and w k  =E[w k  ]=0; E[w k  w l  ]=0 ∀k≠l. 
     This definition unifies the AR, MA, and ARMA models as set forth by the definitions below. 
     Linear Process: A process represented by ##EQU3## wherein w k  is a statistically independent and identically distributed process. 
     AR Model (Autoregressive): ##EQU4## w k  =white noise namely, where  means &#34;equals by definition&#34;, ##EQU5## where B is a unit-sample delay operator such that 
     
         B.sup.i x.sub.k x.sub.k-1 
    
     MA Model (Moving-Average): ##EQU6## w k  =white noise namely, 
     
         x.sub.k =β(B)w.sub.k. 
    
     ARMA Model (Autoregressive Moving Average): ##EQU7## w k  =white noise namely, 
     
         φ(B)x.sub.k =θ(B)w.sub.k 
    
     such that ##EQU8## and ##EQU9## (For other representative examples, See chapters 2, 4, and 5 of Graupe, D., &#34;Time Series Analysis Identification and Adaptive Filtering&#34;, Krieger Publishing Co., Malabar, Fla. 1984 and 1989, herein incorporated by reference.) 
     One must first identify sets of autoregressive (AR) parameters for successive time windows of the original time series and of subsequent stages of 2:1 subsampled reduced-spectrum models of each such window of a corresponding original time series. This is accomplished by using statistically efficient and fast convergent minimum-variance reclusive sequential least square (SLS) or batch minimum-variance least square (LS) identification subsystems in accordance with the present invention as set forth below. 
     Consider the AR model above. In order to perform a least squares (LS) identification of the parameter vector a, we define a LS identification error cost, which is the LS &#34;cost&#34; of the error in predicting x k  via the identified estimates of a of a, considering a set of r observations, as: 
     
         J.sub.r =(-Ua.sub.r).sup.T (-Ua.sub.r)=tr[(-Ua.sub.r)(-Ua.sub.r).sup.T] 
    
     where ##EQU10## n being the dimension of a. ##EQU11## where a r ,i is the estimate (identification) of a i  via r observations. Denoting ##EQU12## then the cost J r  is a summed LS cost, namely: ##EQU13## The LS estimate (identification a r  of a) thus satisfies 
     
         a.sup.min.sub.r J.sub.r 
    
     namely ##EQU14## such that: 
     
         a.sub.r (LS)=(U.sup.T U).sup.-1 U.sup.T x. 
    
     To avoid the numerical difficulties of matrix inversion and to overcome the problem of having to await the collection of r&gt;&gt;n data sets prior to obtaining the first LS estimate, we shall present an LS algorithm that makes use of the matrix inversion lemma (See, Chapter 5 of Graupe, &#34;Time Series Analysis Identification and Adaptive Filtering&#34;, Krieger Publishing Co., Malabar, Fla., 1989 (2nd Edition) such that no matrix inversion is performed (to avoid matrix ill-conditioning) and which is recursive in nature. This algorithm, known as the Sequential Least Squares (SLS) algorithm is derived as follows: 
     Reconsider the structure of the AR equation, namely, ##EQU15## w k  being inaccessible white noise. Note that the structure is equally applicable to this derivation noting the definitions of x k  and w k  above. Hence, and to avoid repetition, the present derivation can be rederived under the structure with only redefining x accordingly. 
     Now, a r  satisfies: ##EQU16## defining: ##EQU17## P r  being invertible only for r≧nas discussed above, becomes ##EQU18## namely, ##EQU19## We note that eq. 1.5 can be broken down to: ##EQU20## Furthermore, substituting r-1 for r, eq. 1.2 may be rewritten as: ##EQU21## Now, substituting for ##EQU22## from eq. 1.7 into 1.6, we obtain: ##EQU23## 
     Subsequently, adding and subtracting x r  x r   T  a r-1  at the right hand of the equation yields: ##EQU24## such that by rearrangement of terms of the equation becomes: ##EQU25## 
     Considering the definition of P r   -1 , the equation may be written as: ##EQU26## to yield: 
     
         a.sub.r =a.sub.r-1 +P.sub.r x.sub.r (x.sub.r -x.sub.r.sup.T a.sub.r-1). (Eq. 1.12) 
    
     The equation thus yields a r  in terms of a r-1 , i.e., in terms of the previous estimate (based on one less data set), and in terms of a correction term which is a function of the prediction error x r  -x r   T  a r-1  when using the previous estimate. This is, of course, still exactly the LS estimate though derived recursively. Our derivation is, however, not yet complete since we must still attend to deriving P r  since only P r   -1  is given, and we wish to avoid matrix inversion (to avoid matrix ill-conditioning, i.e., when matrix ill-conditions its output is infinity (See, Chapter 5 of Graupe, &#34;Time Series . . . &#34; ibid). The derivation of P r  is as follows: ##EQU27## 
     multiplying both sides of the equation by P r  at the left yields: 
     
         I=P.sub.r P.sup.-1.sub.r-1 +P.sub.r x.sub.r x.sub.r.sup.T  (Eq. 1.14) 
    
     Similarly, multiplying the equation by P r-1  at the right gives: 
     
         P.sub.r-1 =P.sub.r +P.sub.r x.sub.r x.sub.r.sup.T P.sub.r-1. (Eq. 1.15) 
    
     By further multiplying the equation at the right by x r , we obtain 
     
         P.sub.r-1 x.sub.r =P.sub.r x.sub.r +P.sub.r x.sub.r x.sub.r.sup.T P.sub.r-1 x.sub.r =P.sub.r x.sub.r (1+x.sup.T.sub.r P.sub.r-1 x.sub.r) (Eq. 1.16) 
    
     the bracketed term in the equation being a scalar. Hence multiplying the equation by (1+x r   T  P r-1  x r ) -1  x r   T  P r-1  at the right, yields: ##EQU28## But, by equation (1.15) 
     
         P.sub.r x.sub.r x.sub.r.sup.T P.sub.r-1 =P.sub.r-1 -31 P.sub.r (Eq. 1.18) 
    
     Therefore, the equation (1.17) becomes: ##EQU29## (See also the above cited examples in Chapter 5 of Graupe) and then transmitting the AR parameters as identified at all stages above together with the subsampled windows of the original data, and finally employing these AR parameters to reconstruct a least square minimum variance stochastic estimate of the transmitted subsampled time series in a backwards manner from the most subsampled spectrum back to the original spectrum using a sequence of predictive feedback algorithms that is based both on the identified AR parameters above for each subsampling level that is employed, and whether past prediction outputs are feedback to the prediction whenever samples are missing. 
     Note also that prediction of x r  is thus afforded via the AR model of equation 1.1, when a i  are as identified above, and the inaccessible w k  is considered to be zero to make it the prediction error, that can be shown to be of minimum variance. 
     Each compression stage of the present invention provides 2:1 compression, and each decompression is correspondingly a 1:2 decompression that guarantees covergence of prediction. (Note that the feedback prediction output at each decompression stage is the reconstructed output for that stage.) A recursive identifier is preferably employed, having statistically efficient properties, where the output of each 2:1 compression stage is the input of the next compression stage to achieve 2 n  :1 compression in n stages as set forth in detail hereinbelow. 
     The present invention exhibits novel convergence properties and statistically efficient properties, with excellent reconstructive convergence ability, even with considerably incomplete data samples (such as, for example, 3 missing data points out of ever 4) due to the subsampling. The delay between transmission and reconstruction is typically equal to d=l+m*n*s, where s is the number of AR parameters in each predictor model, all being of the same order (usually s=3) and n being the number of compression stages involved, when a subsampling by a factor of 2 is performed at each stage; and m being a repeatability factor chosen between 1 and 4. 
     Hence, for a 2 stage compression, namely a compression by a factor of 2 n  =4, with m=2 and s=3, a delay of 13 samples is involved. Therefore, for example, when utilizing a sampling rate of 4000 samples per second, corresponding to a bandwith of 2 KHz, the delay is only 3.25 milliseconds. Details of the operation of a preferred embodiment of the invention is set forth below. 
     The present novel compression approach differs from a conventional vocoder based compression system in that, among other things, not only are speech parameters, such as AR parameters being transmitted and received, but so are signal samples. The invention also differs from conventional predictor based compression methods recited above in that for missing data, reconstruction based on conventional AR parameter approaches usually does not guarantee convergence to an adequate minimum variance of prediction error (error between the original and reconstructed signal) when compression is by a factor higher than 2. The present invention avoids this convergence problem by first employing AR estimates coming from statistically efficient and hence theoretically fastest convergent identifiers (as discussed hereinabove), such that even for relatively short data windows, parameters will converge very close to the actual but unknown parameters. This is achieved by the present invention via cascading of 1-step AR predictors, each predictor keeping its own true AR parameters. 
     In a preferred embodiment, the derivation of the AR parameters at each level of compression further provides for derivation of the signal power value (or energy level) for that level of compression. The sample points from the final compression level and the AR parameters for all compression levels and the signal power value are combined to provide a compressed signal output. On decompression, the AR parameters for all levels, plus the final compression stage sample points and the signal power values are utilized to reconstruct the original signal. 
     As shown in FIG. 1, transducer subsystem 11 receives input from speech, fax, or data. In the case of speech, the sound energy is converted to electrical form; in the case of fax, the image on the page is transduced to an electronic form and so forth as is well known in the art. The transducer 11 outputs time series data which is in continuous in time and is being sampled by the sampler 15. The output from the sampler 15 is cascaded for multiple levels of cascading, wherein each cascading stage (level 1, 2, 3, . . . ) provides for a 2:1 data reduction by subsampling. Three levels or stages of subsampling systems are illustrated, 10, 12 and 13. In a preferred embodiment, three to six levels are employed. Each level (or stage) has an identifier for that stage, illustrated as SLS identifiers. In general, any identifier is more or less equivalent. The parameters are obtained by the identifier for each of the different stages (10, 20, and 30 of FIG. 1) and also the most reduced subsample series from the bottom of the cascade of the subsampled series, are all combined to form the encoded data that the transmitter 5 transmits to be ultimately received by the receiver. 
     The transmitter subsystem 5 provides for combination of the identifiers or parameters from each of the cascade levels. This combination has a coded form. For example, the first 128 bits are the data output of sampler stage 13 (which is the subsampled time series output after multiple 2:1 ratio subsampling). The next 128 bit block or groups of blocks are the parameters for subsampling each of the levels. While FIG. 1 illustrates three levels as illustrative of animal configuration, improvements continue with increased levels, such that five or more levels provides an excellent yield. 
     While FIG. 1 illustrates with five parameters (i.e., a 1  -a 5 ), the number of parameters does not need to be limited to 5, as they range in general from a 1  -a p , where p is an integer larger than 2. The output of the transmitter 5 is coupled (e.g., broadcast) via a chosen modality to a corresponding receiver for receipt thereby (e.g. optical, wired, wireless, RF, microwave, etc.). The receiver 65 then provides the encoded data for coupling to a decompression stage as is illustrated in FIG. 2. 
     Referring to FIG. 2, the information from the transmitter 5 is coupled to the receiver 65 which reconstructs the data signal and parameters based on the model and formatting used by the transmitter 5 and its compression stages. The output of the receiver 65 and of each decompression subsystems 40 and 50 is comprised of (1) the AR parameters (2) as separated from the data. The separated AR parameters 41, 51, and 61 and the data 42, 52, and 62, respectively, are then provided to each of the cascade decompression levels 40, 50, and 60, respectively, as illustrated. The output 40a, 50a, and 60a of each of the cascade levels decompression subsystems (40, 50, and 60, respectively) is fed forward to the next cascade level. Additionally, each decompression subsystem outputs estimates of odd samples being fed back (40b, 50b, and 60b) from the current cascade level of itself. This is accomplished in accordance with the reconstruction decompression algorithm as discussed herein above. 
     At the end of a cascade of reconstruction from a decompression, as output from stage 60, a reconstructed time series is output from the reconstruction output interface subsystem 75. The reconstruction subsystem 75 provides for reconstruction by taking the outputs from the final cascade stage 60 as the final data comprising the reconstructed data samples which are then reconstructed at stage 75 in accordance with the type of original signal it was, for example, speech is reconstructed from speech, fax images are reconstructed from fax data, etc. 
     At each decompression stage of the present invention, the number of samples is doubled, based on the samples coming in (i.e., coupled to that stage as inputs) and in filling in between every two samples (i.e.,by computing an estimated sample from the AR parameters using the described model). For example, stage 1 40 has as input m samples 42, whereas the output of stage 40 is 2m samples 52 provided as an input to stage 2 50 which provides an output of 4m samples 52 out to stage 3 60 which provides an output of 8m samples 60a to be reconstructed. The added samples in each stage are those obtained from the AR predictor model whereas the other half of the samples are samples that originally came into that stage. The signal 41 from the receiver 65 represents the AR parameters input to the first cascade stage 40. The data samples are coupled via input 42 to the cascade stage 40. 
     Using the data and the AR parameters, the cascade stage 40 reconstructs the missing odd samples and provides an output 40a which is comprised of the reconstructed AR parameters and samples, as well as the original samples and AR parameters as coupled from the receiver 65. This output 40a is coupled to the next cascade stage 50 as AR parameters 51 and data samples 52. In a like manner, stage 50 provides an output 50a comprising the data samples and AR parameters which are coupled as AR parameters 61 and data samples 62 to the cascade stage 60 to provide the final reconstructed data samples 60a which is coupled the reconstruction subsystem 75. 
     Referring to FIGS. 1 and 2, limiting prediction to a one-step-feedback-prediction, guarantees convergence by using a recursive multistage compression/decompression system 100, 200. As shown in FIGS. 1 and 2, each stage 10-60 employs a 2:1 compression/decompression. As shown in FIG. 2, during decompression, each recursion 40, 50, 60, yields a corresponding convergent decompression output 40a, 50a, 60a with a minimal error variance due to only a single missing data point in each prediction-equation step (namely the AR equation for each sample). This missing data point is replaced by feeding back the previous theoretically convergent estimate 40b, 50b, 60b of the data point is obtained from the previous feedback prediction step. 
     Therefore, each decompression-prediction stage 40-60 of the invention is convergent in itself such that the totality of n-stage decompression-prediction is also convergent. As one of ordinary skill can appreciate, the more data points that are missing, the higher the bias to which prediction converges. Recursive predictions utilizing a single missing data point per each predictive decompression stage 40-60 with statistically efficient parameter estimates 40b-40b (identification) of the actual uncompressed data provides excellent convergence even for high n. 
     For a specific sampling frequency ƒ s1  and window length K 1  at that frequency and a specific N (number of compression stages), then 
     At the transmitting side: 
     (1) for j=1 select a window of K 1  samples at sampler 15, then 
     (2) sample s kj  at sampling frequency ƒ sj  denoting these samples as: y.sup.(j) (k j ); (k j  =0, 1, 2, . . .K j ); K j  =1/2K j-1  ; j&lt;1 
     (3) Identify a i  of an AR model of order S for y.sup.(j) (k j ) denoted as a i .sup.(j) (i=1, 2, . . . S). For example, in SLS identification, using equations 1.12 and 1.19 and a(0)=0 and P(0)=βI; β&lt;&lt;1 for initialization, I being a unity matrix. 
     (4) Skip each odd sample of y.sup.(j) (k j ) to yield y.sup.(j+1) (k j+1 ); (k j+1  =0, 1, . . . K j+1 ) such that y.sup.(j+1) (k j+1  =k j  /2)=y.sup.(j) (k j ) 
     (5) if j≦N-1, set j=j+1, go to (3) Else go to (6) 
     (6) Transmit y N  (k N ), a i .sup.(1). . . a i .sup.(N) using transmission means 5 
     Note: The input time series y k1  is transmitted in (6) at a sampling rate of 
     ƒ sN  =ƒ s1  /2 N , N denoting the number of compression stages that are employed. 
     At the receiving side: 
     (1) Via a receiver means 65 receive a i .sup.(1) . . . a i .sup.(N), y N  (k N ), then for j=N, set y N  (k N )=y N  (k N ) and for j=N do 
     (2) Employ y.sup.(j) (k j ) to reconstruct y.sup.(j-1) (k j-1 ) where ##EQU30## but where, at each even k j-1  : y.sup.(j-1) k.sub.(j-1, even) =y.sup.(j-1) (2k j )=y.sup.(j) (k j ) 
     (3) if j≦2, set j=j-1; go to (2) Else go to (4) 
     (4) Transfer y.sup.(1) (k 1 ); k 1  =0, 1, 2 . . . K 1  to receiver&#39;s 65 output 75 in sequence. 
     Note: 
     1. Lower sampling frequency relates to highest j 
     2. s k1  is the input time series (at highest sampling rate) 
     3. The receiver&#39;s 65 output 75 is the reconstructed form of the input time series when using 1/2 N  of the total number of samples that are present in the input time series. 
     One of ordinary skill can readily appreciate that any suitable transmitter 5 means (Tx) and receiver (Rx) 65 or transceiver (not shown) can be utilized by the present invention as a platform to carry out the necessary data communication, each carrying out the corresponding novel compression/decompression in accordance with the provisions of the present invention. For example, Tx and Rx can be formed of any appropriate data transmission and reception devices respectively, such as in radio or telephone communication. 
     A compression section 100 (FIG. 1) encompasses the sampler 15 and the corresponding compression stages 10, 20, and 30. A decompression section 200 (FIG. 2) includes decompression stages 40a, 50a, and 60a. Either or both sections 100, 200 can be implemented with a Digital Signal Processor (DSP), or a hybrid use of a microprocessor and support circuitry (not shown) and can further optionally be integrated into the transmitter 5 or receiver 65 as user needs require. Alternatively, the present invention could readily be implemented as a &#34;stand alone&#34; accessory to a communication system. Such a stand alone option could include embodiments implemented in a custom integrated circuit (ASIC) or inclusion in an ASIC firmware application. 
     From the foregoing, it will be observed that numerous variations and modifications may be effected without departing from the spirit and scope of the invention. It is to be understood that no limitation with respect to the specific apparatus illustrated herein is intended or should be inferred. It is, of course, intended to cover by the appended claims all such modifications as fall within the scope of the claims.