Databases Reference
In-Depth Information
These polynomials have five complex conjugate roots each on the unit circle. The polynomials
can be written as products of five second-order polynomials of the form
2 q i z 1
z 2
(
1
+
)
where q i
ω i are known as the line spectral frequencies (LSFs). Notice the
similarity between this and the immittance spectral frequency described in Section 18.4 . Each
vector of ten LSF values is split into three vectors of dimensions 3, 3, and 4. The first three LSF
coefficients are quantized using a three-dimensional vector quantizer with 64 output levels, the
next three coefficients are quantized using a different three-dimensional vector quantizer with
a codebook of size 128, while the last four coefficients are quantized using a four-dimensional
vector quantizer with codebook size 128. Thus a total of 20 bits are used to encode each set
of LSF coefficients; 6 bits for the first three coefficients, and 7 bits each for the next three and
four coefficients.
For a stable reconstruction filter the LSF coefficients should be in increasing order. How-
ever, because we split the LSF vector prior to quantization it is possible that some of the
coefficients might be out of place. RFC 3951 [ 243 ] specifies a procedure for correcting any
discrepancies. In the low rate case we have two sets of quantized and unquantized LSF co-
efficients, one obtained by centering a window on the second subblock and one obtained by
centering a window on the fifth subblock. These coefficients are used to generate specific LSF
coefficients for each subblock. For subblocks 2 and 5 we use the generated LSF coefficients.
The LSF coefficients used for blocks 3 and 4 are obtained using a linear interpolation of the
computed LSF coefficients. The LSF coefficients for subblock 1 are computed using an in-
terpolation between the LSF coefficients of subblock 2 and a predefined set of coefficients
that are assumed to belong to the previous block. For subblock 6 we use the computed LSF
coefficients for subblock 5. In each case we compute a set of coefficients from the unquantized
LSF coefficients and another set from the quantized LSF coefficients. For the high-rate case
LSF coefficients for the subblocks are obtained by linearly interpolating the LSF coefficients
(quantized and unquantized) with the LSF coefficients of the previous block. After the LSF co-
efficients for each subblock have been generated, they are used to generate the LPC coefficients
for each subblock. Thus, for each subblock k we get two analysis filters,
=
cos
i )
and
z i
A k (
z
) =
1
+
a k (
i
)
i
from the unquantized coefficients, and
A k (
z i
z
) =
1
+
a k (
˜
i
)
i
{ A k (
from the quantized coefficients. The analysis filters
are used to generate the resid-
ual signal for each subblock, with each analysis filter used for the corresponding subblock.
The transition between subblocks is managed by letting the filter memory carry over to the
consecutive subblock.
The goal of the iLBC procedure is to encode the blocks independently. This means that
the algorithm cannot use an adaptive codebook that relies on the past of the signal. As there
is a significant probability of packet loss such an approach would lead to the development of
different codebooks in the encoder and decoder. Therefore, the algorithm employs a scheme
that uses the past decoded residuals from a block to generate the codebook. Because of this
z
) }
Search WWH ::




Custom Search