![]() |
|
|
![]()
|
|
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
Как Zero tree по русски....
Существует ведь Z-Tree в вейвлет - кодирование картинки (двухдимензионального сигнала). ![]() Та же Лена ![]() Я эксперементировал с сигналами и "Haar trandformation", но ничего, Где можно было бы применить Z-Tree, не получилось. Но ведь как-то это возможно.. |
|||
|
||||
| dwr_budr |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 11.4.2004 Репутация: нет Всего: 2 |
2 maxim1000
FFT vs DMCT Я понимаю что ни FFT ни DCT не знают о сигнале! Но мне непонятен следующий аспект! В MDCT все просто. Взял 1024 выборки. С 0й по 1023ю и получил 512 частот. Дальше еще 1024 теперь с 512й... снова 512 частот. Каждый раз полноценные 512 частот. Т.е. выходная размерность всегда будет в 2 раза меньше входной! Таким образом пройдя через весь файл мы обработали 2N элементов, а в ответ получили N элементов! А как с FFT? Обсчитали 1024 выборки.. получили 1024 комплексных рузультата! Из них половина симметричная! Т.е. 512(+1) комплексных результатов! Т.е. по сути 1024 числа! И если мы будем обсчитывать в нахлест, то на 2N входных значение получим 2N выходных. Сам себе взял и увеличил объем данных которые нужно будет хранить :) Доперекрывался я называется :) Как с этим быть? Адаптивный хаффман. Я осознаю насколько это медленно постоянно обновлять дерево. Но раскодирование файла в реальном времени думаю даже тормозной адаптивный хаффман будет успевать делать. (+ overhead не нужно будет хранить) Но опять таки это пока идея. Может подойдя к фазе упаковки я осознаю, что мне будет удобнее что-нибудь другое! Спасибо за комментарий повышающий бдительность :) Поводу скорости. Самая первая версия сего супе пупер кодека будет дико медленная :) Тот же MDCT я написал в лоб. Но безусловно потом такие моменты перепишу более быстро. Ошибка. Можно тут подробнее? Просто я вижу поток битов и если будет ошибка пострадает лишь один фрейм. А что ты имеешь в виду под затуханием? |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
sergej.z
Я это понимаю Так ты хотел применить к одномерным сигналам? |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
Ну конечно! Ёлы палы, Чего то у меня с теминами не того PS:Я так понимаю Z-Tree подходит лишь для низкочастотных сигналов или нет? |
|||
|
||||
| maxim1000 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
кажется, я кое-чего не заметил - буквочки M в MDCT возможно, это - какой-то модифицированный метод (было бы интересно узнать - если можно, кра-а-атенькое описание) просто как-то сомнительно, чтобы из 1024 дискрет метод давал 512 чисел (или он не допускает точного восстановления)... (или использует предыдущие данные)
кодировать независимо каждый фрейм можно, но сигналы очень часто бывают периодическими (или почти периодическими) поэтому за счет зависимости между ними можно много чего выиграть особенно, если используется статистическое кодирование (например, Хаффман) идея вот в чем: если взять один фрейм вероятности будут считаться, так сказать, на общих условиях, если известен предыдущий фрейм, можно уточнить вероятности, а значит, улучшить степень сжатия Хаффмана. Проигрывание файла с середины можно рассматривать как ошибку во всех предыдущих фреймах, если кодирование фреймов независимо - это ни на что не повлияет, если используется информация с предыдущих фреймов - появится ошибка, в некоторых случаях даже если ошибка появляется, она быстро затухает - сигнал приближается к исходному -------------------- qqq |
||||
|
|||||
| podval |
|
||||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Моя твоя не понимай А здесь ты что хотел сказать? Ну ладно, раз уж ты добрался до таких тонкостей, рекомендую качнуть книжку Теория и практика вейвлет-преобразования. Найдешь много интересного, в т.ч. и алгоритмы нуль-деревьев. Кстати, на том сайте много еще по вейвлетам. Из книжки:
А теперь скачивай книжку |
||||
|
|||||
| dwr_budr |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 11.4.2004 Репутация: нет Всего: 2 |
2 maxim1000
Вoт по этой ссылке я собственно mdct делал http://en.wikipedia.org/wiki/Modified_disc...osine_transform Кра-а-а-тенькое описание: Прямое преобразование: 2n элементов на входе дают n элементов на выходе. Поэтому пересчет нахлестывающихся промежутков не грозит увеличением данных Обратное преобразование: n входных жлементов дают 2n выходных Однако выходные 2n элементов не равны входным (как ты и подозревал :) Поэтому нахлестывающиеся промежутки выходных 2n элементов нужно еще в добавок сложить. Тогда получаются оригинальные значения. Правда самые первые 0...n элементов не востановятся ровно как и последние mn...(m+1)n так как не с чем они не перехлестываются, но ничего нам не мешает дополнить входной сигнал чуток с обоих сторон дабы был нахлест :) А за комментарии про ошибку спасибо :) Это сообщение отредактировал(а) dwr_budr - 24.4.2004, 21:52 |
|||
|
||||
| vahitov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 26.3.2004 Репутация: нет Всего: нет |
Люди.
скажите вот что. Когда мы сделали преобразование Фурье, у нас на выходе значение амплитуд sin и cos(реальная и мнимая часть). А теперь по какой формуле производиться преобразование в парe: амплитуда у синуса и фаза. Если я не ошибаюсь, то амплитуда находится 2*sqrt(x[i]^2 + y[i]^2)/N |
|||
|
||||
| dwr_budr |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 11.4.2004 Репутация: нет Всего: 2 |
Фаза = arctan(Im/Re) Амплитуда = sqrt(Re^2 + Im^2) Вроде так |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |