Three functions are provided for open-loop pitch (OLP) search. Use of these functions is mutually exclusive, that is, only one is appropriate for an application during any given frame type. The appropriate choice of an OLP search function depends upon the state of the DTX and VAD modules. The OLP search functions should be applied as follows:
Encoder Mode |
Appropriate Function |
DTX disabled |
ippsOpenLoopPitchSearchNonDTX_GSMAMR |
DTX, VAD 1 enabled |
ippsOpenLoopPitchSearchDTXVAD1_GSMAMR |
DTX, VAD 2 enabled |
ippsOpenLoopPitchSearchDTXVAD2_GSMAMR |
The OLP search functions extract a pitch estimate from a weighted version of the input speech. For 5.15 and 4.75 kbps frames, the search is performed once per frame. For all other modes, the search is performed twice per frame. A unique search is employed for 10.2 kbps frames. The OLP search details are as follows:
If the transmission bit rate is 10.2 kbps, do the following:
The estimated OLP lag is the value k that maximizes R(k). It is denoted by Top.
Compute the optimal open-loop gain using the relation
In addition,
and
If g > 0, the previous pitch lag buffer and v median pitch lag of the previous pitch lags are updated.
For rates other than 10.2 kbps, the following OLP search procedure is employed:
Three maximums are found in three different ranges for the correlations given by
For 5.15 and 4.75 kbps frames, length = 160.
For all other bit rates (except 10.2 kbps), length = 80.
Normalize the three maximum correlations according to
Determine the best open-loop lag using the following rule:
Top = T1, M(Top) = M1, if M2 > 0.85 M(Top);
M(Top) = M2, Top = T2, if M3 > 0.85 M(Top);
Top = T3.
Each of the OLP search functions implements the rate-dependent search algorithms described above. Next, details are given for non-DTX, VAD1, and VAD2 OLP search functions.
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.