Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реконструирование испорченного фрагмента звука, Какие есть способы? 
:(
    Опции темы
Y-Vladimir
Дата 20.7.2004, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



Вот какая задача - у нас есть звуковой файл, небольшой кусочек данных которого испорчен (помеха там или щелчок). Вопрос, как наиболее правильно восстановить этот фрагмент? Интерполяцию сразу отметаем, т.к. получается гладкая линия, чего в действительности не наблюдается (если только этот участок не совсем уж маленький).

Первой пришла идея использовать информацию окрестности поврежденного фрагмента, найдя ее спектр. Ведь если у нас была чистая синусоида в окрестности, то можно с большой уверенностью сказать, что в поврежденном участке тоже была синусоида. Вот только как это можно сделать?

Может есть еще какие подходы?

Можно ли данные рассуждения применить, скажем, к испорченному фрагменту изображения?


--------------------
PM MAIL WWW   Вверх
podval
Дата 21.7.2004, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Очень зависит от типа помехи. Щелчок - импульсная помеха. Если щелчок авторучкой - она более высокочастотная. Удар кувалдой - более низкочастотная. Ну и амплитуда помехи - немаловажный фактор. Здесь нужны очень хорошие фильтры.
PM WWW ICQ   Вверх
Y-Vladimir
Дата 21.7.2004, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



Вопрос в другом - я знаю, где точно находится помеха, и этот фрагмент фильтрами не восстановишь, (например если полное отсутствие сигнала в этом участке).

Нужно на основании оставшегося сигнала воостановить этот фрагмент, по-возможности наиболее корректно. Вот я и подумал, что наиболее правильно взять некоторую окрестность около дефектного участка и попытаться реконструировать форму сигнала на основе этой информации.

Какой способ лучше подходит для этой задачи?


--------------------
PM MAIL WWW   Вверх
maxim1000
Дата 21.7.2004, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



рассматриваем звуковой сигнал, как случайный процесс
используя окрестность сигнала, набираем статистику
по ней делаем предположение о законе распределения (для всего процесса)
далее берем конкретный участок с помехой +/- небольшая окрестность (меньше той, на которой набирали статистику), представляем его в виде вектора
считаем те координаты, на которых помеха неизвестными
по остальным известным координатам проводим оценивание неизвестных
критерий можно брать, например, наибольшего правдоподобия или мат.ожидания ошибки
Добавлено @ 15:15
P.S.
честно говоря, не знаю, лучше ли всего этот способ подходит для данной задачи, но это - первое, что пришло в голову...


--------------------
qqq
PM WWW   Вверх
podval
Дата 21.7.2004, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Подойдет GARCH-модель (Generalized Autoregressive Conditional Heteroscedasticity). Она же модель обобщенной регрессии с условной гетероскедастичностью.
Страшно? smile.gif
Это такая регрессионная модель, в которой можно дисперсию представить изменяемой во времени.

Но если быть проще, то можно обойтись и более простыми. Традиционная модель линейного предсказания, например, для речи подойдет.

В остальном так:
- оцениваем параметры модели по чистым участкам сигнала;
- в области помехи моделируем сигнал.
PM WWW ICQ   Вверх
Y-Vladimir
Дата 21.7.2004, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



Я вот тут придумал способ - зацените, плиз.
Пусть у нас длительность помехи dt. Тогда берем два участка звука длиной dt: до поврежденного фрагмента и после. Затем находим спектр этих двух кусочков. А далее вычисляем их средне арифметический спектр (находим средние значения амплитуды для каждой частоты из двух получившихся спектров). Это мы значит получили предполагаемый спектр поврежденного участка, делаем обратное преобразование Фурье для него и получаем реконструированный дефектный фрагмент.

Как думаете, прокатит? И корректно ли так восстанавливать?
По идее должно давать хорошие результаты.


--------------------
PM MAIL WWW   Вверх
maxim1000
Дата 21.7.2004, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата
А далее вычисляем их средне арифметический спектр (находим средние значения амплитуды для каждой частоты из двух получившихся спектров). Это мы значит получили предполагаемый спектр поврежденного участка

значение спектра на каждой частоте - комплексное число
для восстановления сигнала кроме модуля спектра нужна еще его фаза
можно попробовать подобрать фазу так, чтоб сгладить переход от оригинального кусочка сигнала к восстановленному (хотя сомнительно...)
Цитата
И корректно ли так восстанавливать?

конечно же нет smile.gif
о корректности можно говорить, когда способ выводится из каких-то обоснованных данных, а не придумывается просто так
(хотя это абсолютно не значит, что этот способ будет давать плохие результаты smile.gif)


--------------------
qqq
PM WWW   Вверх
Y-Vladimir
Дата 21.7.2004, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



podval , такой вопрос - если у меня исходный сигнал, это смесь из нескольких синусоид разной частоты, но постоянной амплитуды, и из этого сигнала вырезан какой-то кусочек, то сможет ли GARCH-модель восстановить этот кусочек таким образом, чтобы в нем опять была такая же смесь частот?
Интересно почитать про эту модель, если не трудно кинь пару толковых ссылок.



--------------------
PM MAIL WWW   Вверх
val
Дата 22.7.2004, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: 1
Всего: 7



Мне кажется, что использование стандартного подхода с вычислением т.н. А-параметров (авторегрессионый подход) на неиспорченном участке сигнала и восстановление с их помощью испорченного + полосовые фильтры неплохое решение задачки...


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
podval
Дата 22.7.2004, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Y-Vladimir
В принципе, чтобы не иметь дело с очень уж заумными статьями, можно просто открыть Help к системе Matlab от версии 6.0 и выше. Там это есть. Достаточно, чтобы понять и решить, надо ли это. Все же в обобщенном виде много очень вычислений.
Попробуй для начала обычные LPC-коэффициенты, а дальше усложняй.
PM WWW ICQ   Вверх
Y-Vladimir
Дата 23.7.2004, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



Спасибо всем! Надо будет посмотреть подробнее о этих подходах.
А интересно, какой будет результат если эти методы применить для изображения? Типа например есть у нас испорченный клок изображения (пятно или трещина), можно ли восстановть это в атоматическом режиме, выделив лишь испорченную область?
В Фотошопе это конечно делается с помощью заплятки, если есть донорская область достаточного размера, а если нету, то придется помучится... может в таком случае данные методы помогут?


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.