45
Банки фильтров, Банки фильтров, шумоподавление шумоподавление «Введение в компьютерную графику» лекция 23.10.2009 Алексей Лукин [email protected]

Банки фильтров, шумоподавление

Embed Size (px)

DESCRIPTION

«Введение в компьютерную графику» лекция 23.10.2009. Банки фильтров, шумоподавление. Алексей Лукин [email protected]. План. Банки фильтров, основанные на STFT Психоакустическая компрессия звука Слуховая маскировка Устройство алгоритма mp3 Подавление стационарных шумов - PowerPoint PPT Presentation

Citation preview

Page 1: Банки фильтров, шумоподавление

Банки фильтров,Банки фильтров,шумоподавлениешумоподавление

«Введение в компьютерную графику»лекция 23.10.2009

Алексей Лукин[email protected]

Page 2: Банки фильтров, шумоподавление

ПланПлан

Банки фильтров, основанные на Банки фильтров, основанные на STFTSTFT Психоакустическая компрессия звукаПсихоакустическая компрессия звука

►Слуховая маскировкаСлуховая маскировка►Устройство алгоритма Устройство алгоритма mp3mp3

Подавление стационарных шумовПодавление стационарных шумов►Метод спектрального вычитанияМетод спектрального вычитания►STFT STFT как банк фильтров, полосовые гейтыкак банк фильтров, полосовые гейты►Проблема «музыкального шума»Проблема «музыкального шума»►Частотно-временное разрешениеЧастотно-временное разрешение

ВейвлетыВейвлеты Подавление шума на изображенияхПодавление шума на изображениях Редактирование спектрограммРедактирование спектрограмм

Page 3: Банки фильтров, шумоподавление

Часть 1Часть 1

Банки фильтров и их примененияБанки фильтров и их применения

Page 4: Банки фильтров, шумоподавление

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

СпектрограммаСпектрограмма► график зависимости амплитуды от частоты и от график зависимости амплитуды от частоты и от

времени, показывает изменение спектра во времени, показывает изменение спектра во временивремени

►отображается модуль отображается модуль Short Time Fourier Transform Short Time Fourier Transform (STFT)(STFT)

m

miemwmnxnSTFT ][][],[

Page 5: Банки фильтров, шумоподавление

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

Частотно-временное разрешениеЧастотно-временное разрешение►Способность различать детали по частоте и по Способность различать детали по частоте и по

времени, «размытость» спектрограммывремени, «размытость» спектрограммы►Для Для STFT STFT определяется длиной весового окна определяется длиной весового окна (а (а

также, отчасти, размером и шагом также, отчасти, размером и шагом DFT DFT по времени)по времени)

►Соотношение неопределенностей:Соотношение неопределенностей: разрешение по разрешение по частоте обратно пропорционально разрешению по частоте обратно пропорционально разрешению по временивремени

consttf

6 ms 12 ms 24 ms 48 ms 96 ms размер окна

Page 6: Банки фильтров, шумоподавление

Банки фильтровБанки фильтров Банки фильтров – преобразования, Банки фильтров – преобразования,

разбивающие сигнал на несколько разбивающие сигнал на несколько частотных полос в возможностью частотных полос в возможностью обратного синтезаобратного синтеза

Пример: дискретное вейвлет-Пример: дискретное вейвлет-преобразованиепреобразование

Возможные свойстваВозможные свойства БФ: точное БФ: точное восстановление, избыточностьвосстановление, избыточность

H2

H1

↓2

↓2Коэффициенты

↑2

↑2

G2

G1

+x[n] x’[n]

Декомпозиция Реконструкция (синтез)

Page 7: Банки фильтров, шумоподавление

Банки фильтровБанки фильтров Применения:Применения:

► Раздельная обработка сигнала в разных Раздельная обработка сигнала в разных частотных полосахчастотных полосах

► Компрессия сигналов с независимым Компрессия сигналов с независимым квантованием в разных частотных полосахквантованием в разных частотных полосах

Пример банка фильтров, основанного на Пример банка фильтров, основанного на STFTSTFT► Декомпозиция: Декомпозиция: STFT STFT с окном Хана (с окном Хана (Hann)Hann), и, и с с

перекрытием между окнами 75%перекрытием между окнами 75%► Синтез: обратное Синтез: обратное DFT DFT от каждого блока, от каждого блока,

применение весовых окон Хана и сложение окон применение весовых окон Хана и сложение окон с наложением (с наложением (OLA)OLA)

► Свойства:Свойства:► Точное восстановлениеТочное восстановление► Наличие избыточностиНаличие избыточности

Page 8: Банки фильтров, шумоподавление

Слуховая маскировкаСлуховая маскировка

Абсолютный порог слышимостиАбсолютный порог слышимости

Как соотнести уровни в звуковом файле с Как соотнести уровни в звуковом файле с абсолютными уровнями звука?абсолютными уровнями звука?

Page 9: Банки фильтров, шумоподавление

Слуховая маскировкаСлуховая маскировка

Сильные звуки Сильные звуки ((masker)masker) маскируют более маскируют более слабые слабые ((maskee)maskee)

►Одновременная маскировкаОдновременная маскировка►ВременнВременнаая маскировка (прямая и обратная)я маскировка (прямая и обратная)

Page 10: Банки фильтров, шумоподавление

Слуховая маскировкаСлуховая маскировка

Маскировка тонами, шумами и общий порог Маскировка тонами, шумами и общий порог маскировкимаскировки

Шаг квантования выбирается Шаг квантования выбирается пропорциональным порогу маскировкипропорциональным порогу маскировки

Page 11: Банки фильтров, шумоподавление

Алгоритм Алгоритм mp3mp3

Кодирование аудиоданных с потерямиКодирование аудиоданных с потерями

mp3-файлx[n]

FFT

Банкфильтров

Q Huffman

Психоакустическийанализ

Схема кодера mp3

Page 12: Банки фильтров, шумоподавление

Пред-эхоПред-эхо

Pre-echo (pre-ringing)Pre-echo (pre-ringing)

Размытие ошибки квантованияпо времени на всю длину окна

Page 13: Банки фильтров, шумоподавление

Пред-эхоПред-эхо

Переключение размера окон в банке Переключение размера окон в банке фильтровфильтров

Page 14: Банки фильтров, шумоподавление

ШумоподавлениеШумоподавление

Аддитивный шумАддитивный шум

Метод спектрального вычитания

][][][ nnoisencleanndirty

Шум предполагается стационарным,т.е. не меняющимся во времени (средняя мощность, спектр)

Page 15: Банки фильтров, шумоподавление

Стационарные шумыСтационарные шумы

Общий принцип подавленияОбщий принцип подавления1.1. Преобразование, компактно локализующее Преобразование, компактно локализующее

энергию (энергию (energy compaction)energy compaction)

2.2. Модификация коэффициентов преобразования Модификация коэффициентов преобразования (подавление коэффициентов, соответствующих (подавление коэффициентов, соответствующих шуму)шуму)

3.3. Обратное преобразование (восстановление Обратное преобразование (восстановление очищенного сигнала)очищенного сигнала)

Page 16: Банки фильтров, шумоподавление

Спектральное Спектральное вычитаниевычитание

Спектральное вычитание для Спектральное вычитание для аудиосигналоваудиосигналов

1.1. STFTSTFT

2.2. Оценка спектра шума по участку без полезного Оценка спектра шума по участку без полезного сигналасигнала

3.3. «Вычитание» спектра шума из спектра сигнала«Вычитание» спектра шума из спектра сигнала

4.4. Обратное Обратное STFTSTFT

Spectral Subtraction,Short-Time Spectral Attenuation

STFT

Noise spectrumestimation

InverseSTFT

x[t] X[f,t]–

W[f]

S[f,t] s[t]

Схема алгоритма спектрального вычитания

Page 17: Банки фильтров, шумоподавление

Спектральное Спектральное вычитаниевычитание

Требования к банку фильтровТребования к банку фильтров► Точное (или почти точное) восстановлениеТочное (или почти точное) восстановление► Отсутствие «эффекта блочности» (перекрытие, Отсутствие «эффекта блочности» (перекрытие,

окна)окна)► Хорошая частотная локализацияХорошая частотная локализация► Не требуется: сохранение количества Не требуется: сохранение количества

информацииинформации

Выбираем банк фильтров,основанный на STFT

Page 18: Банки фильтров, шумоподавление

ШумоподавлениеШумоподавление

Многополосная интерпретацияМногополосная интерпретация

x[n] Банкфильтров(анализ) …

Gate

Gate

Gate

… …

y[n]Банкфильтров(синтез)

Пороги срабатывания гейтов зависятот уровня шума в каждой частотной полосе

Гейт (gate) – устройство, подавляющее тихие сигналы(громкие пропускаются без изменения)

Page 19: Банки фильтров, шумоподавление

Спектральное Спектральное вычитаниевычитание

Конструкция гейтовКонструкция гейтов► Порог срабатывания зависит от шума Порог срабатывания зависит от шума → нужно → нужно

знать параметры шума → обучениезнать параметры шума → обучение► Мягкое или жесткое срабатываниеМягкое или жесткое срабатывание

► Время срабатыванияВремя срабатывания (attack/release time) (attack/release time)► Ограничение степени подавленияОграничение степени подавления

0,],[

],[1max],[

tfX

tfWtfGПример подавления:

Здесь G – коэффициент усиления, W – оценка амплитуды шума, X – амплитуда сигнала.

Page 20: Банки фильтров, шумоподавление

ШумоподавлениеШумоподавление

Шум случаен Шум случаен →→ его спектр тоже случаен его спектр тоже случаен

Пример спектра белого шума:Пример спектра белого шума:

приближенный фрагментобщая спектрограмма

Page 21: Банки фильтров, шумоподавление

ШумоподавлениеШумоподавление

После спектрального вычитания После спектрального вычитания появляютсяпоявляются

случайно расположенные всплески энергии – случайно расположенные всплески энергии – артефакт «музыкальный шум» (артефакт «музыкальный шум» (musical noise)musical noise)

«музыкальный шум»общая спектрограмма

Page 22: Банки фильтров, шумоподавление

ШумоподавлениеШумоподавление

Музыкальный шум: методы борьбыМузыкальный шум: методы борьбы► Завышение порога Завышение порога (недостаток – теряем больше сигнала)(недостаток – теряем больше сигнала)

► Ограничение Ограничение G(f, t)G(f, t) снизу снизу (чтобы музыкальный шум (чтобы музыкальный шум маскировался естественным шумом)маскировался естественным шумом)

► Увеличение времени срабатывания гейтов Увеличение времени срабатывания гейтов (при слишком (при слишком сильном увеличении получается шумовое эхо и смазываются атаки сильном увеличении получается шумовое эхо и смазываются атаки в сигнале)в сигнале)

► Сглаживание Сглаживание G(f, t)G(f, t) по времени и/или по частоте по времени и/или по частоте

зашумленный сигналпростое спектр. вычитаниесглаживание по времени

Page 23: Банки фильтров, шумоподавление

Спектральное Спектральное вычитаниевычитание

Эффекты фиксированного частотно-Эффекты фиксированного частотно-временного разрешениявременного разрешения► Эффект Гиббса (размытие транзиентов)Эффект Гиббса (размытие транзиентов)► Недостаточное частотное разрешениеНедостаточное частотное разрешение

Зашумленный сигнал Размер окна 50 мс Адаптивное разрешение

Page 24: Банки фильтров, шумоподавление

Понятие вейвлетаПонятие вейвлета

Вейвлеты – это сдвинутые и Вейвлеты – это сдвинутые и масштабированные копии масштабированные копии ψψa,ba,b(t)(t) ((«дочерние «дочерние

вейвлеты»)вейвлеты») некоторой быстро затухающей некоторой быстро затухающей осциллирующей функции осциллирующей функции ψψ(t)(t) («материнского («материнского вейвлета»)вейвлета»)

Используются для изучения частотного Используются для изучения частотного состава функций в различных масштабах и состава функций в различных масштабах и для разложениядля разложения//синтеза функций в синтеза функций в компрессии и обработке сигналовкомпрессии и обработке сигналов

a

bt

atba 1)(,

Page 25: Банки фильтров, шумоподавление

Понятие вейвлетаПонятие вейвлета

Обычно накладываемые условия на Обычно накладываемые условия на ψψ(t):(t):

► ИнтегрируемостьИнтегрируемость

► Нулевое среднее, нормировкаНулевое среднее, нормировка

► Нулевые моменты (Нулевые моменты (vanishing moments)vanishing moments)

dtt)(

dtt2)(

0)(

dtt 1)(2

dtt

0)(

dtttm

Page 26: Банки фильтров, шумоподавление

Понятие вейвлетаПонятие вейвлета

Примеры вейвлетовПримеры вейвлетов

Meyer

Mortlet

Mexican hat

Page 27: Банки фильтров, шумоподавление

Непрерывное вейвлет-Непрерывное вейвлет-преобразование (преобразование (CWT)CWT)

Скалярные произведения исследуемой Скалярные произведения исследуемой функции функции f(t) f(t) с вейвлетами с вейвлетами ψψa,ba,b(t)(t)

dtttxxbaxW baba )()(,),}({ ,,

Page 28: Банки фильтров, шумоподавление

Дискретное вейвлет-Дискретное вейвлет-преобразование (преобразование (DWT)DWT)

Используются лишь целочисленные Используются лишь целочисленные сдвиги вейвлета и масштабирование в 2 сдвиги вейвлета и масштабирование в 2 разараза

Возможность построения ортогонального Возможность построения ортогонального преобразованияпреобразования

Дискретный вейвлетДискретный вейвлет1.1. Последовательность чиселПоследовательность чисел

2.2. Ортогональна своим сдвигам на четное число Ортогональна своим сдвигам на четное число точекточек

3.3. Существует скейлинг-функция (НЧ-фильтр), Существует скейлинг-функция (НЧ-фильтр), ортогональная вейвлетуортогональная вейвлету

][2 mh

0,,0]2[][ 22

kZkkmhmhm

0][][ 21

m

mhmh

Page 29: Банки фильтров, шумоподавление

Преобразование Хаара Преобразование Хаара

Простейший случай вейвлет-Простейший случай вейвлет-преобразованияпреобразованияДан входной сигнал Дан входной сигнал x[n]x[n]

Образуем от него последовательности полусумм и Образуем от него последовательности полусумм и полуразностей:полуразностей:

Легко видеть, что сигнал Легко видеть, что сигнал x[n] x[n] можно восстановить:можно восстановить:

Такое кодирование избыточно: из одной Такое кодирование избыточно: из одной последовательности получаем двепоследовательности получаем две

2

]1[][][*1

nxnxnx

2

]1[][][*2

nxnxnx

][][][ *2

*1 nxnxnx

Page 30: Банки фильтров, шумоподавление

Преобразование Хаара Преобразование Хаара

Устранение избыточностиУстранение избыточностиПроредим полученные последовательности в 2 Проредим полученные последовательности в 2

разараза::

Легко видеть, что справедлив алгоритм Легко видеть, что справедлив алгоритм восстановления:восстановления:

]2[][ *11 nxnx ]2[][ *

22 nxnx

2,1,0

,2][

iнечетноеn

четноеnn

xny i

i (интерполяция нулями)

]1[][][ 11**1 nynynx ]1[][][ 22

**2 nynynx (фильтрация)

][][][ **2

**1 nxnxnx (суммирование)

Page 31: Банки фильтров, шумоподавление

Дискретное вейвлет-Дискретное вейвлет-преобразование преобразование

Обобщение преобразования ХаараОбобщение преобразования Хаара

Свойство точного восстановления (Свойство точного восстановления (PR):PR):

Количество информации не изменяется.Количество информации не изменяется.

Нужно найти хорошие фильтры, обеспечивающие Нужно найти хорошие фильтры, обеспечивающие точное восстановление.точное восстановление.

H2

H1

↓2

↓2Коэффициенты

↑2

↑2

G2

G1

+x[n] x’[n]

Декомпозиция Реконструкция

][][ nxnx

Page 32: Банки фильтров, шумоподавление

Пирамидальное Пирамидальное представление представление

Продолжаем вейвлет-разложение для НЧ-Продолжаем вейвлет-разложение для НЧ-коэффициентовкоэффициентов

H2

H1

↓2

↓2 Коэффициенты

x[n]

H2

H1

↓2

↓2

Двумерное вейвлет-преобразование

на каждом шаге получаем4 набора коэффициентов:

НЧ («основные»)и ВЧ («детализирующие»)

Частотный диапазон

делится на октавы

Одномерный случай

Page 33: Банки фильтров, шумоподавление

Банки фильтров Банки фильтров

Как банки фильтров разбивают частотно-Как банки фильтров разбивают частотно-временную плоскость?временную плоскость?

f

tSTFT

f

tВейвлеты

Page 34: Банки фильтров, шумоподавление

Часть 2Часть 2

Подавление шума на изображенияхПодавление шума на изображениях

Page 35: Банки фильтров, шумоподавление

Виды и примеры Виды и примеры шумовшумов

Шумы

СтационарныеИмпульсные Смешанные

Salt and pepperПомехи в видео

Аддитивный белый Зерно пленки

Белый шум – пиксели случайны, не коррелированны друг с другом.Гауссов/равномерный/треугольный шум – закон распределения амплитуд пикселей.Аддитивный шум – прибавляется к «чистому» изображению и не зависит от него.

Шум + помехи в видео

Salt

an

d p

ep

per

AW

GN

Page 36: Банки фильтров, шумоподавление

Методы Методы шумоподавленияшумоподавления

Шумы

СтационарныеИмпульсные Смешанные

Медианный фильтрВзвешенная медианаРанговые фильтры

Bilateral filterNon-Local MeansWavelet thresholdingDCT, PCA, ICAАнизотропная диффузияАлгоритм BM3D

Ранговые фильтрыКомбинированные методы

Salt

an

d p

ep

per

AW

GN

Page 37: Банки фильтров, шумоподавление

Простейшие методыПростейшие методы

Простейшие методыПростейшие методы► Размытие изображения – вместе с шумом Размытие изображения – вместе с шумом

размывает деталиразмывает детали

► Размытие в гладких областях – остается шум Размытие в гладких областях – остается шум вблизи границвблизи границ

► Медианная фильтрация – хорошо подавляет Медианная фильтрация – хорошо подавляет импульсный шум, но удаляет мелкие деталиимпульсный шум, но удаляет мелкие детали

Page 38: Банки фильтров, шумоподавление

Bilateral filterBilateral filter

Адаптивные алгоритмыАдаптивные алгоритмы► Bilateral filterBilateral filter

усреднение окружающихусреднение окружающих

пикселейпикселей

с весамис весами

Qmk

mjkiji mkjiWxy,

,, ),,,(

2

22

2

2,, exp)(

exp),,,(mk

h

xxmkjiW mjkiji

фотометрическая близость пространственная близость

Page 39: Банки фильтров, шумоподавление

Bilateral filterBilateral filter

Bilateral filter: Bilateral filter: художественное применениехудожественное применение

(при слишком сильном действии)

Page 40: Банки фильтров, шумоподавление

Non-Local MeansNon-Local Means

Адаптивные алгоритмыАдаптивные алгоритмы► Non-local means (NL-means)Non-local means (NL-means) – веса зависят от – веса зависят от

близости целых блоков, а не отдельных пикселейблизости целых блоков, а не отдельных пикселей

2

2

,, )()(exp),,,(

h

xxmkjiW

mjkiji ν(xi,j) – блок вокруг пикселя xi,j

Page 41: Банки фильтров, шумоподавление

Non-Local MeansNon-Local Means

Вычисление весовВычисление весов

►Способен сохранять текстуру изображения Способен сохранять текстуру изображения лучше,лучше, чем чем bilateral filterbilateral filter

Иллюстрация изBuades et al 2005

Веса высоки для q1 и q2,но не для q3

+

Page 42: Банки фильтров, шумоподавление

Non-Local MeansNon-Local Means

Достоинства и недостатки:Достоинства и недостатки:►Высокое качество результирующего изображенияВысокое качество результирующего изображения

►В исходном варианте – очень высокая В исходном варианте – очень высокая вычислительная сложностьвычислительная сложность

Ускоряющие расчет оптимизации:Ускоряющие расчет оптимизации:►Использование команд Использование команд MMX/SSE MMX/SSE для сравнения для сравнения

блоковблоков► Разбиение изображения на блоки и усреднение Разбиение изображения на блоки и усреднение

целых блоков, а не отдельных пикселейцелых блоков, а не отдельных пикселей►Промежуточный вариант между усреднением Промежуточный вариант между усреднением

блоков и усреднением пикселей: усреднение блоков и усреднением пикселей: усреднение маленьких блоковмаленьких блоков

+

Page 43: Банки фильтров, шумоподавление

Non-Local MeansNon-Local Means

Применение к видеоПрименение к видео

►Область поиска блоков можно расширить на Область поиска блоков можно расширить на соседние кадры (сделать ее пространственно-соседние кадры (сделать ее пространственно-временной)временной)

►Для ускорения просчета можно применять Для ускорения просчета можно применять сравнение блоков только по сравнение блоков только по Y-Y-каналу в каналу в цветовой модели цветовой модели YCrCb (YUV)YCrCb (YUV)

Page 44: Банки фильтров, шумоподавление

Вейвлетный методВейвлетный метод

Вейвлетное шумоподавление для изображенийВейвлетное шумоподавление для изображений1.1. DWTDWT

2.2. Оценка уровня и спектра шумаОценка уровня и спектра шума

3.3. Подавление вейвлет-коэффициентов Подавление вейвлет-коэффициентов (thresholding, (thresholding, shrinkage)shrinkage)

4.4. Обратное Обратное DWTDWT

+Подавление шума различного масштаба

–Отсутствие инвариантности к сдвигуОтсутствие инвариантности к сдвигуПлохая локализация энергии для наклонных границПлохая локализация энергии для наклонных границ

Page 45: Банки фильтров, шумоподавление

Редактирование Редактирование спектрограммспектрограмм

1.1. Построение спектрограммы: перевод Построение спектрограммы: перевод WAV WAV в в BMPBMP

2.2. Редактирование Редактирование BMP (brush tool)BMP (brush tool)

3.3. Синтез звука: перевод Синтез звука: перевод BMP BMP в в WAVWAV

Как быть с фазовой составляющей?Как быть с фазовой составляющей?► Записать в отдельный файлЗаписать в отдельный файл

Достаточно ли 256 градаций для квантования Достаточно ли 256 градаций для квантования амплитуды?амплитуды?► Можно записать точные амплитуды в отдельный Можно записать точные амплитуды в отдельный

файлфайл

Похожая программа: Похожая программа: PhotosounderPhotosounder