ГОСТ Р 53556.4—2013
Для случая нескольких окон на блок связанный и. возможно, сгруппированный и чередующийся
набор спектральных коэффициентов обрабатывается какединственный набор коэффициентов, которые сле
дуют от низкихдо высоких. Этот набор спектральных коэффициентов, возможно, должен бытьдечередован
после того, какони декодируются. Спектральная информация для всех полосмасштабного коэффициента,
равных или больше чем max_sfb, обнуляется.
После того, как все данные МСВ кодируются от самой низкой линии частоты до самой высокой, тот
же самый процесс кодирования повторяется, пока не кодируются данные LSB. или данные уровня недо
ступны.
Длинадоступной полезной нагрузки потока битов (availablo_len[]) инициализируется в начале каждо
го уровня. Предполагаемая длина кодовой комбинации (est_cw_fon), которая будет декодироваться, вы
числяется исходя из процесса арифметическогодекодирования. После арифметического декодирования
символадлина доступной полезной нагрузки потока битов должна быть обновлена, вычитая из этого
пред полагаемую длину кодовой комбинации. Мы можем определить, доступна ли оставшаяся полезная
нагруз ка потока битов каждого уровня или нет. проверяя availablejen.
Разрядно-модульные данные декодируются с вероятностью, которая выбирается среди значений,
перечисленных в таблицах А.56—А.77.
Чтобы арифметически кодироватьсимволы (разрядно-модульные биты) значение вероятностидолж
нобыть определено. Двоичная таблица вероятности составляется из значений вероятности (рО) символа ’0’.
Прежде всего, таблица вероятности выбирается используя cband_siкак показано в таблице А.31. Затем в
таблице вероятности выбирается подтаблица согласно контексту, такому кактекущее значение спектраль
ного коэффициента, и более высокие разрядно-модульности, которые декодировались. Все векторы более
высоких разрядно-модульностей higher_bit_vectorинициализируются в
0
перед запуском кодирования раз
рядно-модульных данных. Всякий раз. когда кодируется разрядно-модульность. вектор higber_bit_voctor
обновляется следующим образом:
higher_bit_vectorfch)[g][i] = (higher_bit_vector[ch][g][iJ«1) + decodedbitshce:
if(higher_bit_vector[ch][g][i)) {
if (higher_bit_\/ector[ch][g]li] > 15)
pOjndex = 15;
else
pQJndex =higher bit vectortch][g][i]-Л;
}■
Среди нескольких значений в подтаблице выбирается вероятность (рО). Чтобы выбрать одно из не
скольких значений вероятности в подтаблице, должен быть решен индекс вероятности. Если вектор
более высокой разрядно-модульности является ненулевым, индекс вероятности (рО)будет (higher_bit_voctor
[ch][д][ij- 1). Иначе выбор полагается на разрядно-модульные биты последовательных неналоженных 4
спектральныхданных, как показано в таблицеА.34.
Однако, если доступный размер кодовой комбинации меньше чем 14, есть ограничения на выбран
ное значение вероятности следующим образом:
if(available_len <14) {
if(рО < min_p0[availablejen])
рО =min_pO[available_ten];
else rf(pO> max_pO[avaHable_lon])
pO =max_p0[available_lenj;
}
Минимальная вероятностьmin_pO[Jи максимальная вероятностьmax_р0[]перечисляются втаблицах
А.35 и А.36.
Есть 23 таблицы вероятности, которые могут использоваться для кодирования/декодирования раз
рядно-модульныхданных. 23 таблицы вероятности обеспечивают покрытие различной статистики разряд-
мо-модульности. Чтобы передать таблицу вероятности, используемую в процессе кодирования, таблица
вероятности включается в элемент синтаксиса cband_si. После декодирования cband_siтаблица вероятно
сти отображается из cband_si, используя таблицу А.33, и декодирование разрядно-модульныхданныхдол
жно быть запущено.
Текущее значение спектрального коэффициента представляет разрядную матрицу разрядно-модуль
ности. которая будет декодироваться. Таблица А.ЗЗ показывает плоскость МСВ декодируемой выборки
согласно cband_si. Текущие значения cur_snf [] всех спектральных коэффициентов в пределах полосы
кодирования инициализируются в плоскость МСВ.
132