DIGITAL SPEECH PROCESSOR USING ARBITRARY EXCITATION CODING

Abstract: An arrangement for processing a speech message which uses arbitrary value codes to form time frame excitation signals. The arbitrary value codes, e.g., random numbers, are stored as well as signals indexing the codes and transform domain signals corresponding to the arbitrary codes are generated. The speech message is partitioned into time frame interval speech patterns and a first signal representative of the transform domain speech pattern of each successive time frame interval is formed responsive to the partitioned speech message. A plurality of second signals representative of time frame interval patterns corresponding to the transform code signals are generated responsive to said set of transform signals. One of the arbitrary code signals is selected jointly responsive to the first and second signals of each successive time interval to represent the time frame speech signal excitation, and the index signal corresponding to said selected arbitrary code signal is outputted. A replica of the speech message is formed from the arbitrary codes by concatenating a sequence of said arbitrary codes identified by the output index signals.

Description: This invention relates an apparatus and a method for processing speech signals according to the introductory portions of claims 1 and 14 respectively. Digital speech communication systems including voice storage and voice response facilities utilize signal compression to reduce the bit rate needed for storage and/or transmission. As is well known in the art, a speech pattern contains redundancies that are not essential to its apparent quality. Removal of redundant components of the speech pattern significantly lowers the number of digital codes required to construct a replica of the speech. The subjective quality of the speech replica, however, is dependent on the compression and coding techniques. One well known digital speech coding system such as disclosed in U. S. Patent 3,624,302 includes linear prediction analysis of an input speech signal. The speech signal is partitioned into successive intervals of 5 to 20 milliseconds duration and a set of parameters representative of the interval speech is generated. The parameter set includes linear prediction coefficient signals representative of the spectral envelope of the speech in the interval, and pitch and voicing signals corresponding to the speech excitation. These parameter signals may be encoded at a much lower bit rate than the speech signal waveform itself. A replica of the input speech signal is formed from the parameter signal codes by synthesis. The synthesizer arrangement generally comprises a model of the vocal tract in which the excitation pulses of each successive interval are modified by the interval spectral envelope representative prediction coefficients in an all pole predictive filter. The foregoing pitch excited linear predictive coding is very efficient and reduces the coded bit rate, e.g., from 64 kb/s to 2.4 kb/s. The produced speech replica, however, exhibits a synthetic quality that makes speech difficult to understand. In general, the low speech quality results from the lack of correspondence between the speech pattern and the linear prediction model used. Errors in the pitch code or errors in determining whether a speech interval is voiced or unvoiced cause the speech replica to sound disturbed or unnatural. Similar problems are also evident in formant coding of speech. Alternative coding arrangements in which the speech excitation is obtained from the residual after prediction, e.g., APC, provide a marked improvement because the excitation is not dependent upon an inexact model. The excitation bit rate of these systems, however, is at least an order of magnitude higher than the linear predictive model. Attempts to lower the excitation bit rate in the residual type systems have generally resulted in a substantial loss in quality. The article "Stochastic Coding of Speech Signals at Very Low Bit Rates" by Bishnu S. Atal and Manfred Schroeder appearing in the Proceedings of the Proceedings of the International Conference on Communications - ICC ' 84 , May l984, pp. l6l0-l6l3, discloses a stochastic model for generating speech excitation signals in which a speech waveform is represented as a zero mean Gaussian stochastic process with slowly-varying power spectrum. The optimum Gaussian innovation sequence is obtained by comparing a speech waveform segment, typically 5 ms. in duration, to synthetic speech waveforms derived from a plurality of random Gaussian innovation sequences. The innovation sequence that minimizes a perceptual error criterion is selected to represent the segment speech waveform. While the stochastic model described in this article results in low bit rate coding of the speech waveform excitation signal, a large number of innovation sequences are needed to provide an adequate selection. The signal processing required to select the best innovation sequence involves exhaustive search procedures to encode the innovation signals. The problem is that such search arrangements for code bit rates corresponding to 4.8 Kbit/sec code generation are time consuming even when processed on large, high speed scientific computers. The problem is solved in accordance with this invention which is characterized in claims 1 and 14 resp. Accordingly the exhaustive search of innovation sequence stochastic or other arbitrary codes of a speech analyzer is replaced with an arrangement that converts the stochastic codes into transform domain code signals and generates a set of transform domain patterns from the transform codes for each time frame interval. The transform domain code patterns are compared to the time interval speech pattern obtained from the input speech to select the best matching stochastic code and an index signal corresponding to the best matching stochastic code is output to represent the time frame interval speech. Transform domain processing reduces the complexity and the time required for code selection. The index signal is applied to a speech decoder in which it is used to select a stochastic code stored therein. In a predictive speech synthesizer, the stochastic codes may represent the time frame speech pattern excitation signal whereby the code bit rate is reduced to that required for the index signals and the prediction parameters of the time frame. The stochastic codes may be predetermined overlapping segments of a string of stochastic numbers to reduce storage requirements. The invention is directed to an arrangement for processing a speech message in which a set of arbitrary value code signals such as random numbers together with index signals identifying the arbitrary value code signals and signals representative of transforms of the arbitrary valued codes are formed. The speech message is partitioned into time frame interval speech patterns and a first signal representative of the speech pattern of each successive time frame interval is formed responsive to the partitioned speech. A plurality of second signals representative of time frame interval patterns formed from the transform domain code signals are generated. One of said arbitrary code signals is selected for each time frame interval jointly responsive to the first signal and the second signals of the time frame interval and the index signal corresponding to said selected transform signal is output. According to one aspect of the invention, forming of the first signal includes generating a third signal that is a transform domain signal corresponding to the present time frame interval speech pattern and the generation of each second signal includes producing a fourth signal that is a transform domain signal corresponding to a time frame interval pattern responsive to said transform domain code signals. Arbitrary code selection comprises generating a signal representative of the similarities between said third and fourth signals and determining the index signal corresponding to the fourth signal having the maximum similarities signal. According to another aspect of the invention, the transform domain code signals are frequency domain transform codes derived from the arbitrary codes. According to yet another aspect of the invention, the transform domain code signals are Fourier transforms of the arbitrary codes. According to yet another aspect of the invention, a speech message is formed from the arbitrary codes by receiving a sequence of said outputted index signals, each identifying a predetermined arbitrary code. Each index signal corresponds to a time frame interval speech pattern. The arbitrary codes are concatenated responsive to the sequence of said received index signals and the speech message is formed responsive to the concatenated codes. According to yet another aspect of the invention, a speech message is formed using a string of arbitrary value coded signals having predetermined segments thereof identified by index signals. A sequence of signals identifying predetermined segments of said string are received. Each of said signals of the sequence corresponds to speech patterns of successive time frame intervals. The predetermined segments of said arbitrary valued code string are selected responsive to the sequence of received identifying signals and the selected arbitrary codes are concatenated to generate a replica of the speech message. According to yet another aspect of the invention, the arbitrary value signal sequences of the string are overlapping sequences. Brief Description of the Drawing FIG. l depicts a speech encoder utilizing a prior art stochastic coding arrangement; FIGS. 2 and 3 depict a general block diagram of a digital speech encoder using arbitrary codes and transform domain processing that is illustrative of the invention; FIG. 4 depicts a detailed block diagram of digital speech encoding signal processing arrangement that performs the functions of the circuit shown in FIGS. 2 and 3; FIG. 5 shows a block diagram of an error and scale factor generating circuit useful in the arrangement of FIG. 3; FIGS. 6-ll show flow chart diagrams that illustrate the operation of the circuit of FIG. 4; and FIG. l2 shows a block diagram of a speech decoder circuit illustrative of the invention in which a string of random number codes form an overlapping sequence of stochastic codes. General Description FIG. l shows a prior art digital speech coder arranged to use stochastic codes for excitation signals. Referring to FIG. l, a speech pattern applied to microphone l0l is converted therein to a speech signal which is band pass filtered and sampled in filter and sampler l05 as is well known in the art. The resulting samples are converted into digital codes by analog-to-digital converter ll0 to produce digitally coded speech signal s(n). Signal s(n) is processed in LPC and pitch predictive analyzer ll5. The processing includes dividing the coded samples into successive speech frame intervals and producing a set of parameter signals corresponding to the signal s(n) in each successive frame. Parameter signals a(l), a(2),...,a(p) represent the short delay correlation or spectral related features of the interval speech pattern, and parameter signals β(l), β(2), β(3), and m represent long delay correlation or pitch related features of the speech pattern. In this type of coder, the speech signal is partitioned in frames or blocks, e.g., 5 msec or 40 samples in duration. For such blocks, stochastic code store l20 may contain l024 random white Gaussian codeword sequences, each sequence comprising a series of 40 random numbers. Each codeword is scaled in scaler l25, prior to filtering, by a factor γ that is constant for the 5 msec block. The speech adaptation is done in delay predictive filters l35 and l45 which are recursive. Filter l35 uses a predictor with large memory (2 to l5 msec) to introduce voice periodicity and filter l45 uses a predictor with short memory (less than 2 msec) to introduce the spectral envelope in the synthetic speech signal. Such filters are described in the article "Predictive coding of speech at low bit rates" by B. S. Atal appearing in the IEEE Transactions on Communications , Vol. COM-30, pp. 600-6l4, April l982. The error representing the difference between the original speech signal s(n) applied to subtracter l50 and synthetic speech signal s and(n) applied from filter l45 is further processed by perceptual weighting filter l55 to attenuate those frequency components where the error is perceptually less important and amplify those frequency components where the error is perceptually more important. The stochastic code sequence from store l20 which produces the minimum mean-squared subjective error signal E(k) and the corresponding optimum scale factor γ are selected by peak picker l70 only after processing of all l024 code word sequences in store l20. For purposes of analyzing the codeword processing of the circuit of FIG. l, filters l35 and l45 and perceptual weighting filter l55 can be combined into one linear filter. The impulse response of this equivalent filter may be represented by the sequence f(n). Only a part of the equivalent filter output is determined by its input in the present 5 msec frame since, as is well known in the art, a portion of the filter output corresponds to signals carried over from preceding frames. The filter memory from the previous frames plays no role in the search for the optimum innovation sequence in the present frame. The contributions of the previous memory to the filter output in the present frame can thus be subtracted from the speech signal in determining the optimum code word from stochastic code store l20. The residual value after subtracting the contributions of the filter memory carried over from the previous frames may be represented by the signal x(n). The filter output contributed by the kth codeword from store l20 in the present frame is where c (k) (i) is the ith sample of the kth codeword. One can rewrite equation l in matrix notations as x (k) = γ(k)Fc(k), (2) where F is a N×N matrix with the term in the nth row and the ith column given by f(n-i). The total squared error E(k), representing the difference between x(n) and x and (k) (n), is given by E(k) = ∥ x-γ(k)Fc(k)∥², (3) where the vector x represents the signal x(n) in vector notation, and | |² indicates the sum of the squares of the vector components. The optimum scale factor γ(k) that minimizes the error E(k) can easily be determined by setting δE(k)/δγ(k)=0 and this leads to The optimum codeword is obtained by finding the minimum of E(k) or the maximum of the second term on the right side in equation 5. While the signal processing described with respect to FIG. l is relatively straight forward, the generation of the l024 error signals E(k) of equation 5 is a time consuming operation that cannot be accomplished in real time in presently known high speed, large scale computers. The complexity of the search processing in FIG. l is due to the presence of the convolution operation represented by the matrix F in the error E(k). The complexity is substantially reduced if the matrix F is replaced by a diagonal matrix. This is accomplished by representing the matrix F in the orthogonal form using singular-value decomposition as described in "Introduction to Matrix Computations" by G. W. Stewart, Academic Press, pp. 3l7-320, l973. Assume that F = UDV t , (6) where U and V are orthogonal matrices, D is a diagonal matrix with positive elements and V t indicates the transpose of V. Because of the orthogonality of U, equation 3 can be written as E(k) = ∥U t (x - γ(k)Fc(k)∥². (7) If we now replace F by its orthogonal form as expressed in equation|6, we obtain E(k) = ∥U t x - γ(k)DV t c(k)∥². (8) On substituting z = U t x and b(k) = V t c(k), (9) in equation 8, we obtain As before, the optimum γ(k) that minimizes E(k) can be determined by setting δ)E(k)/δγ(k)=0 and equation l0 simplifies to The error signal expressed in equation ll can be processed much faster than the expression in equation 5. If Fc(k) is processed in a recursive filter of order p (typically 20), processing according to equation ll can substantially reduce the processing time requirements for stochastic coding. Alternatively, the reduced processing time may also be obtained by extending the operations of equation 5 from the time domain to a transform domain such as the frequency domain. If the combined impulse response of the synthesis filter with the the long-delay prediction excluded and the perceptual weighting filter is represented by the sequence h(n), the filter output contributed by the kth codeword in the present frame can be expressed as a convolution between its input γ(k)c (k) (n) and the impulse response h(n). The filter output is given by x (k) (n) = γ(k)h(n) * c (k) (n). (l2) The filter output can be expressed in the frequency domain as X (k) (i) = γ(k)H(i)C (k) (i), (l3) where X and (k) (i), H(i) and C (k) (i) are discrete Fourier transforms (DFTs) of x (k) (n),h(n) and c (k) (n), respectively. In practice, the duration of the filter output can be considered to be limited to a l0 msec time interval and zero outside. Thus a DFT with 80 points is sufficiently accurate for expressing equation l3. The total squared error E (k) is expressed in frequency-domain notations as where X(i) is the DFT of x(n). If we express now and equation l4 is then transformed to Again, the scale factor γ(k) can be eliminated from equation l7 and the total error can be expressed as where ξ(i)* is complex conjugate of ξ(i). The frequency-domain search has the advantage that the singular-value decomposition of the matrix F is replaced by discrete fast Fourier transforms whereby the overall processing complexity is significantly reduced. In the transform domain using either the singular value decomposition or the discrete Fourier transform processing, further savings in the computational load can be achieved by restricting the search to a subset of frequencies (or eigenvectors) corresponding to large values of d(i) (or b(i)). According to the invention, the processing is substantially reduced whereby real time operation with microprocessor integrated circuits is realizable. This is accomplished by replacing the time domain processing involved in the generation of the error between the synthetic speech signal formed responsive to the innovation code and the input speech signal of FIG. l with transform domain processing as described hereinbefore. Detailed Description A transform domain digital speech encoder using arbitrary codes for excitation for excitation signals illustrative of the invention is shown in FIGS. 2 and 3. The arbitrary codes may take the form of random number sequences or may, for example, be varied sequences of +l and -l in any order. Any arrangement of varied sequences may be used with the broad restriction that the overall average of the sequences is small. Referring to FIG. 2, a speech pattern such as a spoken message received by microphone transducer 20l is bandlimited and converted into a sequence of pulse samples in filter and sampler circuit 203 and supplied to linear prediction coefficient (LPC) analyzer 209 via analog-to-digital converter 205. The filtering may be arranged to remove frequency components of the speech signal above 4.0 KHz, and the sampling may be at an 8.0 KHz rate as is well known in the art. Each sample from circuit 203 is transformed into an amplitude representative digital code in the analog-to-digital converter. The sequence of digitally coded speech samples is supplied to LPC analyzer 209 which is operative, as is well known in the art, to partition the speech signals into 5 to 20 ms time frame intervals and to generate a set of linear prediction coefficient signals a(k), k=l,2,...,p representative of the predicted short time spectrum of the speech samples of each frame. The analyzer also forms a set of perceptually weighted linear predictive coefficient signals b(k) = k a(k), k=l,2,...,p, (l9) where p is the number of the prediction coefficients. The speech samples from A/D converter 205 are delayed in delay 207 to allow time for the formation of speech parameter signals a(k) and the delayed samples are supplied to the input of prediction residual generator 2ll. The prediction residual generator, as is well known in the art, is responsive to the delayed speech samples s(n) and the prediction parameters a(k) to form a signal δ(n) corresponding to the differences between speech samples and their predicted values. The formation of the predictive parameters and the prediction residual signal for each frame in predictive analyzer 209 may be performed according to the arrangement disclosed in U. S. Patent 3,740,476 or in other arrangements well known in the art. Prediction residual signal generator 2ll is operative to subtract the predictable portion of the frame signal from the sample signals s(n) to form signal δ(n) in accordance with where p , the number of the predictive coefficients, may be l2, N the number of samples in a speech frame, may be 40, and a(k) are the predictive coefficients of the frame. Predictive residual signal δ(n) corresponds to the speech signal of the frame with the short term redundancies removed. Longer term redundancy of the order of several speech frames in the predictive residual signal remains and predictive parameters β(l), β(2), β(3) and m corresponding to such longer term redundancy are generated in predictive pitch analyzer 220 such that m is an integer that maximizes as described in U.S. Patent 4,354,057. As is well known, digital speech encoders may be formed by encoding the predictive parameters of each successive frame, and the frame predictive residual for transmission to decoder apparatus or for storage for later retrieval. While the bit rate for encoding the predictive parameters is relatively low, the non-redundant nature of the residual requires a very high bit rate. According to the invention, an optimum arbitrary code c K* (n) is selected to represent the frame excitation, and a signal K* that indexes the selected arbitrary excitation code is transmitted. In this way, the speech code bit rate is minimized without adversely affecting intelligibility. The arbitrary code is selected in the transform domain to reduce the selection processing so that it can be performed in real time with microprocessor components. Selection of the arbitrary code for excitation includes combining the predictive residual with the perceptually weighted linear predictive parameters of the frame to generate a signal y(n). Speech pattern signal y(n) corresponding to the perceptually weighted speech signal contains a component y and(n) due to the preceding frames. This preceding frame component y and(n) is removed prior to the selection processing so that the stored arbitrary codes are in effect compared to only the present frame excitation. Signal y(n) is formed in predictive filter 2l7 responsive to the perceptually weighted predictive parameter and the predictive residual signals of the frame as per the relation and are stored in y(n) store 227. The preceding frame speech contribution signal y and(n) is generated in preceding frame contribution signal generator 222 from the perceptually weighted predictive parameter signals b(k) of the present frame, the pitch predictive parameters β(l), β(2), β(3) and m obtained from store 230 and the selected where d and( ), ≦0 and y and( ), ≦0 represent the past frame components. Generator 222 may comprise well known processor arrangements adapted to form the signals of equations 24. The past frame speech contribution signal y and(n) of store 240 is subtracted from the perceptually weighted signal of store 227 in subtractor circuit 247 to form the present frame speech pattern signal with past frame components removed. x(n) = y(n) - y (n) n=l,2,..,N (25) The difference signal x(n) from subtractor 247 is then transformed into a frequency domain signal set by discrete Fourier transform (DFT) generator 250 as follows: where N f is the number of DFT points, e.g., 80. The DFT transformation generator may operate as described in the U.S. Patent 3,588,460 or may comprise any of the well known discrete Fourier transform circuits. In order to select one of a plurality of arbitrary excitation codes for the present speech frame, it is necessary to take into account the effects of a perceptually weighted LPC filter on the excitation codes. This is done by forming a signal in accordance with that represents the impulse response of the filter and converting the impulse response to a frequency domain signal by a discrete Fourier transformation as per The perceptually weighted impulse response signal h(n) is formed in impulse response generator 225, and the transformation into the frequency domain signal H(i) is performed in DFT generator 245. The frequency domain impulse response signal H(i) and the frequency domain perceptually weighted speech signal with preceding frame contributions removed X(i) are applied to transform parameter signal converter 30l in FIG. 3 wherein the signals d(i) and ξ(i) are formed according to The arbitrary codes, to which the present speech frame excitation signals represented by d(i) and ξ(i) are compared, are stored in stochastic code store 330. Each code comprises a sequence of N, e.g., 40, digital coded signals c (k) (l), c (k) (2),..., c (k) (40). These signals may be a set of arbitrarily selected numbers within the broad restriction that the grand average is relatively small, or may be randomly selected digitally coded signals but may also be in the form of other codes well known in the art consistent with this restriction. The set of signals c (k) (n) may comprise individual codes that are overlapped to minimize storage requirements without affecting the encoding arrangements of FIGS. 2 and 3. Transform domain code store 305 contains the Fourier transformed frequency domain versions of the codes in store 330 obtained by the relation While the transform code signals are stored, it is to be understood that other arrangements well known in the art which generate the transform signals from stored arbitrary codes may be used. Since the frequency domain codes have real and imaginary component signals, there are twice as many elements in the frequency domain code C (k) (i) as there are in the corresponding time domain code c (k) (n). Each code output C (k) (i) of transform domain code store 305 is applied to one of the K error and scale factor generators 3l5-l through 3l5-K wherein the transformed arbitrary code is compared to the time frame speech signal represented by signals d(i) and ξ(i) for the time frame obtained from parameter signal converter 30l. FIG. 5 shows a block diagram arrangement that may be used to produce the error and scale factor signals for error and scale factor generator 3l5-K. Referring to FIG. 5, arbitrary code sequence C (k) (l), C (k) (2),..., C (k) (i),..., C (k) (N) is applied to speech pattern cross correlator 50l and speech pattern energy coefficient generator 505. Signal d(i) from transform parameter signal converter 30l is supplied to cross correlator 50l and normalizer 505, while ξ,(i) from converter 30l is supplied to cross correlator 50l. Cross correlator 50l is operative to generate the signal which represents the correlation of the speech frame signal with past frame components removed ξ(i) and the frame speech signal derived from the transformed arbitrary code d(i) C k (i) while squarer circuit 5l0 produces the signal The error using code sequence c k (n) is formed in divider circuit 5l5 responsive to the outputs of cross correlator 50l and normalizer 505 over the present speech time frame according to and the scale factor is produced in divider 520 responsive to the outputs of cross correlator circuit 5l0 and normalizer 505 as per The cross correlator, normalizer and divide circuits of FIG. 5 may comprise well known logic circuit components or may be combined into a digital signal processor as described hereinafter. The arbitrary code that best matches the characteristics of the present frame speech pattern is selected in code selector 320 of FIG. 3, and the index of the selected code K* as well as the scale factor for the code γ (K*) are supplied to multiplexer 325. The multiplexer is adapted to combine the excitation code signals K* and γ (K*) with the present speech time frame LPC parameter signals a(k) and pitch parameter signals β(l), β(2), β(3) and m into a form suitable for transmission or storage. Index signal K* is also applied to selector 325 so that the time domain code for the index is selected from store 330. The selected time domain code c K* (n) is fed to preceding frame contribution generator 222 in FIG. 2 where it is used in the formation of the signal y and(n) for the next speech time frame processing. FIG. 4 depicts a speech encoding arrangement according to the invention wherein the operations described with respect to FIGS. 2 and 3 are performed in a series of digital signal processors 405, 4l0, 4l5, and 420-l through 420-K under control of control processor 435. Processor 405 is adapted to perform the predictive coefficient signal processing associated with LPC analyzer 209, LPC and weighted LPC signal stores 2l3 and 2l5, prediction residual signal generator 2l7, and pitch predictive analyzer 220 of FIG. 2. Predictive residual signal processor 4l0 performs the functions described with respect to predictive filter 2l7, preceding frame contribution signal generator 222, subtractor 247 and impulse response generator 225. Transform signal processor 4l5 carries out the operations of DFT generators 245 and 250 of FIG. 2 and transform parameter signal converter 30l of FIG. 3. Processors 420-l through 420-K produce the error and scale factor signals obtained from error and scale factor generators 3l5-l through 3l5-K of FIG. 3. Each of the digital signal processors may be the WEO DSP32 Digital Signal Processor described in the article "A 32 Bit VLSI Digital Signal Processor", by P. Hays et al, appearing in the IEEE Journal of Solid State Circuits , Vol. SC20, No. 5, pp. 998, October l985, and the control processor may be the Motorola type 68000 microprocessor and associated circuits described in the publication "MC68000 l6 Bit Microprocessor User's Manual", Second Edition, Motorola Inc., l980. Each of the digital signal processors has associated therewith a memory for storing data for its operation, e.g., data memory 408 connected to prediction coefficient signal processor 405. Common data memory 450 stores signals from one digital signal processor that are needed for the operation of another signal processor. Common program store 430 has therein a sequence of permanently stored instruction signals used by control processor 435 and the digital signal processors to time and carry out the encoding functions of FIG. 4. Stochastic code store 440 is a read only memory that includes random codes ( ) as described with respect to FIG. 3 and transform code signal store 445 is another read only memory that holds the Fourier transformed frequency domain code signals corresponding to the codes in store 440. The encoder of FIG. 4 may form a part of a communication system in which speech applied to microphone 40l is encoded to a low bit rate digital signal, e.g., 4.8 kb/s, and transmitted via a communication link to a receiver adapted to decode the arbitrary code indices and frame parameter signals. Alternatively, the output of the encoder of FIG. 4 may be stored for later decoding in a store and forward system or stored in read only memory for use in speech synthesizers of the type that will be described. As shown in the flow chart of FIG. 6, control processor 435 is conditioned by a manual signal ST from a switch or other device (not shown) to enable the operation of the encoder. All of the operations of the digital signal processors of FIG. 4 to generate the predictive parameter signals and the excitation code signals K* and γ* for a time frame interval occur within the time frame interval. When the on switch has been set (step 60l), signal ST is produced to enable predictive coefficients processor 405 and the instructions in common program store 430 are accessed to control the operation of processor 405. Speech applied to microphone 40l is filtered and sampled in filter and sampler 403 and converted to a sequence of digital signals in A/D converter 404. Processor 405 receives the digitally coded sample signals from converter 404, partitions the samples into time frame segments as they are received and stores the successive frame samples in data memory 408 as indicated in step 705 of FIG. 7. Short delay coefficient signals a(k) and perceptually weighted short delay signals b(k) are produced in accordance with aforementioned patent 4,l33,476 and equation l9 for the present time frame as per step 7l0. The present frame predictive residual signals δ(n) are generated in accordance with equation 20 from the present frame speech samples s(n) and the LPC coefficient signals a(k) in step 7l5. When the operations of step 7l5 are completed, an end of short delay analysis signal is sent to control processor 435 (step 720). The STELPC signal is used to start the operations of processor 4l0 as per step 6l5 of FIG. 6. Long delay coefficient signals β(l), β(2), β(3) and m are then formed according to equations 2l and 22 as per step 725, and an end of the predictive coefficient analysis signal STEPCA is generated (step 730). Processor 405 may be adapted to form the predictive coefficient signals as described in the aforementioned patent 4,l33,976. The signals a(k), b(k), δ(n), and β(n) and m of the present speech frame are transferred to common data memory 450 for use in residual signal processing. When the present frame LPC coefficient signals have been generated in processor 405, control processor 435 is responsive to the STELPC signal to activate prediction residual signal processor 4l0 by means of step 80l in FIG. 8. The operations of processor 4l0 are done under control of common program store 430 as illustrated in the flow chart of FIG. 8. Referring to FIG. 8, the formation and storage of the present frame perceptually weighted signal y(n) is accomplished in step 805 according to equation 23. Long delay predictor contribution signals d and(n) are generated as per equation 24 in step 8l0. Short delay predictor contributions signal y and(n) is produced in step 8l5 as per equation 24. The present frame speech pattern signal with preceding frame components removed (x(n)),is produced by subtracting signal y and(n) from signal y(n) in step 820 and impulse response signal h(n) is formed from the LPC coefficient signals a(k) as described in aforementioned Patent 4,l33,476 (step 825). Signals x(n) and h(n) transferred to and stored in common data memory 450 for use in transform signal processor 4l5. Upon completion of the generation of signals x(n), h(n) for the present time frame, control processor 435 receives signal STEPSP from processor 4l0. When both signals STEPSP and STEPCA are received by control processor 435 (step 62l of FIG. 6), the operation of transform signal processor 4l5 is started by transmitting the STEPSP signal to processor 4l5 as per step 625 in FIG. 6. Processor 4l5 is operative to generate the frequency domain speech frame representative signals x(i) and H(i) by performing a discrete Fourier transform operation on signals x(n) and h(n). Referring to FIG 9, upon detecting signal STEPSP (step 90l), the x(n) and h(n) signals are read from common data memory 450 (step 905). Signals X(i) are generated from the x(n) signals (step 9l0) and signals H(i) are generated from the h(n) signals (step 9l5) by Fourier transform operations well known in the art. The DFT may be implemented in accordance with the principles described in aforementioned patent 3,588,460. The conversion of signals X(i) and H(i) into the speech frame representative signals d(i) and ξ(i) implemented in processor 4l5 is done in step 920 as per equation 29 and signals d(i) and ξ(i) are stored in common data memory 450. At the end of the present frame transform prediction processing, signal STETPS is sent to control processor 435 (step 925). Responsive to signal STETPS in step 630, the control processor enables the error and scale factor signal processors 420-l through 420-R (step 635). Once the transform domain time frame speech representative signals for the present frame have been formed in processor 4l5 and stored in common data memory 450, the search operations for the stochastic code c K* (n) that best matches the present frame speech pattern is performed in error and scale factor signal processors 420-l through 420-K. Each processor generates error and scale factor signals corresponding to one or more (e.g., l00) transform domain codes in store 445. The error and scale factor signal formation is illustrated in the flow chart of FIG. l0. In FIG. l0, the presence of control signal STETPS (step l00l) permits the initial setting of parameters k identifying the stochastic code being processed, K* identifying the selected stochastic code for the present frame, P(r)* identifying the cross correlation coefficient signal of the selected code for the present frame, and Q(r)* identifying the energy coefficient signal of the selected code for the present frame. The current considered transform domain arbitrary code C (k) (i) is read from transform code signal store 445 (step l005) and the present frame transform domain speech pattern signal obtained from the transform domain arbitrary code C K (i) is formed (step l0l5) from the d(i) and C k (i) signals. The signal d(i)C (k) (i) represents the speech pattern of the frame produced by the arbitrary code c( ). In effect, code signal C (k) (i) corresponds to the frame excitation and signal d(i) corresponds to the predictive filter representative of the human vocal apparatus. Signal ξ(i) stored in common data store 450 is representative of the present frame speech pattern obtained from microphone 40l. The two transform domain speech pattern representative signals, d(i)C (k) (i) and ξ(i), are cross correlated to form signal P(k) in step l020 and an energy coefficient signal Q(k) is formed in step l022 for normalization purposes. The present deviation of the stochastic code frame speech pattern from the actual speech pattern of the frame is evaluated in step l025. If the error between the code pattern and the actual pattern is less than the best obtained for preceding codes in the evaluation, index signal K(r)*, cross correlation signal P(r)* and energy coefficient signal Q(r)* are set to k , P(k), and Q(k) in step l030. Step l035 is then entered to determine if all codes have been evaluated. Otherwise, signals K(r)*, P(r)*, and Q(r)* remain unaltered and step l035 is entered directly from step l025. Until k > Kmax in step l035, code index signal k is incremented (step l040) and step l0l0 is reentered. When k > Kmax, signal K(r)* is stored and scale factor signal γ* is generated in step l045. The index signal K(r)* and scale factor signal γ(r)* for the codes processed in the error and scale factor signal processor are stored in common data store 450. Step l050 is then entered and the STEER control signal is sent to control processor 435 to signal the completion of the transform code selection in the error and scale factor signal processor (step 640 in FIG. 6). The control processor is then operative to enable the minimum error and multiplex processor 455 as per step 645. The signals P(r)*, Q(r)*, and K(r)* resulting from the evaluation in processors 420-l through 420-R are stored in common data memory 450 and are sent to minimum error and multiplex processor 455. Processor 455 is operative according to the flow chart of FIG. ll to select the best matching stochastic code in store 440 having index K*. This index is selected from the best arbitrary codes indexed by signals K*(l) through K*(R) for processors 420-l to 420-R. This index K* corresponds to the stochastic code that results in the minimum error signal. As per step ll0l of FIG. ll, processor 455 is enabled when a signal is received from control processor 435 indicating that processors 420-l through 420-R have sent STEER signals. Signals r , K*, P*, and Q* are each set to an initial value of one, and signals P(r)*, Q(r)*, K(r)* and γ(r)* are read from common data memory 450 (step lll0). If the present signals P(r)* and Q(r)* result in a better matching stochastic code signal as determined in step lll5, these values are stored as K*, P*, Q*, and γ* for the present frame (step ll20) and decision step ll25 is entered. Until the Rth set of signals K(R)*, P(R)*, Q(R)* are processed, step lll0 is reentered via incrementing step ll30 so that all possible candidates for the best stochastic code are considered. After the Rth set of signals are processed, signal K*, the selected index of the present frame and signal γ*, the corresponding scale factor signal are stored in common data memory 450. At this point, all signals to form the present time frame speech code are available in common data memory 450. The contribution of the present frame excitation code c K* (n) must be generated for use in signal processor 440 in the succeeding time frame interval to remove the preceding frame component of the present time frame for forming signal x(n) as aforementioned. This is done in step ll35 where signals d and(n) and y and(n) are updated. The predictive parameter signals for the present frame and signals K* and γ* are then read from memory 450 (step ll40), and the signals are converted into a frame transmission code set as is well known in the art (step ll45). The present frame end transmission signal FET is then generated and sent to control processor 435 to signal the beginning of the succeeding frame processing (step 650 in FIG. 6). When used in a communication system, the coded speech signal of the time frame comprises a set of LPC coefficients a(k), a set of pitch predictive coefficients β(l), β(2), β(3), and m , and the stochastic code index and scale factor signals K* and γ*. As is well known in the art, a predictive decoder circuit is operative to pass the excitation signal of each speech time frame through one or more filters that are representative of a model of the human vocal apparatus. In accordance with an aspect of the invention, the excitation signal is an arbitrary code stored therein which is indexed as described with respect to the speech encoder of the circuits of FIGS. 2 and 3 or FIG. 4. The stochastic codes may be a set of 1024 codes each comprising a set of 40 random numbers obtained from a string of the 1024 random numbers g(1), g(2),..., g(1063) stored in a register. The stochastic codes comprising 40 elements are arranged in overlapping fashion as illustrated in Table 1. Stochastic Code Index K Stochastic Code 1 g(1), g(2),..., g(40) 2 g(2), g(3),..., g(41) 3 g(3), g(4),..., g(42) 4 g(4), g(5),..., g(43) " " " " 1024 g(1024), g(1025),..., g(1063) Referring to Table 1, each code is a sequence of 40 random numbers that are overlapped so that each successive code begins at the second number position of the preceding code. The first entry in Table 1 includes the index k=1 and the first 40 random numbers of the single string g(1), g(2),..., g(40). The second code with index k=2, corresponds to the set of random numbers g(2), g(3),..., g(41). Thus, 39 positions of successive codes are overlapped without affecting their random character to minimize storage requirements. The degree of overlap may be varied without affecting the operation of the circuit. The overall overage of the string signals g(1) through g(1063) must be relatively small. The arbitrary codes need not be random numbers and the codes need not be arranged in overlapped fashion. Thus, arbitrary sequences of +l, -l that define a set of unique codes may be used. In the decoder or synthesizer circuit of FIG. l2, LPC coefficient signals a(k), pitch predictive coefficient signals β(l), β(2), β(3), and m , and the stochastic code index and scale factor signals K* and γ* are separated in demultiplexer l20l. The pitch predictive parameter signals β(k) and m are applied to pitch predictive filter l220, and the LPC coefficient signals are supplied to LPC predictive filter l225. Filters l220 and l225 operate as is well known in the art and as described in the aforementioned U. S. Patent 4,l33,976 to modify the excitation signal from scaler l2l5 in accordance with vocal apparatus features. Index signal K* is applied to selector l205 which addresses stochastic string register l2l0. Responsive to index signal K*, the stochastic code best representative of the speech time frame excitation is applied to scaler l2l5. The stochastic codes correspond to time frame speech patterns without regard to the intensity of the actual speech. The scaler modifies the stochastic code in accordance with the intensity of the excitation of the speech frame. The formation of the excitation signal in this manner minimizes the excitation bit rate required for transmission, and the overlapped code storage operates to reduce the circuit requirements of the decoder and permits a wide selection of encryption techniques. After the stochastic code excitation signal from scaler l2l5 is modified in predictive filters l220 and l225, the resulting digital coded speech is applied to digital-to-analog converter l230 wherein successive analog samples are formed. These samples are filtered in low pass filter l235 to produce a replica of the time frame speech signal s(n) applied to the encoder of the circuit of FIGS. 2 and 3 or FIG. 4. The invention may be utilized in speech synthesis wherein speech patterns are encoded using stochastic coding as shown in the circuits of FIGS. 2 and 3 or FIG. 4. The speech synthesizer comprises the circuit of FIG. l2 in which index signals K* are successively applied from well known data processing apparatus together with predictive parameter signals to stochastic string register l2l0 in accordance with the speech pattern to be produced. The overlapping code arrangement minimizes the storage requirements so a wide variety of speech sounds may be produced and the stochastic codes are accessed with index signals in a highly efficient manner. Similarly, storage of speech messages according to the invention for later reproduction only requires the storage of the prediction parameters and the excitation index signals of the successive frames so that speech compression is enhanced without reducing the intelligibility of the reproduced message.

Claims: Apparatus for processing input speech signals comprising: means (110) for partitioning the input speech signals into time frame interval speech patterns; means (115) for forming a first signal representative of the speech pattern of each successive time frame interval of said speech signals; means (120) for generating a set of signals, each corresponding to one of a set of arbitrary value code J representative of possible speech signals over a time frame interval, and for generating a set of index signals, each indentifying one of said arbitrary value codes; characterized in that said set of signals corresponding to said arbitrary value codes is a set of transform domain code signals; the apparatus further comprises means (315) responsive to said first signal for each time frame interval and each of said set of transform domain code signals for forming a respective set of second signals; means (320) for selecting one of said arbitrary code signals for each time frame interval in response to the one of said second signals meeting a similarity criterion; and means for outputting the index signal corresponding to said selected arbitrary code signal for each successive time frame interval. Apparatus for processing speech signals according to claim 1 CHARACTERIZED IN THAT said first signal forming means comprises means responsive to the speech pattern of the present time frame interval for generating a third signal corresponding to the transform domain of the present time frame interval speech pattern; said second signal generating means comprises means responsive to said transform domain code signals for producing a set of fourth signals each corresponding to the transform domain of a time frame interval pattern for the transform domain code; and said arbitrary code signal selecting means comprises means for generating a signal representative of the similarities between said third signal and each of the fourth signals and means responsive to the similarities signal for determining the arbitrary code index signal corresponding to the fourth speech pattern signal having the maximum similarities signal. Apparatus for processing speech signals according to claim 2 CHARACTERIZED IN THAT said arbitrary code selecting means further comprises means responsive to said third and fourth signals for forming a signal representative of the relative scaling of said fourth signal with respect to said third signal and means for outputting said scaling signal. Apparatus for processing speech signals according to claim 3 CHARACTERIZED IN THAT said third signal generating means comprises: means responsive to the time frame interval speech pattern for generating a set of signals representative of the predictive parameters of the present time frame interval speech pattern; means responsive to the present time interval speech pattern and the present time frame interval predictive parameter signals for forming a signal representative of the predictive residual of the present time frame interval speech pattern; means responsive to the predictive residual signal of the present and preceding time frame intervals for producing a set of signals representative of the pitch predictive parameters of the present and preceding time frame interval speech patterns; and means for combining said time frame interval predictive parameter signals, said pitch predictive parameter signals, and said time frame interval predictive residual signal to form a signal representative of the speech pattern of the present time frame interval. Apparatus for processing speech signals according to claim 4 CHARACTERIZED IN THAT said third signal generating means further comprises: means responsive to the index signal of the successive time frame intervals for selecting the arbitrary code signal corresponding to said index signal; means responsive to the selected arbitrary code signals of the time frame interval preceding the present time frame interval and the predictive parameter signals of the present time frame interval speech pattern for forming a signal representative of the component of the present time frame interval speech pattern due to the preceding time frame intervals; means responsive to the signal representative component of the speech pattern due to the preceding time frame intervals from the signal representative of the present time frame interval speech pattern for forming a signal corresponding to the present time frame interval speech pattern with preceding time frame interval component signal removed; and means responsive to said present time interval speech pattern with preceding time frame interval signals removed for converting said present time interval speech pattern into a transform domain signal representative of the present time interval speech pattern with preceding time interval signal removed. Apparatus for processing speech signals according to claim 5 CHARACTERIZED IN THAT said fourth signal generating means further comprises: means responsive to the prediction parameter signals of the present time frame interval for forming a signal representative of the impulse response of a linear predictive filter; and means responsive to said impulse response signal for generating a transform domain signal corresponding thereto. Apparatus for processing speech signals according to claim 6 CHARACTERIZED IN THAT said means for forming said similarities signal comprises means responsive to said transform domain code signals, said transform domain impulse response signal, and said transform domain time frame interval speech pattern signal with preceding time frame interval component removed for forming a signal representative of the differences between said transform domain time frame interval speech pattern with preceding time interval component removed and said present time frame interval formed from said transform domain arbitrary code signal. Apparatus for processing speech signals in accordance with claim 1 characterized in that said means for forming a first signal comprises means for forming a perceptually weighted representation of the speech pattern of each successive time frame interval of said speech signals and means (207, 209, 211, 215, 217, 222, 227, 240 and 247) for reducing for each time frame interval any contribution to said first signal arising from the speech signals occuring during another time frame interval. Apparatus for processing speech signals in accordance with claim 1 characterized in that said second signals are generated in response to stored arbitrary codes and said means for forming a first signal representative of the speech pattern further comprises means (207, 209, 211, 215, 217, 222, 227, 240 and 247) for reducing for each time frame interval any contribution to said first signal arising from the speech signals occuring during another time frame interval. Apparatus for processing speech signals according to claims 1, 2 or 3 further comprising: means for forming a replica of said speech signals including: means for receiving a sequence of said outputted index signals each identifying a predetermined arbitrary code signal, each of said index signals corresponding to a time frame interval speech pattern; means responsive to the sequence of said received index signals for concatenating said identified arbitrary code signals; and means responsive to said concatenated arbitrary code signals for generating said speech signals. Apparatus for processing speech signals according to claim 10 CHARACTERIZED IN THAT said arbitrary code storing means comprises means for storing a string of arbitrary value signals and means for identifying predetermined arbitrary value signal sequences in said string. Apparatus for processing speech signals according to claim 11 CHARACTERIZED IN THAT said predermined arbitrary value signal sequences are overlapping sequences. Apparatus for processing speech signals according to claim 12 CHARACTERIZED IN THAT said arbitrary codes are stochastic codes. A method for processing input speech signals comprising the steps: a) partitioning the input speech signals into time frame interval speech patterns; b) forming a first signal representative of the pattern of each successive time frame interval of said speech signals responsive to the partitioned speech signals; c) generating a set of signals, each corresponding to one of a set of arbitrary value code J, representative of possible speech signals over a time frame interval and generating a set of index signals, each identifying one of said arbitrary code signals; characterized by the steps: d) forming a transform domain code signal responsive to each arbitrary code signal; e) generating a set of second signals responsive to said first signal for each time frame interval and each of said transform domain code signals; f) selecting one of said arbitrary code signals for each time frame interval responsive to the one of said second signals meeting a similarity criterion; and g) outputting the index signal corresponding to said selected arbitrary code signal for each successive time frame interval. A method for processing speech signals according to claim 14 CHARACTERIZED IN THAT said first signal forming step comprises generating a third signal corresponding to the transform domain of the present time frame interval speech pattern responsive to the speech pattern of the present time frame interval; said second signal generating step comprises producing a set of fourth signals each corresponding to the transform domain of a time frame interval pattern for the transform domain code signal responsive to said transform domain code signals; and said arbitrary code signal selecting step comprises generating a signal representative of the similarities between said third signal and each of the fourth signals and determining the arbitrary code index signal corresponding to the fourth speech pattern signal having the maximum similarities signal responsive to the similarities signal. A method for processing speech signals according to claim 15 CHARACTERIZED IN THAT said arbitrary code selecting step further comprises forming a signal representative of the relative scaling of said fourth signal with respect to said third signal responsive to said third and fourth signals and outputting said scaling signal. A method for processing speech signals according to claim 16 CHARACTERIZED IN THAT said third signal generating step comprises: generating a set of signals representative of the predictive parameters of the present time frame interval speech pattern responsive to the time frame interval speech pattern; forming a signal representative of the predictive residual of the present time frame interval speech pattern responsive to the present time interval speech pattern and the present time frame interval predictive parameter signals; producing a set of signals representative of the pitch predictive parameters of the present and preceding time frame interval speech patterns responsive to the predictive residual signal of the present and preceding time frame intervals; combining said time frame interval predictive parameter signals, said pitch predictive parameter signals, and said time frame interval predictive residual signal to form a signal representative of the speech pattern of the present time frame interval; selecting the arbitrary code signal corresponding to said index signal responsive to the selected index signals of the successive time frame intervals; forming a signal representative of the component of the present time frame interval speech pattern due to the preceding time frame intervals responsive to the selected arbitrary code signals of the time frame interval preceding the present time frame interval and the predictive parameter signals of the present time frame interval speech pattern; and forming a signal corresponding to the present time frame interval speech pattern with preceding time frame interval component signal removed responsive to the signal representative component of the speech pattern due to the preceding time frame intervals from the signal representative of the present time frame interval speech pattern. A method for processing speech signals according to claim 17 CHARACTERIZED IN THAT said third signal generating step further comprises converting said present time interval speech pattern into a transform domain signal representative of the present time interval speech pattern with preceding time interval signal removed responsive to said present time interval speech pattern with preceding time frame interval signals removed. A method for processing speech signals according to claim 18 CHARACTERIZED IN THAT said fourth signal generating step further comprises: forming a signal representative of the impulse response of a linear predictive filter responsive to the prediction parameter signals of the present time frame interval; and generating a transform domain signal corresponding to said impulse response signal. A method for processing speech signals according to claim 19 CHARACTERIZED IN THAT said similarities signal forming step comprises forming a signal representative of the differences between said transform domain time frame interval speech pattern with preceding time interval component removed and said present time frame interval formed from said transform domain arbitrary code signal responsive to said transform domain code signals, said transform domain impulse response signal, and said transform domain time frame interval speech pattern signal with preceding time frame interval component removed. The method for processing speech signals according to claim 14 characterized in that said step of forming a first signal comprises forming a perceptually weighted representation of the speech pattern of each successive time frame interval of said speech signals, and reducing for each time frame interval any contribution to said first signal arising from the speech pattern occurring in another time frame interval. The method for processing speech signals according to claim 14 characterized in that said step of forming a transform domain code signal comprises forming said transform signals in response to stored arbitrary codes and reducing for each time frame interval any contribution to said first signal arising from the speech pattern occurring in another time frame interval. A method for processing speech signals according to claims 14, 15, or 16 further comprising: forming a replica of said speech signals including: receiving a sequence of said outputted index signals each identifying a predetermined arbitrary code signal, each of said index signals corresponding to a time frame interval speech pattern, concatenating said identified arbitrary code signals responsive to the sequence of said received index signals; and generating said speech signals responsive to said concatenated arbitrary code signals. A method for processing speech signals according to claim 23 CHARACTERIZED IN THAT said arbitrary code storing step comprises storing a string of arbitrary value signals and identifying predetermined arbitrary value signal sequences in said string. A method for processing speech signals according to claim 24 CHARACTERIZED IN THAT said predetermined arbitrary value signal sequences are overlapping sequences. A method for processing speech signals according to claim 25 wherein said arbitrary codes are stochastic codes.

Inventors: ATAL, BISHNU SAROOP, TRANCOSO, ISABEL MARIA MARTINS
Applicants: AMERICAN TELEPHONE AND TELEGRAPH COMPANY
Application year: 1986
Main classification: G10L9
IPC codes: G10L19, G10L13