4e4eh 0 27 июня, 2006 Опубликовано 27 июня, 2006 · Жалоба Народ.Всем привет!Мне нужно реализовать вейвлет-преобразование 9/7 на vhdl.Помогите кто чем может. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maksya 0 27 июня, 2006 Опубликовано 27 июня, 2006 · Жалоба Народ.Всем привет!Мне нужно реализовать вейвлет-преобразование 9/7 на vhdl.Помогите кто чем может.Вот первое, что на это сказал google - http://kondor.etf.bg.ac.yu/~dejaniv/projec...wt/DWT_VHDL.htm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_andrew_ 0 3 июля, 2006 Опубликовано 3 июля, 2006 · Жалоба Народ.Всем привет!Мне нужно реализовать вейвлет-преобразование 9/7 на vhdl.Помогите кто чем может. А это используется в рамках како-то задачи(если да, то интересно было бы узнать какой)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
4e4eh 0 3 июля, 2006 Опубликовано 3 июля, 2006 (изменено) · Жалоба Народ.Всем привет!Мне нужно реализовать вейвлет-преобразование 9/7 на vhdl.Помогите кто чем может. А это используется в рамках како-то задачи(если да, то интересно было бы узнать какой)? совершенно верно. это используется для внедрения цифрового водяного знака в bmp изображение. Эту ссылку я тоже естественно находил.Но там во-первых:вейвлет-преобразование 5/3 какого-то Le Galle во-вторых преобразуется черно-белое изображение с оттенками серого. А мне надо цветную bmp. в-третьих проект был написан под altera ,поэтому Xilix7(я работаю в нем) ругается и не компилирует. Изменено 3 июля, 2006 пользователем 4e4eH Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_andrew_ 0 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба Просветите меня пожалуйста... 9/7 это что есть такое:) и какой у вас материнский вейвлет? если мне не изменяет память, то в-преобразование - это простой полуполосный фильтр... реализуемый довольно просто. если разложение в вейвлет пакет - тоже самое по сути... или я чего то не понимаю? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 4 июля, 2006 Опубликовано 4 июля, 2006 (изменено) · Жалоба Просветите меня пожалуйста... 9/7 это что есть такое:) и какой у вас материнский вейвлет? если мне не изменяет память, то в-преобразование - это простой полуполосный фильтр... реализуемый довольно просто. если разложение в вейвлет пакет - тоже самое по сути... или я чего то не понимаю? 9/7 или 5/3 это длины синтезирующих (ну анализирующих соответственно) фильтров верхних и нижних частот. Вейвлет преобразование ничто иное (в таком представлении), как фильтрация двумя фильтрами с прореживанием. Проблема только одна это работа с плавающей точкой, но если использовать фильтры 5/3 от JPEG2000, то можно сделать преобразование целое в целое. Алгоритм реализуется элементарно, естественно для обработки цветных изображений надо обработать каждую компоненту. Фильтрация – это свертка, а уж как сделана свертка можно взять и из Альтеры, творчески осмыслить и доделать, тут я согласен Maksya вы уже товарищ ленитесь... фильтры 5/3 синтезирующие Highpass (-1 -2 6 -2 -1)/8 Lowpass (1 2 1)/2 анализирующие Highpass (-1 2 -1)/2 Lowpass (-1 2 6 2 -1)/8 Изменено 4 июля, 2006 пользователем Golikov A. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_mirgorodsky 0 5 июля, 2006 Опубликовано 5 июля, 2006 · Жалоба Угу, с вейвлетами все выглядит просто до тех пор, пока нет достаточно жестких требований по скорости и по количеству используемых ресурсов. Как только надо поместиться в выбранную FPGA с определенным быстродействием так сразу и начинаются танцы с бубном, поскольку внутренней памяти мало, а изображение большое. Таким образом для полнокадрового вейвлета изображения в разрешении 720x576 необходимо выполнить каких-нибудь 14 миллионов умножений для пяти уровней декомпозиции. Далее умножаем это дело на три для каждой цветовой плоскости и получаем абсолютно нетривиальную задачу по управлению пинг-понг буферами и остальными обслуживающими структурами. После этого стоит вспомнить, что 720x576 это очень маленькое разрешение и что реально возникает необходимость обработки гораздо более "мегапиксельных" структур. Учитывая вышеизложенное, не получится сделать желаемое малой кровью :) Все равно помучиться придется очень серьезно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 5 июля, 2006 Опубликовано 5 июля, 2006 · Жалоба 1080HDp60 рулит!!! а затем 2К, 4К Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 5 июля, 2006 Опубликовано 5 июля, 2006 (изменено) · Жалоба Угу, с вейвлетами все выглядит просто до тех пор, пока нет достаточно жестких требований по скорости и по количеству используемых ресурсов. Как только надо поместиться в выбранную FPGA с определенным быстродействием так сразу и начинаются танцы с бубном, поскольку внутренней памяти мало, а изображение большое. Таким образом для полнокадрового вейвлета изображения в разрешении 720x576 необходимо выполнить каких-нибудь 14 миллионов умножений для пяти уровней декомпозиции. Далее умножаем это дело на три для каждой цветовой плоскости и получаем абсолютно нетривиальную задачу по управлению пинг-понг буферами и остальными обслуживающими структурами. После этого стоит вспомнить, что 720x576 это очень маленькое разрешение и что реально возникает необходимость обработки гораздо более "мегапиксельных" структур. Учитывая вышеизложенное, не получится сделать желаемое малой кровью :) Все равно помучиться придется очень серьезно. Никто не мешает пойти по пути ЖПЕГОВ, разбить изображение на подобласти, поставить специализированные ДСП, для расчета сверток с фильтрами, у них есть спец генераторы адреса, и они БПФ делают очень быстро! Далее можно распараллелить работу по каналам, то есть сделать 3 идентичных блока и каждый фигачит свой канал. Все вопрос цены устройства, а не геморроя. Просто быстрая цифровая обработка сигнала – весьма простая на мой взгляд задача, нет мучений с ЦАП и АЦП, нет измерительных схем, калибровки, прочей байды что создает основной геморрой. Что вы не найдете алгоритм цветного вейвлет преобразования, да еще реализуемого в плис это я вам даю 95% вероятности. 5 процентов на его изобретение в ближайшее время;)... Хотя насколько мне известно никто такой задачей не занят, даже чисто двумерное вейвлет преобразование, никому не интересно, все делают последовательный проходы горизонтальные и вертикальные. Кстати почитайте обзор Рабани и какого то чувака из кодака ЖПЕГ2000, там показано как делать вейвлет преобразование без увеличения объема данных, и кстати достаточно быстро получается... Специально для устройств с малой памятью. Изменено 5 июля, 2006 пользователем Golikov A. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maksya 0 5 июля, 2006 Опубликовано 5 июля, 2006 · Жалоба Бродя по интернету вляпался вот в такую ссылку - http://www.autex.spb.ru/wavelet/ Может поможет чем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 8 июля, 2006 Опубликовано 8 июля, 2006 · Жалоба Угу, с вейвлетами все выглядит просто до тех пор, пока нет достаточно жестких требований по скорости и по количеству используемых ресурсов. Как только надо поместиться в выбранную FPGA с определенным быстродействием так сразу и начинаются танцы с бубном, поскольку внутренней памяти мало, а изображение большое. Таким образом для полнокадрового вейвлета изображения в разрешении 720x576 необходимо выполнить каких-нибудь 14 миллионов умножений для пяти уровней декомпозиции. Далее умножаем это дело на три для каждой цветовой плоскости и получаем абсолютно нетривиальную задачу по управлению пинг-понг буферами и остальными обслуживающими структурами. После этого стоит вспомнить, что 720x576 это очень маленькое разрешение и что реально возникает необходимость обработки гораздо более "мегапиксельных" структур. Учитывая вышеизложенное, не получится сделать желаемое малой кровью :) Все равно помучиться придется очень серьезно. ну это вы, уважаемый, малость передергиваете =) по кр.мере, как нас в свое время учили в ВУЗе, вейвлеты тем и прекрасны, что на жесткую логику прекрасно ложатся. По сравнению с теми же DSProcessors, в которых, что МАС, что сдвиг - один диавол такт отъест. взгляните хотя бы на коэф-ты которые привел Golikov A.: фильтры 5/3 синтезирующие Highpass (-1 -2 6 -2 -1)/8 Lowpass (1 2 1)/2 анализирующие Highpass (-1 2 -1)/2 Lowpass (-1 2 6 2 -1)/8 т.о.: Highpass (-1 -2 6 -2 -1)/8 == Highpass (-1 -(1<<1) (1<<1 + 1<<2) -(1<<1) -1) >> 3 и где тут умножители?!? да, есть сумматоры(при нек-х коэф.) и элементы (т.н.) "+1" - для перевода в отр.число. по поводу памяти: да, есть такое дело - полюбому внешнее ОЗУ вешать.. Но и тут не с нуля можно начинать - от того же Elphel можно позаимствовать контроллер SDRAM (притом он там чуть ли не 8канальный) - исходники к нему открыты. ЗЫ: да и потом вопрошающий же сказал, что ему это для BMP =) так точ о какой производительности речь?:) ЗЫЫ: 4e4eH, дерзай, и все получится ;-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_mirgorodsky 0 9 июля, 2006 Опубликовано 9 июля, 2006 · Жалоба А кто пробовал посмотреть на контроллер SDRAM от Филлипова? Несомненно - рабочее устройство - это рабочее устройство. Оно доказывает работоспособность всех его компонентов. Однако это абсолютно не доказывает, что взяв отдельный кусок кода из прошивки Филлипова можно по его образу и подобию сделать что-то свое. Код Андрея Филлипова отличается крайней оптимизированностью под его конкретную задачу. Его просто так переиспользовать не получится, придется конкретно перерабатывать. Плюс, необходимо помнить о GPL лицензии. Использование любой части кода под GPL лицензией требует публикации исходников всего устройства :( Коеффициенты, приведенные уважаемым Golikov A. действительно целочисленные и не требуют никаких аппаратных извратов для своей реализации. Однако при внимательном изучении стандарта на JPEG2000 можно заметить, что использование этих фильтров рекомендуется только для безпотерьных реализаций, поскольку изображение, разложенное по этому базису и отквантованное может содержать дополнительные артефакты. Для работы в loosy режиме рекомендованы фильтры Добеши, обеспечивающие более качественную картинку для сжатия с потерями имеют нецелые коеффициенты в количестве 15 штук. Вот тут все и начинается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 9 июля, 2006 Опубликовано 9 июля, 2006 · Жалоба согласен =) да, вейвлеты Добеши действительно имеют "кривые" коэффициенты. но человек же написал, что не для задач сжатия собирается применять. а по поводу контроллера SDRAM: всё верно, но ведь можно и просто посмотреть как эту поликанальный engine замутить (принцип). А то с нуля как-то тоскливо разбираться (хотя не факт что быстрее). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 13 июля, 2006 Опубликовано 13 июля, 2006 · Жалоба Однако при внимательном изучении стандарта на JPEG2000 можно заметить... Ну надо на самом деле задачу уточнять, тут же не задача сжатия как я понимаю... Хотя кто знает, с флотами в ПЛИС работать реально неудобно, но можно же и ДСП поставить, на то они и нужны... какой нить простенький ТМС Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 13 июля, 2006 Опубликовано 13 июля, 2006 · Жалоба Однако при внимательном изучении стандарта на JPEG2000 можно заметить... Ну надо на самом деле задачу уточнять, тут же не задача сжатия как я понимаю... Хотя кто знает, с флотами в ПЛИС работать реально неудобно, но можно же и ДСП поставить, на то они и нужны... какой нить простенький ТМС да-да!!! TI & XILINX - вот наша религия! :a14: да тот же 672х при своих 250MГц планарном корпусе и цене выглядит очень привлекательно. да и в сети больше вейвлетного можно на Си найти нежели на HDL. . ЗЫ: хотя не уловил нити: с чего это вдруг речь зашла о плавучке?! теже DM64x - целочисленные, но их позиционируют на работу с видеоконтентом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться