ГОСТ Р 53556.3—2012
;
else
{
for(i
=
0; i < dim[1)[1): i++)
{
lsp_current[dim[1)[0]*i] =lsp_first[dim[1][0]+i]
-
d_tbl[1][idx][i]:
}
}
Процессдекодирования
VQ
с межфреймовым предсказанием
Чтобы получить
LSPs
текущего фрейма
lsp_current[J.
декодированный векторы второй стадиидобав
ляются к вектору
LSP- •lsp_predict[],
которые предсказаны издекодированных
LSPs
предыдущего фрей
ма
Isp_previous()
и декодированного вектора
LSP
первой стадии
lsp_flrst[].
Таким же образом как процесс
декодирования
VQ
без межфреймового предсказания.
LSP
для
lpc_indices[]
представляет знакдекодиро
ванного вектора, а остающиеся биты представляют индексдля таблицы
pd_tbl[][)[].
for (i
=
0: i
<
lpc_order: i++)
{
Isp_predict[i]=(1-
ratiopredict)’lsp_first[i]
+ratio_predicrisp_pr
evtousfi]
}
где
ratio_predict = 0.5
sign = lpc_indices[2) » 6:
idx =lpc_indices[2] & 0x3f:
if(sign==0)
{
for (i = 0: i
<
dim[1][0J:
/■*•♦)
{
lsp_current[i] = Isp_predict[i] *
pd_tbl(0][idx][i]:
}
}
else
{
for (i
=
0; i < dim[1][0]; i++)
{
lsp_current[i] =Ispjpredict
-
pd_tbl[0][idxj[i]:
}
}
sign = lpc_indices[3) » 5;
idx = lpc_indices[3) & 0x1 f;
if(sign==0)
{
for(i = 0: i
<
dim[1)[1J; i++)
f
lsp_current[dim[1)(0J+i]
=
Isp_predict(dim[ 1}[0]*i] *
pd_tbl(1][idm
}
}
else
(
for (i = 0.i< dim[1][1]: i*+)
{
33