79
- Временное формирование шума (TNS)
- Описание инструмента
Временное формирование шума используется для управления временной формой шумов квантования в пределах отдельного окна преобразования. Это выполняется применением процессов фильтрации к частям спектральных данных каждого канала.
Следует учесть, что этот инструмент включает параметры, зависимые от определенного профиля (см. 5.1).
- Элементы данных
Число фильтров формирования шума, используемых для окна w (см. 4.3, таблицу 19).
Маркер, определяющий разрешение переданных коэффициентов фильтра для окна w, соответствующий разрешению 3 бит (0) и 4 битам (1) (см. 4.3, таблицу 19). Длина области, к которой фильтр применяется в окне w (в полосах масштабных коэффициентов) (см. 4.3, таблицу 19).
Порядок одного фильтра формирования шума, применяемого к окну w (см. 4.3, таблицу 19).
1 бит, указывающий, применяется ли фильтр в восходящем (0) или нисходящем (1) направлении (см. 4.3, таблицу 19).
1 бит, указывающий, исключаются ли старшие значащие биты коэффициентов фильтра формирования шума filt в окне w, исключаются (1) или не исключаются (0) (см. 4.3, таблицу 19).
Коэффициенты одного фильтра формирования шума, относящиеся к окну w (см. 4.3, таблицу 19).
Массив, содержащий спектр для окна w обрабатываемого канала.
В зависимости от windowsequence размер следующих полей потока битов переключается для каждого окна преобразования согласно его размеру:
- Процесс декодирования
Процесс декодирования для временного формирования шума выполняется отдельно для каждого окна текущего фрейма путем фильтрации выбранных областей спектральных коэффициентов (см. функцию tns_decode_frame).
Число фильтров формирования шума, применяемых к каждому окну, определяется "n_filt". Целевой диапазон спектральных коэффициентов выражен в полосах масштабных коэффициентов с нисходящим счетом от верхней полосы (или нижней полосы предыдущей полосы формирования шума).
Сначала происходит декодирование переданных коэффициентов фильтра, т. е. преобразование в числа со знаком, обратное квантование, преобразование в коэффициенты LPC, как описано в функции tns_decode_coef ().
Затем фильтры применяются к целевым областям частот спектральных коэффициентов канала (см. функцию tns_ar_filter ()). Маркер "direction" используется для определения направления, в котором фильтр движется относительно коэффициентов (0 = вверх, 1 = вниз).
Постоянная TNS_MAX_BANDS определяет максимальное количество полос масштабных коэффициентов, к которым применяется временное формирование шума. Максимально возможный порядок фильтра определяется постоянной TNS MAX ORDER. Обе константы являются параметрами, зависимыми от профиля.