49
- Процесс декодирования SBR
Этот подпункт является вольной интерпретацией подраздела «Процесс декодирования» стандарта MPEG-4 Audio ISO/IEC [2].
- Обозначения, константы и умолчания
В дополнение к определениям, данным в MPEG-4 Au dio, раздел «Обозначения, принятые для SBR», используются следующие обозначения:
- a % b — а по модулю b;
- floor(x) — округление до ближайшего целого в сторону минус бесконечности.
При решении уравнений декодирования должны использоваться следующие величины:
- RATE = 1 — постоянная, указывающая число отсчетов в полосе QMF за один таймслот;
- NOISE_FLOOR_OFFSET = 2 — смещение минимального уровня («пола»);
- numTimeSlots = 20 — число таймслотов в одном фрейме SBR.
В значительной степени протокол передачи речи SBR является разновидностью протокола, используемого в AAC + SBR. В таблице 37 определены значения сигналов битового потока MPEG-4 AAC + SBR, которые отсутствуют в речевом протоколе, однако необходимы для процесса декодирования. Эти величины должны использоваться в речевом режиме SBR при решении уравнений декодирования SBR, приведенных в MPEG-4 Au dio, подраздел «Процесс декодирования».
Как следует из псевдокода таблицы 34 в 5.6.2.1.1, речевой протокол SBR имеет «слоистую» структуру. Более того, заголовок SBR является необязательным (см. 5.4.2 и 5.5.7). Таким образом, для некоторых настроек и режимов один или более синтаксических элементов может отсутствовать в битовом потоке. В этих случаях декодер полагается на величины по умолчанию для указанных элементов, как определено в таблице 38, а также в приложении К.
Существует также возможность полностью отключить форму (bs_num_shape=0). Этот режим предназначен для возможных будущих модификаций декодеров, которые смогут экстраполировать огибающую верхней полосы частот исходя из нижней полосы. При этом сигнал уровня будет использоваться как управляющий сигнал с малыми затратами ресурсов. Декодеры без функции э кстраполирования будут попросту представлять собой базовую часть кодера.