BACKGROUND OF THE INVENTION
Field of the Invention
[0001] This invention relates to a speech coding systems, and more particularly, to a speech
coding apparatus for encoding a speech signal in a high quality at a low bit rate,
especially at 8-4 kb/s.
Related Art
[0002] Recently it has been of urgent necessity to implement a digitalized system of such
devices as an automotive mobile phone or a code less phone employing a radio communication.
Since an available frequency band is narrow in a radio communication, it is important
to develop a system in which a speech signal is coded very efficiently in a high quality
condition at a low bit rate by compressing the speech signal into smaller number of
bits.
[0003] CELP(Code Excited LPC Coding) as described in a paper titled "Code-excited linear
prediction: High quality speech at low bit rates" by M. Schroeder and B. S. Atal(ICASSP
Proc. 85, pp. 937-940, 1985; hereinafter referred to as the "reference No. 1") is
known as a coding system in which a speech signal is coded at a low bit rate of 8-4
kb/s.
[0004] In this method, an encoding process is carried out at a transmission side in the
following procedure. First, for every frame (for example, 20 ms), spectrum parameters
representing frequency characteristics of the speech signal are extracted(short-term
prediction).
[0005] Then each frame is subdivided into narrower subframes (for example, 5 ms). In every
subframe, a pitch parameter representing a wide interval correlation(pitch correlation)
is extracted from past speech source signals and the long-term prediction of a speech
signal in the subframe is carried out with the pitch parameter.
[0006] Next, a code vector and a gain which minimize the error power between a synthesized
signal generated using the code vector extracted from a noise signal (code vector)
which is composed of pre-prepared types of quantization codes, and a residual signal
obtained by the long-term prediction, are decided. The index representing the type
of the decided code vector, the decided gain, the spectrum parameter, and the pitch
parameter are transmitted.
[0007] More specifically, in search of a quantization code the following procedure is employed.
First, a signal z[n] is derived by executing a weighting for compensation of an auditory
sense to, and subtraction of a past influence signal from, an inputted speech signal
x[n].
[0008] Next, a synthesized signal Hej[n] is calculated by driving with a code vector ej[n]
of a quantization code j, a synthesis filter H composed of spectrum parameters, obtained
by the short-term prediction, quantized, and inversely quantized.
[0009] Then, a quantization code j which minimizes Ej representing an error energy between
the signal z[n] and the synthesized signal Hej[n], as defined in the following expression,
is obtained.

In above expression (1), Ns indicates the length of the subframe and H indicates
a matrix implementing the synthesis filter. For a practical use, the expression (1)
is expanded as follows,

A numerator Cj in the second term in the above expression (2) is a cross-correlation
and a denominator Gj is an auto-correlation, and they are calculated with following
expressions (3) and (4) respectively.

The above auto-correlation and cross-correlation are calculated after Hej[n] is
calculated by driving the synthesis filter (i.e. filtering). In this case, the number
of filtering operations carried out is equal to the size of a code book. Therefore,
the quantity of operations, that is, the number of times of product and sum operations(multiply
and add operations) for processing one frame becomes vast as seen from the following
expression,
where M denotes an order of the synthesis filter, N denotes a length of the frame,
and B denotes the number of bits of the speech source.
[0010] A method for calculating a cross-correlation with an inverse filtering and calculating
an auto-correlation with an auto-correlation approximation method, as described in
a paper titled "EFFICIENT PROCEDURES FOR FINDING THE OPTIMUM INNOVATION IN STOCASTIC
CODERS" by I. M. Transco and B. S. Atal (ICASSP Proc., p. 2375, 1986; hereinafter
referred to as the "reference No. 2") is well known as the method to obtain a code
with the reduced quantity of operations.
[0011] In this method, a cross-correlation and an auto-correlation are derived as follows.
In case of calculating the cross-correlation, a value given by the following expression
is calculated at first. This process is referred to as an inverse filtering.

In the above expression (6), h[n] represents an impulse response of the synthesis
filter.
[0012] The cross-correlation is calculated with the following expression using the value
obtained from the above expression (6).

In this case, the filtering process is carried out only once in calculating the
impulse response of the synthesis filter and in the above expression (6) so that the
quantity of product and sum operations in each frame for calculating the cross-correlation
is given by the following expression (8),
where sf denotes the number of the subframes in a frame.
[0013] The auto-correlation function is calculated with the following approximation expression
(9) as described in the reference No.2,

where hh[i] indicates an ith order auto-correlation function of the impulse response
of the synthesis filter, Rj[i] indicates an ith order auto-correlation function of
the code vector ej[n], and I indicates the order of the impulse response of the synthesis
filter.
[0014] The order I is usually set to a value of 21 or so in consideration of an attenuation
of the impulse response of the synthesis filter. A transfer function of the synthesis
filter is generally represented as an all-pole type 1/A(Z), however it is approximated
with an impulse response of limited order (for example, 21) to reduce the quantity
of operations.
[0015] By calculating beforehand an auto-correlation function of the impulse response and
storing it in a data ROM for every speech source, the auto-correlation function may
be calculated with a smaller quantity of operations without filtering process. In
this method, the auto-correlation is calculated with a quantity of product and sum
operations as expressed in the following expression.
Accordingly, with the above expressions (7) and (9), the quantity of product and
sum operations is given by the following expression (11).
Under the condition that the length of the frame N=240, the length of the subframe
N
s=60, the number of the subframes sf=4, the length of the impulse response I=21, the
order of the synthesis filtering M=10, and the size of the code book B=7 (bits), the
quantity of product and sum operations by the conventional method given as the above
expression (5) and the quantity of product and sum operations by the approximation
method described in the reference No. 2 in which the quantities of product and sum
operations of the cross-correlation and the auto-correlation are given by the above
expressions (8) and (10) respectively, are given as those listed in Table 1:
Table 1
| Comparison of the quantity of product and sum operations |
| Method |
Expression |
Quantity of product and sum operations |
| Filtering for each code vector |
expression(5) |
12.288(MOPS) |
| Approximation method in the reference No.2 |
expression(8)+ expression(10) |
1.584(MOPS) |
[0016] In above Table 1, MOPS (Million Operations Per Second) indicates a quantity of product
and sum operations per second (unit is one million).
[0017] As may be seen from Table 1, the approximation method described in the reference
No.2 fairly reduces the quantity of product and sum operations as compared with the
conventional method (i.e. by nearly one order of magnitude).
[0018] However, with the above described approximation method there still remains a large
quantity of operations even after the reduction of operations, so that only limited
types of processors such as those having a large computational power may carry out
such large quantity of operations in a real time processing environment.
[0019] In addition, the above described approximation method reduces the quantity of operations
in case of searching for the speech source code book in the data ROM which contains
the auto-correlation functions of the speech sources, however, the additional number
of product and sum operations given by the following expression is needed in case
of searching for a code book, such as an adaptive code book, in which a speech source
varies by every subframe to be coded, so that the auto-correlation function must be
calculated for each code.
Under the same condition as that employed in Table 1, the above expression (12)
gives a value of 17.92 (MOPS) and a larger quantity of operations are needed than
in the conventional method in which the filtering is carried out for each code vector.
As a result thereof, the approximation method described in the reference No.2 cannot
be employed and it is difficult to carry out operations in a real time processing.
SUMMARY OF THE INVNETION
[0020] In view of the above-mentioned drawbacks of the prior art techniques, it is an object
of the present invention to provide a speech coding system with a good tone quality
with a smaller quantity of operations even at 4 kb/s.
[0021] For accomplishing the above described object, the present invention provides a speech
coding apparatus comprising:
a speech analyzing unit for deciding, in every predetermined interval of a speech
signal, codes of short-term prediction parameters representing frequency characteristics
of the speech signal,
an impulse response calculating unit for calculating an impulse response of a speech
synthesis filter generated with the short-term prediction parameters,
an inverse filter unit for filtering the speech signal inversely with the impulse
response,
an adaptive code book for storing an input signal fed to the speech synthesis filter
generated within a past speech coding interval,
a long-term prediction speech source for generating from the adaptive code book
a long-term prediction source representing a pitch correlation of the speech signal,
a cross-correlation calculating unit for calculating a cross-correlation between
the speech signal and an output signal of the speech synthesis filter fed with said
long-term prediction speech source as an input,
an auto-correlation calculating unit of an impulse response for calculating an
auto-correlation of the impulse response of the speech synthesis filter to an order
of Ismall being less than a length of said impulse response,
an auto-correlation calculation unit of long-term prediction speech source for
calculating an auto-correlation of the long-term prediction speech source to the order
Ismall less than the length of said impulse response,
an auto-correlation calculating unit for calculating an auto-correlation of said
output signal to the order Ismall less than the length of said impulse response from
two types of said auto-correlation function,
an evaluation function calculating unit for calculating error energy with results
of said auto-correlation and said cross-correlation,
an optimum code deciding unit for deciding an optimum long-term prediction code
with said evaluation function,
a speech source code book comprising speech source signals and quantization codes
indicating residual signals after the long-term prediction, and
a speech source code book searching unit for deciding an optimum quantization code
from said speech source code book.
[0022] One of the features of the present invention is that the auto-correlations are calculated
with an auto-correlation function approximation order set to a value of an Ismall
being less than the length of the impulse response of the synthesis filter.
[0023] The present invention in the second aspect provides a speech coding apparatus comprising:
a speech analyzing unit for deciding, in every predetermined interval of a speech
signal, codes of short-term prediction parameters representing frequency characteristics
of the speech signal,
an adaptive code book for storing an input signal fed to a speech synthesis filter
generated in a past speech coding interval,
an adaptive code book searching unit for deciding an optimum code from said adaptive
code book,
an impulse response calculating unit for calculating an impulse response of said
speech synthesis filter generated from said short-term prediction parameters,
an auto-correlation function calculating unit of an impulse response for calculating
an auto-correlation function of the impulse response of said speech synthesis filter
to an order of Ismall less than the length of the impulse response,
a speech source code book comprising speech source signals and quantization codes
indicating residual signals after the long-term prediction,
a code vector generating unit for generating a code vector from said speech source
code book,
an auto-correlation function calculating unit of a code vector for obtaining an
auto-correlation function of said code vector to the order of Ismall less than the
length of said impulse response,
an inverse filter unit for inversely filtering said speech signal with said impulse
responses,
a cross-correlation calculating unit for calculating a cross-correlation between
said speech signal and an output signal of said speech synthesis filter, with said
code vector being fed to said speech synthesis filter as an input,
an auto-correlation calculating unit for calculating an auto-correlation of said
outputs signal to the order Ismall less than the length of said impulse response from
two types of said auto-correlation functions,
an evaluation function calculating unit for calculating an error energy with said
auto-correlation and said cross-correlation, and
an optimum code deciding unit for deciding an optimum code vector with said evaluation
function.
[0024] The present invention in the third aspect provides a speech coding apparatus comprising:
a speech analyzing unit for deciding in every predetermined interval of a speech
signal codes of short-term prediction parameters representing frequency characteristics
of the speech signal,
an impulse response calculating unit for calculating an impulse response of a speech
synthesis filter generated with said short-term prediction parameters,
an inverse filter unit for inversely filtering said speech signal with said impulse
response,
an adaptive code book for storing an input signal fed to said speech synthesis
filter generated in a past speech coding interval,
a long-term prediction speech source generating unit for generating from said adaptive
code book a long-term prediction speech source representing a pitch correlation of
said speech signal,
a cross-correlation calculating unit for calculating a cross-correlation between
said speech signal and an output signal of said speech synthesis filter with said
long-term prediction speech sources being fed to said speech synthesis filter as an
input,
an optimum code deciding unit for deciding an optimum long-term prediction code
based on said cross-correlation,
a speech source code book comprising speech source signals and quantization codes
indicating residual signals after the long-term prediction, and
a speech source code book searching unit for deciding an optimum quantization code
with said speech source code book.
[0025] The present invention in the fourth aspect provides a speech coding apparatus comprising:
a speech analyzing unit for deciding in every predetermined interval of a speech
signal codes of short-term prediction parameters representing frequency characteristics
of the speech signal,
an adaptive code book for storing an input signal fed to a speech synthesis filter
generated in a past speech coding interval,
an adaptive code book searching unit for deciding an optimum code from said adaptive
code book,
an impulse response calculating unit for calculating an impulse response of said
speech synthesis filter generated with said short-term prediction parameters,
a speech source code book comprising speech source signals and quantization codes
indicating residual signals after the long-term prediction,
a code vector generating unit for generating a code vector from said speech source
code book,
an inverse filter unit for inversely filtering said speech signal with said impulse
responses,
a cross-correlation calculating unit for calculating a cross-correlation between
said speech signal and an output signal of said speech synthesis filter with said
code vectors being fed to said speech synthesis filter as an input, and
an optimum code deciding unit for deciding an optimum code vector with said cross-correlation.
[0026] The present invention in the above first and second aspects, provides a speech coding
apparatus preferably comprising an approximation order deciding unit for deciding
an order of Ismall for calculating an auto-correlation for each interval of a speech
signal to be coded.
[0027] According to the present invention, by using, preferably in the CELP method, a value
of the auto-correlation approximation order of Ismall smaller than the length of an
impulse response of a synthesis filter I, accomplishes the significant reduction in
the quantity of product and sum operations in a calculation of an auto-correlation,
reduces the quantity of product and sum operations in an auto-correlation for each
code, and also prevents tone quality from being degraded.
[0028] In addition, the present invention quickly obtains an auto-correlation function of
a code vector by table lookup of a speech source auto-correlation code book in which
auto-correlation values of a speech source code book are stored beforehand, reduces
the quantity of operations in a calculation of an auto-correlation by using a value
of an approximation order of Ismall smaller than a length of an impulse response,
reduces the number of auto-correlation functions of impulse responses of a synthesis
filter, and reduces the memory capacity of a ROM in the speech source auto-correlation
code book.
[0029] Further, the present invention significantly reduces the quantity of operations,
as shown in the above Table 2, by setting the auto-correlation approximation order
Ismall to 1 and representing an evaluation function only by cross-correlations without
degradation of tone quality.
[0030] Furthermore, the present invention provides a speech coding apparatus which reduces
the quantity of product and sum operations for an auto-correlation and efficiently
prevents tone quality from being degraded by variably controlling, according to the
characteristics of coded speech signals, the auto-correlation approximation order
Ismall with an approximation order deciding circuit.
[0031] In the above described auto-correlation approximation method of the prior art example,
the approximation order is set to I being equal to the length of the impulse response
of the synthesis filter.
[0032] The present invention has been developed based on the knowledge by the present inventors
that it is not needed to match the approximation order to the length of the impulse
response of the synthesis filter I and that the auto-correlation may well be approximated
with good accuracy even by a very small value Ismall.
[0033] That is, with the present invention, by setting the approximation order of an auto-correlation
to Ismall less than the length of the impulse response of the synthesis filter I,
the quantities of operations required for calculating an auto-correlation function
of the speech source and the impulse response and for calculating an auto-correlation
of the synthesized signal are reduced. In addition, the present invention may reduce
a memory capacity required for calculating the auto-correlation function of the speech
source and the impulse response.
[0034] With the present invention the evaluation function may be calculated only with the
cross-correlation if the approximation order Ismall is set to 1, so that the quantity
of product and sum operations for calculating the auto-correlation may be reduced
significantly.
[0035] Furthermore, with the present invention the approximation order Ismall may be variably
controlled according to characteristics of the coded speech signal.
Brief Description of the Drawings
[0036] The above and other objects, features and advantages of the present invention will
be more apparent from the following description taken in conjunction with the accompanying
drawings, in which
Fig. 1 is a block diagram showing a whole structure of a speech coding and decoding
apparatus of the present invention;
Fig.2 is a flow chart in operation of a circuit 160 according to a first embodiment
of the present invention;
Fig.3 is a flow chart in operation of a circuit 180 according to an embodiment of
the present invention;
Fig.4 is a flow chart in operation of a circuit of 160 according to another embodiment
of the present invention;
Fig. 5 is a flow chart in operation of a circuit 180 according to a still another
embodiment of the present invention;
Fig. 6 is a flow chart in operation of a circuit 160 according to still another embodiment
of the present invention; and
Fig.7 is a flow chart in operation of a circuit 160 according to a yet another fifth
embodiment of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0037] Referring to the drawings, preferred embodiments of the present invention will be
described in detail.
[0038] Fig. 1 is a schematic diagram showing a speech coding and decoding apparatus according
to the present invention. In Fig. 1, a component (1) shown in the left side and a
component (2) shown in right side represent a coding circuit (encoder) and a decoding
circuit (decoder) respectively. First, each component module is explained in the below.
[0039] An input terminal 100 is an speech input terminal of an encoder. A buffer circuit
110 is a circuit for storing a speech signal. An LPC analyzing circuit 120 is a circuit
for extracting an LPC coefficient, that is, a spectrum parameter of the speech signal.
A parameter quantization circuit 130 is a circuit for quantizing the LPC coefficient.
A weighting circuit 140 is a circuit for weighting to the speech signal for compensating
an auditory sense. An adaptive code book 150 is a circuit for storing past speech
sources. An adaptive code book searching circuit 160 is a circuit for searching for
a long-term prediction parameter.
[0040] A speech source code book 170 is a code book in which code vectors representing long-term
prediction residuals, the length of which is equal to the length of subframes, are
being stored. This book 170 may be either a noise code book or a learning code book
in which learning is made by a vector quantization (VQ) algorithm. The former has
been disclosed in detail in the reference No.1, while the latter has been proposed
in Japanese Patent Kokai JP-A Nos. Hei 3-243998(1991), Hei 3-243999(1991) by one of
the inventors of the present invention.
[0041] A speech source code book searching circuit 180 is a circuit for deciding an optimum
code vector from the speech source code book 170. A gain code book 190 is a code book
in which long-term prediction speech sources and parameters representing gain terms
in the code vector are stored. A gain code book searching circuit 200 is a circuit
for deciding a long-term prediction speech source and a quantization gain of the code
vector from the gain code book 190.
[0042] A multiplexer 210 is a circuit for combining code series to output them. A demultiplexer
220 is a circuit for decoding the encoded codes into code series. A synthesis filter
230 is a circuit for reproducing a speech signal from a generated speech source and
a speech synthesis filter. An output terminal 240 is an speech output terminal of
a decoder.
[0043] In operation a speech signal is inputted through the input port 100 and stored in
the buffer 110. By executing a short-term prediction analysis based on given samples
of the speech signal stored in the buffer 110, the LPC analyzing circuit 120 calculates
an LPC coefficient representing spectrum characteristics of the speech signal.
[0044] The spectrum parameter (LPC coefficient) obtained by the LPC analyzing circuit 120
is quantized by the parameter quantizing circuit 130. The quantized code of the LPC
coefficient is sent to the multiplexer 210 and the quantized code is inversely quantized
to be used in the subsequent coding processes.
[0045] The speech signal stored in the buffer 110 is weighted for compensation of an auditory
sense with the LPC coefficient quantized/inversely quantized by the weighting circuit
140 to be used in the subsequent code book searching.
[0046] Code book searching is executed with the adaptive code book 150, the speech source
code book 170, and the gain code book 190 respectively.
[0047] First, the adaptive code book searching circuit 160 executes a long-term prediction,
decides a long-term prediction parameter representing a pitch correlation, transfers
the code of the long-term prediction parameter to the multiplexer 210, and generates
a long-term prediction speech source. The operation of the circuit 160 according to
the present invention will be described in detail later.
[0048] Next, after the effect of the speech source representing the obtained long-term correlation
is subtracted, the speech source code book searching circuit 180 then searches in
the speech source code book to decide a speech source code, generates a code vector,
and transfers the speech source code to the multiplexer 210.
[0049] After the long-term prediction signal and the code vector are obtained, the gain
code book searching circuit 200 calculates gains of the two speech sources and transfers
each gain code to the multiplexer 210.
[0050] The mulltiplexer 210 combines each code to convert the combined code into and thus
outputs a transmission code.
[0051] This code is supplied to the demultiplexer 220 which in turn decomposes the inputted
transmission code into each code. It generates a filter from the code representing
the LPC factor and transfers it to the synthesis filter 230.
[0052] A long-term prediction speech source is generated from the code representing the
long-term prediction parameters with the adaptive code book 150, a code vector is
generated from the speech source code with the speech source code book 170, and the
gains of the code vectors of the adaptive code book 150 and the speech source code
book 170 are calculated from the gain code. An input signal fed to the synthesis filter
is generated by multiplying each speech source with the gain term. Finally the synthesis
filter 230 synthesizes a speech signal with the input signal.
[0053] Turning to Fig.2, the processing procedure in the adaptive code book searching circuit
160 is shown as a first embodiment of the present invention.
[0054] In Fig. 2, (a) is a step for calculating an impulse response of a speech synthesis
filter from an order of 0 to I- 1.
(o) is a step for calculating an auto-correlation function of the impulse response
from an order of 0 to Ismall- 1. Ismall is set such that I>Ismall may be met.
(b) is a step for inversely filtering the speech signal with the impulse response
(see the above expression (6)).
(c) is a step for setting the range within which a speech source is searched for.
(d1) is a step for generating a long-term prediction speech source corresponding to
each code with the adaptive code book 150.
(e1) is a step for calculating an auto-correlation function of the generated long-term
prediction speech source from an order of 0 to Ismall- 1.
(f) is a step for calculating an approximate auto-correlation to an order Ismall based
on the above approximation expression (9).
(g) is a step for calculating a cross-correlation based on the above expression (7).
(h1) is a step for calculating an evaluation function following the above expression
(2).
(i) is a step for deciding an optimum code which minimizes the evaluation function.
[0055] Describing in more detail, first, in the step (a), an impulse response of the synthesis
filter h[0]∼ h(I- 1] is derived and in (o), an auto-correlation function from an order
of 0 to Ismall- 1 is calculated. Then in the step (b), an inverse filtering is performed.
[0056] In the step (c), the range within which the code book is searched is set and the
processes by the steps (d1) to (h1) are executed for each search code. Assuming that
the number of bits of a speech source B =7, a large amount of processing is required
to execute processes (d1) to (h1) for 128 codes, so that in the step (c) the code
book to be searched is limited only within the predetermined range.
[0057] The step (d1) generates a long-term prediction speech source (ej[n]) corresponding
to each code (e.g. j) with the adaptive code book.
[0058] The step (e1) calculates an auto-correlation functions of the speech source with
a generated speech source (ej[n]) from an order of 0 to Ismall- 1(Rj[i]; i=0∼ Ismall).
[0059] The step (f) calculates an auto-correlation Gj with the auto-correlation function
of the speech source (Rj[i]) obtained in the step (e1) and the auto-correlation function
of the synthesis filtering (hh[i]) by the auto-correlation approximation method, as
expressed in the above expression (9).
[0060] In this case, the auto-correlation Gj is calculated to an order of Ismall less than
the length of the impulse response I to reduce the quantities of operations (I in
the above expression (9) is equal to Ismall). Setting Ismall to a lower order reduces
the quantities of operations in a calculation of the auto-correlation Gj, the auto-correlation
function of the impulse responses obtained in the step (a), and the auto-correlation
function of the speech source in the step (e1). Further, it reduces RAM regions.
[0061] Next, the step (g) calculates a cross-correlation Cj with the output of the inverse
filtering. The step (h1) calculates an evaluation function as expressed in the above
expression (2) with the obtained auto-correlation and cross-correlation. The step
(i) decides a code for minimizing the evaluation function as an optimum code.
[0062] Referring to Fig.3, there is shown a flow chart in operation of the speech source
code book searching circuit 180, (d2) is a step for generating a code vector corresponding
to each code with a speech source code book 170. (e2) is a step for generating an
auto-correlation function of the speech source and calculating an auto-correlation
function corresponding to each search code by table lookup method into a speech source
auto-correlation code book 175. Other steps are the same as those shown in Fig.2.
[0063] In operation, the step (a) calculates an impulse response of the synthesis filter
and the step (o) calculates its auto-correlation functions from an order of 0 to Ismall
- 1. The step (b) then executes an inverse filtering. The step (c) sets the range
within which the code book is searched for and the processes by the steps (d1) to
(h1) are executed for each search code.
[0064] The step (d2) generates a code vector corresponding to each code from the speech
source code book 170.
[0065] The step (e2) calculates an auto-correlation function of the code vector from an
order of 0 to Ismall- 1. Unlike the adaptive code book, values contained in the speech
source code book are predetermined. As a result thereof, the auto-correlation values
of the code vectors are stored beforehand in the speech source auto-correlation code
book 175 and the auto-correlation function of the code vector is obtained by referring
to a speech source auto-correlation code book 175.
[0066] An auto-correlation Gj is calculated with the auto-correlation function of the speech
source and the auto-correlation function of the synthesis filter by the auto-correlation
approximation method. In this case, the auto-correlation Gj is calculated to an order
Ismall less than the length of the impulse response I to reduce the quantity of operations.
Setting Ismall to a lower order reduces the quantity of operations for calculating
the auto-correlation Gj and the number of the auto-correlation functions of the impulse
response obtained in the step (a). Furthermore, it reduces the memory capacity of
the ROM in the speech source auto-correlation code book 175.
[0067] Next, the step (g) calculates a cross-correlation Cj with the output of the inverse
filter. The step (h1) calculates an evaluation function with the obtained auto-correlation
and cross-correlation. The step (i) decides a code which minimizes the evaluation
function as the optimum code.
[0068] Referring to Fig.4, the adaptive code book searching circuit 160 according to the
present embodiment includes a step (h2) for calculating evaluation function only with
cross-correlations. Other modules used in the present embodiment are the same as the
ones used in the first embodiment.
[0069] The difference between the present embodiment and the first embodiment is that in
the present embodiment, the evaluation function is expressed only by a cross-correlation,
so that the calculation of an auto-correlation function of an impulse response, a
code book for an auto-correlation function of the speech source, and the calculation
of an auto-correlations are not required. As a result thereof, a smaller quantity
of operations are needed. The present embodiment corresponds to the first embodiment
in which the order Ismall is set to 1.
[0070] Turning to Fig.5, there is shown a flow chart of the speech source code book searching
circuit 180. The difference between the present embodiment and that shown in Fig.3
is that in the present embodiment, an evaluation function is represented only by a
cross-correlation. A calculation of an auto-correlation function of the impulse response
and auto-correlations, and speech source auto-correlation function code book are not
required, so that a smaller quantity of operations and less memory capacity are needed.
Also in the present embodiment, the order Ismall is set to 1. Experiment has shown
that even when the order Ismall is set to 1 and no auto-correlation is calculated,
there exists no special deterioration in coded speech signals.
[0071] Fig.6 and Fig.7 show the process procedures in the adaptive code book searching circuit
160 according to another embodiment. In the present embodiment, a step (m) is added
to the above described first or second embodiment.
[0072] The step (m) is a circuit to decide the approximation order Ismall of an auto-correlation
and sets a value of Ismall according to characteristics of encoded speech signals.
A value of Ismall is a variable to search a code book and need not be transmitted.
With the present embodiment, the approximation order Ismall is varied according to
characteristics of coded speech signals such as voiced or unvoiced ones.
[0073] In each of the above mentioned embodiments, the invention is described using the
LPC analyzing circuit, however other analyzing methods such as the BURG method for
extracting a spectrum parameter may accomplish the same effect.
[0074] In addition, in each of the above embodiments the invention is described using the
LPC coefficient, however it is obvious that other spectrum parameters such as PARCOR
coefficient or the LSP (Line Spectrum Pair) coefficient may accomplish the same effect.
Furthermore, in each of the above embodiments the speech source code book searching
circuit is of a single-stage structure, however a multi-stage structured speech source
code book searching circuit may as a matter of course accomplish the same effect.
[0075] As is stated, according to the invention the above expression (10) may be replaced
with the following expression (13) by using, preferably in the CELP method, with a
value of the auto-correlation approximation order Ismall being smaller than the length
of an impulse response I.
The quantity of product and sum operations of an auto-correlation function for
each code given by the above expression (12) is replaced with the following expression
(14).
In this case, when the quantity of product and sum operations is calculated on
the same condition as in Table 1 with Ismall=1 and Ismall=0, the results are given
in Table 2:
Table 2
| Comparison of the quantity of product and sum operations |
| Method |
Expression |
Quantity of product and sum operations |
| Filtering all code vectors |
expression(5) |
12.288(MOPS) |
| Searching the speech source code book by the approximation in the No.2 document |
expression(8)+ expression(10) |
1.584(MOPS) |
| Searching the adaptive code book by the approximation in the No.2 document |
expression(8)+ expression(10)+ expression(12) |
19.504(MOPS) |
| Searching the adaptive code book with Ismall=1 |
expression(8)+ expression(13)+ expression(14) |
2.239(MOPS) |
| Searching the speech source code book with Ismall=1 |
expression(8)+ expression(13) |
1.215(MOPS) |
| I small= 0 |
expression(8) |
1.195(MOPS) |
[0076] As may be seen from in Table 2, the present invention significantly reduces the quantity
of the product and sum operations in the adaptive code book searching circuit, for
example, with the approximation order Ismall=1 as comparied with the approximation
described in the reference No.2.
[0077] The preferred embodiments described herein are therefore illustrative and not restrictive.