5.3.1 Минимальный входной буфер декодера
Чтобы вычислить максимальное количество битов во входном буфере как для полезной нагрузки потока битов в целом, так и для любой данной программы или для любого данного SCE/CPE/CCE используются следующие правила.
Размер входного буфера составляет 6144 бита на SCE или на независимо переключаемый ССЕ плюс 12288 битов на СРЕ. Как размер общего буфера, так и размеры отдельных буферов ограничены таким образом чтобы предел буферизации мог быть вычислен для всей полезной нагрузки потока битов или для отдельных аудио элементов, разрешая декодеру разбить многоканальную полезную нагрузку потока битов в отдельные полезные нагрузки потока битов моно и стерео, которые декодируются отдельными декодерами моно и стерео, соответственно. Все биты для LFE's или зависимого CCE's должны быть предоставлены из требований к общему буферу, основанных на независимых CCE's, CPE's и SCE's. Кроме того, все биты, требующиеся для любого DSE's, PCE's, FIL's, или фиксированные заголовки, переменные заголовки, byte_alignment и CRC должны быть предоставлены из тех же самых требований к общему буферу.
Для защиты полезной нагрузки от любой ошибки определяется дополнительный входной буфер декодера. Он на (N + 5)% больше, чем входной буфер для незащищенной полезной, где N является значением максимальной избыточности класса FEC. Все биты, требующиеся для любого DSE's, PCE's, FIL's или фиксированных заголовков, переменных заголовков, byte_alignment, и CRC, должны быть предоставлены из тех же самых требований к общему буферу.
Для аудио объектного типа масштабируемого ААС применяются те же самые ограничения, однако здесь они применяются для объединенного размера входных буферов всех ASME и ASEE. Это означает, что, если кодируется программа моно, требуется размер буфера 6144=1024*6 битов, а для программы стерео доступен полный размер буфера 12288 битов. В случае масштабируемых конфигураций с обоими, моно- и стереоуровнями максимальный размер буфера для всех моноуровней составляет 6144 бита. Полный размер буфера для всех уровней составляет 12288 битов.
5.3.2 Разрядный резервуар
Разрядный резервуар управляется в кодере. Максимальный разрядный резервуар в кодере зависит от NCC и средней скорости передачи. Максимальный размер разрядного резервуара для каналов с постоянной скоростью может быть вычислен, вычитая среднее число битов на блок из минимального размера входного буфера декодера. Например, при 96 Кбит/с для сигнала стерео при частоте дискретизации 44,1 кГц среднее число битов на блок (mean_framelength) равно (96000 бит/с /44100 1/s* 1024) = 2229,1156..... Это приводит к максимальному размеру разрядного резервуара (max_bit_reservoir) INT(12288 битов-2229,1156....) = 10058. Для каналов с переменной скоростью передачи кодер должен работать таким способом, чтобы требования к входному буферу не превышали минимальный входной буфер декодера.
Состояние разрядного резервуара (bit_reservoir_state) передается в поле buffer_fullness либо как состояние разрядного резервуара, усеченное до целочисленного значения (adif_buffer_fullness), или как состояние разрядного резервуара, разделенное на NCC, разделенное на 32 и усеченное до целочисленного значения (adts_buffer_fullness).
bit_reservoir_state последующих фреймов может быть получено следующим образом:
bit_reservoir_state[frame] = bit_reservoir_state[frame-1] + mean_framelength - framelength [frame].
Длины фреймов должны быть скорректированы так, чтобы удовлетворять следующему ограничению:
0 bit_reservoir_state [frame] max_bit_reservoir.
5.3.3 Максимальная скорость передачи
Максимальная скорость передачи зависит от частоты дискретизации аудио. Она может быть подсчитана, основываясь на минимальном размере входного буфера согласно формуле:
.
Таблица 126 дает некоторые примеры максимальных скоростей передачи на канал в зависимости от используемой частоты дискретизации.
Таблица 126 - Максимальная скорость передачи в зависимости от частоты дискретизации
Частоты дискретизации | Максимальная скорость передачи / NCC |
48 кГц | 288 Кбит/с |
44,1 кГц | 264,6 Кбит/с |
32 кГц | 192 Кбит/с |