ГОСТ Р 54712―2011
42
00
00
4.2.4.19 MC звуковые данные. Уровень III
data_present [gr] [tc] [sfb
]
— Карта, описывающая, какие данные (в зависимости от гранулы, пе-
реданного канала и scalefactorband) фактически передаются. Эта карта не передается, но восстанав-
ливается в декодере путем определения scalefactorbands, на которые ссылаются dematrix_selec
t
или
segment_lists.
js_carrier [gr] [tc] [sbgr
]
— Карта, описывающая, какие scalefactorband_group данные (в зависимо-
сти от гранулы, переданного канала и scalefactorband_group) используются в качестве транспорта для
передачи joint stereo. Эта карта не передается, но восстанавливается в декодере путем определения
scalefactorband_groups, на которые ссылается tc_select! = ch.
matrix_attenuation_presen
t
— Обозначает, передается ли matrix_attenuation. matrix_attenuation_
presen
t
равен ’1’, если matrix_attenuation передается.
matrix_attenuation_l/r [gr] [ch] [sbgr
]
— В случае кодирования joint stereo корректирующие значе-
ния необходимы, чтобы обеспечить сохранение энергии в объединенных смешанных сигналах L и R .
В декодере аттенюация применяется для получения корректного дематрицирования.
Фактические коэффициенты аттенюации вычисляются как:
attenuation = 1 / (√√2 ** matrix_attenuation_l/r)
Для процедуры дематрицирования с использованием L (R ) используется matrix_attenuation_l
(matrix_attenuation_r). Модификация операции дематрицирования описывается в процессе декодиро-
вания.
scfsi [tc] [scfsi_band
]
— На Уровне III информация о выборе масштабных коэффициентов исполь-
зуется так же, как на Уровне II. Основным различием является использование переменной scfsi_band
для применения scfsi к группам масштабных коэффициентов вместо единственного масштабного коэф-
фициента.
Использование масштабных коэффициентов для гранул определяет scfsi. Информация о выборе
масштабных коэффициентов передается, только если канал передается в обеих гранулах. Другие об-
нуляются:
scfsi[scfsi_band]
Масштабные коэффициенты
’0’
’1’
Масштабные коэффициенты передаются для каждой гранулы
Масштабные коэффициенты для гранулы 0 также допустимы для гранулы 1
Если включены короткие окна, то есть block_type == ’10’ для одной из гранул, то scfsi всегда ’0’ для
этого фрейма.
scfsi_band — Управляет использованием информации о выборе масштабных коэффициентов для
групп масштабных коэффициентов (scfsi_bands):
scfsi_band
Полосы масштабных коэффициентов
0
1
2
3
0,1,2,3,4,5
6,7,8,9,10
11 ... 15
16 ... 20
part2_3_length [gr] [tc
]
— Содержит число main_data битов, используемых для кодов Хаффмана и
масштабных коэффициентов.
big_values [gr] [tc
]
— Спектральные значения каждой гранулы кодируются с использованием раз-
личных таблиц Хаффмана. Весь частотный диапазон от нуля до частоты Найквиста делится на не-
сколько областей, которые затем кодируются при помощи различных таблиц. Разделение на области
выполняется в соответствии с максимумами квантованных значений с учетом того, что значения на
верхних частотах, как ожидается, будут иметь небольшие амплитуды или вообще не будут кодировать-
ся. Начиная с верхних частот, подсчитывается количество пар квантованных значений, равных нулю.
Это число называют rzero. Затем подсчитывается количество четверок квантованных значений с абсо-
лютным значением, не превышающим 1 (то есть требующих только три возможных уровня квантова-
ния). Это число называют count1. В результате получается четное число. Наконец, число пар значений в
нижней области спектра, вблизи нуля оси частот, называется big_values. Максимальное абсолютное
значение в этом диапазоне равно 8191. На следующем рисунке показано описываемое разделение: