реклама на сайте
подробности

 
 
> Где достать алгоритмы для DCT, дискретное косинусное преобразование
Pechkin
сообщение Apr 11 2005, 18:11
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 24-08-04
Пользователь №: 535



Решил попробовать описать дискретное косинусное преобразование своими ручками. Как я понял существует несколько алгоритмов, но для в реализации в железе наиболее подходит описанный вот в этой статье C. Loeffler, A. Ligtenberg and G. Moschytz, "Practical Fast 1-D DCT Algorithms with 11 Multiplications", Proc. Int'l. Conf. on Acoustics, Speech, and Signal Processing 1989 (ICASSP '89), pp. 988-991.
Однако саму статью найти не смог. Может есть у кого описание этой реализации преобразования?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rok
сообщение Apr 12 2005, 12:55
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 62
Регистрация: 11-01-05
Из: Беларусь, Минск
Пользователь №: 1 894



Цитата(Pechkin @ Apr 11 2005, 21:11)
Решил попробовать описать дискретное косинусное преобразование своими ручками. Как я понял существует несколько алгоритмов, но для в реализации в железе наиболее подходит описанный вот в этой статье C. Loeffler, A. Ligtenberg and G. Moschytz, "Practical Fast 1-D DCT  Algorithms with 11 Multiplications", Proc. Int'l. Conf. on Acoustics,  Speech, and Signal Processing 1989 (ICASSP '89), pp. 988-991.
Однако саму статью найти не смог. Может есть у кого описание этой реализации преобразования?
*

А зачем использовать АЖ целых 11 умножителей? Лучше 8.
Ставим параллельно 8 МАСов и получаем ДКТ. Просто как грабли smile.gif
Go to the top of the page
 
+Quote Post
Pechkin
сообщение Apr 12 2005, 13:39
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 24-08-04
Пользователь №: 535



Цитата(Rok @ Apr 12 2005, 15:55)
А зачем использовать АЖ целых 11 умножителей? Лучше 8.
Ставим параллельно 8 МАСов и получаем ДКТ. Просто как грабли smile.gif
*

Объясните темному и неграмотному как это сделать. Ну там схемку и алгоритмик накидайте. Пожалуста
Go to the top of the page
 
+Quote Post
Rok
сообщение Apr 13 2005, 07:32
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 62
Регистрация: 11-01-05
Из: Беларусь, Минск
Пользователь №: 1 894



Цитата(Pechkin @ Apr 12 2005, 16:39)
Цитата(Rok @ Apr 12 2005, 15:55)
А зачем использовать АЖ целых 11 умножителей? Лучше 8.
Ставим параллельно 8 МАСов и получаем ДКТ. Просто как грабли smile.gif
*

Объясните темному и неграмотному как это сделать. Ну там схемку и алгоритмик накидайте. Пожалуста
*


MAC - Multiply and Accumulate, т.е. умножитель с аккумулятором. Вам нужно получить 8-точечное ДКП, зн., необходимо 8 МАСов на каждую точку. Данные приходят последовательно, зн. через 8 тактов вы получите ДКП. Но...
Вам уже ответили, что умножители дорогой ресурс. И поэтому систему нужно строить оптимально. Т.е. смотреть на тактовую частоту системы и частоту входных пикселов. И если у вас МАС работает на частоте 40 Мгц, а входные пикселы с частотой 5 МГц, то вообще можно использовать только 1 МАС.
Т.е. все крутиться вокруг МГц.
Go to the top of the page
 
+Quote Post
Andrey Filippov
сообщение Apr 13 2005, 14:59
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 55
Регистрация: 27-01-05
Из: 40.7019N 112.0811W
Пользователь №: 2 220



Цитата(Rok @ Apr 13 2005, 01:32)
Цитата(Pechkin @ Apr 12 2005, 16:39)
Цитата(Rok @ Apr 12 2005, 15:55)
А зачем использовать АЖ целых 11 умножителей? Лучше 8.
Ставим параллельно 8 МАСов и получаем ДКТ. Просто как грабли smile.gif
*

Объясните темному и неграмотному как это сделать. Ну там схемку и алгоритмик накидайте. Пожалуста
*


MAC - Multiply and Accumulate, т.е. умножитель с аккумулятором. Вам нужно получить 8-точечное ДКП, зн., необходимо 8 МАСов на каждую точку. Данные приходят последовательно, зн. через 8 тактов вы получите ДКП. Но...
Вам уже ответили, что умножители дорогой ресурс. И поэтому систему нужно строить оптимально. Т.е. смотреть на тактовую частоту системы и частоту входных пикселов. И если у вас МАС работает на частоте 40 Мгц, а входные пикселы с частотой 5 МГц, то вообще можно использовать только 1 МАС.
Т.е. все крутиться вокруг МГц.
*


Зачем же вы людей смущаете про 8 умножителей (или замедление в 8 раз)? Я же чуть выше привел пример реализацмм, где 1 умножитель обеспечивает частоту входных/выходеых пикселей всего в два раза ниже тактовой, а не в восемь, как вы написали - пиксели 62,5МГц, тактовая - 125МГц
Если в указанной папке найти нужные файлы сложно, вот прямые линки на код:
прямое 8-ми точечное DCT:
http://cvs.sourceforge.net/viewcvs.py/elph...1.4&view=markup
обратное 8-ми точечное DCT:
http://cvs.sourceforge.net/viewcvs.py/elph...d.v?view=markup


Короткое пояснение:
Если вам нужно 11 умножений, а пиксели приходят на 1/2 частоты, то 8 входных пикселей занимают 16 тактов, что больше, чем 11. Так что при правильной раскладке по тактам один умножитель справится.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 18:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016