TNS Temporal Noise Shaping
Стандартные схемы кодирования с преобразованием часто сталкиваются с той проблемой, что сигналы, особенно голосовые, сильно меняются в зависимости от времени. Основной причиной этого является то, что распределение квантования шума можно регулировать с изменением частоты, но нельзя изменять относительно полного блока трансформации. Если характеристика сигнала сильно меняется в рамках такого блока, не ведя к переключению на более короткие преобразующие длины, как, например, в случае с высоким голосом, одинаковое распределение квантования шума может привести к звуковым искажениям (см. также аудио форматы сжатия голосовых сигналов с потерями – вокодеки).
Чтобы преодолеть это ограничение, в MPEG-2 AAC была встроена функция, называемая Temporal Noise Shaping (TNS). Основная идея TNS опирается на двойственность времени и частотной области. TNS использует метод прогноза в частотной области, чтобы определить шум квантования в зависимости от времени. Он применяет фильтр к исходному спектру и квантует этот отфильтрованный сигнал. Кроме того, квантованные коэффициенты фильтра передаются в поток данных. Они используются в декодере для того, чтобы аннулировать фильтрование, выполненное в кодере. Таким образом получается, что распределение шума квантования в декодированном аудио сигнале сформировано по времени. (Это означает, что шум может появляться на короткое время после или даже до возбуждающего импульса, так что получается преднамеренное пост/пре-эхо, которое незаметно, если выполнять это правильно, т.е. у границы экранирования).
TNS можно рассматривать как заключительной шаг в преобразовании, создающий блок адаптивных фильтров для длительных сигналов вместо обычного двухшагового метода блока фильтров (короткие/длинные блоки). Фактическая реализация метода TNS в MPEG-2 AAC и MPEG-4 General Audio поддерживает до трех отдельных фильтров, применимых к разным частям спектра входного сигнала.
Дальнейшее улучшение гибкости новой технологии TNS не используется с короткими блоками из-за увеличения общей информации, требуемой для дополнительной информации, что приводит к уменьшению битов для значений спектра. Так что TNS применима только для длинных блоков.