Банки фильтров, основанные на STFT
Download
Report
Transcript Банки фильтров, основанные на STFT
Лектор: Лукин Алексей Сергеевич
Применения
банков фильтров
План
Банки фильтров, основанные на STFT
Психоакустическая компрессия звука
► Слуховая маскировка
► Устройство алгоритма mp3
Подавление стационарных шумов
► Метод спектрального вычитания
► STFT как банк фильтров, полосовые гейты
► Проблема «музыкального шума»
► Частотно-временное разрешение
Расширение частот в аудиосигнале
Банки фильтров,
основанные на STFT
Спектрограмма
► график зависимости амплитуды от частоты и от времени,
показывает изменение спектра во времени
► отображается модуль Short Time Fourier Transform (STFT)
STFT[n, ]
x[n m] w[m] e
m
im
Банки фильтров,
основанные на STFT
Частотно-временное разрешение
► Способность различать детали по частоте и по времени,
«размытость» спектрограммы
► Для STFT определяется длиной весового окна (а также,
отчасти, размером и шагом DFT по времени)
► Соотношение неопределенностей: разрешение по частоте
обратно пропорционально разрешению по времени
f t const
6 ms
12 ms
24 ms
48 ms
96 ms
размер окна
Банки фильтров,
основанные на STFT
Частотно-временное разрешение
► Частотное разрешение спектрограммы равномерное
► Частотное разрешение слуха на НЧ выше, чем на ВЧ
STFT, окно 12 мс
STFT, окно 93 мс
Банки фильтров,
основанные на STFT
Как банки фильтров разбивают частотновременную плоскость?
► Вейвлеты делят частотную ось на октавы
► STFT разбивает частотную ось равномерно
f
f
t
STFT
t
Вейвлеты
Банки фильтров,
основанные на STFT
–
+
+
–
Без весовых окон, без перекрытия блоков
► Размытие спектра → плохое разделение частот в каналах
► Нестыковки на границах блоков
► Нет избыточности
С весовыми окнами, с перекрытием блоков
► Хорошее разделение частот в каналах
► Нет нестыковок на границах блоков
► Избыточность
► Пример банка фильтров, подходящего для обработки:
►
►
Декомпозиция – STFT, окно Hann, перекрытие 75%
Синтез – обратное STFT, окно Hann, сложение с
перекрытием (OLA)
Банки фильтров,
основанные на STFT
+
Модифицированное дискретное косинусное
преобразование (MDCT)
► Перекрытие 50%, весовое окно
► Неплохое разделение частот в каналах
► Без избыточности! → подходит для компрессии
► Каждое окно длины 2N захватывает N новых отсчетов и
выдает N вещественных коэффициентов спектра
► Требования к окнам: w[n]2 w[n N ]2 const
► Примеры подходящих окон:
►
►
Полпериода синуса
Kaiser-Bessel derived (KBD)
Слуховая маскировка
Абсолютный порог слышимости
Как соотнести уровни в звуковом файле с
абсолютными уровнями звука?
Слуховая маскировка
Сильные звуки
(maskee)
(masker) маскируют
более слабые
► Одновременная маскировка
► Временная маскировка (прямая и обратная)
Слуховая маскировка
Маскировка тонами, шумами и общий порог
маскировки
Шаг квантования выбирается пропорциональным
порогу маскировки
Алгоритм mp3
Кодирование аудиоданных с потерями
Психоакустический
анализ
FFT
MDCT
x[n]
Банк
фильтров
MDCT
…
…
…
Q
MDCT
Компрессия mp3
Huffman
mp3-файл
Пред-эхо
Pre-echo (pre-ringing)
Переключение размера
гранул в БФ
Шумоподавление
Аддитивный шум
dirty[n] clean[n] noise[n]
Шум предполагается стационарным,
т.е. не меняющимся во времени (средняя мощность, спектр)
Метод спектрального вычитания
Стационарные шумы
Общий принцип подавления
1. Преобразование, компактно локализующее энергию
(energy compaction)
2. Модификация коэффициентов преобразования
(подавление коэффициентов, соответствующих шуму)
3. Обратное преобразование (восстановление очищенного
сигнала)
Спектральное вычитание
Spectral Subtraction,
Short-Time Spectral Attenuation
Спектральное вычитание для аудиосигналов
1. STFT
2. Оценка спектра шума по участку без полезного сигнала
3. «Вычитание» спектра шума из спектра сигнала
4. Обратное STFT
Noise spectrum
estimation
W[f,t]
x[t]
STFT
X[f,t]
–
S[f,t]
Inverse
STFT
схема алгоритма спектрального вычитания
s[t]
Спектральное вычитание
Требования к банку фильтров
►
►
►
►
Точное (или почти точное) восстановление
Отсутствие «эффекта блочности» (перекрытие, окна)
Хорошая частотная локализация
Не требуется: сохранение количества информации
Выбираем банк фильтров,
основанный на STFT
Шумоподавление
Многополосная интерпретация
Гейт (gate) – устройство, подавляющее тихие сигналы
(громкие пропускаются без изменения)
Gate
x[n]
Банк
фильтров
(анализ)
Gate
…
…
…
Банк
фильтров
(синтез)
Gate
Пороги срабатывания гейтов зависят
от уровня шума в каждой частотной полосе
y[n]
Спектральное вычитание
Конструкция гейтов
► Порог срабатывания зависит от шума → нужно знать
параметры шума → обучение
► Мягкое или жесткое срабатывание
Пример подавления:
W[ f , t]
G[ f , t ] max1
, 0
X [ f , t]
Здесь G – коэффициент усиления,
W – оценка амплитуды шума,
X – амплитуда сигнала.
► Время срабатывания (attack/release time)
► Ограничение степени подавления
Шумоподавление
Шум случаен → его спектр тоже случаен
Пример спектра белого шума:
общая спектрограмма
приближенный фрагмент
Шумоподавление
После спектрального вычитания появляются
случайно расположенные всплески энергии –
артефакт «музыкальный шум» (musical noise)
общая спектрограмма
«музыкальный шум»
Шумоподавление
Музыкальный шум: методы борьбы
► Завышение порога (недостаток – теряем больше сигнала)
► Ограничение G(f, t) снизу (чтобы музыкальный шум
маскировался естественным шумом)
► Увеличение времени срабатывания гейтов (при слишком
сильном увеличении получается шумовое эхо и смазываются атаки
в сигнале)
► Сглаживание G(f, t) по времени и/или по частоте
зашумленный сигнал
простое спектр. вычитание
сглаживание по времени
Спектральное вычитание
Эффекты частотно-временного разрешения
► Эффект Гиббса (размытие транзиентов)
► Недостаточное частотное разрешение
Зашумленный сигнал
Размер окна 50 мс
Адаптивное разрешение
Расширение частотного
диапазона
Задача расширения
► Дано аудио, обработанное НЧ-фильтром (т.е. без высоких
частот, например – после mp3-компрессии)
► Нужно достроить высокие частоты, основываясь только
на низких (или, возможно, на дополнительной информации о ВЧ,
закодированной в потоке)
Расширение частотного
диапазона
Метод
1. Сгенерировать грубое приближение высоких частот по
низким (методы spectral replication, distortion, vocoder+resampling)
2. Придать грубому приближению желаемую форму
(продолжение низких частот по энергии, степени тональности и
т.д.) – здесь используем банки фильтров
Расширение частотного
диапазона
Эксперименты
Линейное продолжение
общей формы низких частот