Location and coding of unvoiced plosives in linear predictive coding of speech

Information

  • Patent Grant
  • 6304842
  • Patent Number
    6,304,842
  • Date Filed
    Wednesday, June 30, 1999
    25 years ago
  • Date Issued
    Tuesday, October 16, 2001
    23 years ago
Abstract
A method of encoding signal segments which represent unvoiced plosives. The signal segments to be encoded are contained within a speech signal divided into m=1, . . . , N frames. Each frame is subdivided into l=1, . . . , L subframes. The speech signal has a gain gm(l) within each subframe. An energy measure em(l) representative of the signal segments' energy content is defined. An energy threshold eth(l) representative of a sudden energy change characteristic of an unvoiced plosive is also defined. For each frame, the energy measure em(l) and the energy threshold eth(l) are derived for each subframe within that frame. If em(l)≦eth(l) for each subframe within a particular frame, then a plosive locator lpl=0 and a plosive index ipl=0 are assigned to that frame to indicate absence of a plosive within that frame. If em(l)>eth(l) for any subframe within the frame, then that frame's plosive locator lpl is assigned a non-zero value, with the plosive locator's value indicating location of the plosive at a transition point immediately following that one of the subframes within the frame for which em(l)−eth(l) is greatest; and, that frame's plosive index ipl is assigned a non-zero value representing presence of a plosive within that frame.
Description




TECHNICAL FIELD




This invention is directed to linear predictive coding of speech sounds in a manner which more accurately represents the sudden energy variations which characterize unvoiced plosives.




BACKGROUND




Linear Predictive Coding (LPC) of speech involves estimating the coefficients of a time varying filter (henceforth called a “synthesis filter”) and providing appropriate excitation (input) to that time varying filter. The process is conventionally broken down into two steps known as encoding and decoding.




As shown in

FIG. 1

, in the encoding step, the original speech signal s is first filtered by pre-filter


10


. The pre-filtered speech signal s


p


is then analyzed by LPC Analysis block


14


to compute the coefficients of the synthesis filter. Then, an LPC analysis filter


12


is formed, using the same coefficients as the synthesis filter but having an inverse structure. The pre-filtered speech signal s


p


is processed by analysis filter


12


to produce a residual output signal u called the “residue”. Information about the filter coefficients and the residue is passed to a decoder (not shown) for use in the decoding step.




In the decoding step, a synthesis filter is formed using the coefficients obtained from the encoder. An appropriate excitation signal is applied to the synthesis filter, based on the information about the residue obtained from the encoder. The synthesis filter outputs a synthetic speech signal, which is ideally the closest possible approximation imitation to the original speech signal, s.




This invention pertains to the processing of unvoiced plosives in the residue (i.e. the process steps shown in blocks


20


-


28


enclosed within the dashed outline portions of FIG.


1


). During unvoiced speech, plosives (or stops) in the residue are characterized by sudden variations in energy from one block of speech samples to the next. Prior art linear predictive speech coding techniques have achieved only poor representation of unvoiced plosives. In particular, prior art techniques typically represent unvoiced plosives by interpolating energy variations between relatively few samples spaced relatively far apart. This yields a gradual variation in energy, which does not accurately reflect unvoiced plosives' sudden energy variations. This invention achieves more accurate location and coding of unvoiced plosives in the residue. Information about the location of the start of the sudden energy variation (burst portion of the unvoiced plosive) in the residue is encoded. This enables the decoder to produce a synthetic excitation signal having sudden energy variations during unvoiced plosives, thereby improving the quality of the synthetic speech considerably.




SUMMARY OF INVENTION




The invention provides a method of encoding signal segments which represent unvoiced plosives. The signal segments to be encoded are contained within a speech signal divided into m=1, . . . , N frames. Each frame is subdivided into l=1, . . . , L subframes. The speech signal has a gain g


m


(l) within each subframe.




In accordance with the invention, an energy measure e


m


(l) representative of the signal segments' energy content is defined. An energy threshold e


th


(l) representative of a sudden energy change characteristic of an unvoiced plosive is also defined. For each frame, the energy measure e


m


(l) and the energy threshold e


th


(l) are derived for each subframe within that frame. If e


m


(l)≦e


th


(l) for each subframe within a particular frame, then a plosive locator l


pl


=0 and a plosive index i


pl


=0 are assigned to that frame to indicate absence of a plosive within that frame. If e


m


(l)>e


th


(l) for any subframe within the frame, then that frame's plosive locator l


pl


is assigned a non-zero value indicating location of the plosive at a transition point immediately following that one of the subframes within the frame for which e


m


(l)−e


th


(l) is greatest; and, that frame's plosive index i


pl


is assigned a non-zero value representing presence of a plosive within that frame.




The plosive index i


pl


≠0 is assigned as:






if (l


pl


<L)








 i


pl


=J(l


pl


−1)+k k=j if g


m


(l


pl


)ε(g


level


(j−1),g


level


(j)], j=1, . . . , J






else






 i


pl


=2


K


−1






end if




where, l


pl


is the subframe for which the energy measure exceeds the energy measure threshold, J is the predefined value of the number of levels used in quantizing the gain, g


m


(l


pl


), K=┌log


2


(J(L−1)+2)┐ is the value of the number of bits used in encoding the plosive locator l


pl


and g


level


is the predefined quantized gain decision level vector.




The invention further provides a method of decoding a signal which has been encoded as above. Since the encoder's gain values are not directly available to the decoder, the encoder provides a quantized gain vector for use by the decoder. In order to minimize the encoded bit rate, the gain of only one subframe is quantized, with the remaining elements of the quantized gain vector being estimated in a manner which ensures reproduction of the sudden energy variations necessary for improved characterization of plosives.











BRIEF DESCRIPTION OF DRAWINGS





FIG. 1

is a block diagram representation of an LPC based speech encoding method in which unvoiced plosives are located and coded in accordance with the invention.





FIGS. 2A-2E

respectively depict detection and location of plosives in an m


th


frame having four subframes, for the case in which no plosive exists (FIG.


2


A); and, for cases in which plosives are detected and located at the transitions of: the first and second subframes (FIG.


2


B), the second and third subframes (FIG.


2


C), the third and fourth subframes (FIG.


2


D), and the fourth subframe of the m


th


frame and the first subframe of the m+1


th


frame (FIG.


2


E).





FIGS. 3A-3D

depict determination of plosive index for plosive detection and location cases which correspond to

FIGS. 2B-2E

respectively.





FIGS. 4A-4D

depict determination of unvoiced synthetic gain variation for plosive detection and location cases which correspond to

FIGS. 2B-2E

respectively.











DESCRIPTION




1. Introduction




The original speech signal, s, is processed one frame at a time. Each “frame” contains N samples of the original speech signal, divided into L subframes. Typical values for these parameters are N=320 and L=4. The pre-filtered signal, s


p


, is obtained by passing the original speech signal, s, through a pre-processing filter


10


.




The residual signal, or “residue”, u, is obtained by passing the pre-filtered signal, s


p


, through a time-varying all-zero LPC analysis filter


12


. The coefficients of analysis filter


12


are derived by LPC analysis block


14


using techniques which are well known in the art and which need not be described further.




The energy variation in each frame, m, is represented by a gain vector, g


m


={g


m


(l): l=1, . . . , L}, which corresponds to the root mean square values of the residual signal (in dBs) over a window (length typically 80-160 samples) centered at sampling instants corresponding to the last sample in each subframe of the frame.




A frame class information vector, c, consisting of voicing information for the L subframes in the frame, is provided (

FIG. 1

, block


16


) in accordance with techniques known to persons skilled in the art. In particular, each subframe, l=1, . . . , L, is classified as either unvoiced (c(l)=0) or voiced (c(l)=1). l


fv


is defined as the position number of the first voiced subframe in the m


th


frame. l


lv


is defined as the position of the last voiced subframe in the m


th


frame.




2. Encoding of Plosive Indices




During plosives (or stops) the residue exhibits sudden variations in energy from one block of samples to the next. A plosive index, i


pl


, is defined (

FIG. 1

, block


22


) to indicate whether a frame contains an unvoiced plosive or not, and if so, the location of the start of the sudden energy variation (burst portion of the plosive) in the residue. The plosive locator, l


pl


, is defined (

FIG. 1

, block


20


) as the subframe, within the m


th


frame, at the end of which the start of the burst portion of the plosive is found. The start of the burst portion of the plosive thus coincides with the boundary of the subframe l


pl


, and the subsequent subframe. For example, if l


pl


=1, then the plosive's sudden energy variation starts at the transition boundary between the first and second subframes, and the energy of the samples in the second subframe must be made significantly larger than the energy of the samples in the first subframe to attain more accurate representation of unvoiced plosives in the decoder. The burst portion of the plosive is located by searching across all contiguous unvoiced subframes. The first contiguous unvoiced subframe is denoted by l


start


. The last contiguous unvoiced subframe is denoted by l


stop


. For simplicity, it is assumed that there is at most one plosive within a particular frame.




The energy variation in each frame, m, is also represented by an “energy measure” vector, e


m


={e


m


(l): l=1, . . . , L}, which corresponds to a function of the energy of the residual signal over a window centered at sampling instants corresponding to an appropriate sample in each subframe of the frame. In the preferred embodiment of the invention, e


m


is equivalent to the gain vector, g


m


={g


m


(l): l=1, . . . , L}. However, many alternative energy measures can be used, one possible example being the “peakiness value” defined by Unno et al:


An Improved Mixed Excitation Linear Prediction


(


MELP


)


Coder


, Proc. IEEE Intl. Conf. On Acoustic, Speech & Signal Processing, 1999, Vol. 1, pp. 245-248.




The plosive locator, l


pl


, in the m


th


frame, is obtained as follows (typically, e


thresh


=10, a


e


=1 and b


e


=1):




define e


m


(


0


)=e


m−1


(L)




l


pl


=0




e


d




p


=0




l


start


=location of first unvoiced subframe




l


stop


=location of last unvoiced subframe




for l=l


start


to l


stop p2 e




th


(l)=a


e


e


m


(l−1)+b


e


e


thresh






e


d


=e


m


(l)−e


th


(l)




if(e


d


>e


d




p


)




l


pl


=l




e


d




p


=e


d






end if




end for




where, e


thresh


is a energy threshold constant value (for example, e


thresh


=10 dB); and, a


e


and b


e


are energy measure threshold weight constants. It can thus be seen that plosive detection can be adaptively adjusted to directly compare each subframe's energy measure to a energy threshold constant value, and/or to take the previous subframe's energy measure into account. For example, if a


e


=0 and b


e


=1, then the energy measure of the previous subframe e


m


(l−1) is ignored and the energy measure difference e


d


is determined by comparing the energy measure e


m


(l) of the current subframe to the unit-weighted energy threshold constant value e


thresh


. If a


e


=1 and b


e


=0, then the energy measure difference e


d


is determined by comparing the energy measure e


m


(l) of the current subframe to the energy measure e


m


(l−1) of the previous subframe. By selecting values of a


e


and b


e


between 0 and 1, one may adjust the comparison to include any desired proportion of e


thresh


and/or any desired proportion of the previous subframe's energy measure.




The foregoing technique examines all subframes to detect the “most significant” plosive within each frame, in case more than one subframe within a particular frame happens to satisfy whatever energy variation criteria is defined for plosive identification purposes. Thus, the plosive locator l


pl


, and the “previous” value e


d




p


of the energy measure difference e


d


are each initialized at zero. If application of the comparison technique described in the preceding paragraph to a particular frame results in derivation of a value e


d


>0 for any subframe l within that frame, then the plosive locator l


pl


is assigned to that subframe (i.e. l


pl


=l and the value of e


d


becomes the new value of e


d




p


. If subsequent application of the comparison technique to the same frame results in derivation of another value of e


d


which exceeds the previously saved value of e


d




p


, then the plosive locator is updated by assigning it to the subframe having the new, higher, e


d


value; and, that new, higher, value of e


d


becomes the new value of e


d




p


. Consequently, after the comparison technique has been applied to all subframes within the particular frame, e


d




p


contains the highest (i.e. “most significant”) energy measure difference for all subframes within the frame; and, the plosive locator l


pl


identifies the subframe for which e


d




p


has the highest (i.e. “most significant”) energy measure difference value.




The technique used to compute the plosive locator, l


pl


, is illustrated in

FIGS. 2A-2E

. Each of

FIGS. 2A-2E

depicts an m


th


frame having four subframes. l=0 denotes the last subframe of the previous (i.e. m−1


th


) frame. l=1, l=2, l=3 and l=4 respectively denote the first, second, third and fourth subframes of the m


th


frame. e


m


(


0


) denotes the energy measure for the last subframe of the previous (i.e. m−1


th


) frame. e


m


(


1


), e


m


(


2


), e


m


(


3


) and e


m


(


4


) respectively denote the energy measure for subframes l=1, l=2, l=3 and l=4.




For purposes of illustration only,

FIGS. 2A-2E

, assume that the previously described technique is applied by assigning a


e


=1, b


e


=1 and e


thresh


=10 dB, meaning that plosive detection involves a comparison of each subframe's energy measure to a energy threshold comprising the previous subframe's energy measure plus a 10 dB energy threshold constant value.

FIG. 2A

depicts a case in which the energy measure e


m


(l) does not exceed the energy threshold for any subframe within the m


th


frame. Therefore, no plosive exists in the m


th


frame depicted in FIG.


2


A. The plosive locator l


pl


which is assigned in this case is equal to 0 (i.e. l


pl


=0).





FIG. 2B

depicts a case in which the energy measure e


m


(l) in subframe l=1 exceeds the energy threshold e


th


(l) by the largest margin amongst all subframes for which the energy measure exceeds the energy threshold. This means that a plosive has been detected and that the plosive is located at the transition from subframe


1


to subframe


2


. The plosive locator l


pl


which is assigned in this case is l


pl


=1.





FIG. 2C

depicts a case in which the energy measure e


m


(


2


) in subframe l=2 exceeds the energy threshold e


th


(


2


) by the largest margin amongst all subframes for which the energy measure exceeds the energy threshold. This means that a plosive has been detected and that the plosive is located at the transition of subframes


2


and


3


. The plosive locator l


pl


which is assigned in this case is l


pl


=2.





FIG. 2D

depicts a case in which the energy measure e


m


(


3


) in subframe l=3 exceeds the energy threshold e


th


(


3


) by the largest margin amongst all subframes for which the energy measure exceeds the energy threshold. This means that a plosive has been detected and that the plosive is located at the transition of subframes


3


and


4


. The plosive locator l


pl


which is assigned in this case is l


pl


=3.





FIG. 2E

depicts a case in which the energy measure e


m


(


4


) in subframe l=4 exceeds the energy threshold e


th


(


4


) by the largest margin amongst all subframes in which the energy measure exceeds the energy threshold. This means that a plosive has been detected and that the plosive is located at the transition of subframe


4


of the m


th


frame and the first subframe of the next (i.e. m+1


th


) frame. The plosive locator l


pl


which is assigned in this case is l


pl


=4.




In general, if the plosive locator, l


pl


=0, then no plosive exists within the m


th


frame, the plosive index, i


pl


=0, and any gain variations within that frame can be derived by interpolation techniques. However, if the plosive locator, l


pl


, is non-zero, then a plosive exists within the m


th


frame and the plosive locator, l


pl


, defines the subframe, within the m


th


frame, at the end of which the start of the burst portion of the plosive is found.




If a plosive is detected within the m


th


frame, (i.e. l


pl


≠0), the plosive index, i


pl


, in the m


th


frame, is determined as follows (typically, J=2, K=3, g


level


={100, 45, 0}):




 if (l


pl


<L)






 i


pl


=J(l


pl


−1)+k k=j if g


m


(l


pl


)ε(g


level


(j−1),g


level


(j)], j=1, . . . , J






else






 i


pl


=2


K


−1






end if




where, J is the number of levels used in quantizing the gain, g


m


(l


pl


), K=┌log


2


(J(L−1)+2)┐ is the number of bits used in encoding the plosive locator l


pl


and g


level


={g


level


(j): j=0, . . . , J} is the quantized gain decision level vector used in encoding the gain, g


m


(l


pl


).




Each of

FIGS. 3A-3D

depicts an m


th


frame having four subframes. l=0 denotes the last subframe of the previous (i.e. m−1


th


) frame. l=1, l=2, l=3 and l=4 respectively denote the first, second, third and fourth subframes of the m


th


frame. g


m


(


0


) denotes the gain for the last subframe of the previous (i.e. m−1


th


) frame. g


m


(


1


), g


m


(


2


), g


m


(


3


) and g


m


(


4


) respectively denote the gain for subframes l=1, l=2, l=3 and l=4.





FIGS. 3A-3D

depict application of the above plosive index determination procedure for cases corresponding to

FIGS. 2B-2E

respectively. For example,

FIG. 3A

depicts the case l


pl


=1 in which a plosive is detected in subframe


1


and is located at the transition from subframe


1


to subframe


2


. The plosive index i


pl


which is assigned in this case is either i


pl


=1 if the gain g


m


(


1


) at the subframe transition (i.e. the transition from l=1 to l=2) exceeds g


level


(


1


), as defined above;






or, i


pl


=2 if g


m


(


1


)<g


level


(


1


).







FIG. 3B

depicts the case l


pl


=2 in which a plosive is detected in subframe


2


and is located at the transition from subframe


2


to subframe


3


. The plosive index i


pl


which is assigned in this case is either i


pl


=3 if the gain g


m


(


2


) at the subframe transition (i.e. the transition from l=2 to l=3) exceeds g


level


(


1


); or, i


pl


=4 if g


m


(


2


)<g


level


(


1


).





FIG. 3C

depicts the case l


pl


=3 in which a plosive is detected in subframe


3


and is located at the transition from subframe


3


to subframe


4


. The plosive index i


pl


which is assigned in this case is either i


pl


=5 if the gain g


m


(


3


) at the subframe transition (i.e. the transition from l=3 to l=4) exceeds g


level


(


1


); or, i


pl


=6 if g


m


(


3


)<g


level


(


1


).





FIG. 3D

depicts the case l


pl


=4 in which a plosive is detected in subframe


4


and is located at the transition from subframe


4


of the m


th


frame and the first subframe of the next (i.e. m+1


th


) frame. The plosive index i


pl


which is assigned in this case is equal to 7 (i.e. i


pl


=7).




In general, if the plosive index, i


pl


=0, then no plosive exists within the m


th


frame, and any gain variations within that frame can be derived by interpolation techniques. However, if the index, i


pl


, is non-zero, then a plosive exists within the m


th


frame.




3. Decoding Plosive Locator from Plosive Index




If a plosive is detected within the m


th


frame, (i.e. i


pl


≠0), then the plosive locator, l


pl


, is obtained (

FIG. 1

, block


24


) as follows:






if(i


pl


<2


K


−1














l
pl

=




i
pl

J













else






 l


pl


=L






end if




The plosive index, i


pl


, and the plosive locator, l


pl


, are used to determine the gain variation of the excitation signal from one subframe to the next within the m


th


frame, as will now be described.




4. Computation of Quantized Frame Gain




If a plosive is detected within the m


th


frame, (i.e. i


pl


≠0), then a quantized frame gain vector (in dBs), g


q




m


is computed by the decoder (

FIG. 1

, block


26


). More particularly, because the gain vector, g


m


, is not directly available to the decoder, the gain vector g


m


is encoded as g


q




m


by the encoder for use by the decoder. In low bit-rate encoding of speech, bits available for encoding the various parameters are at a premium, hence any savings that can be obtained by reducing the number of parameters encoded yield large savings in the encoded bit-rate. One such approach, for frames which contain a plosive, is to quantize any one subframe gain (g


m


(L) for example) within the frame, using few bits for encoding, and then estimating the remaining elements of the quantized gain vector without using any additional bits to encode the remaining subframe gains, thus reducing the number of parameters encoded and consequently reducing the encoded bit-rate. The purpose of estimating the remaining elements of the gain vector is to ensure sudden energy variation during plosives.




In the preferred embodiment of the invention g


q




m


is determined as follows, although alternative techniques can be used to ensure sudden energy variation during plosives (typically, g


thresh


=10, g


v













offset


=3, g


u













offset


=10, g


sil


=10, g


rec


={53, 42}):




obtain g


q




m


(L) by techniques well known in the art (

FIG. 1

, block


18


)




define g


q




m


(


0


)=g


q




m−1


(L)






if l


pl


<L








 g


q




m


(l


pl


)=g


rec


(j)j=i


pl


mod J






end if






if l


pl


>1








 g


q




m


(l


pl


−1)=0.5 g


q




m


(


0


)+0.5 g


sil










g


q




m


(l


pl


−1)=min(g


q




m


(l


pl


−1), g


q




m


(l


pl


)−g


thresh


)






 compute g


q




m


(l) by linearly interpolating between g


q




m


(


0


) and g


q




m


(l


pl


−1) for subframes l=1, . . . , l


pl


−2.




end if






if l


pl


<L−1








 if c(L)=1















g
q
m



(
l
)


=

{






g
q
m



(
L
)


-

g


v
-


offset








if






c


(
l
)



=
1

,

l
=


l
pl

+
1


,





,

L
-
1









g
q
m



(
L
)


-

g


u
-


offset






otherwise
,

l
=


l
pl

+
1


,





,

L
-
1
















else






 g


q




m


(l)=g


q




m


(L) l=l


pl


+1, . . . , L−1






end if




where, g


v













offset


and g


u






—offset




are gain offset values, g


sil


is the silence gain value, g


rec


={g


rec


(j): j=1, . . . , J} is the quantized gain reconstruction vector used in encoding the gain, g


m


(l


pl


) and g


thresh


is the threshold gain value. The “mod” operation returns the remainder after dividing the first operand by the second operand.




The quantized frame gain vector (in dBs), g


q




m


, can be represented by its linear equivalent, ĝ


q




m


, as, ĝ


q




m


(l)=10


(g






m








q






(l)/20)


l=1, . . . , L




5. Computation of Unvoiced Plosive Synthetic Gain




In the preferred embodiment of the invention the gain variation, g


i


, from one sample to another within a frame containing an unvoiced plosive (i


pl


≠0), is determined (

FIG. 1

, block


28


) as follows, although alternative techniques can be used to ensure sudden energy variation during plosives:






for l=l


start


to l


stop










 if (l<l


pl


)








 g


i


(n)=a


g


(n)ĝ


q




m


(l−1)+b


g


(n)ĝ


q




m


(l−2) n=1, . . . , N/L








else if (l=l


pl


)








g


i


(n)=ĝ


q




m


(l−1) n=1, . . . , N/L






 else




Compute g


i


for all samples in subframe by linearly interpolating between ĝ


q




m


(l−1) and ĝ


q




m


(l).




 end if




end




where, a


g


and b


g


are gain interpolation weight vectors used in computing the gain trajectory within subframes prior to subframe l


pl


. Typically, a


g


(n)=1 and b


g


(n)=0 for all values of n.




The above synthetic gain variation determination procedure is applied only if a plosive exists within a particular frame.

FIGS. 4A-4D

depict application of the above synthetic gain variation determination procedure for cases corresponding to

FIGS. 2B-2E

respectively. For example,

FIG. 4A

depicts the case l


pl


=1 in which a plosive is detected in subframe


1


and is located at the transition from subframe


1


to subframe


2


(i.e. i


pl


=1 or i


pl


=2, as explained above). The synthetic gain g


i


remains constant throughout the first subframe, then increases suddenly (i.e. from ĝ


q




m


(


0


) to ĝ


q




m


(


1


) at the transition from subframe


1


to subframe


2


to represent the plosive. The gain in the subsequent subframes is then obtained by linear interpolation. In particular, the solid line in

FIG. 4A

depicts interpolation of the gains for the case in which i


pl


=1 as described above; and, the dashed line in

FIG. 4A

depicts interpolation of the gain for the case in which i


pl


=2.





FIG. 4B

depicts the case l


pl


=2 in which a plosive is detected in subframe


2


and is located at the transition from subframe


2


to subframe


3


(i.e. i


pl


=3 or i


pl


=4, as explained above). The synthetic gain g


i


remains piecewise constant through the first and second subframes, then increases suddenly (i.e. from ĝ


q




m


(


1


) to ĝ


q




m


(


2


) at the transition from subframe


2


to subframe


3


to represent the plosive. The gain in the subsequent subframes is then obtained by linear interpolation. In particular, the solid line in

FIG. 4B

depicts interpolation of the gains for the case in which i


pl


=3; and, the dashed line in

FIG. 4B

depicts interpolation of the gains for the case in which i


pl


=4.





FIG. 4C

depicts the case l


pl


=3 in which a plosive is detected in subframe


3


and is located at the transition from subframe


3


to subframe


4


(i.e. i


pl


=5 or i


pl


=6, as explained above). The synthetic gain g


i


remains piecewise constant through the first, second and third subframes, then increases suddenly (i.e. from ĝ


q




m


(


2


) to ĝ


q




m


(


3


)) at the transition from subframe


3


to subframe


4


to represent the plosive. The gain in the fourth subframe is then obtained by linear interpolation. In particular, the solid line in

FIG. 4C

depicts interpolation of the gains for the case in which i


pl


=5; and, the dashed line in

FIG. 4B

depicts interpolation of the gains for the case in which i


pl


=6.





FIG. 4D

depicts the case l


pl


=4 in which a plosive is detected in subframe


4


and is located at the transition from subframe


4


of the m


th


frame and the first subframe of the next (i.e. m+1


th


) frame (i.e. i


pl


=7, as explained above). The synthetic gain g


i


remains piece-wise constant through the first, second, third and fourth subframes, then increases suddenly (i.e. from ĝ


q




m


(


3


) to ĝ


q




m


(


4


)) at the transition from subframe


4


to the first subframe of the next (i.e. m+1


th


) frame to represent the plosive.




As will be apparent to those skilled in the art in the light of the foregoing disclosure, many alterations and modifications are possible in the practice of this invention without departing from the spirit or scope thereof. For example, as noted above, the energy measure used to detect and locate unvoiced plosives may be obtained in any one of a number of ways which are well known to persons skilled in the art. The same is true in selecting the threshold values used to identify the sudden energy changes characteristic of unvoiced plosives.




As a further example, the location of the start of the burst portion of the plosive may be encoded in different ways. Thus, instead of assigning i


pl


as having L+1 possible values, one could represent i


pl


as having at least J(L−1)+2 different values and implicitly encoding (within the plosive index i


pl


) the gain, g


m


(l


pl


), to have one of J possible values. Appropriate values of g


level


and g


rec


can be selected to provide further variation in the algorithm.




Alternative techniques can be used to quantize the frame gain vector. For example, instead of quantizing g


m


(l


pl


) to g


q




m


(l


pl


) as described above, one could alternatively obtain a more accurate quantized gain value at the expense of an increase in encoded bit-rate, by actually encoding independently the gain g


m


(l


pl


) with a few extra bits using techniques well known in the art. Similar procedures could be carried out individually or collectively for the other subframe gains.




The gain variation from one sample to another within a frame containing an unvoiced plosive may be determined in a manner different than that outlined above, while preserving the ability to synthesize the sudden energy variations which characterize plosives. Thus, instead of holding the synthetic gain g


i


piecewise constant during the subframes prior to the subframe l


pl


, one could interpolate the prior subframe gains to obtain the synthetic gain. This can be achieved by modifying the gain interpolation weight vectors a


g


and b


g


.



Claims
  • 1. A method of encoding signal segments representative of unvoiced plosives in a speech signal divided into m=1, . . . , N frames, each of said frames subdivided into l=1, . . . , L subframes, said speech signal having a gain gm(l) within each of said subframes, said method comprising the steps of:(a) defining an energy measure em(l) representative of energy content of said signal segments; (b) defining an energy threshold eth(l) representative of a sudden energy change characteristic of an unvoiced plosive; (c) for each one of said frames: (i) deriving said energy measure em(l) for each one of said subframes within said one frame; (ii) deriving said energy threshold eth(l) for each one of said subframes within said one frame; (iii) if em(l)≦eth(l) for each one of said subframes within said one frame, assigning a plosive locator lpl=0 and a plosive index ipl=0 to said one frame to indicate absence of a plosive within said one frame; (iv) if em(l)>eth(l) for any one of said subframes within said one frame: (1) assigning said plosive locator lpl a non-zero value for said one frame, said non-zero lpl value indicating location of a plosive at a transition point immediately following that one of said subframes within said one frame for which em(l)−eth(l) is greatest; and, (2) assigning said plosive index ipl a non-zero value for said one frame, said non-zero ipl value indicating presence of a plosive within said one frame.
  • 2. A method as defined in claim 1, wherein said energy threshold eth(l) has a selected value eth(l)=aeem(l−1)+beethresh for each one of said subframes, where ae and be are predefined weighting constants and ethresh is a threshold energy constant value.
  • 3. A method as defined in claim 1, wherein said non-zero ipl value is assigned as:(a) ipl=J(lpl−1)+k if said plosive locator lpl is less than L, wherein k has a value j which satisfies the relationship gm(lpl)ε(glevel(j−1), glevel(j)), for j=1, . . . J; and, (b) ipl=2K−1 if said plosive locator lpl is equal to L; wherein lpl is said subframe within said one frame for which em(l)−eth(l) is greatest, gm(lpl) is the gain within said subframe lpl, J is the number of levels used to encode said gain, K is the number of bits used to encode lpl, and glevel={glevel(j): j=0, . . . , J} is a predefined quantized gain decision level vector used to encode said gain.
  • 4. A method as defined in claim 3, wherein K=┌log2(J(L−1)+2)┐.
  • 5. A method as defined in claim 1, wherein said energy measure em(l) is said gain gm(l) of said respective signal segments.
  • 6. A method of decoding a signal encoded in accordance with claim 1, said encoded signal divided into m=1, . . . , N frames, each of said frames subdivided into l=1, . . . , L subframes, said signal having a gain value gm(l) in each of said subframes, said decoding method comprising mapping said gain value gm(l) to a quantized gain value gqm(l) by:(a) deriving a quantized gain value gqm(L) for said Lth subframe; (b) setting gqm(0)=gqm(L); (c) if lpl<L, setting gqm(lpl)=grec(j), where j=ipl mod J and grec is a predefined quantized gain reconstruction vector; (d) if lpl>1, deriving a quantized gain value gqm(lpl−1); (e) if lpl>1, deriving said quantized gain value gqm(l) by linearly interpolating between gqm(0) and gqm(lpl−1) for all values of l=1, . . . , lpl−2; and, (f) if lpl<L−1, deriving said quantized gain value gqm(l) for all values of l=lpl+1, . . . , L−1.
  • 7. A method as defined in claim 6, further comprising decoding said plosive locator lpl as lpl=⌈iplJ⌉if ipl<2K−1; and, as lpl=L if ipl=2K−1.
  • 8. A method as defined in claim 6, wherein said quantized gain gqm(lpl−1), has a selected valuegqm(lpl−1)=min(0.5 gqm(0)+0.5 gsil ,gqm(lpl)−gthresh), if lpl>1, where gsil is a predefined silence gain value and gthresh is a predefined gain threshold value.
  • 9. A method as defined in claim 6, wherein, for all values of l=lpl+1, . . . , L−1, and lpl<L−1 said quantized gain value gqm(l) has a selected value:(a) gqm(l)=gqm(L) if c(L)=0; (b) gqm(l)=gqm(L)−gv—offset if c(l)=1 and c(L)=1; and, (c) gqm(l)=gqm(L)−gu—offset if c(l)=0 and c(L)=1; wherein gv—offset and gu—offset are predefined gain offset values, c(L) is a predefined class information value for said Lth subframe, c(l) is a predefined class information value for said lth subframe, c(l)=0 denotes that said subframe l is unvoiced, and c(l)=1 denotes that said subframe l is voiced.
  • 10. A method as defined in claim 9, further comprising settinggqm(lpl+1) to gqm(lpl+1)=min(gqm(lpl+1), gqm(lpl)−gthresh) when lpl<L−1.
  • 11. A method as defined in claim 6, further comprising deriving a synthetic gain variation g, for each one of said frames for which said plosive index ipl≠0, by:(a) if l<lpl deriving gi(n) ag(n)ĝqm(l−1)+bg(n)ĝqm(l−2), n=1, . . . , N/L; (b) if l=lpl deriving gi(n)=ĝqm(l−1), n=1, . . . , N/L; and, (c) if l>lpl deriving said synthetic gain variation gi by linearly interpolating between ĝqm(l−1) and ĝqm(l); wherein ag and bg are predefined gain interpolation weight vectors.
US Referenced Citations (4)
Number Name Date Kind
RE. 32580 Atal et al. Jan 1988
5091946 Ozawa Feb 1992
5794186 Bergstrom et al. Aug 1998
5839102 Haagen et al. Nov 1998
Foreign Referenced Citations (2)
Number Date Country
173986A Mar 1986 EP
852376A Jul 1998 EP
Non-Patent Literature Citations (3)
Entry
Susumu Sato et al: “Recognition of Plosive Using Mixed Features by Fisher's Linear Discriminant” Proceedings of the International Conference on Spoken Language Processing (ICSLP), JP, Tokyo, ASJ, 1990 pp. 213-216.
Weigelt L F et al: “Plosive/Fricative Distinction: The Voiceless Case” Journal of the Acoustical Society of America, US, American Institute of Physics. New York, vol. 87, No. 6, Jun. 1, 1990, pp. 2729-2737.
“An Improved Mixed Excitation Linear Prediction (MELP) Coder”, Unno et al, Proc. IEEE Intl. Conf. on Audio, Speech & Signal Processing, 1999, vol. 1., pp. 245-248.