Банки фильтров, основанные на STFT

Download Report

Transcript Банки фильтров, основанные на STFT

Лектор: Лукин Алексей Сергеевич
Применения
банков фильтров
План


Банки фильтров, основанные на STFT
Психоакустическая компрессия звука
► Слуховая маскировка
► Устройство алгоритма mp3

Подавление стационарных шумов
► Метод спектрального вычитания
► STFT как банк фильтров, полосовые гейты
► Проблема «музыкального шума»
► Частотно-временное разрешение

Расширение частот в аудиосигнале
Банки фильтров,
основанные на STFT

Спектрограмма
► график зависимости амплитуды от частоты и от времени,
показывает изменение спектра во времени
► отображается модуль Short Time Fourier Transform (STFT)
STFT[n,  ] 

 x[n  m]  w[m]  e
m  
im
Банки фильтров,
основанные на 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 ]  max1 
, 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. Придать грубому приближению желаемую форму
(продолжение низких частот по энергии, степени тональности и
т.д.) – здесь используем банки фильтров
Расширение частотного
диапазона

Эксперименты
Линейное продолжение
общей формы низких частот