Digital Signal Processing Reference
In-Depth Information
since the sign is separately coded, the absolute value of d(n) is used
in the above equation. The denominator of equation (7.83) expressed in
equation (7.87) can be computed by;
φ (m 0 ,m 0 )
+
E/ 2
=
φ (m 1 ,m 1 )
φ (m 0 ,m 1 )
+
φ (m 2 ,m 2 )
φ (m 0 ,m 2 )
φ (m 1 ,m 2 )
+
+
+
(7.91)
φ (m 3 ,m 3 )
φ (m 0 ,m 3 )
φ (m 1 ,m 3 )
φ (m 2 ,m 3 )
+
+
+
+
φ (m 4 ,m 4 )
φ (m 0 ,m 4 )
φ (m 1 ,m 4 )
φ (m 2 ,m 4 )
φ (m 3 ,m 4 )
+
+
+
+
+
Having simplified the search process shown above, further reductions in
search complexity are achieved by a focused search approach. Aprecomputed
threshold is tested before entering the last loop (in a nested search to locate
the pulses in five tracks). The threshold determines if the first four pulses
have already produced a good combination and whether it is worthwhile
to continue into the last loop. The threshold is based on the correlation
C in equation (7.86). The maximum absolute correlation and the average
correlation produced by the first four pulses, max 4 and av 4 , are used to
compute the threshold,
TH 4
=
av 4
+
K 4 (max 4
av 4 )
;
0
K 4 < 1 .
(7.92)
The last loop is entered (to search for the fifth pulse) only if the absolute
correlation due to first four pulses exceeds TH 4 . K 4 controls the percentage
of combinations searched (set to 0.4 in G.729 for the fourth loop where four
nonzero pulses are used). Since this will result in variable search computation,
the last loop is entered only a predetermined fixed number of times.
As explained above, an algebraic codebook is an excellent compromise
between the very restricted regular pulse excitation and multi-pulse exci-
tation. Algebraic codebooks are computationally very efficient as well as
producing good performance. However the combinations of the interleaved
track positions still require a large number of bits. For example in a 40-sample
subframe using five tracks with eight locations in each, the pulse positions
would require three bits each plus a sign bit, giving a total of 20 bits per
subframe. This will result in 20
8000
40
4 kb/s which is only applicable to bit
rates of around 6 kb/s and above. Algebraic codebooks have been extensively
used in many CELP coders such as G.729, EFR, G.723.1, etc.
×
=
Pitch Adaptive Mixed Excitation
In the case of Gaussian codebooks, it is assumed that the size of the codebook
is large enough to cater for both voiced and unvoiced speech excitations. In
the VSE case, orthogonalization with respect to the pitch predictor output
enables the secondary excitation vectors to cover the space that is not covered
Search WWH ::




Custom Search