CA1294072C - Speech processing system - Google Patents

Speech processing system

Info

Publication number
CA1294072C
CA1294072C CA000577681A CA577681A CA1294072C CA 1294072 C CA1294072 C CA 1294072C CA 000577681 A CA000577681 A CA 000577681A CA 577681 A CA577681 A CA 577681A CA 1294072 C CA1294072 C CA 1294072C
Authority
CA
Canada
Prior art keywords
signals
speech
vector
signal
filter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA000577681A
Other languages
French (fr)
Inventor
Michael John Carey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Canada Inc
Original Assignee
Newbridge Networks Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Newbridge Networks Corp filed Critical Newbridge Networks Corp
Application granted granted Critical
Publication of CA1294072C publication Critical patent/CA1294072C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding

Abstract

ABSTRACT

The present invention relates to a speech processing system having an encoder comprising means for receiving successive samples of PCM encoded speech signals, means for applying sequential groups of said PCM encoded speech signals as primary vector signals to an encoder code book memory for selecting code words stored in said memory most closely approximating said vector signals, means for outputting to an output line said selected code words at a first bit rate, means for converting said selected code words to converted vector signals, means for comparing the primary vector signals and converted vector signals and for providing difference signals therefrom, means for quantizing the difference signals and for providing quantized error signals, means for applying the quantized error signals to the output line at the first or at a second bit rate to enable the processing system to transmit said speech signals at an effective bit rate constituting double the first bit rate or the sum of the first and second bit rate, or for inhibiting the quantized error signals from being applied to the line whereby the processing system can transmit said speech signals at an effective rate of the first bit rate thus increasing the traffic carrying capacity of the line.

Description

02 This invention relates to a speech 03 processing system and in particular to a digital 04 speech encoder and decoder which uses adaptive vector 05 quantization, for use in voice and data multiplexed 06 transmission systems.
07 Efficient multiplexed transmission of 08 digital speech and data signals in digital 09 transmission systems requires encoding of the signals, 10 prior to transmission over a transmission line. While 11 there exist several encoding techniques, the encoding 12 technique to which the present invention is directed ; 13 is known as adaptive vector quantization. In adaptive 14 vector quantization, the best fit for the pattern of 15 each group of samples of successive groups of samples 16 of pulse code modulated (PCM) encoded speech signals 17 is found corresponding to previously stored groups of 18 patterns in a code book, that is, in a memory which 19 stores predetermined digital signal sequences of 20 expected ~ample group patterns. Upon finding a best 21 match, the entry number of the stored pattern in the 22 memory is transmitted, rather than the pattern (the 23 digital signal sequences) itself. At a decoder, a 24 signal corresponding to the entry number of the best 25 match pattern is applied to a code book memory in 26 which is stored sample patterns identical to that in 27 the code book memory of the encoder. Once the entry 28 number has been entered, the pattern (or vector~
29 signal is output and converted to a PCM signal 30 corresponding approxlmately to the original input PCM
31 signal.
32 Vector quantization coding systems have 33 herefore not been fully developed because of the 34 existence of several problems. For example the larger the number of bits per sample, and the larger the 36 number of samples per group of samples or (or vector, 37 sometimes referred to as the dimension), the larger 38 must be the code book memory. The larger the memory :
~`

lZ~4~ '2 ., . ~
\

02 is, the longer is the best fit search time. For 03 reasonably high transmission rates and signal 04 resolution which would not degrade the resultant 05 intelligibility of the speech signal, it had been 06 found that the processing time of economically priced 07 processors is excessive. In order to transmit signals 08 at costs competitive with other encoding techniques, 09 low resolution signals were required to be transmitted, resulting in poor speech reproduction at 11 the receiving end of the transmission system.
12 One of the techniques used to increase the 13 resolution is to utilize two code book memories in 14 series. A coarse resolution vector code book memory lookup is first conducted, followed by a second, from 16 the second code book memory, in time sequence. The 17 result is the provision of a high resolution code word 18 (the term used herein synonymously with the term table 19 lookup entry number). ~owever while decreasing memory size, the use of two memories slows down the lookup 21 time, and utilizes substantial processor capacity.
22 Thus additional processor capacity must be provided 23 for the system, increasing its cost.
24 In the present invention only a single initial encoder code book memory is required, and a 26 highly efficient search technique is used thereby 27 incurring minimum code book lookup time.
28 The resulting code book entry number is 29 converted back to a vector signal and is compared with the primary vector signal. The difference, which 31 constitutes an error, is scalar or vector quantized 32 and is transmitted to the decoder in a separate 33 channel. In the case of low traffic on the 34 transmission line, both the code book entry and the error signal are transmitted to the decoder, resulting 36 in a high resolution transmission rate, e.g. 32 Kb/S.
37 However once the system has been loaded above a 38 predetermined threshold, the error signals are not ~`

~Z9~L~7Z

3 transmitted. The code words are thus transmitted at 4 their normal rate of e.g. 16 Kb/S, i.e. at lower resolution, but doubling the capacity of the 6 transmission line, assuming that all multiplexed 7 signals carried by the transmission line switch to 8 lower resolution at the same time.
9 Indeed for a multiplexed system the channels can be graded, with certain channels reverting to 11 16 Kb/S at a higher energy threshold than others. The 12 system can also eliminate transmission of the error 13 signals channel hy channel as traffic builds up, 14 adapting the resolution of the signals transmitted, and the capacity of the system, as traffic increases or 16 decreases.
17 At the decoder the code words are translated 18 into PCM encoded speech signals, which are modified by 19 the quantized error signals into higher resolution signals if the quantized error signals have been 21 received, or remain at lower resolution if the error 22 signals have not been received.
23 Accordingly a high efficiency processing 24 system has been invented which can dynamically change its transmission capacity from transmitting higher 26 resolution signals at a lower capacity to transmitting 27 lower resolution signals at higher capacity.
28 An embodiment of the invention is a speech 29 process system which is comprised of apparatus for digitally encoding a plurality of input signals into a 31 corresponding plurality of low resolution (low bit 32 rate) signals for transmission in a first group of 33 channels, and a corresponding group of error signals 34 for transmission in a second group of channels, whereby the error signals can be combined with corresponding 36 low resolution signals into high resolution (high ~ 38 ., .

'72 1 - 3a -3 equivalent bit rate) output signals at a decoder, 4 apparatus for substituting additional low resolution encoded input signals in one or more of the second 6 group of channels in place of the error signals whereby 7 the decoder can decode the additional low resolution 8 signals into additional output signals, and the 9 original low resolution signals corresponding to the error signals substituted, into low resolution output 11 signals.
12 The above embodiments, as well as others to 13 be described below, provide a highly effective vector 14 quantiæed signals processing system which has been found to be cost effective, efficient, and results in 16 received signals having high intelligibility.
17 Vector quantization has been described in 18 the publications "Vector Quantization" by 19 Robert M. Gray, IEEE ASSP Magazine, April 1984, p.
4-29; "Vector Quantization: A Pattern-Matching 21 Technique for Speech Coding" by Allen Gersho and 22 Vlidimir Cuperman, IEEE Communications Magazine, lZ~7~
01 - ~ -02 p. 15-21; "A Continuously Adaptive Vector Predictive 03 Coder (AVPC) For Speech Encoding" by Enrique Masgrau 04 et al, ICASSP 86, Tokyo, P. 3027-3030; "Vector 05 Predictive Coding of Speech at 16 kbits/s" by Vladimir 06 Cuperman and Allen Gersho, IEEE Transactions on 07 Communications, vol. com-33, No. 7, July 1985, 08 p. ~85-696; and "A Fast Codebook Search Algorithm For 09 Nearest-Neighbor Pattern Matching" by De-Yuan Cheng and Allen Gersho, ICASSP 86, Tokyo, p. 265-268.
11 Adaptive prediction in speech differential encoding 12 systems is described in general in the article 13 "Adaptive Prediction In Speech Differential Encoding 14 Systems" by Jerry D. Gibson, Proceedings of the IEEE, Vol. 68, No. 4, April 1980, p. 488-524. Other 16 informative articles are concerning the subject "A
17 Robust Adaptive Quantizer" by David J. Goodman and 18 Roger M. Wilkinson, IEEE Transactions on 19 Communications, November 1984, p. 1362-1365, an article by David J. Goodman and Allen Gersho in the 21 IEEE Transactions on Communications, August 1974, 22 p. lO37-1045, "PCM Codecs For Communication" by Karl 23 Euler, IEEE Proc. ISCAS/76, p. 583-586; "Design 24 Approaches for a PCM-CODEC Per Channel" by A.
Rijbroek, IEEE PROC. ISCAS/76, p. 587-590; "Adaptive 26 Lattice Analysis of Speech, by John Makhoul and Lynn 27 Cosell", Feb. 1981 joint issue of the IEEE Trans.
28 Circuits and Systems and Trans. Acoustics, Speech, and 29 Signal Processing, March 1980; and "An Adaptive Lattice Algorithm for Recursive Filters", by D. Parikh 31 et al, IEEE Transactions on Acoustics, Speech, and 32 Signal Processing, Vol. ASSP-28, No. 1, February 1980, 33 p. 110-111.
34 In general, one embodiment of the present invention is a speech processing system having an 36 encoder comprising apparatus for receiving successive 37 samples of PCM encoded speech signals, apparatus for ::;
fA

:~Z~ 2 02 applying sequential groups of the PCM encoded speech 03 signals as primary vector signals to an encoder code 04 book memory for selecting code words stored in the 05 memory most closely approximating the vector signals, 06 and apparatus Eor outputting to an output line the 07 selected code words at a first bit rate. Apparatus is 08 included for converting the selected code words to 09 converted vector signals and for comparing the primary vector signals and converted vector signals and for 11 providing difference signals therefrom. Apparatus is 12 included for quantizing the difference signals and for 13 thereby providing quantized error signals. Further 14 apparatus applies the quantized error signals to the output line at the first or at a second bit rate to 16 enable the processing systems to transmit the speech 17 signals at an effective bit rate constituting double 18 the first bit rate or the sum of the first and second 19 bit rate, or for inhibiting the quantized error signal from being applied to the line to enable the 21 processing system to transmit the speech signals at an 22 effective bit rate of the first bit rate, thus 23 increasing the traffic carrying capacity of the line.
24 It will be noted that it is preferred that the second bit rate (of the error signal) should be 26 equal to the first bit rate (of the code words, i.e.
27 the code book entry number) in order that the error 28 signals should correspond on a one-to-one basis with 29 the corresponding code words. However it should be noted that under some circumstances it may be 31 desirable to transmit the error signals at a less 32 frequent rate, whereby the traffic carrying capacity 33 of the transmission line would be graded at a higher 34 rate of resolution, thus increasing or decreasing the traffic carrying capacity of the transmission line in 36 smaller steps. Thus the effective transmission bit 37 rate would be the sum of the bit rate of the selected 38 code word transmission plus the bit rate of the ~;29~

02 quantized error signals.
03 Another embodiment of the invention is a 04 speech processor comprising a plurality of speech 05 encoders for vector quantitization of PCM input 06 signals, each providing output signals comprising a 07 code book entry signal corresponding to a group of PCM
08 input signal samples and a corresponding scalar 09 quantized error signal, a multiplexer for multiplexing all of the code book entry signals and error signals 11 in separate channels, for transmission to a decoder, 12 apparatus for sensing demands for transmission of 13 additional digital signals, apparatus for 14 progressively eliminating the error signals and for substitution of said additional signals in place 16 thereof as the demand increases, whereby the capacity 17 of the processor signals to transmit code book entry 18 signals and the additional signals is gradually 19 increased while decreasing the resolution of multiplexed transmission of the PCM input signals.
21 It should be noted that transmission of 22 the selected code words is used herein synonymous with 23 transmission of the entry number of the best matched 24 code word in the code book memory. This is of course a digital signal corresponding to the code book entry 26 number, (i.e. which would corraspond to the address) 27 in the code book memory which is transmitted at the 28 selected code word.
29 A hyperplane search technique is preferred to be used. Hyperplane searching is described in the 31 aforenoted Cheng and Gersho publication. With the use 32 of a modification of this technique, the resulting 33 code book memory lookup interval is very fast, 34 allowing efficient 16 Kb/S operation using an inexpensive TMS320C25 digital signal processor. The 36 apparatus can also be realized in integrated circuit 37 formO
38 A better understanding of the invention 129~7;~

02 will be obtained by reference to the description below 03 of a preferred embodiment of the invention, in 04 conjunction with the following drawings, in which:
05 Figure l is block diagram of the invention 06 in broad form, 07 Figure 2 is a block diagram of an encoder 08 in more detailed form, 09 Figure 3 is a block diagram of a decoder in more detailed form, and 11 Figure 4 is a block diagram of a 12 multi-encoder system according to a further 13 embodiment.
14 Referring now to Figure l, at an input PCM
IN, input signals comprised of previously PCM encoded 16 speech samples are received. Typically the speech 17 will have been encoded using A-LAW or u-LAW, at 8 bits 18 per sample of speeGh, sampled at 8 Kb/S.
19 The PCM encoded speech signals are received in a receiving means which filters the signal 21 as will be described in more detail below. Groups of 22 sample signals, called vectors, are applied to a code 23 book memory 2, which has stored in it an array of 24 representative vectors. Under control of processor 3 the code book memory is scanned for a best fit match 26 of the stored representative vector signals for each 27 input vector. Once it has been located a signal 28 corresponding to the code book entry number of the 29 best fit matched vector (i.e. corresponding to its address) is output to a transmission line 4 for 31 transmission to a decoder.
32 According to the present invention the 33 code book entry number (or code word) is converted in 3~ a converting means 5 back to a vector, i.e. to a group of samples. This is compared in a comparing means 6 36 with the input or primary vector, and the difference 37 is applied to a scalar or vector quanti~er 7. It is 38 preEerred that the comparison should be conducted in ;

~ . .

02 the comparing means 6 on a sample by sample basis, 03 rather than on a group basis, in order to increase the 04 accuracy of the error signal. The quantizer 7 05 performs a scalar 2 bit or vector quantization, and 06 outputs quantized error signals.
07 As will be described later, at the decoder 08 the code book memory best fit entry number of code 09 words and the quantized error signals received from the encoder are combined and are converted to a high 11 resolution PCM encoded speech signal. In -the event 12 the quan-tized error signals are not sent, the decoder 13 translates the code words into lower resolution PCM
14 encoded speech signals.
By controlling operation of each encoder 16 in a multiple channel system, the processor 3 senses 17 the energy content of the signals which are to be 18 transmitted over the transmission line, and determines 19 whether the energy content exceeds a predetermined threshold. If the energy level does not exceed the 21 threshold, the quantized error signals on at least one 22 channel, e.g. the one described herein, are inhibited 23 from being transmitted. To illustrate the inhibition 24 function, processor 3 is shown operating an inhibit/enable gate 8, which allows transmission of 26 the quantized error signal or inhibits its 27 transmission to the transmission line or multiplexer.
28 However it should be clear that the processor can 29 merely inhibit operation of quantizer 7 itself or, where the quantization and/or comparison is effected 31 by the processor, it can merely not carry out the 32 signal comparison, thus eliminating the generation of 33 error signals or quantized error signals, and allowing 34 the increased channel capacity to be used to transmit code words of other channels.
36 Thus according to the invention as shown 37 in Figure 1 a speech processing system is realized 38 having dynamically variable channel capacity with high : .. . .

., ~Z~ 7;2 01 ~ 9 ~
02 resolution and lower capacity, or lower resolution and 03 higher capacity capabilities.
04 Turning now to Figure 2, a more detailed 05 representation of the encoder is shown. The PCM
06 encoded speech signals are preferably converted 07 (externally) to linear form and are applied to a 053 pre-emphasis filter 9 as signal S(n). This is 09 preferably a first order FIR filter, having a single coefficient, typically 0.4. The pre-emphasized sample 11 is then passed into a forward adaptive analysis filter 12 10 which flattens the spectrum and reduces the average 13 amplitude of the signa]. The analysis filter is 14 preferably lattice in form, which, as is well known, generates forward and backward error signals and 16 requires the inputting of coefficients in order to 17 define the filter characteristics.
18 The signal output from the analysis filter 19 10 is passed through a smoothing or de-emphasis filter 11 which makes it more suitable for operation by the 21 vector quantizer, comprised of the code book memory 22 14. Successive groups of samples output from the 23 de-emphasis filter 11 are formed in a vector former 24 12, which outputs primary vector signals, after having their gain normalized in a gain normalizer 13. The 26 quantizer selects the best matched code word to the 27 primary vector from a code book memory 14. Output 28 signals from the code book memory are code words 29 corresponding to the entry number of the best matched vector to the primary vector signals within the code 31 book memory. Preferably the Euclidian distance 32 measurement betwe~n the primary vector and code word 33 in the memory should be used to obtain the best 34 match. The code words C~n) are applied to transmission line 4 (via a multiplexer) at e.g. a 16 36 Kb/S rate.
37 It is desirable to control the gain prior 38 to application of the primary vector signals to the ~L2~4~ ~2 02 code book memory to place the primary vector signals 03 in the middle of the range so as to maXe better use of 04 the vector values. A preceding energy level 05 determined in the processor 3 is preferred to modify 06 the gain in order to place the amplitudes of the 07 primary vector signals in the middle gain range. At 08 the decoder the sum of the squares oE the 09 reconstituted vector signals is used to retrieve the energy level and thereby modify the gain of the output 11 signals.
12 The code words output from the code book 13 14 are applied to an inverse vector quantizer 15. The 14 inverse quantizer reconstitutes the gain (energy level) of the primary vector signals as described 16 above, and using the code word, accesses the vector 17 signals stored in a second code book memory in the 18 inverse vector quantizer, which code book memory is 19 identical to code book memory 14. The resulting signal (referred to herein as a converted vector 21 signal) corresponds to the primary vector signal plus 22 an error (which can in some circumstances be as little 23 as zero).
24 The converted vector signals q(n3 output from inverse vector quantizer 15 are applied to a 26 comparing means 6, to which the primary vector signals 27 output from the vector former 12 are also applied.
28 The comparing means 6 subtracts the two and generates 29 a difference signal which is applied to quantizer 7.
The quantized error signal from quantizer 7 is applied 31 to transmission line 4 (through the aforenoted 32 multiplexer). The signal is either applied or 33 inhibited from being applied to transmission line 4 34 through gate 8 as described earlier with respect to Figure 1, under control oE processor 3.
36 The inverse vector quantizer, with -further 37 apparatus to be described below, and shown within the 38 dashed line block 16, forms a local decoder, which is :iLZ~7~

01 ~ 11 -02 used to form the lattice filter coefficients. The 03 converted vector signals are passed through a 04 pre-emphasis filter 17, to compensate for the effect 05 of the smoothing filter 11. The output of the 06 pre-emphasis filter is applied to synthesis lattice 07 filter 18, which reconstructs an approximation to the 08 input speech signal. The forward and backward error 09 signals generated by the lattice filter are transferred to a coefficient adaption apparatus 19 11 which re-estimates the value of the lattice filter 12 coefficients after the vector has been applied to the 13 synthesis filter. These filter coefficients are 14 applied to the analysis filter 10 for each of the samples in the group which will form the next input 16 primary vector signal.
17 Turning now to Figure 3, a decoder in 18 accordance with the preferred embodiment of the 19 invention is shown. Part of the decoder, 16A, is identical to the local decoder 16 in the encoder. The 21 elements 15, 17, 18 and 19 in Figure 2 correspond to 22 and are identical to elements 15A, 17A, 18A and l9A in 23 Figure 3. Making the remote decoder identical to the 24 local decoder ensures that both the encoder and the remote decoder produced the same set of lattice filter 26 coefficients, so that tracking is maintained between 27 the twoO
28 The code words C(n) are received at the 29 transmitted rate of 16 Kb/S at inverse vector quantizer 15A. As described with reference to Figure 31 2, the code book memory in inverse vector quantizer 32 l5A which is identical to the one in inverse vector 33 quantizer 15 and memory 14 is accessed using the 34 received code words, and the resulting signal output therefrom forms converted vector signals, which are 36 formed by a set of samples corresponding to those 37 chosen by the encoder as being closest to the gain 38 normalized and filtered primary vector signals. The 1~4~72 02 gain of the converted vector signals is then 03 reconstituted in the inverse vector quantizer using 04 the inverse of the gain normalizing criteria or 05 algorithm using in gain normalizer 13. The signal is 06 pre-emphasized in pre-emphasis filter 17A as described 07 with respect to the corresponding element in Figure 2, 08 and is applied to synthesis lattice filter 18A, which 09 reconstructs an approximation to the input speech signal. The forward and backward error signals 11 generated by -the lattice filter are transferred to a 12 coefficient adaption apparatus l9A, which uses the 13 error signals to re-estimate the value of the lattice 14 filter 18A coefficients after each sample in the vector has been applied to synthesis filter. The 16 coefficients are applied to synthesis filter 23.
17 The reconstructed vector signals pass 18 through an adder 20, and are applied as output signals 19 S(n) to an output line 21, at 16 Kb/S.
The error signals m(n) at 16 Kb/S are 21 received from the transmission line and are applied to 22 scalar or vector quantizer 22. The sum of the 23 dequantized error signals added to the reconstructed 24 vector signals in adder 20 are applied through filter 17B, which is identical to filter 17A, and which 26 corrects for initial pre-emphasis in the encoder. The 27 resulting signals are applied through filter 23, which 28 is identical to filter 18A, to modify the 16 Kb/S
29 output signal from filter 17B into more precise form.
The coefficients of filter 23 are controlled by the 31 coefficient adaption logic l9A, and are hence 32 identical to the coefficients of filter 18A. After 33 passing through a de-emphasis filter 24, and high pass 34 filter 25, the reconstituted original primary vector signal S(n) thus results on output 21, from which the 36 vector signals can be encoded into A-LAW or u~LAW PCM
37 signals for use external to this system.
3B It should be noted that the effective bit ~ .

. . .

34(317;2 02 rate (resolution) of the error corrected output 03 signals is 32 Kb/S. However in the absence oE the 04 error signal m(n), no error correction signal will be 05 applied to adder 20, and the signal at output 21 will 06 be at the lower resolution 16 Kb/S, but allowing -the 07 system to operate with higher loading capacity.
08 It should be noted that in addition to the 09 transfer of the forward and backward error signals from the synthesis filter to the coefficient adaption 11 apparatus, the backward error signal from the 12 synthesis filter in the encoder should be combined 13 with that of the analysis filter in the encoder so 14 that part of the noise caused by the quantization process is cancelled. This tends to whiten the noise 16 giving it a spectrum which is nearer to a flat 17 spectrum. Otherwise the output spectrum from this 18 form of encoder would have the same spectral shape as 19 the signal which it is processing.
In order to adapt the filters, generation 21 of two signals is effected, one of which is the 22 exponentially weighted cross correlation between the 23 backward error and the forward error at the last stage 24 of the filter:
~ fn~ (n~ )f~.~h)bC l ~n-~

27 and the second signal:
2~ yi ~ y~h~ ) f~ 2~n) b~
is a normalization signal which consists of an 31 exponentially weighted square of each of the above two 32 noted signals. The first signal is normalized by the 33 second signal to give a correction factor which should 34 be used to update the lattice filter coefficient which is using the equation shown below:
36 ~ )=d l~ + B(l d~)~Cr~)/y~(n) 38 Typical values for the variables are z 02 y= .96, ~ = 0.936, ~ = 1.5 and 03 ~ = 2(2(1-~ ~ (n)by_l(n-l))).
04 In the code-book lookup process, the sum 05 of the squares of the Euclidian distance between the 06 current value of the vector just looked up in the 07 table and the actual value of the vector being looked 08 up is determined. The sum of the squares of the 09 difference between the current value of the vector looked up and the next vector to be checked is 11 determined. If the different is less than the 12 aforenoted difference, then the current value of the 13 vector looked up in the table should be used as the 14 selected vector. If it is not less, then the next vector must be checked. Preferably a hyperplane 16 splitting technique for searching for corresponding 17 vectors in the code book memory is preferred to be 18 used. The fundamental concept of this technique is 19 described in the aforenoted article by De-Yuan Cheng and Allen Gersho, and repetition at this point would 21 be redundant. However it is preferred that a 22 modification should be used.
23 The code book memory itself in the present 24 invention should contain eight sets of vectors for the reason described below. At each stage in the search 26 tree the normalized input vectors are correlated with 27 a vector which lies orthogonal to a hyperplane which 28 divides the vectors in the code book into two sections 29 in the hyper space. Tests to determine which of the code word sets is to be further searched. When this 31 has been determined the code words are searched and 32 the closest match to the normalized input vector is 33 taken to be that code word with the minimum Euclidian 34 distance between itself and the input vector.
In the method of Cheng and Gersho, the 36 hyperplane selected for splitting the set of vectors 37 is essentially random, the position of the hyperplane 38 being determined by perturbing the centroid of the ;.

02 previous set. In the preferred process, rather than 03 splitting the data through an arbitrary hyperplane and 04 then correlating the incoming data with a vector 05 perpendicular to the hyperplane, a hyperplane which is 06 perpendicu]ar to one element in the data set is 07 chosen, the first split being determined by the 08 element which is the first in the data set. The 09 second split is determined in each case by the element which is second in the data set. Therefore only the 11 size of each element need be considered to determine 12 which side of the hyperplane in which this particular 13 vector will be. When constructing the sets of 14 vectors, a threshold along the element being tested should be chosen which will divide the set exactly in 16 two. An even search tree results, with 8 brackets or 17 sets of 48 vectors. A computational cost less than 18 that achieved by Cheng and Gersho results.
19 Associated with each code word there is a code word energy value. If the value of the energy is 21 less than a preset threshold, then the gain parameter 22 is decayed; if the energy value is greater than uni-ty, 23 the gain adjustment value is increased by an amount 24 which is proportional to the size of the energy value.
26 Figure 4 illustrates a block diagram of a 27 variable loading transmission system in accordance 28 with the invention. A plurality of encoders 24A, 29 24B24N, each similar to the one described with reference to Figure 2 each outputs on separate lines 31 the code word signals and the error signals into 32 separate channel inputs of a multiplexer 25. The 33 encoders and the multiplexer are operated under 34 control of processor 3, although separate processors can be used. A transmission line 26, which can of 36 course include various transmission media, 37 interconnects the output of multiplexer 25 and the 38 input of d0multiplexer 27. Individual channel outputs 02 of demultiplexer 27 are connected to decoders 28A, 03 28B28N, each of which has a channel output.
04 The capacity of the transmission line 26 05 may be utilized in various ways. However in order to 06 illustrate the invention, one particular way of 07 implementing the invention will be described.
08 Let us assume that the channel capacity of 09 transmission line 26 is 120 16 Kb/S channels. Given that there are 120 PCM input lines to 120 encoders 11 24A - 24N, seldom would all be used at the same time.
12 Therefore with up to 60 PCM input signals arriving at 13 encoders 24A - 24N, 60 signals constituting code words 14 will be input to multiplexer 25 as well as 60 corresponding 16 Kb/S scalar or vector quantized error 16 signals.
17 Under control of processor 3, multiplexer 18 25 assigns the code word signals and error signals to 19 separate 16 Kb/S channels, time multiplexes them, and transmits them on transmission line 26 in 120 21 channels.
22 At the receiving end of transmission line 23 26, the signals are demultiplexed in demultiplexer 27, 24 and are separated into code word signals and corresponding error signals on separate pairs of lines 26 for each of 60 of the 120 decoders 28A - 28~. The 27 decoders combine the code words and error signals as 28 described earlier and output the signals on their 29 respective output lines. However it should be noted that with the combined error signals, the effective 31 bit rate for the signals on the output lines is 32 32 Kb/S, i.e. high resolution.
33 Assume now that one additional PCM input 34 signal is to be transmitted. Processor 3 senses that it is to be transmitted and inhibits either generation .
36 of the error signal from one encoder, or transmission 37 of the error signal to multiplexer 25, or multiplexing 38 of the error signal from that one encoder, creating a :
., ~L2~ 7;~

02 spare 16 Kb/S channel. It is preferred that the error 03 signal from the one channel should not be created and 04 therefore does not arrive at multiplexer 25.
05 Multiplexer 25 now substitutes the 16 Kb/S
06 code word signal from the encoder of the 61st PCM
07 signal in place of the deleted error signal.
08 At the demultiplexer the error signal 09 corresponding to the code word from which it was deleted does not exist, and therefore the 11 corresponding decoder decodes the code word and 12 outputs it at 16 Kb/S resolution, as described 13 earlier. The 61st channel signal is similarly decoded 14 and is outputted as a 16 Kb/S.
In this manner increasing the demand for 16 service will cause successive removal of error signals 17 in favour of increased capacity for additional code 18 word signals at low resolution, dynamically variable.
19 Different input signal lines can be allocated different classes of service, thus allowing signals 21 for which high resolution is most important to be 22 maintained permanently, if desired, or to be 23 maintained if the system is almost fully loaded to 120 24 channels.
A system has thus been described which for 26 example when lightly loaded can be used in conjunction 27 with other similar systems to provide e.g. 60 channels 28 at 32 Kb/S when lightly loaded, and up to 120 channels 29 at 16 Kb/S. As the system becomes loaded the processor can eliminate transmission of the errcr 31 signals channel by channel, allowing the transmission 32 line to increase in capacity channel by channel from 33 60 to 120 channels as additional channels are 34 required. In addition, by considering the gain (energy) value in the local processor, if the energy 36 is zero, i.e. silence being transmitted, no error 37 signal is required, and that channel can be 38 transmitted at 16 Kb/S, increasing the capacity. By 02 dynamically sensing which channels are transmitting 03 silence, and by eliminating error signals for those 04 channels during those intervals, the apparent capacity 05 of the system to carry signals at 32 Kb/S can be 06 clearly increased. By dynamically allocating channels 07 to various input signals high efficiency of the 08 transmission facility may thus be obtained.
09 The above description has been made with reference to a speech processing system. However it 11 should be noted that the system can be used to 12 transmit both voice and data digital signals. The 13 system can be implementing using integrated circuits 14 or can be realized in a general or special purpose digital signal processing device.
16 While the preferred embodiment of the 17 invention has been described above, it will be 18 realized that variations and other embodiments may be 19 made utilizing the principles described herein. All are considered to be within the sphere and scope of 21 the invention as defined in claimR appended hereto.

"

Claims (18)

1. A speech processing system having an encoder comprising:
(a) means for receiving successive samples of PCM encoded speech signals, (b) means for applying sequential groups of said PCM encoded speech signals as primary vector signals to an encoder code book memory for selecting code words stored in said memory most closely approximating said vector signals, (c) means for outputting to an output line said selected code words at a first bit rate, (d) means for converting said selected code words to converted vector signals, (e) means for comparing the primary vector signals and converted vector signals and for providing difference signals therefrom, (f) means for quantizing the difference signals and for providing quantized error signals, (g) means for applying the quantized error signals to the output line at the first or at a second bit rate to enable the processing system to transmit said speech signals at an effective bit rate constituting double the first bit rate or the sum of the first and second bit rate, or for inhibiting the quantized error signals from being applied to the line whereby the processing system can transmit said speech signals at an effective rate of the first bit rate thus increasing the traffic carrying capacity of the line.
2. A speech processor as defined in claim 1 in which the receiving means is comprised of an adaptive analysis filter having its transfer characteristics defined by a plurality of coefficient signals, and further including means for generating converted PCM encoded speech signals from the converted vector signals comprising an adaptive synthesis filter which is the analog of the adaptive analysis filter for receiving the converted vector signals, filter coefficient signal generating means for receiving the converted vector signals and the converted PCM encoded speech signals and for generating and applying corresponding filter coefficients to the synthesis and analysis filters whereby the synthesis and analysis filters are rendered as analogous as possible.
3. A speech processor as defined in claim 2 in which the synthesis and analysis filters are lattice filters, the filter coefficient signal generating means being adapted to generate a new set of filter coefficient signals after each PCM encoded speech signal sample.
4. A speech processor as defined in claim 3 in which the receiving means is comprised of a forward predictor.
5. A speech processor as defined in claim 3 in which the receiving means is comprised of means for receiving the PCM encoded speech signals in linear form, pre-emphasis filter means for pre-emphasizing the linear form of PCM encoded speech signals, said adaptive analysis filter for receiving the pre-emphasized signals, flattening their spectra and reducing their average amplitudes, and smoothing filter means for smoothing the adaptive analysis filtered signals, and for providing the smoothed signals to the sequential group applying means.
6. A speech processor as defined in claim 5 further including means for normalizing the gain of the samples of the smoothed signals interposed between the smoothing filter means and the sequential group applying means.
7. A speech processor as defined in claim 1, 2 or 6 in which the comparing means is adapted to determine the difference between each sample of each primary vector signal and each sample of the resulting converted vector signal to provide said difference signal.
8. A speech processor as defined in claim 3, 5 or 6 in which the comparing means is adapted to determine the difference between each sample of each primary vector signal and each sample of the resulting converted vector signal to provide said different signal, and in which backward error signals are generated in the synthesis filter and are combined with backward error signals generated in the analysis filter, thereby cancelling part of the noise caused by quantization and flattening the spectrum of the selected code words applied to the line relative to the received PCM encoded speech signals.
9. A speech processor as defined in claim 1 further including means for normalizing the gain of the samples of the smoothed signals interposed between the smoothing filter means and the sequential group applying means, and in which the comparing means is adapted to determine the difference between each sample of said gain normalized primary vector signal and each sample of the resulting converted vector signal to provide said difference signals.
10. A speech processor as defined in claim 9 in which the synthesis and analysis filters are lattice filters, the filter coefficient signal generating means being adapted to generate a new set of filter coefficient signals after each vector signal is selected.
11. A speech processor as defined in claim 10 in which the receiving means is comprised of means for receiving the PCM encoded speech signals in linear form, pre-emphasis filter means for pe-emphasizing the linear form of PCM encoded speech signals, said adaptive analysis filter for receiving the pre-emphasized signals, flattening their spectra and reducing their average amplitudes, and smoothing filter means for smoothing the adaptive analysis filtered signals, and for providing the smoothed signals to the sequential group applying means.
12. A speech processor as defined in claim 11 further including means for normalizing the gain of the samples of the smoothed signals interposed between the smoothing filter means and the sequential group applying means.
13. A speech processor as defined in claim 12 in which the comparing means is adapted to determine the difference between each sample of each primary vector signal and each sample of the resulting converted vector signal to provide said difference signal, and in which backward error signals are generated in the synthesis filter and are combined with backward error signals generated in the analysis filter, thereby cancelling part of the noise caused by quantization and flattening the spectra of the selected code words applied to the line relative to the received PCM encoded speech signals.
14. A speech processing system as defined in claim 3 or 5, in which the comparing means is adapted to determine the difference between each sample of each primary vector signal and each sample of the resulting converted vector signal to provide said difference signals, and a decoder comprising:
(a) means for receiving said selected code words and said quantized error signals, (b) a decoder code book memory containing the table of code words identical to that of the encoder code book memory, (c) means for applying the selected code words to the decoder code book memory and for obtaining best matched vector signals stored therein corresponding to the selected code words, (d) means for converting the best matched vector signals into sequential samples of PCM encoded speech signals for output from the processing system.
15. A speech processing system as defined in claim 6, in which the comparing means is adapted to determine the difference between each sample of each primary vector signal and each sample of the resulting converted vector signal to provide said difference signals, and a decoder comprising:
(a) means for receiving said selected code words and said quantized error signals, (b) a decoder code book memory containing the table of code words identical to that of the encoder code book memory, (c) means for applying the selected code words to the decoder code book memory and for obtaining best matched vector signals stored therein corresponding to the selected code words, (d) means for converting the best matched vector signals into sequential samples of PCM encoded speech signals for output from the processing system.
(e) means for dequantizing the quantized error signals and adding the dequantized error signals to the best matched vector signals in the event of receipt of said error signals to form corrected vector signals, (f) means for filtering the corrected vector signals for restoring the gain of the corrected signals to correspond to that of the PCM encoded speech signals, and (g) means for encoding the gain corrected signals into PCM speech signals and for outputting the encoded signals from the encoder.
16. A speech processing system comprising:
(a) a plurality of speech encoders for vector quantization of PCM input signals, each providing output signals comprising a code book entry signal corresponding to a group of PCM input signal samples and a corresponding scalar quantized error signal, (b) a multiplexer for multiplexing all of the code book entry signals and error signals in separate channels, for transmission to a decoder, (c) means for sensing demands for transmission of additional digital signals, (d) means for progressively eliminating the error signals and for substitution of said additional signals in place thereof as said demand increases, whereby the capacity of the processor system to transmit code book entry signals and said additional signals is gradually increased while decreasing the resolution of multiplexed transmission of the PCM input signals.
17. A speech processor system as defined in claim 16, in which each of the speech encoders is an encoder as defined in claim 1 or 9.
18. A speech processor system comprising means for digitally encoding a plurality of input signals into a corresponding plurality of low resolution (low bit rate) signals for transmission in a first group of channels, and a corresponding group of error signals for transmission in a second group of channels, whereby the error signals can be combined with corresponding low resolution signals into high resolution (high equivalent bit rate) output signals at a decoder, means for substituting additional low resolution encoded input signals in one or more of said second group of channels in place of said error signals whereby the decoder can decode the additional low resolution signals into additional output signals, and the original low resolution signals corresponding to the error signals substituted, into low resolution output signals.
CA000577681A 1987-09-24 1988-09-16 Speech processing system Expired - Lifetime CA1294072C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8722492A GB2210236B (en) 1987-09-24 1987-09-24 Speech processing system
GB8722492 1987-09-24

Publications (1)

Publication Number Publication Date
CA1294072C true CA1294072C (en) 1992-01-07

Family

ID=10624308

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000577681A Expired - Lifetime CA1294072C (en) 1987-09-24 1988-09-16 Speech processing system

Country Status (3)

Country Link
US (1) US4972483A (en)
CA (1) CA1294072C (en)
GB (1) GB2210236B (en)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992009142A1 (en) * 1989-06-13 1992-05-29 Utah State University Foundation Method and apparatus for data compression with reduced distortion
CA2054849C (en) * 1990-11-02 1996-03-12 Kazunori Ozawa Speech parameter encoding method capable of transmitting a spectrum parameter at a reduced number of bits
DE69232887T2 (en) * 1991-02-26 2003-06-05 Nec Corp Speech coding method
JP3151874B2 (en) * 1991-02-26 2001-04-03 日本電気株式会社 Voice parameter coding method and apparatus
US5313552A (en) * 1991-03-27 1994-05-17 Unisys Corporation Apparatus for quantizing an input group of data samples into one of N quantized groups of data via a process on less than N/2 reference groups of data samples
US5453986A (en) * 1993-01-08 1995-09-26 Multi-Tech Systems, Inc. Dual port interface for a computer-based multifunction personal communication system
US5754589A (en) * 1993-01-08 1998-05-19 Multi-Tech Systems, Inc. Noncompressed voice and data communication over modem for a computer-based multifunction personal communications system
US5864560A (en) * 1993-01-08 1999-01-26 Multi-Tech Systems, Inc. Method and apparatus for mode switching in a voice over data computer-based personal communications system
US5812534A (en) * 1993-01-08 1998-09-22 Multi-Tech Systems, Inc. Voice over data conferencing for a computer-based personal communications system
US5535204A (en) * 1993-01-08 1996-07-09 Multi-Tech Systems, Inc. Ringdown and ringback signalling for a computer-based multifunction personal communications system
US5452289A (en) * 1993-01-08 1995-09-19 Multi-Tech Systems, Inc. Computer-based multifunction personal communications system
US6009082A (en) * 1993-01-08 1999-12-28 Multi-Tech Systems, Inc. Computer-based multifunction personal communication system with caller ID
US5546395A (en) * 1993-01-08 1996-08-13 Multi-Tech Systems, Inc. Dynamic selection of compression rate for a voice compression algorithm in a voice over data modem
US5617423A (en) * 1993-01-08 1997-04-01 Multi-Tech Systems, Inc. Voice over data modem with selectable voice compression
US5473731A (en) * 1993-07-20 1995-12-05 Intel Corporation Lattice based dynamic programming classification system
US5468069A (en) * 1993-08-03 1995-11-21 University Of So. California Single chip design for fast image compression
US5541594A (en) * 1994-03-28 1996-07-30 Utah State University Foundation Fixed quality source coder with fixed threshold
JP3321976B2 (en) * 1994-04-01 2002-09-09 富士通株式会社 Signal processing device and signal processing method
US5682386A (en) * 1994-04-19 1997-10-28 Multi-Tech Systems, Inc. Data/voice/fax compression multiplexer
US5757801A (en) 1994-04-19 1998-05-26 Multi-Tech Systems, Inc. Advanced priority statistical multiplexer
FI97504C (en) * 1994-12-19 1996-12-27 Nokia Telecommunications Oy Data communication method, data communication system and cellular radio system
US5826225A (en) * 1996-09-18 1998-10-20 Lucent Technologies Inc. Method and apparatus for improving vector quantization performance
US6111870A (en) * 1996-11-07 2000-08-29 Interdigital Technology Corporation Method and apparatus for compressing and transmitting high speed data
US6151336A (en) * 1998-02-11 2000-11-21 Sorrento Networks, Inc. Time division multiplexing expansion subsystem
US6400478B1 (en) 1998-04-02 2002-06-04 Sorrento Networks, Inc. Wavelength-division-multiplexed optical transmission system with expanded bidirectional transmission capacity over a single fiber
US6606641B1 (en) * 1998-04-20 2003-08-12 Koninklijke Philips Electronics N.V. System for varying the dynamic range of coefficients in a digital filter
US6298103B1 (en) 1998-06-16 2001-10-02 Sorrento Networks Corporation Flexible clock and data recovery module for a DWDM optical communication system with multiple clock rates
JP2001257565A (en) * 2000-03-10 2001-09-21 Fujitsu Ltd Method and device for updating reflection coefficient of lattice type filter
FR2846827B1 (en) * 2002-10-30 2005-02-25 Inst Nat Rech Inf Automat DEVICE FOR MARKING AND RETRIEVING MULTIMEDIA SIGNALS
US7734466B2 (en) * 2005-06-20 2010-06-08 Motorola, Inc. Reduced complexity recursive least square lattice structure adaptive filter by means of limited recursion of the backward and forward error prediction squares

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4790016A (en) * 1985-11-14 1988-12-06 Gte Laboratories Incorporated Adaptive method and apparatus for coding speech
IT1184023B (en) * 1985-12-17 1987-10-22 Cselt Centro Studi Lab Telecom PROCEDURE AND DEVICE FOR CODING AND DECODING THE VOICE SIGNAL BY SUB-BAND ANALYSIS AND VECTORARY QUANTIZATION WITH DYNAMIC ALLOCATION OF THE CODING BITS
US4720861A (en) * 1985-12-24 1988-01-19 Itt Defense Communications A Division Of Itt Corporation Digital speech coding circuit
IT1190565B (en) * 1986-04-07 1988-02-16 Cselt Centro Studi Lab Telecom PROCEDURE AND CODING DEVICE FOR NUMBERED SIGNALS BY VECTOR QUANTIZATION
GB2189366B (en) * 1986-04-17 1989-12-28 British Broadcasting Corp Method and apparatus for conveying information signals
US4727354A (en) * 1987-01-07 1988-02-23 Unisys Corporation System for selecting best fit vector code in vector quantization encoding
US4791654A (en) * 1987-06-05 1988-12-13 American Telephone And Telegraph Company, At&T Bell Laboratories Resisting the effects of channel noise in digital transmission of information
US4815134A (en) * 1987-09-08 1989-03-21 Texas Instruments Incorporated Very low rate speech encoder and decoder

Also Published As

Publication number Publication date
GB8722492D0 (en) 1987-10-28
GB2210236A (en) 1989-06-01
GB2210236B (en) 1991-12-18
US4972483A (en) 1990-11-20

Similar Documents

Publication Publication Date Title
CA1294072C (en) Speech processing system
Gersho et al. Vector quantization: A pattern-matching technique for speech coding
US4654863A (en) Wideband adaptive prediction
US4184049A (en) Transform speech signal coding with pitch controlled adaptive quantizing
US4956871A (en) Improving sub-band coding of speech at low bit rates by adding residual speech energy signals to sub-bands
Zelinski et al. Adaptive transform coding of speech signals
FI114248B (en) Method and apparatus for audio coding and audio decoding
US4949383A (en) Frequency domain speech coding
US6064954A (en) Digital audio signal coding
US4941152A (en) Signal coding process and system for implementing said process
CA2101700C (en) Low-delay audio signal coder, using analysis-by-synthesis techniques
US5491771A (en) Real-time implementation of a 8Kbps CELP coder on a DSP pair
US4704730A (en) Multi-state speech encoder and decoder
US20010027393A1 (en) Method of and apparatus for processing at least one coded binary audio flux organized into frames
GB2150377A (en) Speech coding system
US4805193A (en) Protection of energy information in sub-band coding
US5727122A (en) Code excitation linear predictive (CELP) encoder and decoder and code excitation linear predictive coding method
US4518950A (en) Digital code converter
US5651026A (en) Robust vector quantization of line spectral frequencies
US5142583A (en) Low-delay low-bit-rate speech coder
JP4359949B2 (en) Signal encoding apparatus and method, and signal decoding apparatus and method
US6397178B1 (en) Data organizational scheme for enhanced selection of gain parameters for speech coding
JP2858122B2 (en) Digital adaptive transform coding method
IL94119A (en) Digital speech coder
Buzo et al. A two-step speech compression system with vector quantizing

Legal Events

Date Code Title Description
MKLA Lapsed