
Technical discussions related to Speech Coding (all itu and other vocoders, ACELP, CELP, AMR, etc)
My query is regarding the pre selection
process done for quantization of gains in section 3.9.2 of ITU-T recommendation
for G.729 speech codec standard.
According to the draft, two fixed gain codebooks
and
are given. Each
of them have two columns, first is quantized adaptive codebook gain
& second is quantized fixed codebook gain
are:
Ø This codebook has total
8 entries.
are:
Ø This codebook has total
16 entries.
and
a cluster of eight vectors
whose first elements are close to
unquantized adaptive codebook vector gp are chosen from
.
and
GB for
such that the
mean square error of eq. 63 is minimized.
The gain codebooks given are fixed, one is thr1 of length 4, which contains only
quantized value for
, and other is
thr2 of length 8 which contains value only for
, the indices for preselection are derived from these codebooks only.
The value of predicted fixed codebook gain
is checked
first.
If
is positive,
following some mathematical criteria indices indice1 ( which is between 1- 4) is selected from
thr1 codebook & indice2 ( which is between 1- 8) is selected from thr2 codebook. These
indices indices1 & indices2 are used to find GA & GB from gain codebooks
and
,
The differences in both of these criteria are:
The no of codebooks used & their lengths.
The required vector’s indices GA & GB which minimizes the mean squared error
are selected directly amongst all given vectors of codebooks
and
, while in
2ndcase it is derived from indices found amongst codebooks thr1 & thr2.
Why the implementation method differs in such a way from the proposed one, could anyone explain please?
Also, for decoding the adaptive codebook vector, while finding the frac part for T2 the equation is:
frac = P2 - 2 - 3((P2 + 2)/3 - 1) (Page 27)
but this equation when solved shall always give the value -1 . Why so ?
Regards,
Saloni