47
drc_band_top [i] Указывает на верхнюю часть i-го диапазона DRC с шагом в 4 спектральные
линии (таблица 29). Если drc_band_top [i] = k, то индекс самой высокой спектральной линии i-го диапазона DRC равен k*4+3. В случае EIGHT_SHORT_SEQUENCE window_sequence индекс интерпретируется как указатель на составной массив из 8*128 частотных линий, соответствующих 8 коротким преобразованиям.
Один бит, указывающий наличие контрольного уровня (таблица 29). Контрольный уровень. Величина уровня воспроизведения каналов (таблица 29).
В резерве (таблица 29).
Знак управления динамическим диапазоном. Один бит, указывающий на знак dyn_rng_ctl (0, если положительный, 1, если отрицательный (таблица 29). Модуль управления динамическим диапазоном (таблица 29).
Логический массив, указывающий на звуковые каналы программы, которые исключаются из DRC.
Один бит, указывающий на наличие дополнительных исключенных каналов (таблица 30).
- Процесс декодирования
Оценка потенциально доступной информации управления динамическим диапазоном в декодере является опциональной.
prog_ref_level_present указывает, что progreflevel передается. В этом случае progreflevel передается только по требованию (например, однажды).
progreflevel квантуется с шагом 0,25 дБ, используя 7 битов, и поэтому динамический диапазон равен приблизительно 32 дБ. Восстановление выполняется по формуле
level = 32767 ■ Tpros_ref_level/24,
где «полный уровень» соответствует 32767 (prog_ref_level = 0).
pce_tag_present указывает, что pce_instance_tag передается. В этом случае pce_instance_tag передается только по требованию (например, однажды).
pce_instance_tag указывает, с какой программой ассоциируется информация о динамическом диапазоне. Если этот тег не присутствует, то используется программа по умолчанию. Так как в каждом потоке битов AAC обычно есть только одна программа, это является наиболее распространенным режимом. Для каждой программы многопрограммного потока битов должна передаваться своя информация о динамическом диапазоне в отдельном extension_payload () элемента fill_element (). В случае многопрограммного потока всегда должен присутствовать pce_instance_tag.
Бит drctagreservedbits заполняют дополнительные поля до целого числа байт.
Бит excluded_chns_present указывает, что каналы, которые должны быть исключены из обработки динамического диапазона, следуют сразу же после этого бита. Маски каналов должны передаваться в каждом фрейме, где есть исключенные каналы. Следующие принципы упорядочивания используются, чтобы назначить exclude_mask выходным каналам:
Если PCE присутствует, биты exclude_mask соответствуют звуковым каналам в элементах синтаксиса SCE, CPE, CCE и LFE в порядке их появления в PCE. В случае CPE первый переданный бит маски соответствует первому каналу в CPE, второй переданный бит маски — второму каналу. В случае CCEбит маски передается, только если спаренный канал является независимо переключаемым.
Если PCE не присутствует, биты exclude_mask соответствуют звуковым каналам в элементах синтаксиса SCE, CPE и LFE в порядке их появления в потоке битов, в сопровождении звуковых каналов в элементах синтаксиса CCE в порядке их появления в потоке битов. В случае CPE первый переданный бит маски соответствует первому каналу в CPE, второй переданный бит маски — второму каналу. В случае CCE бит маски передается, только если спаренный канал является независимо переключаемым.
drc_band_incr является количеством полос больше единицы, если есть многополосная информация
DRC.
dyn_rng_ctl квантуется с шагом 0,25 дБ, используя 7-разрядное целое число без знака, и поэтому, совместно с dyn_rng_sgn, имеет диапазон ± 31,75 дБ. Это интерпретируется как значение усиления, которое должно быть применено к декодируемым отсчетам звукого сигнала текущего фрейма.