Sign In to Follow Application
View All Documents & Correspondence

Stochastic Codebook Excitation Vector Coding Method

The invention relates to a coding method of an excitation vector of a stochasticcodebook used in a speech coding apparatus that is divided into a plurality ofchannels, the coding method comprising: associating an excitation vectorwaveform candidate of a predetermined channel with an excitation vectorwaveform candidate of another channel, such that the excitation vectorwaveform candidate of the predetermined channel changes in association with achange of a number representing the excitation vector waveform candidate ofthe another channel; searching for an excitation vector waveform that minimizescoding distortion using the associated excitation vector waveform candidate ofthe predetermined channel and the excitation vector waveform candidate of theanother channel; and determining a code of the excitation vector of thestochastic codebook using a code of the excitation vector waveform obtained bythe searching, wherein: the searching, after the associating, calculates a functionvalue using the number representing the changed excitation vector waveformcandidate of the another channel and the excitation vector waveform candidateof the predetermined channel changed based on the associating, and, by thefunction value, finds an excitation vector waveform candidate of each channelthat minimizes the coding distortion; and the determining finds the code of theexcitation vector waveform by coding the excitation vector waveform candidateof each channel that minimizes the coding distortion as the excitation vectorwaveform, and determines the code of the excitation vector of the stochasticcodebook using the code of the excitation vector waveform.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
17 May 2005
Publication Number
28/2007
Publication Type
Invention Field
ELECTRONICS
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2011-03-08
Renewal Date

Applicants

PANASONIC CORPORATION
1006, OAZA KADOMA, KADOMA-SHI, OSAKA

Inventors

1. TOSHIYUKI MORII
3-1-12-304, NIJIGAOKA, ASAO-KU, KAWASAKI-SHI, KANAGAWA 215-0015

Specification

DESCRIPTION
STOCHASTIC CODEBOOK EXCITATION VECTOR CODING METHOD
Technical Field
The present invention relates to a stochastic
codebook excitation vector coding method in a CELP speech
coding apparatus/speech decoding apparatus.
Background Art
When speech signals are transmitted in a packet
communication system typified by Internet communication,
a mobile communication system, or the like, compression
and coding techniques are used to improve the speech signal
transmission efficiency. Many speech coding methods
have been developed to date, and many low bit rate speech
coding methods developed in recent years, such as CELP,
separate a speech signal into spectrum envelope
information and spectrum detailed structure information,
and perform compression and coding of the separated
information.
In a CELP speech coding apparatus, synthetic speech
vectors are calculated for all combinations of adaptive
code vectors stored by an adaptive codebook and fixed
code vectors stored by a stochastic codebook, distance
calculation is performed for each synthetic speech and
input speech signal, and the adaptive code vector index
and fixed code vector index for which the distance is

smallest are found.
One known stochastic codebook is an algebraic
codebook. This codebook enables a stochastic codebook
search to be performed with a comparatively small amount
of calculation, and has consequently been widely used
in CELP in recent years.
An excitation vector of an algebraic codebook is
composed of a small number of pulses with an amplitude
of 1 and polarities ( + , -) , and the pulses (in this case,
excitation vector waveform candidates) are positioned
so as not to overlap each other.
For example, when the subframe length is 32 and the
number of pulses (= number of channels) is 4, the number
of pulses per channel is 32/4 = 8, and the channel 0 pulse
positions ici0[i0], channel 1 pulse positions icil[il],
channel 2 pulse positions ici2[i2], and channel 3 pulse
positions ici3[i3] are as shown below. Here, i0, i1, i2,
and i3 denote indexes of the respective channels.
ici0[i0] = {0, 4, 8, 12, 16, 20, 24, 28}
ici1[i1] = {1, 5, 9, 13, 17, 21, 25, 29}
ici2[i2] = {2, 6, 10, .14, 18, 22, 26, 30}
ici3[i3] = {3, 7, 11, 15, 19, 23, 27, 31}
A conventional stochastic codebook codes the pulse
positions of each channel independently, and takes codes
combining these with polarity codes as stochastic
excitation vector codes.
For example, in the above case of a subframe length
of 32 and 4 channels, a conventional codebook 103

represents a pulse position of each channel as 3 bits,
and together with the polarity code, performs coding using
a code of (3+l)x4=16 bits.
However, a problem with the above conventional
stochastic codebook coding method is that, if the bit
rate is low the bits assigned to each channel are also
limited, and there are positions where there is no pulse
at all, so that variations of an excitation vector waveform
corresponding to a code (position information) decrease,
and sound quality degradation occurs.
In the above case of a subframe length of 32 and
4 channels, for example, there are positions where there
is no pulse at all if coding is performed with fewer than
16 bits.
Disclosure of Invention
It is an object of the present invention to provide
a stochastic codebook excitation vector coding method
that enables variations to be secured so that there are
no positions where there is no pulse at all while achieving
a reduction of the number of bits used when coding
stochastic codebook pulses.
This object is achieved by associating a pulse
position of a predetermined channel with a pulse position
of another channel, searching for a pulse position by
means of a predetermined algorithm, and taking a found
pulse position code and a polarity code as a stochastic
excitation vector code.

Brief Description of Drawings
FIG.1 is a block diagram showing the configuration
of a CELP speech coding apparatus;
FIG.2 is a flowchart showing an example of a pulse
search algorithm for each channel in a coding method
according to Embodiment 1 of the present invention;
FIG. 3 is a flowchart showing an example of a pulse
search algorithm for each channel in a coding method
according to Embodiment 1 of the present invention;
FIG. 4 is a flowchart showing an example of a pulse
search algorithm for each channel in a coding method
according to Embodiment 2 of the present invention; and
FIG. 5 is a flowchart showing an example of a pulse
search algorithm for each channel in a coding method
according to Embodiment 2 of the present invention.
Best Mode for Carrying out the Invention
FIG.l is a block diagram showing the configuration
of a CELP speech coding apparatus. An input speech signal
is input sequentially to the speech coding apparatus
divided into processing frames at time intervals of
approximately 20 ms.
The input speech signal input to the speech coding
apparatus every processing frame is first supplied to
an LPC analysis section 101. LPC analysis section 101
performs LPC (Linear Predictive Coding) of the input
speech signal and obtains an LPC coefficient, performs

vector quantization of the LPC coefficient to produce
an LPC code, and decodes this LPC code to obtain a decoded
LPC coefficient.
An excitation vector creation section 104 reads an
adaptive code vector and fixed code vector respectively
from an adaptive codebook 102 and stochastic codebook
103, and sends these to an LPC combining section 105.
LPC combining section 105 performs combining filtering
of the adaptive code vector and fixed code vector supplied
from excitation vector creation section 104, and the
decoded LPC coefficient provided from LPC analysis
section 101, with an all pole type combining filter in
the filter coefficient, and obtains a combined adaptive
code vector and combined fixed code vector.
A comparison section 106 analyzes the relationship
between the combined adaptive code vector and combined
fixed code vector output from LPC combining section 105,
and finds adaptive codebook optimum gain to be multiplied
by the combined adaptive code vector, and stochastic
codebook optimum gain to be multiplied by the combined
fixed code vector.
Comparison section 106 also adds together the vector
obtained by multiplying the combined adaptive code vector
by the adaptive codebook optimum gain and the vector
obtained by multiplying the combined fixed code vector
by the stochastic codebook optimum gain, and obtains a
combined speech vector, and performs a distance
calculation on the combined speech and input speech signal .

Then comparison section 106 obtains the adaptive code
vector stored by adaptive codebook 102 and the combined
speech vector stored by stochastic codebook 103, and finds
the adaptive code vector index and fixed code vector index
for which the distance between the combined speech and
input speech signal is smallest. Comparison section 106
then sends the indexes of the code vectors output from
the codebooks, the code vectors corresponding to the
respective indexes, and the adaptive codebook optimum
gain and stochastic codebook optimum gain, to a parameter
coding section 107.
Parameter coding section 107 codes the adaptive
codebook optimum gain and stochastic codebook optimum
gain and obtains a gain code, and outputs the gain code,
the LPC coefficient provided by LPC analysis section 101,
and the indexes of each codebook together for each
processing frame.
Parameter coding section 107 also adds together the
two vectors comprising the vector obtained by multiplying
the adaptive code vector corresponding to the adaptive
codebook index by the adaptive codebook gain
corresponding to the gain code, and the vector obtained
by multiplying the fixed code vector corresponding to
the stochastic codebook index by the stochastic codebook
gain corresponding to the gain code, and obtains a drive
excitation vector, and updates the old adaptive code
vector in adaptive codebook 102 with the drive excitation
vector.

Combining filtering by LPC combining section 105
generally makes combined use of a linear predictive
coefficient, a high emphasis filter, and a weighting
filter that uses a long-term predictive coefficient
obtained by long-term predictive analysis of input
speech.
Adaptive codebook and stochastic codebook optimum
index searches, optimum gain calculation, and optimum
gain coding processing are generally carried out in
sub frame units resulting from further division of a frame.
In a speech decoding apparatus (decoder), the same
configuration of LPC analysis section 101, adaptive
codebook 102, stochastic codebook 103, excitation vector
creation section 104, and LPC combining section 105 is
provided as shown in FIG.1, and an excitation vector
waveform is obtained by decoding codes transmitted from
a speech coding apparatus .
In order to reduce the amount of calculation,
comparison section 106 usually searches for an adaptive
codebook 102 excitation vector and stochastic codebook
103 excitation vector by means of an open-loop procedure.
This open-loop search procedure is described below.
(1) First, excitation vector creation section 104
chooses excitation vector candidates (adaptive
excitation vectors) in succession from adaptive codebook
102 only, LPC combining section 105 creates a composite
tone, and comparison section 106 carries out a comparison
of the input speech and composite tone and selects the

optimum adaptive codebook 102 code. At this time, gain
is selected on the assumption that it is the value at
which coding distortion is minimal (optimum gain).
(2) Next, the above-described adaptive codebook
code is fixed, excitation vector creation section 104
successively selects the same excitation vector from
adaptive codebook 102 and stochastic codebook 103
successively selects the excitation vector (stochastic
excitation vector) corresponding to the comparison
section 106 code, LPC combining section 105 generates
composite tones, and comparison section 106 compares the
sum of both composite tones with the input speech and
determines the optimum stochastic codebook 103 code. As
in (1) above, gain is selected at this time on the
assumption that it is the value at which coding distortion
is minimal (optimum gain).
Use of the above procedure to search for the optimum
excitation vector results in a slight degradation of
coding capability, but also a major reduction in the amount
of calculation, compared with the method of searching
for the optimum excitation vector by comparing
combinations of all excitation vectors or both codebooks .
The stochastic codebook 103 excitation vector
search method will now be described in detail.
Excitation vector code derivation is carried out
by searching for the excitation vector that minimizes
coding distortion E in Equation (1) below. In Equation
(1) , x denotes the coding target; p, adaptive excitation

vector gain; H, a weighting combining filter; a, an
adaptive excitation vector; q, stochastic excitation
vector gain; and s, a stochastic excitation vector.

As the adaptive excitation vector search is
performed by means of an open-loop procedure, stochastic
codebook 103 code derivation is performed by searching
for the excitation vector that minimizes coding
distortion E in Equations (2) below. In Equations (2),
y denotes the stochastic excitation vector search target
vector.

Here, gain values p and q are determined after the
excitation vector search, and by making gain p = gain
q = 1, Equations (2) above can be written as Equations
(3) below.

Minimi zing this distortion expression is equivalent
to maximizing function C in Equation (4) below.


Therefore, in the case of a search for an excitation
vector composed of a small number of pulses such as an
algebraic codebook excitation vector, calculating yH and
HH beforehand enables function C above to be found with
a small amount of calculation.
yH can be found by reversing the order of vector
y and convoluting matrix H, and then reversing the order
of the result, and HH can be found by multiplication of
the matrices.
Stochastic codebook 103 searches for and codes a
stochastic excitation vector using the procedure
described in (1) through (4) below.
(1) First, as preliminary processing, vector yH and
matrix HH are found.
(2) Next, pulse polarities are determined from the
polarities (+ -) of vector yH elements. Specifically,
the polarity of the pulse at each position is matched
to the value of that position in yH, and the polarity
of the yH value is stored in another array. After the
polarities of all positions have been stored in another
array, yH values are all made absolute values and converted
to positive values. HH values are also converted in
accordance with these polarities by performing polarity
multiplication.
(3) Next, function C shown in Equation (4) is found

by adding yH and HH values using an n-fold loop (where
n is the number of channels), and the pulse positions
of the channels at which this value is largest are found.
(4 ) The found pulse position of each channel is coded,
and a code combining this with a polarity code is taken
as the stochastic excitation vector code.
With reference now to the accompanying drawings,
stochastic codebook excitation vector coding methods
according to embodiments of the present invention will
be explained in detail below. In the descriptions of
these embodiments, an algebraic codebook is used for which
the subframe length is 32 and the number of pulses (=
number of channels) is 4.
(Embodiment 1)
In Embodiment 1, a case is described in which an
index of a predetermined channel is changed in accordance
with another channel.
In this embodiment, channel 0 pulse positions
ici0[i0], channel 1 pulse positions icil[jl], channel
2 pulse positions ici2 [j2], and channel 3 pulse positions
ici3[j3] are as shown below.
iciO[i0] = {0, 4, 8, 12, 16, 20, 24, 28}
icil[j1] = {1, 5, 9, 13, 17, 21, 25, 29}
ici2[j2] = {2, 6, 10, 14, 18, 22, 26, 30}
ici3[j3] = {3, 7, 11, 15, 19, 23, 27, 31}
Here, i0 (0

Documents

Application Documents

# Name Date
1 903-kolnp-2005-translated copy of priority document.pdf 2011-10-07
2 903-KOLNP-2005-TRANSLATED COPY OF PRIORITY DOCUMENT 1.1.pdf 2011-10-07
3 903-kolnp-2005-specification.pdf 2011-10-07
4 903-kolnp-2005-reply to examination report1.1.pdf 2011-10-07
5 903-KOLNP-2005-REPLY TO EXAMINATION REPORT.pdf 2011-10-07
7 903-KOLNP-2005-PRIORITY DOCUMENT.pdf 2011-10-07
8 903-KOLNP-2005-PETITION UNDER RULE 137.pdf 2011-10-07
9 903-KOLNP-2005-PA.pdf 2011-10-07
10 903-kolnp-2005-others1.1.pdf 2011-10-07
11 903-KOLNP-2005-OTHERS.pdf 2011-10-07
12 903-kolnp-2005-granted-specification.pdf 2011-10-07
13 903-kolnp-2005-granted-form 2.pdf 2011-10-07
14 903-kolnp-2005-granted-form 1.pdf 2011-10-07
15 903-kolnp-2005-granted-drawings.pdf 2011-10-07
16 903-kolnp-2005-granted-description (complete).pdf 2011-10-07
17 903-kolnp-2005-granted-claims.pdf 2011-10-07
18 903-kolnp-2005-granted-abstract.pdf 2011-10-07
19 903-kolnp-2005-gpa1.1.pdf 2011-10-07
20 903-KOLNP-2005-GPA.pdf 2011-10-07
21 903-kolnp-2005-form 5.pdf 2011-10-07
22 903-kolnp-2005-form 3.pdf 2011-10-07
23 903-kolnp-2005-form 3.1.pdf 2011-10-07
24 903-kolnp-2005-form 26.pdf 2011-10-07
25 903-kolnp-2005-form 2.pdf 2011-10-07
26 903-KOLNP-2005-FORM 2.1.1.pdf 2011-10-07
27 903-KOLNP-2005-FORM 2 1.1.pdf 2011-10-07
28 903-kolnp-2005-form 18.pdf 2011-10-07
29 903-kolnp-2005-form 18.1.pdf 2011-10-07
30 903-KOLNP-2005-FORM 13.pdf 2011-10-07
31 903-kolnp-2005-form 13.2.pdf 2011-10-07
32 903-KOLNP-2005-FORM 13.1.1.pdf 2011-10-07
33 903-kolnp-2005-form 1.pdf 2011-10-07
34 903-kolnp-2005-examination report.pdf 2011-10-07
35 903-KOLNP-2005-EXAMINATION REPORT REPLY RECIEVED 1.1.pdf 2011-10-07
36 903-kolnp-2005-drawings.pdf 2011-10-07
37 903-kolnp-2005-description (complete).pdf 2011-10-07
38 903-KOLNP-2005-DESCRIPTION (COMPLETE) 1.1.pdf 2011-10-07
39 903-kolnp-2005-correspondence.pdf 2011-10-07
40 903-KOLNP-2005-CORRESPONDENCE 1.1.pdf 2011-10-07
41 903-kolnp-2005-claims.pdf 2011-10-07
42 903-KOLNP-2005-CLAIMS 1.1.pdf 2011-10-07
43 903-KOLNP-2005-CANCELLED PAGES.pdf 2011-10-07
44 903-kolnp-2005-abstract.pdf 2011-10-07
45 903-KOLNP-2005-ABSTRACT 1.1.pdf 2011-10-07
46 903-KOLNP-2005-FORM-27.pdf 2013-04-11
47 903-KOLNP-2005-(19-03-2014)-FORM-27.pdf 2014-03-19
48 903-KOLNP-2005-(18-03-2015)-FORM-27.pdf 2015-03-18
49 903-KOLNP-2005-(28-03-2016)-FORM-27.pdf 2016-03-28
50 Power of Attorney [04-10-2016(online)].pdf 2016-10-04
51 Form 16 [04-10-2016(online)].pdf 2016-10-04
52 Assignment [04-10-2016(online)].pdf 2016-10-04
53 Other Document [14-10-2016(online)].pdf 2016-10-14
54 AlterationInregister94(1).pdf 2016-11-29
55 Form 27 [29-03-2017(online)].pdf 2017-03-29
56 903-KOLNP-2005-03-03-2023-RELEVANT DOCUMENT.pdf 2023-03-03

ERegister / Renewals

3rd: 25 May 2011

From 11/11/2005 - To 11/11/2006

4th: 25 May 2011

From 11/11/2006 - To 11/11/2007

5th: 25 May 2011

From 11/11/2007 - To 11/11/2008

6th: 25 May 2011

From 11/11/2008 - To 11/11/2009

7th: 25 May 2011

From 11/11/2009 - To 11/11/2010

8th: 25 May 2011

From 11/11/2010 - To 11/11/2011

9th: 25 May 2011

From 11/11/2011 - To 11/11/2012

10th: 11 Oct 2012

From 11/11/2012 - To 11/11/2013

11th: 07 Oct 2013

From 11/11/2013 - To 11/11/2014

12th: 03 Nov 2014

From 11/11/2014 - To 11/11/2015

13th: 03 Nov 2015

From 11/11/2015 - To 11/11/2016

14th: 21 Oct 2016

From 11/11/2016 - To 11/11/2017