Quantizes LSF coefficients.
IppStatus ippsLSFQuant_G723_16s32s(const Ipp16s* pSrcLSF, const Ipp16s* pSrcPrevLSF, Ipp32s* pResultQLSFIndex);
pSrcLSF |
Pointer to the LSF coefficients vector [10], in Q15. |
pSrcPrevLSF |
Pointer to the previous LSF coefficients vector [10], in Q15. |
pResultQLSFIndex |
Pointer to the combined index of quantized LSF coefficients. The combination is built by left-shifting the first codebook index by 16 bits and left-shifting the second codebook index by 8 bits, and then adding together the two shifted indices and the third codebook index. |
The function ippsLSFQuant_G723 is declared in the ippsc.h file. This function quantizes the LSF coefficients to obtain the codebook indices using PSVQ. It implements the following operations:
1. Calculate the diagonal weighting matrix W, determined from the unquantized LSF coefficients, as:
w1,1 = 1/ (ω2-ω1),
w10,10 = 1/ (ω10-ω9),
wj,j = 1/ min(ωj -ωj-1, ωj+1-ωj) , j = 2...9
2. Calculate the prediction LSF coefficients as given by:
ωp = (ω -ωDC) - 0.375 (ω-1-ωDC)
where ω are the current LSF coefficients, ω-1 are the previous LSF coefficients, and ωDC are the DC LSF coefficients.
3. Search the codebook vector to minimize the following error:
El = (ωp -ωl)TW(ωp -ωl) ,
where ωl is the l-th code vector in the codebook. The quantization uses 3-3-4 split.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.