ГОСТ Р 53556.4—2013
Параметры:
FRAME_SIZE
MAXBIT
N_CH
N_DIV
N SF
sp_cvO [] []
sp_cv1 [] [J
SP_CB_SIZE
shape_irtdex0
shape_index‘\
роЮ
ро/1
Длина фрейма.
Максимальное число битовдля представления индекса сборника кодов формы.
Номера каналов.
Номера подвекторов.
Номера подкадров во фрейме.
Сборник кодов формы сопряженного канала 0 (Элементы даются втаблицах А.21. А.23.
А.25. А.27).
Сборник кодов формы сопряженного канала 1(элементы даются в таблицахА.22. А.24.
А.26. А.28).
Размер сборника кодов формы.
Указывает выбранный кодовый вектор формы MDCTкодовой книги 0.
Указывает выбранный кодовый вектор формы МОСТкодовой книги 1.
Отрицает выбранный кодовый вектор формы МОСТкодовой книги 0.
Отрицает выбранный кодовый вектор формы МОСТкодовой книги 1.
6.5.3 Установки параметров
Список векторов сборника кодов формы сглаженных коэффициентов МОСТ, sp_cvQ[][] и sp_cu1 [)[]
приводится вприложении А.
Параметры первоначально устанавливаются, как перечислено ниже:
MAXBIT_ SHAPE = 5;
MAXBIT= MAXBIT_SHAPE ♦ 1:
SP_CB_SIZE= 1.
6.5.4 Процесс декодирования
6.5.4.1 Инициализации
На основе bits_available_vq. определенного в 5.2.5.3.2. вычисляются N_DIV и длина каждого подвек
тора length [].
N_DIV =((int)((bits_availabie_vq +MAXBIT’2-t)/(MAXBIT’2))) дляidiv=0: idiv <ntt_N_DIV:
idiv ++
length [idiv] =((int) (N_FR‘qsample) *N_SF,N_CH*N_DIV-J\-idiv)/ N_DIV,
где N_FR является числом выборок в подкадре, и qsample определяется в 6.5.4 4.
6.5.4.2 Распаковка индекса
Индекс квантования состоит изинформации о коде полярности и формы. Так. в первой стадии инвер
сного квантования входные индексы распаковываются и извлекаются полярности и формы.
Извлечение полярностей описывается следующим образом:
for (idiv = 0. idiv <N_DIV; idiv ++) {
po/0 [idiv) = 2 * (index0 (idiv)/ SP_CB_SIZE) -1;
po/1 [idiv] = 2 * (index1 [idiv] / SP_CB_SIZE) -1;
A
где:
роЮ[)— полярность сопряженного канала 0;
ро
/1
[)— полярность сопряженного канала
1
.
Извлечение кода формы описывается следующим образом:
for (idiv = 0: idiv <N_DIV: idiv ++) {
indox_shapeO [idiv] =index0 [idiv] % SP_CB_SIZE:
index shape1[idiv] =index1 [idiv] % SP_CB_SIZE:
}-
6.5.4.3 Реконструкции
Выходные коэффициенты восстанавливаются следующим образом:
for (idiv = 0; idiv <N_DIV: idiv ++) {
for (icv =
0
; icv <длина [idiv]: icv +■+) {
if ((icv <дпина /D/-1J &&
((% N DIV (N SF*N_CH) == 0 && (N_SF‘N_CH)> 1)\\ ((N_SF’N_CH) «0x1) ==0)))
itmp = ((idiv+icv) %N_DIV) +icv’N_DIV:
else
itmp = idiv + icv * N_DIV;
ismp =itmp/ (N_SF‘N_CH) + ((itmp % (N_SF‘N_CH)) * (FRAME_SIZE/ (N_SF’N_CH))):
139