ГОСТ Р 53556.3—2012
For (i = 0; i
<
dim(0)[0]; i++)
{
lsp_first[i]
=
lsp_tbl[0][lpc_indices[5]][i].
}
for (i
=
0: i
<
dim(0][1); i++)
{
lsp_first[dim[0)[0]+i] =
lsp_tbl[1]ppc_indices[6j][i]:
}
Во второй стадии
lpc_indicos
[9] указывает, какой процесс должен быть выбран (см. таблицу 85).
Т а б л и ц а 85 — Процесс декодирования для второй стадии
Индекс LPC ipcjndiccs (9)
Процесс декодирования
0
VO без межфреймового предсказания
1
VO с межфреймовым предсказанием
Процессдекодирования VQбез межфреймового предсказания
sign = lpc_indices[7)
»
6:
idx =lpc_indicos[7]& 0x3f:
if
(sign
-=
0)
{
for (i = 0. i < dim[1J[0J; i+*)
{
lsp_current_uppor[i]
=
lsp_first[i]
+
d_tbl[OJ[idx][i];
}
}
Else
{
for(I
=
0: i
<
dim(1](0}; i+*)
{
lsp_current_upper[i]
=
lsp_first[i]- djbl[0][idx][i):
}
}
sign
=
lpc_indices(8)
»
4;
idx = lpc_indices[8] & 0x0f;
if (sign == 0)
{
for (i
=
0: i
<
dim[1][1); i++)
{
lsp_curront_upperfdim[1][0]+i]
=
!sp_first[dim[1](0)+i)
+
d_tbl[1][idx][i]:
}
}
Else
{
for (i
=
0: i < dim[1][1]; i*+)
{
lsp_current_upperfdim[1][0]+>] = lsp_first[dim[1][0]*i] -
djbl[1](idxj[i};
}
}
Процесс декодирования VQ с межфреймовым предсказанием
for (i
=
0; i <Ipc order/2: i*+)
{
lsp_predict[i]=(1~
ratio^predict) Vsp_first[i]+ratio_prodict ’Isp_previous[lpc_ordo
39