A LOW-COMPLEXITY SEARCH ALGORITHM FOR SPEECH CODERS WITH SPARSE EXCITATION

A low-complexity joint position and amplitude > search algorithm is proposed for deterministic sparse code­ books to be used in code-excited linear predictive coders. The conventional multipulse search is presented as an extension of a general two-stage sequential search, leading to a clas­ sification of multistage sequential searches according to the extent that orthogonality constraints are applied throughout the search stages. After its classification, an efficient imple­ mentation of the joint search is derived which incorporates backward filtering of the residual target vector and precorn­ putation of autocorrelation elements, bringing about a reduc­ tion in complexity of approximately one third in compari­ son to the focused search within the G.723.1 codec. In par­ ticular, considering an extensive speech database, a floating­ point version of the joint search method reduces down to one third the number of comparisons per subframe relative to the focused search. Moreover, the joint search performs about one thirtieth as many comparisons as the position-exhaustive search. Further, the complexity of a fixed-point implementa­ tion of the joint search is below one quarter that of the focused search and stands below those of the G.729A and lS-64l-A coders. Listening tests indicate an equivalence in perceived quality.


INTRODUCTION
The original CELP speech coding model, introduced by [I, 2, 3], has ever since undergone a series of changes de signed to reduce its complexity and improve the quality of its reconstructed speech signal.At first, transform domains were explored for the fixed random codebook, resulting in ef ficiency gains under some constraints as a trade-off between speed and memory occupation of the transformed codebook [4].
An important development was the design of sparse ran dom codebooks and attendant search algorithms that could bring about both a quality improvement and a reduction in complexity over random Gaussian codebooks at rates around 8 kbit/s [5].For example, sparse random codebooks were used to bring CELP coding down to the 4.8 kbit/s rate as long as a moderate decrease in quality could be allowed for [6].
Moreover, structured sparse codebooks also gave rise to a toll quality speech coder at 8 kbit/s [7,8], which is a conjugate-structure algebraic (CS-ACELP) coder.In this case, the codebook has a multipulse structure [9] that is cou pled with an efficient, suboptimal CELP search algorithm.By the way, both the multipulse and the algebraic CELP (ACELP) [10] structures had been previously used at higher bit rates and complexities.Other developments can be found in [15,16] that present recent reviews and advances in multi pulse coders.
It should be stressed that the search algorithm associated to the structured sparse codebook plays an important role in the achievement of efficiency and may by itself make the difference for a given application as in the case of a multi media speech coder for digital simultaneous voice and data (DSYD) [11,12].Therefore, the availability of reduced com plexity search algorithms could lead to new applications for the ACELP coder.
Additionally, one should observe that structured sparse code books may be searched in multistage schemes in much the same way that the usual adaptive and fixed codebooks in a CELP coder may be searched sequentially in a suboptimal two-stage procedure.Such procedures are important to keep Miguel Arjona Ramirez and Max Gerken A Low-Complexity Search Algorithm for Speech Coders with Sparse Excitation the overall complexity within bounds at a small penalty in performance over an unfeasible joint optimal search.Furthennore, it is worth noting that in a CELP coder the fixed codevector has a great influence on reconstructed speech quality despite its apparently residual contribution.Consequently, the improvement of fixed algebraic codebook searches and algorithms is essential to the development of coders wirh greater quality/complexity ratios [13].
Motivated by all this reasoning, this work presents a low-complexity search algorithm for algebraic multipulse codebooks that has been implemented within the reference G.723.1 [14] and G.n9 [7] coders as examples of target speech coders, but may be applied to other coders with de terministic sparse codebooks.
This paper has two main goals.The first is the descrip tion of multistage codebook searches under a classification that encompasses the basic idea of CELP two-stage searches and optirnizing orthogonalizations, all the way through mul tipulse searches and leaving room for new efficient algebraic multipulse codebook searches.
The second and foremost goal is the presentation of a novel joint position and amplitude search (JPAS) algorithm of alge braic multipulse codebooks which builds upon well-known multipulse search procedures.TIns joint search algorithm is introduced in a conceptual formulation involving dynamic autocorrelation elements in such a way that the main notion of a chain of two-dimensional optimizations can be prop erly appreciated.In the sequel the joint search algorithm is elaborated to the point that an efficient implementation is de rived.Thereby a foundation is laid for the development of low-complexity multistage search algorithms of determinis tic sparse codebooks.
In the following section, notation is established for the basic CELP code book search.Then, sequential searches in two codebooks are classified in three categories according to their joint degree of optimality.Next, the standard multi pulse search is presented as an instance of a multistage sequential search and algebraic codebooks are introduced.Then, the proposed joint position and amplitude search is introduced as a multistage search using dynamic autocorrelations and its complexity is analyzed.Finally, a low-complexity algo rithm is derived for the joint search as a function of pre computed autocorrelation elements, and its complexity and performance are measured and compared with standard algo rithms.

BASIC CELP SEARCH
For a given target vector u. a standard CELP search algo rithm tries each codevector c.. i = 1.2..... ill. in its code book producing, after scaling and filtering, reconstructed vec tors U; = 7);Hc;.
(1) where 7); are suitable gain factors and matrix H. the impulse response matrix, is given by is the impulse response of the weighted synthesis filter trun cated to the subframe length L.
The reconstruction error vectors (3) are used for the selection criterion of the codevector by its index as ;=1.2 ..... ,\{ An alternative search criterion may be derived by observ ing Figure 1.By minimizing iIe; 11 2 • the squared norm of the reconstructed target vector u, is maximized over the indices i in the code book, i. e., the index of the selected codevector can be found as (5) Writing out the squared norm of u, as a function of the weighted codevector q; = Hc., we have (6) where (7) is the squared norm or energy of the weighted codevector and (8) is the zero-lag crosscorrelation, or simply correlation, be tween the weighted codevector and the target vector.The important point about the correlation is that it may be efficiently determined by a single inner product as (9) where (10) is the backward-filtered target vector [17,18].However, really efficient computations of the squared norm given by Equation (6) will ultimately depend on structuring or simpli fying the calculation of the energy, expressed by Equation (7).When the codevectors are sparse, it is very convenient to express their weighted energies as where h(n) = 0 for n < 0 and h(n) for n = 0.1..... L -1 (J; = c; H He, = c; .pC;. where (12) is the autocorrelation matrix of the impulse response matrix.
A CELP coder usually makes use of two codebooks at least, namely, an adaptive codebook and a fixed codebook, which are suboptimally searched as a two-stage codebook.Adaptive codevectors are lagged vectors extracted from the past composite excitation sequence and fixed codevectors are innovations.Usually, the adaptive codebook is searched first and then the fixed codebook is searched for a match of the residual target vector Uf = U -u.,, (13) where u, is the reconstruction of the target vector provided by the adaptive codebook.

SEARCHING TWO CODE BOOKS
Speech coders provided with two codebooks require a much higher complexity search than those provided with a single codebook if the aim is an optimal search [3].
.In an optimal search of two codebooks every pair of code vectors in their Cartesian product must be searched, causing the total number of levels in the compound codebook to be the product of the levels in the single individual codebooks.In practice, an exhaustive search over such a codebook is prohibitively expensive.Therefore, sequential searches are usually used instead.Most often, corrections are effected in order to get closer to the optimal solution.
In the following, three search procedures in two codebooks are examined: • Plain sequential searches; • Sequential searches with final joint gain calculation; • Orthogonal sequential searches.
The final joint gain calculation is an enhancement of plain sequential searches that lends itself to implementation with little additional complexity as it must be carried out just once per subframe.On the other hand, in the case of nonstruc tured fixed codebooks, orthogonal sequential searches have a higher complexity since they require one orthogonalization per codevector searched.However, when fixed codebooks are structured as in the VSELP coder [19], whose codevectors are defined as sums of basis vectors, the number of required orthogonalizations is reduced.For instance, in the VSELP coder only 14 basis vectors should be filtered instead of the whole set of 256 codevectors resulting from the sequential composition of the two fixed codebooks.
The next three subsections will deal with each one of the three sequential search procedures in turn.Without loss of generality, it is assumed that the first codebook to be searched is an adaptive codebook and that the second one is a fixed codebook.Actually, the framework built in these sections will be applied in later sections to the case when both code books are stages of a multistage fixed codebook.

PLAIN SEQUENTIAL SEARCHES
A plain sequential search consists of two operationally in dependent searches, where each one spans its own codebook once.
The first search uses target vector U shown in Figure 2 and delivers the reconstructed target vector (14) Figure 2. Geometrical representation of sequential search for target vector U and residual target vector U f .
The second search takes as its target vector the residual error after the first search, which is given by Equation (13).
The searches follow the process described in Section 2 and, at the end of the two searches, target vector U may be recon structed by applying the composite excitation (15) to the weighted synthesis filter to get the reconstruction of the target vector UQ = 17aqa + IUqf.(16) where the adaptive codevector gain is uTqa I)a = -T- (17) qa qa and the fixed codevector gain is

SEQUENTIAL SEARCHES WITH FINAL JOINT GAIN CALCULATION
The following orthogonality relations are sufficient to es tablish the orthogonality of the final error vector e f to the plane [qa qf] (see Figure 2) Ef .L qf (20) ef .L qa Upon reconsideration of the procedure of plain sequential searches seen in Section 3.1, the reconstruction represented by Equation ( 16) can be improved if, instead of taking the gain factors T)a and T) f from Equations ( 17) and (18), respec tively, their values are set free for a while by using expression (16).Thereby, the target vector is decomposed as Taking inner products of both sides of Equation ( 21) by qa and qJ in tum.we get n; (q;;qa) + 17f (qJ qa) + (€J qa) (22) Ila(q;;qf) +17f(qJqf) + (€JqJ).(23) respectively.
Using orthogonality conditions (19) and (20).Equations ( 22) and ( 23) reduce to the following system of linear equa tions (24) which may be solved for the final gains.

ORTHOGONAL SEARCHES
The procedure of sequential searches with final joint gain calculation presented in the previous section just constrains the enol' vector to be orthogonal to plane [qa qf] a pos teriori.Sequential searches can be drawn a little closer to the joint optimal search if the second search is carried out by enforcing orthogonality throughout.This can be done as follows.
Initially.the adaptive search with target vector U is car ried out as in Section 3.2.yielding filtered codevector qa and initial gain 17a.Next. the orthogonal search of the fixed code, book is performed through the following set of operations (see also Figure 3): • each codevector Cf.i.i = L 2..... Jlf' is filtered, re sulting in the corresponding weighted codevectors (25) • plane [qa qf.i] is represented by an orthogonal ba sis by determining the component w, of qf.i which is orthogonal to qa as • the projection of target vector U upon orthogonal vector w, produces vector Wi w.
whose squared norm is given by Iit il1 2 = (w~u)2: (28) Wi w, • codevector C J.I:, is selected such that • joint computation of the final gain factors 17a and 17f by solving the System of Equations ( 24) with qf =~ Hef.t:,.so that the total composite excitation e is obtained as

MULTIPULSE SEARCHES
Multipulse excitations are sparse signals whose nonzero samples are isolated from one another.They may be de scribed in general as where M is the number of pulses, 5(n) is the unit pulse, L is the subframe length.Gk and Ink are pulse amplitudes and positions.respectively, and C is the overall excitation signal gain.
where 1(:.i) represents the ith column of the L x L identity matrix, and the corresponding filtered subcodevectors are (33) q~j) = H(:.i).
where H(:.i) stands for the ith column of the impulse response matrix defined by Equation ( 2  The multi pulse excitation search criterion is the minimiza tion of the squared norm of the error vector, just as described in Section 2, which leads to pulse position (38) and amplitude iiH(:.mj)11 2   for the jth pulse, where t f (mj) is a sample of the backward filtered target vector defined by Equation (10).Therefore, in Equation (39) A j is computed in a similar way to the gain factors determined by Equations (17) and (18).
Finally, at the end of stage j = !If -1 the whole set of pulse amplitudes is recalculated by a higher-dimensional extension to the procedure developed in Section 3.2.Taking into ac count Equation (33), Matrix Equation ( 24) may be translated into :1~ j r~~~;~~~~ (40) [-d   where the ~ystem matrix .p.\[ = [o(m;.mj)];\~:~ on the left hand SIde IS an M A Jf submatrix of the L x L impulse re sponse autocorrelation matrix given by Equation (12).A pre vious derivation of Equation (40) from a different standpoint may be found in [20].

THE ALGEBRAIC MULTIPULSE CODEBOOK
Algebraic multipulse excitation satisfies the same forma tion rule as the more general multipulse excitation described in Section 4 with the additional constraint that algebraic mul tipulses take on positive or negative unit values only, that is, O:k = ±1.In the following, the number of pulses in Equation (31) will be Jf = -4 and the subframe length will be either L = 40 or L = 60 samples, respectively for the G.729 and G.723.1 coder, which are values commonly adopted.Exten sion to other values is straightforward.
Additionally, the algebraic multipulses to be considered [14] have each pulse position taken from interleaved se quences of equidistant pulses.Therefore, a pulse position Ink may be decomposed as (43) where S = 8 is the spacing between successive pulses in a row, Ak is the position of pulse ni; in its row, e k is the phase of pulse tru.or its row identifier and I'k is the pulse position parity or its grid identifier.
As displayed in Table 1, the phases e= 4 and e = 6 hold one position each beyond the subframe length.Some search methods consider these virtual positions while others do not (Section 6).If only actual subframe positions are considered, then the number of pulse positions of phases e j E {4. 6} is N j = 7 whereas N) = 8 holds for phases e j E {0,2}.

JOINT POSITION AND AMPLITUDE SEARCH
The proposed joint position and amplitude search (JPAS) [21] is described in this section for fixed algebraic multipulse codebooks such as the one presented in Section 5.The reconstructed residual target vectors are composed of shifted impulse responses as M-l uf(n)=GLO:kh(n~mk)' n=O,L ... ,L-l (44) k=O and this composition has motivated the JPAS algorithm which selects one by one the 11f shifted impulse responses which jointly define a partial direction along which the residual tar get vector provides its greatest projection.It selects one pulse position and amplitude at each one of J11 iterations.
The search process starts by determining the projections of the residual target vector U f along the partial projection di rections defined by the shifted impulse responses for the first iteration.Positions searched in previous iterations are kept constant while corresponding amplitudes are jointly read justed.resulting in the determination of the next partial pro jection direction.
The first iteration in a JPAS algorithm selects position (42) where H is the impulse response matrix of the weighted syn The even grid is represented in tabular form in Table 1, where thesis filter and .p is its autocorrelation matrix given by Equa each row is a different phase track.tion (12).
Let the filtered subcodevector selected in iteration j -1 be Due to its algebraic structure, pulse amplitudes in the ACELP codebook are restricted to ±1 so that, considering a new pulse at position Tn J .only four new filtered subcodevectors are pos sible qy) = ± (±H(:.777 J ) + q;J-1)) . (47) Therefore, considering a new pulse at position i in iteration i.only two partial projection directions are admissible, pU)(:.i)= H(:.i)+q;j-1), which is called the primary partial projection direction and SU)(:, i) = H(:.i) _ qY-1). ( which defines the secondary partial projection direction I.In Equations (48) and (49) pU)(:, i) and SU)(:.i) indicate the ith columns of matrices pU) and Su).respectively, whose columns comprise all the primary and secondary projection directions at iteration j. respectively.In the following, the selected vectors and signs are identi fied after each iteration of the search process.Details about the search process follow at the end of this section.
Let the selected partial projection direction for iteration j be f U ) = H(:.777j) + J U -l1 q ;J-1). (50) where is the sign of the selected projection direction on the plane de fined by the jth pulse and the available filtered subcodevector qY-1).which is given by The projection of the residual target vector along the se lected partial projection direction fU) yields the partially re constructed target vector as where AU) is a signed gain factor whose sign is while its absolute value will become the gain only after the last iteration j = .1I1.Thus, the weighted subcodevector at the end of the jth iteration is (56) j The opposite directions could be chosen as well.However, this choice leads to simpler expressions of the ensuing equations.
Using this notation it results that the weighted subcodevec tors are defined by the chosen shifted impulse responses and by the corresponding signs as (57) for the first iteration and as J-1j-1 qy) = j(j)H(:.mj)+ .sU)L IT J(k)j3(k)H(:,mz) (58) 1=0 k=Z for the remaining iterations.(M-1) ) qf=~(Xj k=/ Equation (61) describes the resulting pulse signs after each iteration j and can be derived by comparison of Equations ( 60) and (58).
Finally, in completion of the description of the JPAS algo rithm, the procedure for selection of the projection directions for iteration j will be explained.
As indicated in Equations (48) and (49), the primary and secondary partial projection directions for iteration j are col lected in matrices pU) and SUi.respectively.Further, for the computation of their corresponding projections below, we will define the primary autocorrelation matrix (62) and the secondary autocorrelation matrix For iterations j = 1.2, ... ,i1I -1, the squared norms of the projections along the primary partial directions are com puted according to (uJP(j)(:,i)f and the squared norms of the projections along the secondary partial directions are determined by (ufSU)(:•i)f if Ty) = max{Ty).v;~)} otherwise In addition, the set IU) of shift indices i for the search depends on the order j of the iteration.For the first itera tion (j = 0), every shift index within the subframe range is searched, i.e., IIO) = {a.1. .... L -I}.
(66) Furthermore, the grid parity is defined as ~iO by the parity of the pulse at position 010 = 8Ao + eo + ;0 selected in the first iteration, whose position has been decomposed according to Equation ( 43).Accordingly, if ~(O = O. the even grid Go = G e is selected (see Section 5) and otherwise, if;o = 1. the odd grid Go = Go is selected.
For the following iterations U = 1.2..... JI -1), only the phases not yet selected are actually searched so that a row in the position grid (Table 1) is eliminated from the search do main after each pulse selection and the set of indices searched where hi stands for the number of pulses in the chosen grid with the same phase as pulse position in, as pointed out in Section 5.
Summing up, the JPAS algorithm is a kind of orthogo nal search (see Section 3.3) where optimizations are carried out in planes or two-dimensional subspaces defined by each shifted impulse response whose phase track has not yet been selected together with the current filtered subcodevector.It should be noticed that these optimizations do not involve or thogonalizations but rather an exhaustive test of all the ad missible new partial projection directions as summarized by Equation (47).Further, the position and amplitude searches are conjugated by step 3 of the closing procedure of the al gorithm, described just below Equation (65).Therefore, the JPAS algorithm is less suboptimal than the standard multi pulse search [15,16] which determines pulse positions by means of Equation (38) before using Equation (39) to find their amplitudes (see Section 4).
The number of searches in a subframe distributes over six classes identified by the number of subcodevectors searched along each individual search path as listed in Table 2.One should consider that each one of the six search paths in Ta ble 2 may occur as one of four permutations because there are two phase tracks with 8 positions and two phase tracks with 7 positions (see Section 5).Considering equiprobable permutations, one arrives at an average of 150 searches per subframe.
The joint search, as opposed to both the focused and the position-exhaustive searches, does not use any elements off the main diagonals of its autocorrelation matrices as shown by the denominators of Equations ( 64) and (65).The diago nal elements are taken from the autocorrelation matrix 4> of the impulse response of the weighted synthesis filter during the first iteration.For the remaining iterations, they come from the autocorrelation matrices pU) and SU) of the pri mary and secondary projection directions, respectively.The next section describes how these elements can be efficiently computed.

EFFICIENT JOINT SEARCH
The correlation elements involved in the joint search (Sec tion 6) are dynamic values in the sense that they are com puted along the search path.As shown below, it turns out that the dynamic correlations may be computed as functions of precalculated autocorrelations of the impulse response ma trix and samples of the backward-filtered residual target vec tor.
Using Equations ( 56), (48), ( 49) and (0), it is possible to express the correlation in the primary and secondary partial projection directions, pU)(:.i) and SU)(:, i), used in Equa tions (64) and (65), as follows where is the correlation chosen in iteration j -1 using the procedure described in Section 6.In Equations (68) to (70) t f (i) is the i-th sample of the backward-filtered target vector defined by Equation (10).
As the joint search does compute the autocorrelation ele ments for both the odd and even grids, an additional number of precomputed autocorrelation elements would be necessary besides those used for the focused search.At first glance.it would seem that the number of autocorrelation elements would double, resulting in a total of 832 elements.But only the number of main diagonal autocorrelation elements dou bles.as they are needed for determining the grid parity based on the pulse position selected in the first iteration as pointed out in Section 6.The remaining off-diagonal autocorrelation elements necessary for the following iterations may be com puted just after the decision about the grid parity is made, and they must extend just over the concerned all-even or all-odd lag pairs.Therefore, only 32 diagonal autocorrelation ele ments are necessary in addition, making up for a total of 448 elements as shown in Table 3.

COMPLEXITY AND PERFORMANCE MEASUREMENTS
In this section, results of complexity measurements of the joint search are presented and compared first to both the fo cused search (FOCS) and the position-exhaustive search by means of floating-point implementations.Secondly, the re sults of extensive complexity measurements and performance tests of a fixed-point version of the JPAS algorithm and equiv alent procedures in recent standard speech coders are pre sented and contrasted.The focused search [22. 8] is con sidered as implemented in the reference ITU-T 5.3 kbit/s G.723.1 codec [14].This implementation includes some suboptimal simplifications in the operations determining the signs of the pulses of the chosen codevector.referred to as the signal-selected pulse amplitude approach [12].These sign simplifications are kept up in the position-exhaustive search, which only differs from standard FOCS in that it searches all the 4096 combinations of 4 pulse positions in the grid of the chosen parity.
The average number of comparisons per codevector search is estimated at the end of Section 6 for the dynamic autocor 164  4. Overall, the average number of searches per subframe for the joint search algorithm is one third as many as that of the focused search algorithm and slightly less than 4% the number of position-exhaustive searches.Further, the number of autocorrelation elements demanded per subframe was averaged for the three search algorithms.As shown in Table 5, the joint search displays a consider able decrease in the number of these elements.Finally, as shown in Table 6, objective performance measurements car ried out with the segmental signal-to-noise ratio (SNRSEG) and the perceptual speech quality measure (PSQM) [24] de tect a small decrease of 0.25 dB in SNRSEG and an added distortion of approximately 0.06 units of PSQM incurred by the joint search as compared to the focused search when both are implemented in floating point at 5.3 kbit/s, Clearly, the position-exhaustive search is equivalent to the focused search and the focused search seems to perform a little better than the joint search on objective grounds.The practical significance of these results, therefore, will depend upon the results of subjective listening tests which have been performed for the fixed-point versions of coders operating at 8 kbit/s.These tests are described at the end of this section and their results are commented upon.

Search
For the floating-point version of the JPAS algorithm, the measure of complexity used is the execution time expressed as a fraction of real time, which is taken to be the duration of Search ~ SNRSEG (dB) [PSQMJ  female and 10 male listeners evaluate five versions of four sentence pairs played through headphones in randomized or der for each speaker.Each stimulus consists of two short sentences of about 3 seconds with an intervening 0.5 sec ond silence gap and all the sentences were extracted from the Polidata Speech Database created by the Man-Machine Com munication Group (MMC) in 1997 at the University of Sao Paulo.The same Portuguese text was uttered by two male and two female speakers in an office environment.The format of the test was an absolute category rating (ACR) with as-point scale where 5 is excellent and I is bad [30] and the results are shown in Table 9.The joint search algorithm is perceived as equivalent to the other search procedures and, surprisingly, the three efficient search methods have performed better than the more extensive focused search.It has been previously pointed out that sparse excitation can have a superior percep tual effect [5] but not associated with reduced search algo rithms.Therefore, the degradation detected by the objective measures has gone unperceived, or rather has possibly been compensated for by other perceptual characteristics.Actu ally, some subjects have reported a more pleasing experience listening to some stimuli despite their lower sharpness.

CONCLUSION
The features of deterministic sparse code books have been analyzed and exploited to derive the joint position and am plitude search (JPAS) algorithm.A three-tiered classifica tion of multistage searches is presented which encompasses standard CELP two-stage adaptive-fixed codebook searches as well as multistage multipulse searches.Thereafter, the JPAS innovation search has been described and classified as a two-dimensional optimized sequential search.The JPAS

Figure 1 .
Figure 1.Geometrical representation of the codebook search in a CELP coder (index k is a better choice than index i).

( 21 )
A Low-Complexity Search Algorithm for Speech Coders with Sparse Excitationas depicted in Figure2.

Figure 3 .
Figure 3. Geometrical representation of vectors involved in an orthogonal sequential search.

Table 1 .
Each sequence, therefore, has a different phase, which contributes with one and only one position to the excitation signal.Further, even and odd po sitions are kept separate in two different grids.The set of positions spanned by the even grid is Even ACELP position grid for the G.723.1 coder.

Table 2 .
Breakdown of the number of comparisons per search path for the JPAS algorithm.

Table 3 .
Measure of complexity of floating-point versions of two ACELP search algorithms over the test partition of the TIMIT database.

Table 4 .
Statistics about number of comparisons per sub frame for three search algorithms over the test partition of the TIMIT database.

Table 5 .
Statistics about number of computed autocorrelation elements per subframe for three search algorithms over the test partition of the TIMIT database.relation version of the JPAS algorithm.Also, this number of comparisons was measured over the whole collection of 1680 signals in the test partition of the TIM IT database [23] for a total of Ih 26min 27s of speech and 688.244 subframes.The measurements were also performed for the reference focused search and for the position-exhaustive search.The results are shown in Table

Table 8 .
Performance of fixed-point versions of four ACELP search algorithms over the test partition of the TIMIT database.

Miguel Arjona Ramirez and Max Gerken A Low-Complexity Search Algorithm for Speech Coders with Sparse Excitation
Speak.~ Oriz.I FOCS I JPAS I DFTS I EFR I I Listen.I -

Table 9 .
Subjective quality of fixed-point versions of four ACELP search algorithms in ACR tests from recordings taken with environmental office noise.algorithm has been tested within both the G.723.1 and the G.729 reference coders in floating-point and fixed-point im plementations, respectively.For the fixed-point versions.the operational complexity of the joint search is lower than one quarter as many operations as the focused search algorithm without incurring in any perceptual degradation.Further, for the floating-point versions, it takes the joint search just two thirds as long as the focused search to execute.Such reduc tions in complexity may enable new applications for CELP coders with deterministic sparse codebooks.