|
Апроксимация сплайнами, оптимизация размещения контрольных точек |
|
|
|
Jan 23 2011, 13:26
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
Эта тема является логическим продолжением вот этой, но может быть интересна и сама по себе, поэтому выношу в отдельный типик. На картинках изображена характерная кривая (1 - общий план, 2 - приближенное начало), которую нужно представить сплайнами или любым другим способом, занчительно снижающим объем памяти, требуемый для ее хранения, но при этом допускающий сравнительно простое восстановление по точкам, не разжимя всей кривой сразу (то-есть запаковать ее ZIP-ом нельзя  ). Проблема в автоматическом определении положения контрольных точек. Очевидно, что равномерное расположение не выгодно, так как в начале есть сильные осциляции, а в конце график почти прямой. В идеале нужен алгоритм, который позволит по заданному числу контрольных точек определть их положение так, чтобы СКО было минимальным. Или наоборот, по заданному СКО определить требуемое число точек и их положение. Есть еще одна небольшая проблема - данные немного зашумлены, отчего точное определение локальных экстремумов затруднено. Можно конечно его зафильтровать пока не получится приемлемый результат, но хотелось-бы этого избежать.
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
(15 - 29)
|
Jan 24 2011, 11:16
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (TSerg @ Jan 24 2011, 10:15)  Для Вашего случая моделировать надо не результат, а причину. Согласен. Это первый шаг, так как моделирование причины - это не так просто и даже для самых сложных и совершенных доступных публично моделей качество синтезируемого звука оставляет желать лучшего. Да и почти все статьи рассматривающие такой синтез строят именно огибающие гармоник решая системы ДУ, а сам синтез делают по гармоникам, иначе никакого реал-тайма не получается. QUOTE (GetSmart @ Jan 24 2011, 11:57)  Как определять точки - сильно зависит от алгоритма интерполяции/сглаживания. Для начала определитесь с методом сглаживания. А потом можно думать об алгоритме поиска точек. Согласен. Рассматриваются спростые кубические сплайны и эрмитовы сплайны. Оба типа обладают интересными характеристиками и с каким получится лучше пока не ясно. Для начала можно взять классические кубические сплайны. QUOTE (Tanya @ Jan 24 2011, 11:14)  Наверное, не только в этом случае. Если верить авторскому рисунку, кроме затухания происходит перенос энергии основной моды в гармоники. И обратно? Происходит. Именно поэтому и записываются из сэмплов все гармоники до 15 кГц примерно. А при синтезе обратно собираются.
|
|
|
|
|
Jan 24 2011, 12:04
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Tanya @ Jan 24 2011, 14:55)  Вот и попробуйте написать модель переноса... И посчитать... Примерно так... Имеется вероятность перехода и туда и обратно. Или можно в терминах скорости. В результате образуется равновесие. При падении энергии (амплитуды (основной моды)?) ниже определенного порога каналы обмена закрываются. Да, я об этом думал, но решил оставить на потом, после сжатия. Кроме того началный момент атаки скорее всего так описать не получится. QUOTE (petrov @ Jan 24 2011, 15:01)  Хранить гармоники или их амплитуды, на участке с более широкой полосой гармоники побольше частоту дискретизации сделать. Тогда даже самый неоптимальный алгоритм расстановки ключевых точек в стлайнах дает большее сжатие.
|
|
|
|
|
Jan 24 2011, 14:12
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (petrov @ Jan 24 2011, 15:45)  Вот из этого как раз только можно получить необходимую частоту дискретизации, но то что какие-то сплайны подходят вовсе не факт. Сплайнами можно добиться побитового совпадения результата и дискретизированного до 16 бит сигнала. Тогда разницы не будет точно. QUOTE (petrov @ Jan 24 2011, 15:45)  В речи например тоже огибающая медленно изменяется но для её сжатия используют линейное предсказание. Я так понимаю линейное предсказание используют из-за ограниченности времени, так как сжатие речи идет для непосредственной передачи в линию и узнать, что опорную точку нужно поставить через несколько десятков миллисекунд просто нереально. Я вечером попробую сжать не самым оптимальным образом и восстановить, посмотрим что получится.
|
|
|
|
|
Jan 24 2011, 14:29
|
Знающий
   
Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730

|
Цитата Taradov Alexander: Я так понимаю линейное предсказание используют из-за ограниченности времени, так как сжатие речи идет для непосредственной передачи в линию и узнать, что опорную точку нужно поставить через несколько десятков миллисекунд просто нереально. Нет. Просто на сегодняшний день это один из наиболее эффективных способов параметризации случайных сигналов. У меня есть подозрение, что именно lpc очень подойдет для Вашей задачи. Что касается аппроксимации картинки из начала топика - она должна неплохо приближаться конечной суммой экспонент вида c(k)*exp(-b(k)*n*T) k = 0 ... N-1.
|
|
|
|
|
Jan 24 2011, 15:00
|
Знающий
   
Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730

|
Цитата GetSmart: Если это Фурье-коэффициенты, то имхо ключевыми точками сплайнов можно сделать короче. Фурье тут и не пахнет. Это классическое выражение для импульсной х-ки аналогового фильтра, передаточная функция которого разложена на простые дроби.
|
|
|
|
|
Jan 24 2011, 15:10
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Tanya @ Jan 24 2011, 17:35)  Если есть (мечтать не вредно...) адекватное описание (модель - дифференциальное уравнение) с некоторым количеством параметров, то это и есть сжатие... Ну да, только адекватной модели нет. QUOTE (Tanya @ Jan 24 2011, 17:35)  Было бы интересно посмотреть, как ведет себя все это при разных начальных энергиях. В какой-то мере это можно сделать, я нагенерил эталонным синтезатором сэмплов с разной скоростью нажатия клавиши и буду смотреть на зависимоть чуть позже. Я прмерно представляю на что нужно смотреть, просто времени это требует много и не все сразу
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|