FIELD OF THE INVENTION
[0001] This invention relates to an encoding and decoding apparatus of LSP parameters which
are characteristic parameters of spectrum information included in voice signals.
DESCRIPTION OF THE PRIOR ART
[0002] A main stream of the voice encoding apparatus which handles a signal of which bit
rate ranging from 4 to 8 kbps is to separate spectrum information from voice source
information through analyzing a voice signal before encoding them. The LSP parameter
is a characteristic parameter indicating spectrum information. The LSP parameter,
in general, uses 10 dimensions/frame, and one of the most fundamental method for encoding
the LSP parameter is to handle each individual value as a scalar for quantization.
However, since this method produces rather low quantization effect, a vector quantization
which quantizes a plurality of LSP parameters in a mass is more frequently used. When
utilizing a correlation between adjacent frames, the higher quantization effect can
be gained because the LSP parameter has influential correlation with adjacent frames.
[0003] When using a conventional quantization apparatus which adopts the correlation between
adjacent frames, an encoding and decoding can be achieved through the following steps:
[0004] 1. Calculate the LSP parameter of a present frame from an input voice signal.
[0005] 2. Calculate an error between the above calculated LSP parameter and a linear-predictive
LSP parameter value which is predicted from the past quantized value stored in a buffer.
[0006] 3. Select a code from a code book to minimize the error, and output the selected
code.
[0007] 4. A decoding means decodes the quantized value from the outputted code to store
the quantized value into the buffer.
[0008] When an input voice signal stays quasi-stationary, the above conventional apparatus
obtains high predictive gain to perform a highly accurate quantization. However, when
an input voice signal is in transient state, predictive gain lowers and the accuracy
of quantization also lowers. When a frame length is long, the transient factor between
adjacent frames becomes large, which reduces the correlation between the frames. The
predictive gain thus lowers. When the quantization method which adopts the correlation
between frames for prediction is used, an input voice signal is hence supposed to
stay quasi-stationary. This method is good at voice encoding when a frame length is
short, but it does not produce a good result when a frame length is long.
[0009] Since the above conventional apparatus requires predicting a present value based
on past quantized values, a code error produced in a transmission line influences
not only the error frame but also the frames following. The conventional apparatus
is thus vulnerable to errors.
SUMMARY OF THE INVENTION
[0010] The purpose of this invention is to overcome the problems entailed to the conventional
apparatus: This invention offers an encoding and decoding apparatus of LSP parameters which
can maintain a high accuracy of quantization even if an input voice signal is in transient
state, and which also has higher resistance to errors.
[0011] In order to achieve the above purpose, this invention comprises:
a) a first quantizing means for independent vector quantization of LSP parameters
of an input voice signal in each frame,
b) a second quantizing means for vector quantization of LSP parameters of an input
signal by using correlation between adjacent frames,
c) an error comparison means for comparing quantization errors produced by the first
quantizing means and the second quantizing means, and
d) a switch for selecting one quantizing means which produces smaller error than the
other quantizing means.
[0012] In other exemplary embodiment, first, the LSP parameters of the present frame are
quantized by the second quantizing means into vector independently in the unit of
one frame, second, a quantized value of the present frame is predicted based on the
quantized value in the first step and the quantized value of the previous frame before
quantizing a difference into vector between LSP parameters of the present frame and
the predicted value.
[0013] Further in other exemplary embodiment, this invention has a detecting means for detecting
errors produced on a quantization code in a transmission line. When a code of the
next frame, an error was detected in the present frame, is produced by the first quantizing
means (using a linear prediction analysis), a decoded quantized value is outputted.
When a code is produced by the second quantizing means (using a correlation between
adjacent frames), a quantized value from LSP parameters of each frame independently
into vector is decoded and then outputted.
[0014] Further in other exemplary embodiment, this invention has, on the decoding side,
error detecting means for detecting errors produced on a quantization code in a transmission
line, and also has a judging means for judging whether a frequency of detecting errors
is less than a threshold or not. When a error-detecting frequency on the decoding
side is less than a threshold, the switch selects either one quantizing means which
produces less errors of quantization. When the error-detecting frequency is not less
than a threshold, the switch stays at the first quantizing means.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015]
Fig. 1 is a block diagram illustrating a structure of a first exemplary embodiment
of an encoding apparatus of LSP parameters of this invention;
Fig. 2 is a block diagram illustrating a structure of second quantizing means in Fig.
1 more in detail;
Fig. 3 is a mimic diagram of quantization embodiment showed in Fig. 2 according to
this invention;
Fig. 4 is a block diagram illustrating a structure of an embodiment of an LSP parameters
decoding apparatus of this invention; and
Fig. 5 is a block diagram illustrating an embodiment of an encoding and decoding apparatus
of LSP parameters of this invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] Fig. 1 is a block diagram illustrating a structure of a first exemplary embodiment
of an encoding apparatus of LSP parameters according to this invention. In Fig. 1,
a numeral 100 represents an LSP parameter calculating means, 101: a first quantizing
means for quantizing independently in the unit of one frame, 102: a second quantizing
means for quantizing by using an correlation between adjacent frames, 103 and 104:
decoding means, 105: an error compariing means, 106: a switch for switching the quantizing
means, 107: an input voice signal, 108: calculated LSP parameters, 109: an output
code of the first quantizing means 101, 110: an output code of the second quantizing
means 102, 111: a quantized value produced by the first quantizing means 101, 112:
a quantized value produced by the second quantizing means 102, 113: a signal for controlling
switch 106, and 114 represents an output code.
[0017] An operation of this embodiment is explained here: The LSP parameters 108 calculated
by the LSP calculating means 100 are fed into the first and second quantizing means.
The first quantizing means 101 performs quantization independently in the unit of
one frame and outputs the code 109. The second quantizing means 102 performs quantization
by using a correlation between adjacent frames and outputs the code 110. The decoding
means 103 decodes the quantized value 111 from the code 109, and the decoding means
104 decodes the quantized value 112 from the code 110. The error comparing means 105
calculates errors of the quantized values 111, 112 and LSP parameters 108, then compares
these errors, and selects either one quantizing means which produces less errors by
switching the switch 106, finally, outputs an output code of the selected quantizing
means as the output code 114 of this encoding apparatus.
[0018] Since the second quantizing means 102 performs quantization by using a correlation
between adjacent frames, a transmission error influences the next frame and onward.
On the other hand, the first quantizing means 101 performs quantization in the unit
of frame independently, the errors do not affect the next frame and onward. The influence
of errors, therefore, is transmitted only when the second quantizing means is selected
in series, and the influence of errors is not transmitted to the frame where the first
quantizing means is selected and frames onward. The selecting probability of the first
or second quantizing means largely depends on the characteristics of an input voice
signal. In normal conversation, the ratio of selecting the first and second quantizing
means ranges from 1:1 to 1:2. Either one of two means is hardly selected in series
during a long period. The transmission of error-influence is hence limited to a short
period, which proves that this invention has a higher resistance to errors than a
conventional embodiment where an error influence kept transmitting.
[0019] According to this embodiment, a high accurate quantization is achieved regardless
the condition of an input voice signal by this way:
1. When a correlation between adjacent frames is small, the first quantizing means
is used, wherein quantization is performed in the unit of one frame independently.
2. When a correlation between adjacent frames is large, the second quantizing means
is used, wherein quantization is performed by using the correlation between adjacent
frames.
[0020] Fig. 2 details the second quantizing means 102 illustrated in Fig. 1. The numeral
200 represents the LSP parameter calculating means which is shown in Fig. 1 as the
numeral 100. The numeral 201 represents an error minimizing means in the first step.
202: a first code book, 203 and 207: decoding means, 204: a predicting means for linearly
predicting a value of the present frame based on the past quantized values, 206: a
second code book, 208: a buffer for storing the past quantized values, 210: an input
voice signal, 211: a calculated LSP parameter of the present frame, 212: an output
code of the first step, 213: a quantized value in the first step, 214: an output code
of the second step, 215: a quantized value of the present frame, 216: past quantized
values, 217: a predicted LSP parameter of the present frame.
[0021] An operation of this embodiment is explained here: Based on the input voice signal
210, the LSP parameter calculating means 200 calculates the LSP parameter 211 of the
present frame. First, the error minimizing means of the first step 201 selects a code
from the first code book 202 so that an error between the LSP parameter 211 and the
selected code can be minimized, and outputs the code as the output signal 212. Second,
the predicting means 204 linearly predicts an LSP parameter of the present frame 217
based on quantized value in the first step 213 which is decoded by the decoding means
203 and the past quantized values 216 which is stored in the buffer 208. The error
minimizing means in the second step 205 selects a code from the second code book 206
so that an error between the predicted parameter 217 and LSP parameter of the present
frame 211 which is calculated based on the input voice signal 210 can be minimized,
and outputs the code as the output signal 214. The decoding means 207 decodes quantized
value of the present frame 215 from the output code 214, and stores the decoded value
into the buffer 208. The selecting operations in the first and second steps will be
explained later.
[0022] Fig. 3 details the process of the second step. In Fig. 3, the numeral 300 represents
a pre-quantized value of an LSP parameter in the previous frame (cn-1), 301: a pre-quantized
value of an LSP parameter in the present frame (cn), 302: a quantized value of the
previous frame (qn-1), 303: a quantized value of the present frame in the first step
(vn), 304: a predicted value of the present frame (pn), 305: an error (dn) between
predicted value (pn) and pre-quantized value (cn), 306: a quantized value of the present
frame.
[0023] A predicted value of the present frame 304 can be described as follows: pn =αqn-1
+ (1-α)vn
Accordingly, error 305 is found as: dn = cn - pn = cn - {αqn-1 + (1-α)vn}, and quantized
value of the present frame 306 is found as: qn = pn + d'n = {αqn-1 + (1 - α)vn} +
d'n where is a predicting coefficient, d'n is an approximation of the code vector
305. The error minimizing means 205 in the second step selects a combination of a
predicting coefficient α and a code vector d'n from the second code book 206 so that
the combination can minimize the error between the LSP parameter 301 of the present
frame and the quantized value 306 of the present frame, and then outputs the code.
[0024] By fixing predicting coefficient α, the error minimizing in the second step can be
processed by only selecting a code vector which minimizes an error against the error
305. A number of calculating operation thus can be reduced.
[0025] According to this exemplary embodiment, a two-step-structure of the second quantizing
means which uses a correlation between adjacent frames can enhance the resistance
to transmission errors, namely, in the first step a quantization is performed in the
unit of one frame independently and in the second step a quantization is performed
by using the correlation between adjacent frames.
[0026] Fig. 4 is a block diagram illustrating a structure of the decoding apparatus corresponding
to the above encoding apparatus. In Fig. 4, the numeral 400 represents a transmission
error detecting means. 401: a switch controlling means, 402: a code book for storing
code vectors produced by the first quantizing means, 403: a code book for storing
code vectors produced in the first step of the second quantizing means, 404: a code
book for storing code vectors produced in the second step of the second quantizing
means, 405: a predicting means, 406: a decoding means, 407 and 408: switches for switching
decoding means, 409: a switch for switching decoded values being outputted, 410: a
buffer for storing a quantized value of a previous frame, 411: a transmission code,
412: a quantized value by the first quantizing means, 413: a quantized value in the
first step of the second quantizing means, 414: a predicted value of the present frame,
415: a quantized value in the second step of the second quantizing means, 416: a quantized
value being outputted from the decoding apparatus.
[0027] The operation of the above decoding apparatus is described here:
[0028] A quantized value can be decoded by a decoding means corresponding to the first or
second quantizing means: When the transmission code 411 is produced by the first quantizing
means of the encoding apparatus, the switches 407 and 408 are switched to side "a".
When the transmission code 411 is produced by the second quantizing means of the encoding
apparatus, the switches 407 and 408 are switched to side "b". When a frame has no
transmission error, the switch controlling means 401 closes two switches of the switch
409, namely A-B and C-D, among 6 terminals (A, B, C, D, E, F). In this condition,
decoded values from each decoding means are rightly decoded and outputted. When the
transmission error detecting means 400 detects transmission errors, the switch controlling
means 401 closes D-E of the switch 409. In this condition, the transmission code 411
is neglected, and the quantized value stored in the buffer 410 is outputted. For the
next frame to the error-found-frame and following frames, as far as a code produced
by the second quantizing means being kept producing, the switch controlling means
401 closes A-F among the terminals thereof. In this condition, only the quantized
value 413 which is decoded by the codes in the first step is outputted, and the quantized
value decoded by the second step is neglected. After the next frame to the error-found-frame,
for the first frame where a code produced by the first quantizing means, the switch
controlling means 401 closes A-B and C-D among the terminals thereof, and restores
the switch to a position prior to error-detecting.
[0029] According to this exemplary embodiment, the second step of the second quantizing
means which carries past-error-influence is bypassed in the next frame to the error-found-frame
and the following frames. The error influence is thus prevented from transmitting
to the next frame and onward, and is minimized.
[0030] Fig. 5 is a block diagram illustrating a structure of combining the coding and decoding
apparatuses. In Fig. 5, the numeral 500 represents the first quantizing means, 501:
the second quantizing means, 502: a switch for switching the quantizing means 500
to and from 501. These are mounted to the encoding apparatus 511. 508: an output code.
Structures of other devices of the encoding apparatus 511 are detailed in Fig. 1 and
Fig. 2.
[0031] The numeral 503 represents the transmission error detecting means, 504: an error-frequency
judging means, 505: a first decoding means, 506: a second decoding means, 507: a switch
for switching the decoding means 507 to/from 506, which corresponds to the switch
407 in Fig. 4. These devices are mounted in the decoding apparatus 512. The numeral
509 represents an input code of the decoding side. The first decoding means 505 uses
the code book 402 shown in Fig. 4. The second decoding means 506 comprises the code
books 403, 404 shown in Fig. 4, predicting means 405, decoding means 406, switch 409
and buffer 410. Other structure of the decoding means 512 are detailed in Fig. 4.
[0032] The operation is explained here: The error detecting means 503 of the decoding side
detects transmission errors of the input code 509 transmitted. The error-frequency
detecting means 504 compares a frequency of detected error with a predetermined threshold.
When the error-frequency is less than the threshold, the switch 502 selects the first
or second quantizing means (500 or 502) whichever has a smaller quantization error.
When the error-frequency is not less than the threshold, the switch 502 is fixed at
the first quantization means 500. The decoding side operates same as explained in
Fig. 4.
[0033] When the error-frequency increases, a frequency of bypassing the second quantizing
means 501 increases, and an accuracy of decoded quantized-value lowers. As this exemplary
embodiment shows, through monitoring the error-frequncy, a switch of the coding side
(opponent) is fixed at the first quantization means 500 when the frequency is high,
then the accuracy of the decoded quantized-value cannot much lower. On a bidirectional
transmission line, the error-frequency of the output code 508 transmitted from the
coding side, can be predicted before being received by the opponent based on the error-frequency
of the input code 509 received at the decoding side. As this embodiment shows, when
the switch 502 switching the quantizing means at the encoding side based on the error-frequency
of the decoding side, is controlled by both this and that sides, the resistance to
the transmission errors can be enhanced without any additional information.
[0034] This exemplary embodiment thus concludes as follows:
When the error-frequency detected by the error detecting means is judged not less
than the predetermined threshold, the switch for switching the quantizing means is
fixed to the first quantizing means which performs the quantization in the unit of
one frame independently. Through this method, influence by the errors is prevented
from transmitting, and the resistance to errors is enhanced.
[0035] As described above, this invention makes it possible to obtain a high accurate and
stable quantization regardless a condition of the input voice signal. The way is to
use the switching of two different quantizing means, namely, the first quantizing
means which performs quantization independently in the unit of one frame and the second
quantizing means which performs quantization by using the correlation between adjacent
frames.
[0036] When the second quantizing means of this invention is divided into two steps, namely,
the first step which performs quantization independently in the unit of one frame,
and the second step which performs quantization by using the correlation between adjacent
frames, the resistance to the transmission errors can be enhanced.
1. In an LSP parameter encoding apparatus which divides a voice signal into frames of
a predetermined length, and which encodes LSP parameters of input voice signals in
each frame, the LSP parameter encoding apparatus is characterized by:
(a) having a first quantizing means which quantizes LSP parameters of an input voice
signal independently in the unit of one frame;
(b) having a second quantizing means which quantizes LSP parameters by using a correlation
between adjacent frames;
(c) an error comparing means for comparing quantization errors between the first quantizing
means and the second quantizing means; and
(d) a switch for selecting either one quantizing means which produces a smaller quantization
errors.
2. The LSP parameter encoding apparatus according to claim 1 wherein the second quantizing
means comprising:
(a) a first step quantizing means for quantizing LSP parameters of a present frame
into vector in the unit of one frame independently;
(b) a second step quantizing means for quantizing a difference between LSP parameters
of a present frame and a predicted value of the present frame, said predicted value
being predicted based on a quantized value by said first step quantizing means and
a quantized value of a previous frame.
3. The LSP parameter encoding apparatus according to claim 1 wherein the second quantizing
means comprising:
(a) a first code book;
(b) a first step quantizing means including a first error-minimizing means for selecting
a code from said first code book so that a difference between the selected code and
a calculated LSP parameter from an input voice signal;
(c) a second code book;
(d) a predicting means for linearly predicting LSP parameters of the present frame
based on past quantized values stored in a buffer and a quantized value decoded from
an output code of the first step quantizing means; and
(e) a second error-minimizing means for selecting a code from the second code book
so that a difference between a predicted LSP parameter and an LSP parameter of a present
frame, said LSP parameter being calculated from the input voice signal.
4. In an LSP parameter decoding apparatus which decodes LSP parameters of encoded voice
signals, the LSP parameter decoding apparatus is characterized by:
(a) having an error detecting means for detecting quantization errors produced on
a quantization code in a transmission;
(b) outputting a decoded value when a code of the next frame to an error-found frame
is produced by a first quantizing means which quantizes LSP parameters, gained through
an analysis by linear predicting, into vector in the unit of one frame independently,
(c) outputting a value of LSP parameters in a present frame quantized into vector
in the unit of one frame independently when the code of the next frame to an error-found
frame is produced by a second quantizing means which uses a correlation between adjacent
frames.
5. The LSP parameter decoding means according to claim 4, said LSP parameter decoding
means having:
(a) a plurality of code books for storing quantized code vectors;
(b) a switching means for connecting said code books in order to switch corresponding
to transmitted codes; and
(c) a switch controlling means for controlling said switching means corresponding
to detected errors.
6. In an LSP parameter encoding and decoding apparatus which divides a voice signal into
frames of a predetermined length, and which decodes LSP parameters encoded from input
voice signals in each frame,
the LSP parameter encoding and decoding apparatus is characterized by:
(a) decoding side comprising:
(a-1) an error detecting means for detecting errors produced in quantization codes
on a transmission line;
(a-2) a judging means for judging whether an error-detecting frequency is less than
a threshold or not, and
(b) encoding side comprising:
(b-1) a first quantization means which quantizes LSP parameters, gained through predicting
by linear-analysis, in the unit of one frame independently into vector;
(b-2) a second quantization means which uses a correlation between adjacent frames
for quantizing LSP parameters into vector,
said LSP parameters encoding and decoding apparatus switching a switch to either
one of said first and second quantization means whichever has less quantization errors
than the other when the error-frequency at said decoding side is less than the threshold,
and fixing the the switch at said first quantizing means when the error-frequency
is not less than the threshold.