ГОСТ Р 53556.3—2012
fo r (i
=
0 ; i < d im [0 ][1 J ; i+ + )
(
ls p _ firs t[d im [0 ][0 J + i]
=
1
lsp_tbl[1
)[lp c _ in d iC G s [ ]][i];
}
Во второй стадии
Ipcjndices
[4] указывает, какой процессдолжен быть выбран (см. таблицу 82).
Т а б л и ц а 82 — Процесс декодирования для второй стадии
Индекс
LPC Ipcjndices
|4]
Процесс декодирования
0
VO
без межфреймового предсказания
1
VQ с межфреймовым предсказанием
Процесс декодирования
VO
без межфреймового предсказания
Чтобы получить
LSPs
текущего фрейма
lsp_ current Jo wer(j,
декодированные векторы второй стадии
добавляются к декодированному вектору
LSP, lsp_firstJowor[j. МСВlpc_indicos[)
представляет знакдеко
дированного вектора, а остальные биты представляют индексдля таблицы
d_tbl[][][).
sign = lpc_indices[2] » 6;
idx
=
lpcjndicos[2] & 0x3f:
if (sign
==
0)
{
for (i = 0. i < dim[1][0]; i++)
{
lsp_current_lowor(i)
=
lsp_first[i] * d_tbl[0][idx](i];
}
}
else
{
for (i = 0.i< dim[1][0]; h *)
{
lsp_currentJoworfi)
=
lsp_first[i)- d_tbl[0][idx][i];
}
}
sign - lpc_indices[3J » 6:
idx
=
lpc_indices[3] & 0x3f;
if (sign
==
0)
{
for (i = 0.i< dim[1)[1]; i++)
{
lsp_curreni_lowor[dim[ 1][0}+i) = lsp_first(dim(1 )[0)+i}
♦
d_tbl[1](idx][ij:
)
}
else
{
for (i = 0. i < dim[1J[1J; i++)
{
lsp_currentJower[dim[1][0)+i]
=
lsp_first[dim(1][0]+i]-
d_tbl[1][idx][i]:
}
}
Процессдекодирования
VQ
с межфреймовым предсказанием
Чтобы получить
LSPs
текущего фрейма
lsp_current_lowei\].
к вектору
LSPlsp_predict[
)добавляются
декодированные векторы второй стадии, которые предсказаны из декодированных
LSPs
предыдущего
37