ГОСТ Р 53556.2—2012
5.2.3 Процесс декодирования
Процессдекодирования параметров
LSP
для базового уровня {2.0 Кбит/с) является тем же самым,
что и процесс узкополосного
CELP.
Процессдекодирования описан ниже.
Индексы преобразования к
LSPs
LSPs
текущего фрейма
(lsp_current[]
), которые закодированы разбиением и двухступенчатым вектор
ным квантованием, декодируются двухступенчатым процессом декодирования. Размерность каждого век
тора приведена втаблицах ниже. LSP1 и
LSP2. LSP3
представляют индексы для первой и второй
стадии соответственно.
Т а б л и ц а 58 — Размерность вектора
LSP
первой
стадии
Индекс вектора
разбиения,
i
Размерность вектора
dm
[0] (.1
0
10
Т а б л и ц а 59 — Размерность вектора
LSP
второй
стадии
Индекс вектора
разбиения /
Размерность вектора
dm
(
1
)Щ
0
1
5
5
В первой стадии вектор
LSP
первой стадии
lsp_
firsf[] декодируется путем просмотра таблицы
lsp_ tbl
[][][].
for (i
=
0: i
<
dim(0] [0]; i++) {
lsp_first[i] = lsp_tbl[0] [LSP1][iJ:
}
Во второй стадии естьдва типа процессовдекодирования, а именно, процессдекодирования
VQ
боз
межкадрового предсказания и VQ с межкадровым предсказанием. Флажок
LSP4
указывает, какой процесс
должен быть выбран.
Т а б л и ц а 60 — Процесс декодирования для второй стадии
Индекс
LSP: LSP4
Процесс декодирования
0
1
Без межкадрового предсказания
VQ
С межкадровым предсказанием
VQ
Процессдекодирования УОбез межкадрового предсказания
Чтобы получить
LSPs
текущего фрейма
lsp_ current[],
декодированные векторы во второй стадии
добавляются кдекодированному в первой стадии вектору
LSPIsp_first{].
МСВ для
LSP2
и
LSP3
представ
ляет знакдекодированного вектора, а остающиеся биты представляют индексдля таблицы
d_
£б/[][][].
sign - LSP2»6:
idx = LSP2&0x3f:
if (sign
==
0) {
for (i
=
0; i
<
dim[1](0);
/+♦;
{
lsp_current[i]
=
lsp_first[i)
+
d_tbl[0J[idx][i];
}
}
else {
for (i
=
0; i
<
dim[1][0]: h+) {
lsp_current[i)
=
lsp_first[i] - d_tbl[0][idx)[i];
}
}
22