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

 
 
> Forward DCT 2D тестовые вектора, Как протестировать FDCT-2D по точности и корректности результатов
AlexanderX
сообщение Nov 21 2005, 16:04
Сообщение #1


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

Группа: Свой
Сообщений: 107
Регистрация: 21-07-05
Из: Киев
Пользователь №: 6 977



Добрый день, глубоко уважаемый ALL!

Написали ядро 2D DCT. Вроде работает, вроде выдает результаты, математически соответствующие тем операциям, которые были заложены в алгоритм. Промежуточные результаты вычислений были проверены на корректность и было подтверждено их соответствие используемому алгоритму. Однако есть проблема следующего характера - необходимо проверить блок на соответствие тому, что понимает JPEG под DCT. На данный момент найти необходимые тестовые вектора не удалось.

В Xilinx Application Note 610 есть упоминание о тестовых векторах в книге "Image and Video Compression Standards," second edition, by Vasudev Bhaskaran and Konstantinos Konstantinides, ISBN 0-7923-9952-8. Поиски в Гуглях закончились ничем. Из нескольких разрозненных источников были получены несколько исходных матриц и соответствующих им DCT-2D, однако они как правило противоречат друг другу и не совпадают с нашими результатами.

Есть ли у кого информация откуда взять нормальные тестовые вектора, используемые в коде JPEG компрессора?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AlexanderX
сообщение Nov 22 2005, 09:08
Сообщение #2


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

Группа: Свой
Сообщений: 107
Регистрация: 21-07-05
Из: Киев
Пользователь №: 6 977



Цитата(des00 @ Nov 22 2005, 07:26) *
не вижу ничего сложного
собираем испыт. стенд (TestBench) типа черного ящика.
Берем реф.код JPEG, вырезаеем функцию ДКТ, подаеем на вход вырезнной функции и вашей реализации ДКТ динаковый набор РАНДОМИЗИРОВАННЫХ чисел, в кол-ве 2**48-1 или около того и сравниваем выхлоп

П,С, а параметры вашей реализации ДКТ можете огласить ?


Самое важное в людях - это чувство юмора smile.gif <2**48-1 или около> входных значений будут симулироваться даже очень шустрым симулятором думаю пару месяцев чистого времени wink.gif или около того.

А что имеется ввиду под параметрами реализации ДКТ? Если разрядности шин данных и коеффициентов - то они параметризуемые, если быстродействие - то ограничивается только быстродействием умножителей, если по ресурсам, то около 400 триггеров, около 400 логических функций, 8 аппаратных умножителей и один блок памяти для транспонирования промежуточных результатов.

Пытались сделать реализацию a-la Theora DCT, с двумя умножителями, двумя сумматорами-вычитателями и кучей мультиплексоров, о которой как-то говорил Андрей Филлипов. По результатам синтеза оказалось что она экономит только аппаратные умножители, но просто по-хамски maniac.gif относится ко всему остальному. A-la Theora FDCT-1D заняла около 400 логических функций и те же 200 триггеров. Умножая результаты на 2 для FDCT-2D получилась бы совсем неприглядная картина cranky.gif

Таким образом, по крайней мере из нашего опыта, оптимизационные схемы вычисления 2D-DCT хороши для процессоров или DSP, но мало применимы для FPGA.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 22 2005, 09:25
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(AlexanderX @ Nov 22 2005, 04:08) *
Самое важное в людях - это чувство юмора smile.gif <2**48-1 или около> входных значений будут симулироваться даже очень шустрым симулятором думаю пару месяцев чистого времени wink.gif или около того.

А что имеется ввиду под параметрами реализации ДКТ? Если разрядности шин данных и коеффициентов - то они параметризуемые, если быстродействие - то ограничивается только быстродействием умножителей, если по ресурсам, то около 400 триггеров, около 400 логических функций, 8 аппаратных умножителей и один блок памяти для транспонирования промежуточных результатов.


Ну почему smile.gif чпросто я имел в виду что взять нужно хорошо рандомизированный поток и проверить это дело хотя бы на одном кадре (просто снять дампы на входе и выходе из ДКТ в реф. коде (с МПЕГ я поступаю аналогично)).
А насчет параметров меня интересовала в превую очередь конвеерная схема или не конвеерная, кол-во тактов и латентность по тактам на одну операцию ДКТ, разрядность входной/выходной шины (в словах).
но если у вас 8 умножителей то подразумеваю что вы "режете" матрицу по строкам/столбцам и потом работаете с ней.
Начет транспонирования на памяти хммм спорно спорно, тут т архитектуры зависит, иногда бывает лучше сделать на регистрах smile.gif


--------------------
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 11:15
Рейтинг@Mail.ru


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