CA2110645C - Method of and device for quantizing excitation gains in speech coders based on analysis-by-synthesis techniques - Google Patents
Method of and device for quantizing excitation gains in speech coders based on analysis-by-synthesis techniquesInfo
- Publication number
- CA2110645C CA2110645C CA002110645A CA2110645A CA2110645C CA 2110645 C CA2110645 C CA 2110645C CA 002110645 A CA002110645 A CA 002110645A CA 2110645 A CA2110645 A CA 2110645A CA 2110645 C CA2110645 C CA 2110645C
- Authority
- CA
- Canada
- Prior art keywords
- index
- contribution
- subframe
- gain
- amplitude
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000005284 excitation Effects 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000003786 synthesis reaction Methods 0.000 title claims abstract description 27
- 238000013139 quantization Methods 0.000 claims abstract description 37
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 2
- 239000013598 vector Substances 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 6
- 230000030279 gene silencing Effects 0.000 description 6
- 230000003595 spectral effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/083—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being an excitation gain
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
An optimum excitation signal for each subframe is determined in a speech coder based on analysis-by- synthesis techniques and operating on frames of samples divided into a number of subframes. The excitation signal includes a shape contribution (innovation) and an amplitude contribution (gain) which are quantized separately. A circuit for gain quantization includes means for determining a gain index for each subframe; a comparison logic network for detecting the maximum value taken by the gain index in the frame; and means for computing a normalized index for each subframe as a difference between the maximum index and the gain index relevant to that subframe. The coded signal includes the coded values of the maximum index and of the normalized indexes as information on the gain relevant to a frame.
Description
: ' ~ 10 The present invention relates to speech coders, and more particularly it concerns a method of and a device for quantizing excitation gains in speech coders employing analysis-by-synthesis techniques.
In coders using analysis-by-synthesis techniques, the excitation signal for the synthesis filter simulating the speech production apparatus is chosen within a set of excitation signals so as to ; ni; ze a perceptually -~n;ngful measure of distortion. These excitation signals can be for example regularly spaced pulses (regular pulse excitation coding or RPE), pulses spaced in a non uniform way (multipulse excitation coding or MPE), vectors or words made up of a certain number of samples ~e.g. codebook excitation codlng or CELP), etc.
Each excitation signal comprises a "shape"
contribution ~posslble configurations of pulse positions in the case of regular pulse excitation or multipulse excitation, codebook vectors or words in case of CELP) and amplitude contrlbutlon ~amplitude of the lndividual pulses in the case of regular pulse excitation or multlpulse excitatlon, gain or scale factor for CELP). Information relevant to pulse signs can be included in one of the two contributions or in both or also kept separate, depending on the specific case. For a better ''~
;~ 2 21106~
~ understanding, hereinafter the two contributions will L. respectively be called "innovation" and "gain" and information on pulse signs will be comprised in the innovation, so that gain will be an absolute value. Information relevant to the two contributions are quantized separately during coding; during decoding, this information allows reconstructing the optimum excitation signal, which is filtered in a synthesis filter, corresponding to that utilized in the coder, in order to give the reconstructed signal.
Synthesis filter includes a short-term filter, which inserts features linked to the signal spectral envelope, and may include a long- term filter, which inserts features linked ~j~ to the fine signal spectral structure.
'.!' Owing to the variability of speech signal, synthesis filter parameters must be updated periodically. The validity period, commonly called frame, varies typically from a few mil-' liseconds to a few tens of milliseconds (e.g. 2 - 30 ms). Each frame comprises therefore a number of samples which, when the sampling rate is equal to 8 kHz, varies from about ten to 1 - 2 hundreds. Except for short frames, it is not possible to use only one excitation signal for representing the whole frame, since this would require the use of relatively long pulse sequences, words or vectors, making too heavy or even unbearable the computational burden necessary to detect the optimum excitation. Each frame is then divided into a certain - number of subframes and for each of them an optimum excitat~on is determined. Typical lengths for the subframes are 16 - 40 samples.
When the frame is divided into subframes, innovation in a subframe can be quantized independently from that of the contiguous subframes. The same method could be also adopted for gain quantization. This solution allows to keep into account at the transmitter the quantization effects both when searching ' for the optimum excitation during a subframe, and when computing initial conditions of the synthesis filter: an alignment between coder and decoder operations is obtained in this way and this makes recovery of quantization error easier.
-'~':''~-'.' ~' '' 21~06~
This solution is however scarcely efficient, since it does not ~ exploit the correlation always existing between ad~acent ; subframe gains and requires therefore a high number of coding bits for gain information. A lower number of bits r~ ~ns therefore available for coding other information: considering - that analysis-by-synthesis coders are mostly used in j~ applications with a relatively low bit rate, the re~n~ng availability can be insufficient to obtain a good quality of coded signal, cancelling the advantages deriving by the quantization at each subframe.
Methods carrying out an efficient quantization of excitation gain at the end of a frame, and not at each ;; subframe, thus limiting the number of bits to be transmitted, are already known.
A first method is vector quantization, which, as it is well-known, is a particularly efficient technique for quantization of correlated or generally non-independent parameters. This method is however scarcely adopted since vector quantization is very sensitive to transmission errors and its use would also imply the adoption of sophisticated error protection techniques, making therefore the coder more complicated.
A second solution has been proposed in European patent application EP-A-0396121 in the name of CSELT, where the gain values of the subframes are normalized with respect to the ~ x; value or average value in the frame and both the normalized values and the -xi or average value are - quantized. Obviously, the total number of bits is reduced, because the normalized value has a remarkably lower dynamics than the actual value; it is however necessary to have two quantization codebooks, one for -x; or average values, and , the other for normalized values. Moreover, both with this technique and with the use of vector quantization, it is not possible to keep account of the quantization effects at the transmitter either during the optimum excitation search in the subframe or at the passage from a subframe to the next, since quantized values are not available yet.
~ 2110 6 ~ ~ :
I~ 4 ~~*~ The aim of the invention is to supply a method and a ' device for gain quantization allowing both availability at the coder of the quantized values relevant to each subframe, so as to keep account of quantization effects during optimum ~ 5 excitation search in a subframe and computation of initial .~ conditions at the passage from a subframe to the next, and an ~ efficient exploitation of correlations between adjacent ,i~i- subframe gains, with a consequent reduction of the coding bit ~-~ number.
~ 10 According to the invention, during coding in t transmission, the amplitude contribution of the excitation ~ . , .
signal is quantized at each subframe deteL ining a gain index i~g); the -x; value i(gmax) taken in a frame by the gain ~- index i(g) is determined; a normalized index i~gnor) relevant to each subframe is calculated as the difference between ~x; , index i(gmax) and subframe gain index i(g); and -x; index i(gmax) and the set of normalized indexes i(gnor) . are coded and transmitted, in order to represent amplitude contributions relevant to a frame. During decoding, the gain index i(g) of each subframe is reconstructed starting from the ; index in the frame i(gmax) and from the normalized index i(gnor) relevant to the subframe.
By this method, gains are quantized at each subframe, even if the relevant index is not transmitted, so that the quantized value is available and it can therefore be used, as in the case of scalar quantization at each subframe; moreover, information is transmitted in a differential (or normalized) form on the indexes and not on the values, thus permitting a reduction of the quantity of information to be transmitted, as in EP-A-O 396 211, and the use of only one quantization codebook.
The invention supplies also a device for carrying out the method, comprising, at the transmission side:
~ means for quantizing amplitude contribution values determined by a distortion ~ n~ lzation unit for each ~ possible shape contribution, the quantization means 2llo645 supplying quantized amplitude values and gain indexes representing them;
~ a comparison logic network which receives from the quantization means, at each subframe, the index i(g) indicating the optimum amplitude contribution for that specific subframe which is arranged to recognize and to supply to index coding units at the end of a frame the ~x1ml index i(gmax) among the received indexes;
- means for temporarily storing gain indexes i(g) relevant to a frame; and - means for computing a set of normalized indexes i(gnor), one per subframe, the computing means receiving the ~x1 index from comparison logic network and the stored indexes from storage means and computing the set of normalized indexes as the difference between the -~i index i(gmax) and each of the indexes i~g) stored in the storage means, the normalized indexes being supplied to index coding units;
and also comprising at the reception side, means for reconstructing a gain index i(g) for each subframe starting from the ~xi index and from the normalized indexes, decoded in a decoding circuit, and for supplying this gain index i(g) as a reading address to a memory containing the set of quantized amplitude values.
The invention also concerns a method for coding speech signals employing analysis-by- synthesis techniques, where the excitation gains are quantized with the above mentioned quantization method, and a speech coder including the above mentioned device for quantizing excitation gains.
The present invention will be better understood by referring to the annexed drawings, where:
~ Fig. 1 is a schematic diagram of the analysis- by synthesis loop of a coder using the inventlon;
~ Fig. 2 is a flow chart of the method according to the invention;
~ Fig. 3 is a diagram of the gain quantization circuit.
The description that follows will refer, by way of example, to a CELP coder, since therein the separation of .. .. :
21~069~
excitation shape and amplitude contributions is immediate and the understanding of the invention is easier.
Referring to Fig. 1, the transmitter of a CELP coding system can be outlined by:
~ a filtering system FSl (synthesis filter) simulating the speech production apparatus and including in general the cascade of a long-term synthesis filter and a short-term synthesis filter which impose on an excitation signal respectively features linked to the fine signal spectral structure (in particular voiced sounds periodicity) and those linked to signal spectral envelope; the parameters of this filter ~linear prediction coefficients ai, gain b and delay D of long-term analysis) are supplied by analysis circuits not represented;
- a first read-only memory VI1, which contains the codebook of the innovation words vectors s(n);
~ a multiplier Ml which, during optimum excitation search, multiplies the words s(n) of the innovation codebook by the relevant gains g giving an excitation signal e(n) to be filtered in FS1;
~ an adder Sl, effecting the comparison between the original signal x(n) and the filtered or reconstructed signal y(n) outcoming from FSl and giving an error signal d(n) represented by the difference between the two signals;
~ a filter FP for the spectral shaping or weighting of the error signal, to make less perceptible the differences between the original signal and reconstructed signal;
~ a processing unit EL which carries out all the operations required to identify at each subframe the optimum innovation vector and the optimum gain (in absolute value and sign), i.e. the vector and gain minimizing the energy of the weighted error signal w(n) supplied by FP.
During this ~ nl ~ zation, in the same way as in a conventional CELP coder, the possible innovation words will be tested in succession in each subframe and an optimum gain will be determined for each of them. At the end of each test cycle an optimum word and a relevant gain forming the excitation for '.: ~ - .
211 0~5 ' 7 that subframe, are then obtained. The minimization procedure is widely described in literature and it is not influenced by the present invention; further details are not therefore necessary.
A general description is nevertheless given in the article "A
class of analysis-by-synthesis predictive coders for high quality speech coding at rates between 4,8 and 16 kb/s", by P.
Kroon and E.F. Deprettere, IEEE Journal on Selected Areas on Communication, Vol. 6, N.2 (February 1989) pages 353 - 364. The only particularities, according to the invention, are that the innovation codebook also contains a null word, which is used under certain conditions which will be described later and which is not taken into consideration during the optimum word search, and that the gains are quantized gains, so that the effects of quantization can be taken into account in dete~ lning the optimum word and in calculating the synthesis filter initial conditions at each subframe.
The information relevant to the chosen vector and gain, together with those relevant to the filter parameters, suitably quantized and binary coded in a coding circuit CD, make up the coded speech signal transmitted to the receiver.
This information is normally represented by indexes or set of indexes allowing identifying the quantized value of each quantity in a relevant codebook of quantized values provided at the receiver.
For what concerns innovation, indexes i(s) of the words relevant to individual subframes are supplied to CD at the end of the frame, since only at this moment it can be checked whether the conditions exist for the choice of the null excitation word, as it will be explained further on. Gain quantization is carried out in a circuit IT, connected between j block FL and coding circuit CD, to be described with reference to Fig. 3.
The receiver comproses: a decoder DC, performing operations complementary to those of the circuit CD; a first read-only memory VI2, a multiplier M2 and a synthesis filter FS2, identical to the transmitter units VIl, M1, FS1; a second read-only memory VG which contains the quantized gain codebook.
.
21i0~4~
Information coming from the transmitter, suitably decoded in DC, allows selecting in VI2 and VG, at each subframe, the word s (n) and the gain g (n) corresponding to those chosen during the coding stage, and updating the parameters of filter FS2.
The reconstructed signal x (n), possibly converted into analogue form, is supplied to the utilization devices.
According to the present invention, quantized gains belong to a set of Ng values, where Ng is given by Ng = Nm+Nn-1, with Nm and Nn powers of 2. The reason for which gain codebook size is expressed in this way will be made clear from the following of the description. Each of these values is associated with an index i~g) which is not transmitted but which is supplied to IT. IT recognixes the ~xl index i(gmax) among gain indexes i(g) of the frame and computes a set of normalized indexes i(gnor), one per subframe, according to relation i[gnor(k)] = i(gmax) - i[g(k)], where k is the generic subframe in the frame. At the end of frame the index i(gmax) and indexes i[gnor(k)] of the different subframes will be transmitted; these indexes will be given preset values when certain conditions occur, as explained further on. At the receiver, index î(gmax) and indexes ~(gnor) reconstructed by DC
are supplied to an adder S2, which re-creates indexes 1~g(k)]
according to relation i[g(k)] = 1(gmax) - î[gnor~k)].
The conditions leading to give a special value to i(gmax) and i~gnor) are represented by~
- too low a value of i(gmax), lower than Nn, in which case there is set i~gmax) = Nm; this check is carried out before determining indexes i~gnor);
~ too high a value of i~gnor), higher than Nn-l, in which case the null innovation word is transmitted ~i.e. excitation is silenced), forcing also i~gnor) to Nn-l.
It can thus be seen that both i(gmax) and i(gnor) can take only a limited number of values. Indicating with Nm the possible number of values for i(gmax), the choice made for the 35 1 ni ~ threshold of i~gmax) leads to the relationship given above for the size of the gain codebook. Thanks to the solution described, even ln the case of an index i(g) < Nn, the 21~06~
: g normalized index i(gnor) can take the whole value dynamics and therefore always bear the maximum possible information which would otherwise be partly or totally wasted (as a matter of fact for i(gmax) = 1, i(gnor) would be 0). In this way there is - 5 the advantage of having i(g) reach the value Nm+Nn-1, continuing however to utilize Nm values (and therefore log2Nm bit) for i(gmax).
For what concerns the second condition, the normalized index i(gnor~ has clearly a dynamics between 0 and a certain positive value. Keeping into account the correlations which exist in general between the signals inside a frame, the maximum positive value (which indicates a very low gain in the concerned subframe) is limited to a suitable value, selected so that the probability of exceeding it is reasonably low. Should it be exceeded, the ~x; admissible value for the index i(gnor) could be transmitted, and this corresponds to the amplification of the transmitted signal portion. According to the invention, it is however preferred to consider the subframe as silence and transmit the index i(s) corresponding to the null innovation word, since the distortion (subjective or objective) introduced by silencing a certain signal portion is lower than that due to an excessive amplification. Even if the index i(gnor) for this subframe does not bear any information, it is in any case preferred to transmit it with value Nn-l because this reduces the distortion in case of errors introduced by the channel on the index i(s).
As said before, the null word is not tested in the course of the optimum excitation search, and it is therefore convenient that it should be the first or the last word in the codebook contained in VI1. It is obvious that the number of words must be sufficiently high to make negliglble the performance loss inherent in the renunciation to one of them.
This is already obtained, for example, by a codebook with 64 words, and this is in practice a small codebook enabling to obtain a good quality.
The described operations are also contained in the flow chart in Fig. 2, which for the sake of clearness and .. .:. ~:
-~ 21~06~
completeness of description shows the whole analysis-by-synthesis procedure during a frame, and not only the gain quantization. In this diagram j is the word index in the innovation codebook and k is the subframe index in the frame.
Preliminary to the operations relevant to the search for optimum excitation in the first subframe the value i(gmax) is set to Nn. The different innovation words are then tested, their gains g(j,k) are calculated and the quantized values of these gains are determined, thus obtaining indexes i[g(j,k)].
Using these quantized values the energy of the weighted error is calculated and indexes i(s), i(g) of pairs innovation word-gain giving the l n; energy are stored.
At the end of the first subframe i(gmax) is updated if ilg(l)] > Nn. By using the quantized value of g the initial conditions of the filters in FS1 (Fig.1) are calculated and then the described operations are repeated for the other subframes. At the end of the frame, the index i(gnor) for each subframe is calculated and for each value the comparison with Nn-1 is carried out, causing transmission of index i(s) corresponding to the null innovation word for the subframes where i(gnor)>Nn-1. At the end of the check on the index i(gnor) of each subframe a new calculation of the initial conditions of the filters in FS1 is effectued to keep into account, in the following frame, any silencing of the innovation in one or more subframes. This new calculation can however be omitted to reduce the complexity of operations, without reducing noticeably the quality of coded signal.
The check on index i(gmax) does not appear in the flow chart. As a matter of fact the check is implicit in the initialization of i(gmax) to the value Nn before the search for the optimum excitation, since in this way this value will be issued as a value of i(gmax) if no indexes i(g) > Nn exist in the frame.
Fig. 3 contains the diagram of a possible realization of block IT.
This comprises a quantization circuit QU, quantizing, e.g. according to a logarithmic law, the gain values g ' ,~, 1 --' 2110645 determined by EL (Fig. 1) for each innovation word and present on a connection 1 QU supplies quantized values g~ to M1 (connection 4) and also generates indexes i(g) which represent the quantized values. Upon command of a signal CK0 emitted by EL whenever a minimum of error energy is detected, the index i(g) present at that instant at the output of QU is loaded in a buffer MT. At the end of the ;n; ;zation procedure relevant to a subframe, the index i(g) present in MT (indicating the optimum gain for the specific subframe) is loaded, upon command of signal CK1 which has a period equal to that of a subframe, into the proper cell of a register R1, having as many cells as the subframes in a frame. This index is also loaded, upon command of the same signal CK1, into a comparison logic network CFR, which is able to recognize and to store into an internal register the maximum among the indexes received. In this internal register of CFR the i n; value Nn admissible for i(gmax) will have been loaded before the beginning of the frame, so as to effect the above mentioned check. At the end of the frame, the value i~gmax) in the register of CFR (which as said before is one of the indexes i(g) or value Nn) is supplied by means of a connection 2a to the positive input of an adder S3 and transferred to index coding circuit CD. Reading of i(gmax) takes place upon command of a signal CK2, emitted after loading index i(g) relevant to the last subframe in a frame.
Adder S3 receives in sequence from register R1 the values of indexes i(g) of the current frame by means of multiplexer MX controlled by a signal CK3, and subtracts each of them from i(gmax) giving the normalized values ilgnor(k)]. A
comp~rator CM compares indexes i(gnor) with a second threshold Nn-1 and at each comparison sends to circuit CD, via an output connection 2b, the value i(gnor), if it is less than or equal to Nn-1, otherwise it emits value Nn-1; CM also emits a signal indicating the result of the comparison, sent to EL by means of connection 3 to cause EL to send to CD the index corresponding to the null word when i(gnor) > Nn- 1.
As said before, the aim of the invention is to allow a good efficiency of the gain coding keeping into account, with - ::
21~064~ :
-~ 12 a high probability, the gain quantization effects in the optimum excitation search and in the computation of the synthe~
sis filter initial conditions. The first aspect also implies that the total number Ng of quantization levels is rather limited.
The gain codebook can be a logarithmic codebook, so that the ratio between two consecutive values is a constant. To design the codebook it is necessary to keep into account several requirements:
~ values in dB must be as near as possible to allow a quantization as accurate as possible;
~ global dynamics between ;n~mv~ gain g(1) and -~; one g(Nm+Nn-1~ must be adequately extended to cover the different types of sound and a reasonable set of different ! 15 voice levels;
~ differential dynamics for indexes i(gnor) must be adequately extended to make the probability of silencing reasonably low.
In practical realization examples good performance was obtained by using codebooks in which Nm was 2~, Nn was 22 or 23 and the ratio between consecutive values fell in the range from 3 to 5 dB. -The described method actually eliminates thedrawbacks of the known technique.
The fact of transmitting a differential information instead of an absolute information allows reducing remarkably the number of bits to be dedicated to gain coding, since the admissible dynamics is limited with respect to the overall dynamics provided by the quantization law, as already said in 30 the discussion of EP-A-0396121. Moreover, this approach affords a greater robustness against channel errors since errors in transmission of individual parameters i(gnor) produce level variations which are lower than those obtainable by transmitting an absolute information.
By way of example, with the values given above for Ng, Nm and Nn, 4 bits are necessary for coding i(gmax) and 2 or 3 bits for each i(gnor); the transmission of individual indexes 21106~5 :
i(g), with the same codebook size and therefore with the same number of indexes, would require 5 bits for each subframe. In practice the invention results convenient or gives no drawback whenever the frame is divided into subframes.
Moreover, with the use of the ~x; , index and of the differential indexes to represent the gain, in the place of maximum value and of normalized values, the necessity for a double codebook of quantized values is eliminated.
Furthermore, quantized gain values are in any case calculated at each subframe and they can therefore be used in the search for the optimum word for individual subframes: in this way, except for the case of silencing, the optimization of the innovation word is improved since it takes into account quantization effects. The same effect is taken into consideration for initializing the filters at each subframe. In this way the distortion introduced will be reduced if compared to the case in which quantization effects are not taken into consideration.
It should be noted that also the use of a null innovation word could be decided beforehand (i.e. outside the analysis-by-synthesis loop) in order to represent with a perfect silence signal portions the energy of which is below a certain threshold or more generally signal portions for which such representation is deemed to be suitable from the perceptual standpoint (idle channel noise). This solution offers some advantages with respect to having the silencing carried out at the decoder since, in this way, the decoder is not bound to reconstruct the whole frame before effecting the silencing (to be assessed considering at least a complete frame) and it can immediately reproduce any subframe, as soon as it has the necessary information available, thus reducing the overall c~ :nication delay. In this case, value Nn is transmitted for i(gmax) and value Nn-l for all indexes i(gnor), and this corresponds to having an index ~(g)=1 for all subframes: in this way, should an index i(s) corresponding to a non-null word be received by any channel error, the gain would in any case be kept as low as possible.
'; 21106~ :
It is clear that what described has been given by way of non limiting example. Variations and modifications are possible without going out of the scope of the invention.
So, for example, the invention can be applied to coders where the innovation is supplied by different branches (with their respective gains), such as the coders described by I.A. Gerson and M.A. Iasuk in the paper "Vector Sum Excited Linear Prediction (VSELP) Speech Coding at 8 kbp/s" presented at International Conference on Acoustics, Speech and Signal ; 10 Processing (ICASSP 90), Albuquerque (US), 3-6 April 1990, or by R. Drogo De Iacovo and D. Sereno in the paper "Embedded CELP
coding for variable bit rate between 6,4 and 9,6 kbits~s"
i presented at International Conference on Acoustics, Speech and Signal Processing (ICASSP 91), Toronto (Canada), 14-17 May 1991. For the first branch the gain quantization method remains as that described. For each of the other branches, for each subframe, the normalized index is represented by the difference between gain index i(g) determined for the preceding branch in the same subframe and that of the branch being considered, and only the normalized index is transmitted. In other words, the normalized index for all the branches following the first one is itgnor(k, m)] = i[g(k, m-1)] - i[g(k, m)], where k still indicates the generic subframe and m (2 5 m 5 M, with M number of innovation branches) indicates the generic branch. The dynamics of i(gnor) must be limited also for these branches, considering that i(gnor) can be positive or negative: more particularly, if i(gnor) is positive and exceeds a certain threshold, innovation will be silenced as before; if i(gnor) is too much negative, it is clipped to a preset value, e.g. -2, -1 or even 0, so that the innovation component supplied by that branch has a limited amplitude. The limits are obviously chosen so as to have low probabilities both of silencinq and of clipping. The advantage as compared to the normalization with respect to i(gmax) also for the branches following the first one is twofold:
~ the necessity for transmitting M values of i~gmax) is eliminated;
211064~
; 15 - considering that the different components of the same subframe have amplitudes quite correlated to one another, and particularly that it is rather unlikely that there could be strong differences between subsequent components, indexes i(gnor) for the branches following the first one will each require very few bits.
Finally, as said before, the invention can be applied to the quantization of the excitation gain in any analysis-by-synthesis coder.
10One more statement is that in the more general case gains can have a positive or a negative sign. The invention however concerns absolute value quantization: information about ~ ~ -the sign, if necessary, will be supplied to CD by EL (Fig. 1) and transmitted through a special bit.
' , - ' .~ .:: -:;:
.: :' : .
.' ' ..' '. ",:
,::
In coders using analysis-by-synthesis techniques, the excitation signal for the synthesis filter simulating the speech production apparatus is chosen within a set of excitation signals so as to ; ni; ze a perceptually -~n;ngful measure of distortion. These excitation signals can be for example regularly spaced pulses (regular pulse excitation coding or RPE), pulses spaced in a non uniform way (multipulse excitation coding or MPE), vectors or words made up of a certain number of samples ~e.g. codebook excitation codlng or CELP), etc.
Each excitation signal comprises a "shape"
contribution ~posslble configurations of pulse positions in the case of regular pulse excitation or multipulse excitation, codebook vectors or words in case of CELP) and amplitude contrlbutlon ~amplitude of the lndividual pulses in the case of regular pulse excitation or multlpulse excitatlon, gain or scale factor for CELP). Information relevant to pulse signs can be included in one of the two contributions or in both or also kept separate, depending on the specific case. For a better ''~
;~ 2 21106~
~ understanding, hereinafter the two contributions will L. respectively be called "innovation" and "gain" and information on pulse signs will be comprised in the innovation, so that gain will be an absolute value. Information relevant to the two contributions are quantized separately during coding; during decoding, this information allows reconstructing the optimum excitation signal, which is filtered in a synthesis filter, corresponding to that utilized in the coder, in order to give the reconstructed signal.
Synthesis filter includes a short-term filter, which inserts features linked to the signal spectral envelope, and may include a long- term filter, which inserts features linked ~j~ to the fine signal spectral structure.
'.!' Owing to the variability of speech signal, synthesis filter parameters must be updated periodically. The validity period, commonly called frame, varies typically from a few mil-' liseconds to a few tens of milliseconds (e.g. 2 - 30 ms). Each frame comprises therefore a number of samples which, when the sampling rate is equal to 8 kHz, varies from about ten to 1 - 2 hundreds. Except for short frames, it is not possible to use only one excitation signal for representing the whole frame, since this would require the use of relatively long pulse sequences, words or vectors, making too heavy or even unbearable the computational burden necessary to detect the optimum excitation. Each frame is then divided into a certain - number of subframes and for each of them an optimum excitat~on is determined. Typical lengths for the subframes are 16 - 40 samples.
When the frame is divided into subframes, innovation in a subframe can be quantized independently from that of the contiguous subframes. The same method could be also adopted for gain quantization. This solution allows to keep into account at the transmitter the quantization effects both when searching ' for the optimum excitation during a subframe, and when computing initial conditions of the synthesis filter: an alignment between coder and decoder operations is obtained in this way and this makes recovery of quantization error easier.
-'~':''~-'.' ~' '' 21~06~
This solution is however scarcely efficient, since it does not ~ exploit the correlation always existing between ad~acent ; subframe gains and requires therefore a high number of coding bits for gain information. A lower number of bits r~ ~ns therefore available for coding other information: considering - that analysis-by-synthesis coders are mostly used in j~ applications with a relatively low bit rate, the re~n~ng availability can be insufficient to obtain a good quality of coded signal, cancelling the advantages deriving by the quantization at each subframe.
Methods carrying out an efficient quantization of excitation gain at the end of a frame, and not at each ;; subframe, thus limiting the number of bits to be transmitted, are already known.
A first method is vector quantization, which, as it is well-known, is a particularly efficient technique for quantization of correlated or generally non-independent parameters. This method is however scarcely adopted since vector quantization is very sensitive to transmission errors and its use would also imply the adoption of sophisticated error protection techniques, making therefore the coder more complicated.
A second solution has been proposed in European patent application EP-A-0396121 in the name of CSELT, where the gain values of the subframes are normalized with respect to the ~ x; value or average value in the frame and both the normalized values and the -xi or average value are - quantized. Obviously, the total number of bits is reduced, because the normalized value has a remarkably lower dynamics than the actual value; it is however necessary to have two quantization codebooks, one for -x; or average values, and , the other for normalized values. Moreover, both with this technique and with the use of vector quantization, it is not possible to keep account of the quantization effects at the transmitter either during the optimum excitation search in the subframe or at the passage from a subframe to the next, since quantized values are not available yet.
~ 2110 6 ~ ~ :
I~ 4 ~~*~ The aim of the invention is to supply a method and a ' device for gain quantization allowing both availability at the coder of the quantized values relevant to each subframe, so as to keep account of quantization effects during optimum ~ 5 excitation search in a subframe and computation of initial .~ conditions at the passage from a subframe to the next, and an ~ efficient exploitation of correlations between adjacent ,i~i- subframe gains, with a consequent reduction of the coding bit ~-~ number.
~ 10 According to the invention, during coding in t transmission, the amplitude contribution of the excitation ~ . , .
signal is quantized at each subframe deteL ining a gain index i~g); the -x; value i(gmax) taken in a frame by the gain ~- index i(g) is determined; a normalized index i~gnor) relevant to each subframe is calculated as the difference between ~x; , index i(gmax) and subframe gain index i(g); and -x; index i(gmax) and the set of normalized indexes i(gnor) . are coded and transmitted, in order to represent amplitude contributions relevant to a frame. During decoding, the gain index i(g) of each subframe is reconstructed starting from the ; index in the frame i(gmax) and from the normalized index i(gnor) relevant to the subframe.
By this method, gains are quantized at each subframe, even if the relevant index is not transmitted, so that the quantized value is available and it can therefore be used, as in the case of scalar quantization at each subframe; moreover, information is transmitted in a differential (or normalized) form on the indexes and not on the values, thus permitting a reduction of the quantity of information to be transmitted, as in EP-A-O 396 211, and the use of only one quantization codebook.
The invention supplies also a device for carrying out the method, comprising, at the transmission side:
~ means for quantizing amplitude contribution values determined by a distortion ~ n~ lzation unit for each ~ possible shape contribution, the quantization means 2llo645 supplying quantized amplitude values and gain indexes representing them;
~ a comparison logic network which receives from the quantization means, at each subframe, the index i(g) indicating the optimum amplitude contribution for that specific subframe which is arranged to recognize and to supply to index coding units at the end of a frame the ~x1ml index i(gmax) among the received indexes;
- means for temporarily storing gain indexes i(g) relevant to a frame; and - means for computing a set of normalized indexes i(gnor), one per subframe, the computing means receiving the ~x1 index from comparison logic network and the stored indexes from storage means and computing the set of normalized indexes as the difference between the -~i index i(gmax) and each of the indexes i~g) stored in the storage means, the normalized indexes being supplied to index coding units;
and also comprising at the reception side, means for reconstructing a gain index i(g) for each subframe starting from the ~xi index and from the normalized indexes, decoded in a decoding circuit, and for supplying this gain index i(g) as a reading address to a memory containing the set of quantized amplitude values.
The invention also concerns a method for coding speech signals employing analysis-by- synthesis techniques, where the excitation gains are quantized with the above mentioned quantization method, and a speech coder including the above mentioned device for quantizing excitation gains.
The present invention will be better understood by referring to the annexed drawings, where:
~ Fig. 1 is a schematic diagram of the analysis- by synthesis loop of a coder using the inventlon;
~ Fig. 2 is a flow chart of the method according to the invention;
~ Fig. 3 is a diagram of the gain quantization circuit.
The description that follows will refer, by way of example, to a CELP coder, since therein the separation of .. .. :
21~069~
excitation shape and amplitude contributions is immediate and the understanding of the invention is easier.
Referring to Fig. 1, the transmitter of a CELP coding system can be outlined by:
~ a filtering system FSl (synthesis filter) simulating the speech production apparatus and including in general the cascade of a long-term synthesis filter and a short-term synthesis filter which impose on an excitation signal respectively features linked to the fine signal spectral structure (in particular voiced sounds periodicity) and those linked to signal spectral envelope; the parameters of this filter ~linear prediction coefficients ai, gain b and delay D of long-term analysis) are supplied by analysis circuits not represented;
- a first read-only memory VI1, which contains the codebook of the innovation words vectors s(n);
~ a multiplier Ml which, during optimum excitation search, multiplies the words s(n) of the innovation codebook by the relevant gains g giving an excitation signal e(n) to be filtered in FS1;
~ an adder Sl, effecting the comparison between the original signal x(n) and the filtered or reconstructed signal y(n) outcoming from FSl and giving an error signal d(n) represented by the difference between the two signals;
~ a filter FP for the spectral shaping or weighting of the error signal, to make less perceptible the differences between the original signal and reconstructed signal;
~ a processing unit EL which carries out all the operations required to identify at each subframe the optimum innovation vector and the optimum gain (in absolute value and sign), i.e. the vector and gain minimizing the energy of the weighted error signal w(n) supplied by FP.
During this ~ nl ~ zation, in the same way as in a conventional CELP coder, the possible innovation words will be tested in succession in each subframe and an optimum gain will be determined for each of them. At the end of each test cycle an optimum word and a relevant gain forming the excitation for '.: ~ - .
211 0~5 ' 7 that subframe, are then obtained. The minimization procedure is widely described in literature and it is not influenced by the present invention; further details are not therefore necessary.
A general description is nevertheless given in the article "A
class of analysis-by-synthesis predictive coders for high quality speech coding at rates between 4,8 and 16 kb/s", by P.
Kroon and E.F. Deprettere, IEEE Journal on Selected Areas on Communication, Vol. 6, N.2 (February 1989) pages 353 - 364. The only particularities, according to the invention, are that the innovation codebook also contains a null word, which is used under certain conditions which will be described later and which is not taken into consideration during the optimum word search, and that the gains are quantized gains, so that the effects of quantization can be taken into account in dete~ lning the optimum word and in calculating the synthesis filter initial conditions at each subframe.
The information relevant to the chosen vector and gain, together with those relevant to the filter parameters, suitably quantized and binary coded in a coding circuit CD, make up the coded speech signal transmitted to the receiver.
This information is normally represented by indexes or set of indexes allowing identifying the quantized value of each quantity in a relevant codebook of quantized values provided at the receiver.
For what concerns innovation, indexes i(s) of the words relevant to individual subframes are supplied to CD at the end of the frame, since only at this moment it can be checked whether the conditions exist for the choice of the null excitation word, as it will be explained further on. Gain quantization is carried out in a circuit IT, connected between j block FL and coding circuit CD, to be described with reference to Fig. 3.
The receiver comproses: a decoder DC, performing operations complementary to those of the circuit CD; a first read-only memory VI2, a multiplier M2 and a synthesis filter FS2, identical to the transmitter units VIl, M1, FS1; a second read-only memory VG which contains the quantized gain codebook.
.
21i0~4~
Information coming from the transmitter, suitably decoded in DC, allows selecting in VI2 and VG, at each subframe, the word s (n) and the gain g (n) corresponding to those chosen during the coding stage, and updating the parameters of filter FS2.
The reconstructed signal x (n), possibly converted into analogue form, is supplied to the utilization devices.
According to the present invention, quantized gains belong to a set of Ng values, where Ng is given by Ng = Nm+Nn-1, with Nm and Nn powers of 2. The reason for which gain codebook size is expressed in this way will be made clear from the following of the description. Each of these values is associated with an index i~g) which is not transmitted but which is supplied to IT. IT recognixes the ~xl index i(gmax) among gain indexes i(g) of the frame and computes a set of normalized indexes i(gnor), one per subframe, according to relation i[gnor(k)] = i(gmax) - i[g(k)], where k is the generic subframe in the frame. At the end of frame the index i(gmax) and indexes i[gnor(k)] of the different subframes will be transmitted; these indexes will be given preset values when certain conditions occur, as explained further on. At the receiver, index î(gmax) and indexes ~(gnor) reconstructed by DC
are supplied to an adder S2, which re-creates indexes 1~g(k)]
according to relation i[g(k)] = 1(gmax) - î[gnor~k)].
The conditions leading to give a special value to i(gmax) and i~gnor) are represented by~
- too low a value of i(gmax), lower than Nn, in which case there is set i~gmax) = Nm; this check is carried out before determining indexes i~gnor);
~ too high a value of i~gnor), higher than Nn-l, in which case the null innovation word is transmitted ~i.e. excitation is silenced), forcing also i~gnor) to Nn-l.
It can thus be seen that both i(gmax) and i(gnor) can take only a limited number of values. Indicating with Nm the possible number of values for i(gmax), the choice made for the 35 1 ni ~ threshold of i~gmax) leads to the relationship given above for the size of the gain codebook. Thanks to the solution described, even ln the case of an index i(g) < Nn, the 21~06~
: g normalized index i(gnor) can take the whole value dynamics and therefore always bear the maximum possible information which would otherwise be partly or totally wasted (as a matter of fact for i(gmax) = 1, i(gnor) would be 0). In this way there is - 5 the advantage of having i(g) reach the value Nm+Nn-1, continuing however to utilize Nm values (and therefore log2Nm bit) for i(gmax).
For what concerns the second condition, the normalized index i(gnor~ has clearly a dynamics between 0 and a certain positive value. Keeping into account the correlations which exist in general between the signals inside a frame, the maximum positive value (which indicates a very low gain in the concerned subframe) is limited to a suitable value, selected so that the probability of exceeding it is reasonably low. Should it be exceeded, the ~x; admissible value for the index i(gnor) could be transmitted, and this corresponds to the amplification of the transmitted signal portion. According to the invention, it is however preferred to consider the subframe as silence and transmit the index i(s) corresponding to the null innovation word, since the distortion (subjective or objective) introduced by silencing a certain signal portion is lower than that due to an excessive amplification. Even if the index i(gnor) for this subframe does not bear any information, it is in any case preferred to transmit it with value Nn-l because this reduces the distortion in case of errors introduced by the channel on the index i(s).
As said before, the null word is not tested in the course of the optimum excitation search, and it is therefore convenient that it should be the first or the last word in the codebook contained in VI1. It is obvious that the number of words must be sufficiently high to make negliglble the performance loss inherent in the renunciation to one of them.
This is already obtained, for example, by a codebook with 64 words, and this is in practice a small codebook enabling to obtain a good quality.
The described operations are also contained in the flow chart in Fig. 2, which for the sake of clearness and .. .:. ~:
-~ 21~06~
completeness of description shows the whole analysis-by-synthesis procedure during a frame, and not only the gain quantization. In this diagram j is the word index in the innovation codebook and k is the subframe index in the frame.
Preliminary to the operations relevant to the search for optimum excitation in the first subframe the value i(gmax) is set to Nn. The different innovation words are then tested, their gains g(j,k) are calculated and the quantized values of these gains are determined, thus obtaining indexes i[g(j,k)].
Using these quantized values the energy of the weighted error is calculated and indexes i(s), i(g) of pairs innovation word-gain giving the l n; energy are stored.
At the end of the first subframe i(gmax) is updated if ilg(l)] > Nn. By using the quantized value of g the initial conditions of the filters in FS1 (Fig.1) are calculated and then the described operations are repeated for the other subframes. At the end of the frame, the index i(gnor) for each subframe is calculated and for each value the comparison with Nn-1 is carried out, causing transmission of index i(s) corresponding to the null innovation word for the subframes where i(gnor)>Nn-1. At the end of the check on the index i(gnor) of each subframe a new calculation of the initial conditions of the filters in FS1 is effectued to keep into account, in the following frame, any silencing of the innovation in one or more subframes. This new calculation can however be omitted to reduce the complexity of operations, without reducing noticeably the quality of coded signal.
The check on index i(gmax) does not appear in the flow chart. As a matter of fact the check is implicit in the initialization of i(gmax) to the value Nn before the search for the optimum excitation, since in this way this value will be issued as a value of i(gmax) if no indexes i(g) > Nn exist in the frame.
Fig. 3 contains the diagram of a possible realization of block IT.
This comprises a quantization circuit QU, quantizing, e.g. according to a logarithmic law, the gain values g ' ,~, 1 --' 2110645 determined by EL (Fig. 1) for each innovation word and present on a connection 1 QU supplies quantized values g~ to M1 (connection 4) and also generates indexes i(g) which represent the quantized values. Upon command of a signal CK0 emitted by EL whenever a minimum of error energy is detected, the index i(g) present at that instant at the output of QU is loaded in a buffer MT. At the end of the ;n; ;zation procedure relevant to a subframe, the index i(g) present in MT (indicating the optimum gain for the specific subframe) is loaded, upon command of signal CK1 which has a period equal to that of a subframe, into the proper cell of a register R1, having as many cells as the subframes in a frame. This index is also loaded, upon command of the same signal CK1, into a comparison logic network CFR, which is able to recognize and to store into an internal register the maximum among the indexes received. In this internal register of CFR the i n; value Nn admissible for i(gmax) will have been loaded before the beginning of the frame, so as to effect the above mentioned check. At the end of the frame, the value i~gmax) in the register of CFR (which as said before is one of the indexes i(g) or value Nn) is supplied by means of a connection 2a to the positive input of an adder S3 and transferred to index coding circuit CD. Reading of i(gmax) takes place upon command of a signal CK2, emitted after loading index i(g) relevant to the last subframe in a frame.
Adder S3 receives in sequence from register R1 the values of indexes i(g) of the current frame by means of multiplexer MX controlled by a signal CK3, and subtracts each of them from i(gmax) giving the normalized values ilgnor(k)]. A
comp~rator CM compares indexes i(gnor) with a second threshold Nn-1 and at each comparison sends to circuit CD, via an output connection 2b, the value i(gnor), if it is less than or equal to Nn-1, otherwise it emits value Nn-1; CM also emits a signal indicating the result of the comparison, sent to EL by means of connection 3 to cause EL to send to CD the index corresponding to the null word when i(gnor) > Nn- 1.
As said before, the aim of the invention is to allow a good efficiency of the gain coding keeping into account, with - ::
21~064~ :
-~ 12 a high probability, the gain quantization effects in the optimum excitation search and in the computation of the synthe~
sis filter initial conditions. The first aspect also implies that the total number Ng of quantization levels is rather limited.
The gain codebook can be a logarithmic codebook, so that the ratio between two consecutive values is a constant. To design the codebook it is necessary to keep into account several requirements:
~ values in dB must be as near as possible to allow a quantization as accurate as possible;
~ global dynamics between ;n~mv~ gain g(1) and -~; one g(Nm+Nn-1~ must be adequately extended to cover the different types of sound and a reasonable set of different ! 15 voice levels;
~ differential dynamics for indexes i(gnor) must be adequately extended to make the probability of silencing reasonably low.
In practical realization examples good performance was obtained by using codebooks in which Nm was 2~, Nn was 22 or 23 and the ratio between consecutive values fell in the range from 3 to 5 dB. -The described method actually eliminates thedrawbacks of the known technique.
The fact of transmitting a differential information instead of an absolute information allows reducing remarkably the number of bits to be dedicated to gain coding, since the admissible dynamics is limited with respect to the overall dynamics provided by the quantization law, as already said in 30 the discussion of EP-A-0396121. Moreover, this approach affords a greater robustness against channel errors since errors in transmission of individual parameters i(gnor) produce level variations which are lower than those obtainable by transmitting an absolute information.
By way of example, with the values given above for Ng, Nm and Nn, 4 bits are necessary for coding i(gmax) and 2 or 3 bits for each i(gnor); the transmission of individual indexes 21106~5 :
i(g), with the same codebook size and therefore with the same number of indexes, would require 5 bits for each subframe. In practice the invention results convenient or gives no drawback whenever the frame is divided into subframes.
Moreover, with the use of the ~x; , index and of the differential indexes to represent the gain, in the place of maximum value and of normalized values, the necessity for a double codebook of quantized values is eliminated.
Furthermore, quantized gain values are in any case calculated at each subframe and they can therefore be used in the search for the optimum word for individual subframes: in this way, except for the case of silencing, the optimization of the innovation word is improved since it takes into account quantization effects. The same effect is taken into consideration for initializing the filters at each subframe. In this way the distortion introduced will be reduced if compared to the case in which quantization effects are not taken into consideration.
It should be noted that also the use of a null innovation word could be decided beforehand (i.e. outside the analysis-by-synthesis loop) in order to represent with a perfect silence signal portions the energy of which is below a certain threshold or more generally signal portions for which such representation is deemed to be suitable from the perceptual standpoint (idle channel noise). This solution offers some advantages with respect to having the silencing carried out at the decoder since, in this way, the decoder is not bound to reconstruct the whole frame before effecting the silencing (to be assessed considering at least a complete frame) and it can immediately reproduce any subframe, as soon as it has the necessary information available, thus reducing the overall c~ :nication delay. In this case, value Nn is transmitted for i(gmax) and value Nn-l for all indexes i(gnor), and this corresponds to having an index ~(g)=1 for all subframes: in this way, should an index i(s) corresponding to a non-null word be received by any channel error, the gain would in any case be kept as low as possible.
'; 21106~ :
It is clear that what described has been given by way of non limiting example. Variations and modifications are possible without going out of the scope of the invention.
So, for example, the invention can be applied to coders where the innovation is supplied by different branches (with their respective gains), such as the coders described by I.A. Gerson and M.A. Iasuk in the paper "Vector Sum Excited Linear Prediction (VSELP) Speech Coding at 8 kbp/s" presented at International Conference on Acoustics, Speech and Signal ; 10 Processing (ICASSP 90), Albuquerque (US), 3-6 April 1990, or by R. Drogo De Iacovo and D. Sereno in the paper "Embedded CELP
coding for variable bit rate between 6,4 and 9,6 kbits~s"
i presented at International Conference on Acoustics, Speech and Signal Processing (ICASSP 91), Toronto (Canada), 14-17 May 1991. For the first branch the gain quantization method remains as that described. For each of the other branches, for each subframe, the normalized index is represented by the difference between gain index i(g) determined for the preceding branch in the same subframe and that of the branch being considered, and only the normalized index is transmitted. In other words, the normalized index for all the branches following the first one is itgnor(k, m)] = i[g(k, m-1)] - i[g(k, m)], where k still indicates the generic subframe and m (2 5 m 5 M, with M number of innovation branches) indicates the generic branch. The dynamics of i(gnor) must be limited also for these branches, considering that i(gnor) can be positive or negative: more particularly, if i(gnor) is positive and exceeds a certain threshold, innovation will be silenced as before; if i(gnor) is too much negative, it is clipped to a preset value, e.g. -2, -1 or even 0, so that the innovation component supplied by that branch has a limited amplitude. The limits are obviously chosen so as to have low probabilities both of silencinq and of clipping. The advantage as compared to the normalization with respect to i(gmax) also for the branches following the first one is twofold:
~ the necessity for transmitting M values of i~gmax) is eliminated;
211064~
; 15 - considering that the different components of the same subframe have amplitudes quite correlated to one another, and particularly that it is rather unlikely that there could be strong differences between subsequent components, indexes i(gnor) for the branches following the first one will each require very few bits.
Finally, as said before, the invention can be applied to the quantization of the excitation gain in any analysis-by-synthesis coder.
10One more statement is that in the more general case gains can have a positive or a negative sign. The invention however concerns absolute value quantization: information about ~ ~ -the sign, if necessary, will be supplied to CD by EL (Fig. 1) and transmitted through a special bit.
' , - ' .~ .:: -:;:
.: :' : .
.' ' ..' '. ",:
,::
Claims (19)
1. Method of quantizing excitation amplitude in speech coders based on analysis-by-synthesis techniques, comprising the steps of:
a) organizing samples of speech signal to be coded into frames each comprising a plurality of contiguous subframes for each of which subframes an optimum excitation signal must be determined by minimizing a perceptually meaningful measure of distortion, said excitation signal comprising a first contribution, representing a signal shape, and a second contribution, representing a signal amplitude, said contributions being chosen in a set of shape contributions and in a set of amplitude contributions, respectively, each possible contribution within the set of shape contributions being identified by an innovation index i[s(j)] and each possible contribution within the set of amplitude contributions being identified by a gain index i[g(j)];
b) during coding, quantizing the amplitude contribution of the excitation signal for each subframe thereby determining a corresponding gain index i(g);
c) determining a maximum value i(gmax) of said gain index i(g) in a frame;
d) calculating a normalized index i(gnor) relevant to each subframe as a difference between said maximum index i(gmax) and the gain index i(g) of the subframe;
e) coding and transmitting said maximum index i(gmax) and a set of normalized indexes i(gnor) to represent the amplitude contributions relevant to a frame;
f) during decoding, reconstructing the gain index i(g) of each subframe from said maximum index i(gmax) in the frame and from the normalized index i(gnor) relevant to the subframe.
a) organizing samples of speech signal to be coded into frames each comprising a plurality of contiguous subframes for each of which subframes an optimum excitation signal must be determined by minimizing a perceptually meaningful measure of distortion, said excitation signal comprising a first contribution, representing a signal shape, and a second contribution, representing a signal amplitude, said contributions being chosen in a set of shape contributions and in a set of amplitude contributions, respectively, each possible contribution within the set of shape contributions being identified by an innovation index i[s(j)] and each possible contribution within the set of amplitude contributions being identified by a gain index i[g(j)];
b) during coding, quantizing the amplitude contribution of the excitation signal for each subframe thereby determining a corresponding gain index i(g);
c) determining a maximum value i(gmax) of said gain index i(g) in a frame;
d) calculating a normalized index i(gnor) relevant to each subframe as a difference between said maximum index i(gmax) and the gain index i(g) of the subframe;
e) coding and transmitting said maximum index i(gmax) and a set of normalized indexes i(gnor) to represent the amplitude contributions relevant to a frame;
f) during decoding, reconstructing the gain index i(g) of each subframe from said maximum index i(gmax) in the frame and from the normalized index i(gnor) relevant to the subframe.
2. Method according to claim 1, wherein said maximum index and all normalized indexes identify quantized amplitude values inside a same set.
3. Method according to claim 2, wherein in the case where the maximum index in a frame i(gmax) identifies a quantized amplitude value lower than a first threshold, the gain index associated to the said first threshold is used for determining normalized indexes i(gnor) and is coded and transmitted instead of the maximum index.
4. Method according to claim 2 or 3, wherein the set of the shape contributions comprises also a null contribution, and in that, when the normalized index i(gnor) in a subframe identifies a quantized amplitude value higher than a second threshold, the relevant information is transmitted by means of the innovation index corresponding to a null shape contribution, so as to silence the excitation for that subframe.
5. Method according to claim 4, wherein the index associated to said second threshold is coded and transmitted as the normalized index.
6. Method according to claim 1, wherein the excitation signal for a subframe is obtained as a combination of excitations chosen in separate subsets, comprising a main subset and one or more secondary subsets, and in that, for the main subset, the amplitude contribution is quantized by using said maximum index and said normalized indexes, and in that for the or each secondary subset the amplitude contribution is quantized solely by means of a group of differential indexes, one per subframe, each differential index relevant to the or a secondary subset being obtained by subtracting the gain index relevant to the present secondary subset from the gain index determined for the same subframe for the previous secondary subset or for the main subset, in the case of the first secondary subset or of a single secondary subset.
7. Method according to claim 6, wherein in the case in which a differential index is higher than a first preset positive value, the corresponding excitation shape contribution is silenced, and in the case in which said differential index is lower than a second preset value, it is given a value which is not lower than the second preset value.
8. Method according to any one of claims 1-7, wherein the amplitude contribution is quantized according to a logarithmic quantization law.
9. Method according to claim 5, wherein the excitation is silenced for at least one frame by transmitting, for all subframes, the innovation index corresponding to the null shape contribution, whenever the characteristics of the signal to be coded are such as to make convenient, from a perceptual standpoint, signal reproduction by means of a period of silence.
10. Method according to claim 9, wherein the values corresponding to the said first and second threshold are transmitted as indexes i(gmax) and i(gnor).
11. A device for quantizing excitation amplitude in speech coders based on analysis-by-synthesis techniques, in which samples of the speech signal to be coded are divided into frames each comprising a plurality of contiguous subframes for each of which an optimum excitation signal is determined by minimizing a perceptually meaningful measure of distortion, said excitation signal comprising a first contribution, representing a signal shape, and a second contribution, representing a signal amplitude, both contributions being chosen in respective sets within which each possible contribution is identified by an innovation index i[s(j)] and a gain index i[g(j)], respectively, wherein the device comprises, at the transmission side:
a) means for quantizing amplitude contribution values determined by a distortion minimization unit for each possible shape contribution, the quantization means supplying quantized amplitude values and gain indexes representing them;
b) a comparison logic network which receives from the quantization means, at each subframe, the gain index i(g) identifying the optimum amplitude contribution for that subframe and which is arranged to recognize and to supply to an index coding unit at the end of a frame the maximum index i(gmax) among the received gain indexes;
c) means for temporary storing the gain indexes i(g) relevant to a frame; and d) means for computing a set of normalized indexes (gnor), one per subframe, the computing means receiving from the comparison logic network the maximum index and from the storage means the stored gain indexes, and computing said set of normalized indexes as the difference between the maximum index i(gmax) and each of the stored indexes i(g) in said storage means, the normalized indexes being supplied to index coding units;
and wherein the device comprises on the reception side, means for constructing a gain index i(g) for each subframe starting from the maximum index and from the normalized indexes, decoded in a decoding circuit, and for supplying such a gain index i(g) as a reading address to a memory, containing the set of quantized amplitude values.
a) means for quantizing amplitude contribution values determined by a distortion minimization unit for each possible shape contribution, the quantization means supplying quantized amplitude values and gain indexes representing them;
b) a comparison logic network which receives from the quantization means, at each subframe, the gain index i(g) identifying the optimum amplitude contribution for that subframe and which is arranged to recognize and to supply to an index coding unit at the end of a frame the maximum index i(gmax) among the received gain indexes;
c) means for temporary storing the gain indexes i(g) relevant to a frame; and d) means for computing a set of normalized indexes (gnor), one per subframe, the computing means receiving from the comparison logic network the maximum index and from the storage means the stored gain indexes, and computing said set of normalized indexes as the difference between the maximum index i(gmax) and each of the stored indexes i(g) in said storage means, the normalized indexes being supplied to index coding units;
and wherein the device comprises on the reception side, means for constructing a gain index i(g) for each subframe starting from the maximum index and from the normalized indexes, decoded in a decoding circuit, and for supplying such a gain index i(g) as a reading address to a memory, containing the set of quantized amplitude values.
12. A device according to claim 11, wherein said quantization circuit quantizes the amplitude contribution values according to a logarithmic scale.
13. A device according to claim 11, wherein said comparison logic network stores, at the beginning of each frame, an initial value for the maximum index i(gmax), said initial value being a first threshold value representing the minimum admissible value for the maximum index i(gmax).
14. A device according to claim 11, wherein the means for computing normalized indexes supply said normalized indexes to comparison means which compare each normalized index with a second threshold value and supply at the output, at each comparison, either the normalized index or the second threshold value, depending on which is the greatest.
15. A device according to claim 14, wherein the comparison means, whenever a normalized index exceeds said second threshold value, signals this excess also to the minimization unit, to silence the corresponding shape contribution of the excitation signal by transmitting the innovation index corresponding to a null shape contribution.
16. Method of speech signal coding by means of analysis-by-synthesis techniques, in which the samples of speech signal to be coded are organized in frames each comprising a plurality of contiguous subframes for each of which an optimum excitation signal must be determined by minimizing a perceptually meaningful measure of distortion, said excitation signal comprising a first contribution, representing a signal shape, and a second contribution, representing a signal amplitude, chosen in respective sets within which each possible contribution is identified by an innovation index i[s(j)] and a gain index i[g(j)], respectively, wherein the amplitude contribution is quantized by the method according to claim 1.
17. Method according to claim 16, wherein for distortion minimization in each subframe, quantized values of amplitude contribution are used, and wherein at each new subframe the initial conditions of a synthesis filter simulating the speech production apparatus are computed by using the quantized value of the amplitude contribution of the excitation signal of the preceding subframe.
18. Method according to claim 17, wherein the initial conditions of the synthesis filter are calculated again after determining the normalized indexes.
19. Speech coder employing analysis-by-synthesis techniques, containing at a transmission side, a filtering system simulating the speech production apparatus and fed by an excitation signal which is chosen within a set of signals so as to minimize a perceptually meaningful measure of distortion and which is made up of a shape contribution and an amplitude contribution, and a device for quantizing said contributions in accordance with claim 11.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ITTO92A000982 | 1992-12-04 | ||
ITTO920982A IT1257431B (en) | 1992-12-04 | 1992-12-04 | PROCEDURE AND DEVICE FOR THE QUANTIZATION OF EXCIT EARNINGS IN VOICE CODERS BASED ON SUMMARY ANALYSIS TECHNIQUES |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2110645A1 CA2110645A1 (en) | 1994-06-05 |
CA2110645C true CA2110645C (en) | 1998-06-16 |
Family
ID=11410902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002110645A Expired - Lifetime CA2110645C (en) | 1992-12-04 | 1993-12-03 | Method of and device for quantizing excitation gains in speech coders based on analysis-by-synthesis techniques |
Country Status (10)
Country | Link |
---|---|
US (1) | US5519807A (en) |
EP (1) | EP0600504B1 (en) |
JP (1) | JP3204581B2 (en) |
AT (1) | ATE172045T1 (en) |
CA (1) | CA2110645C (en) |
DE (2) | DE69321444T2 (en) |
ES (1) | ES2054606T3 (en) |
FI (1) | FI115327B (en) |
GR (1) | GR940300069T1 (en) |
IT (1) | IT1257431B (en) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW419645B (en) * | 1996-05-24 | 2001-01-21 | Koninkl Philips Electronics Nv | A method for coding Human speech and an apparatus for reproducing human speech so coded |
US6370238B1 (en) | 1997-09-19 | 2002-04-09 | Siemens Information And Communication Networks Inc. | System and method for improved user interface in prompting systems |
US6069940A (en) * | 1997-09-19 | 2000-05-30 | Siemens Information And Communication Networks, Inc. | Apparatus and method for adding a subject line to voice mail messages |
US6584181B1 (en) | 1997-09-19 | 2003-06-24 | Siemens Information & Communication Networks, Inc. | System and method for organizing multi-media messages folders from a displayless interface and selectively retrieving information using voice labels |
SE519563C2 (en) * | 1998-09-16 | 2003-03-11 | Ericsson Telefon Ab L M | Procedure and encoder for linear predictive analysis through synthesis coding |
CA2252170A1 (en) | 1998-10-27 | 2000-04-27 | Bruno Bessette | A method and device for high quality coding of wideband speech and audio signals |
DE60214027T2 (en) | 2001-11-14 | 2007-02-15 | Matsushita Electric Industrial Co., Ltd., Kadoma | CODING DEVICE AND DECODING DEVICE |
DE10249386B3 (en) * | 2002-10-23 | 2004-07-08 | Pingo Erzeugnisse Gmbh | Metal fire prevention and protection agent, useful as class D fire inhibitor and extinguisher for e.g. light metal or alkali metal, is anhydrous emulsion of at least dihydric alcohol in polydimethylsiloxane, stabilized with emulsifier |
US7542899B2 (en) * | 2003-09-30 | 2009-06-02 | Alcatel-Lucent Usa Inc. | Method and apparatus for adjusting the level of a speech signal in its encoded format |
US8265929B2 (en) * | 2004-12-08 | 2012-09-11 | Electronics And Telecommunications Research Institute | Embedded code-excited linear prediction speech coding and decoding apparatus and method |
US9454974B2 (en) * | 2006-07-31 | 2016-09-27 | Qualcomm Incorporated | Systems, methods, and apparatus for gain factor limiting |
KR101508819B1 (en) * | 2009-10-20 | 2015-04-07 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | Multi-mode audio codec and celp coding adapted therefore |
US10373608B2 (en) | 2015-10-22 | 2019-08-06 | Texas Instruments Incorporated | Time-based frequency tuning of analog-to-information feature extraction |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1229681A (en) * | 1984-03-06 | 1987-11-24 | Kazunori Ozawa | Method and apparatus for speech-band signal coding |
US4704730A (en) * | 1984-03-12 | 1987-11-03 | Allophonix, Inc. | Multi-state speech encoder and decoder |
CA1255802A (en) * | 1984-07-05 | 1989-06-13 | Kazunori Ozawa | Low bit-rate pattern encoding and decoding with a reduced number of excitation pulses |
JPS6332599A (en) * | 1986-07-25 | 1988-02-12 | 松下電器産業株式会社 | Voice encoder |
US4771465A (en) * | 1986-09-11 | 1988-09-13 | American Telephone And Telegraph Company, At&T Bell Laboratories | Digital speech sinusoidal vocoder with transmission of only subset of harmonics |
US4803730A (en) * | 1986-10-31 | 1989-02-07 | American Telephone And Telegraph Company, At&T Bell Laboratories | Fast significant sample detection for a pitch detector |
US5018200A (en) * | 1988-09-21 | 1991-05-21 | Nec Corporation | Communication system capable of improving a speech quality by classifying speech signals |
WO1990013112A1 (en) * | 1989-04-25 | 1990-11-01 | Kabushiki Kaisha Toshiba | Voice encoder |
IT1232084B (en) * | 1989-05-03 | 1992-01-23 | Cselt Centro Studi Lab Telecom | CODING SYSTEM FOR WIDE BAND AUDIO SIGNALS |
US5144671A (en) * | 1990-03-15 | 1992-09-01 | Gte Laboratories Incorporated | Method for reducing the search complexity in analysis-by-synthesis coding |
CA2068526C (en) * | 1990-09-14 | 1997-02-25 | Tomohiko Taniguchi | Speech coding system |
US5369724A (en) * | 1992-01-17 | 1994-11-29 | Massachusetts Institute Of Technology | Method and apparatus for encoding, decoding and compression of audio-type data using reference coefficients located within a band of coefficients |
-
1992
- 1992-12-04 IT ITTO920982A patent/IT1257431B/en active IP Right Grant
-
1993
- 1993-10-12 US US08/135,298 patent/US5519807A/en not_active Expired - Lifetime
- 1993-12-02 JP JP32962093A patent/JP3204581B2/en not_active Expired - Lifetime
- 1993-12-03 AT AT93119522T patent/ATE172045T1/en active
- 1993-12-03 CA CA002110645A patent/CA2110645C/en not_active Expired - Lifetime
- 1993-12-03 DE DE69321444T patent/DE69321444T2/en not_active Expired - Lifetime
- 1993-12-03 DE DE0600504T patent/DE600504T1/en active Pending
- 1993-12-03 ES ES93119522T patent/ES2054606T3/en not_active Expired - Lifetime
- 1993-12-03 EP EP93119522A patent/EP0600504B1/en not_active Expired - Lifetime
- 1993-12-03 FI FI935423A patent/FI115327B/en not_active IP Right Cessation
-
1994
- 1994-10-31 GR GR940300069T patent/GR940300069T1/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP0600504A1 (en) | 1994-06-08 |
IT1257431B (en) | 1996-01-16 |
ITTO920982A1 (en) | 1994-06-04 |
DE69321444T2 (en) | 1999-04-22 |
FI115327B (en) | 2005-04-15 |
DE69321444D1 (en) | 1998-11-12 |
ES2054606T1 (en) | 1994-08-16 |
GR940300069T1 (en) | 1994-10-31 |
CA2110645A1 (en) | 1994-06-05 |
ITTO920982A0 (en) | 1992-12-04 |
EP0600504B1 (en) | 1998-10-07 |
US5519807A (en) | 1996-05-21 |
JP3204581B2 (en) | 2001-09-04 |
FI935423A0 (en) | 1993-12-03 |
ES2054606T3 (en) | 1998-12-16 |
JPH06348300A (en) | 1994-12-22 |
ATE172045T1 (en) | 1998-10-15 |
FI935423A (en) | 1994-06-05 |
DE600504T1 (en) | 1994-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5487128A (en) | Speech parameter coding method and appparatus | |
EP0696026B1 (en) | Speech coding device | |
US5675702A (en) | Multi-segment vector quantizer for a speech coder suitable for use in a radiotelephone | |
US5060269A (en) | Hybrid switched multi-pulse/stochastic speech coding technique | |
US6014622A (en) | Low bit rate speech coder using adaptive open-loop subframe pitch lag estimation and vector quantization | |
JP3114197B2 (en) | Voice parameter coding method | |
CA2110645C (en) | Method of and device for quantizing excitation gains in speech coders based on analysis-by-synthesis techniques | |
EP1353323B1 (en) | Method, device and program for coding and decoding acoustic parameter, and method, device and program for coding and decoding sound | |
JP3196595B2 (en) | Audio coding device | |
CZ304196B6 (en) | LPC parameter vector quantization apparatus, speech coder and speech signal reception apparatus | |
US6148282A (en) | Multimodal code-excited linear prediction (CELP) coder and method using peakiness measure | |
US5682407A (en) | Voice coder for coding voice signal with code-excited linear prediction coding | |
US6094630A (en) | Sequential searching speech coding device | |
EP0545386B1 (en) | Method for speech coding and voice-coder | |
US4945567A (en) | Method and apparatus for speech-band signal coding | |
US5978758A (en) | Vector quantizer with first quantization using input and base vectors and second quantization using input vector and first quantization output | |
EP0910063B1 (en) | Speech parameter coding method | |
Tseng | An analysis-by-synthesis linear predictive model for narrowband speech coding | |
JPH05273999A (en) | Voice encoding method | |
KR100389898B1 (en) | Method for quantizing linear spectrum pair coefficient in coding voice | |
Kövesi et al. | A multi-rate codec family based on GSM EFR and ITU-t g. 729. | |
Masgrau Gómez et al. | Medium Rate Speech Coding with Vector Quantization | |
JPH08101699A (en) | Voice coder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20131203 |