|
Сжатие картинки, DCT, Хаффман |
|
|
|
Oct 26 2007, 15:04
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Стоит задача сжать картинку 2048x1024x8bit (оттенки серого) и передать ее. Соответствие стандартам не требуется, т.к. на приемном конце стоит наша же аппаратура, разжимающая обратно в bmp, все упирается в быстродействие и степень сжатия. Решил делать нечто jpeg'ообразное - DCT, RLE и Хаффман. Далее пошли вопросы: 1) Может я что-то упускаю и есть способы быстрее/лучше/проще для решения задачи? В частности, слышал, что вместо Хаффмана можно использовать алгоритм арифметик (я его, правда, не знаю  ). На сколько это будет сложнее/дольше/лучше? 2) Как наиболее быстро сделать DCT? В частности, слышал про какой-то метод AA&N, который вроде хороший, но гугл мне тут не сильно помог.  И сопутствующий вопрос: как уж говорил, входная картинка - 8 бит на пиксель. А что с результатом DCT - какой там диапазон выходных значений? 3) Как на плисине попроще и побыстрее сделать алгоритм Хаффмана? Может, отправите к примерам выполнения?
|
|
|
|
|
Oct 29 2007, 15:25
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(Mig&L @ Oct 29 2007, 11:05)  video_compression_systems на опенкорах справляется и умещается в spartan3s400, надо только сравнить с циклоном Спасибо, буду смотреть и разбираться.  Цитата(DmitryR @ Oct 29 2007, 14:26)  Раз есть столько времени - может еще скажете до кучи пропускную способность канала, может быть получится все проще. Какого канала? Передачи информации? Толком не знаю, этой частью проекта не я занимаюсь. Требования по времени обусловлены требованием к готовности приема следующего кадра - пожать, записать на носитель, освободить буфер для следующего кадра. Максимальное время - 1 секунда (да и то много), запись на носитель примерно 2МБ/сек. Соответственно, если 2МБ картинки пожмется в 200-500 кил за 0.5 секунды, то я в требования укладываюсь. А передача с носителя по каналу происходит в другой момент времени.
|
|
|
|
|
Oct 30 2007, 10:02
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата Соответственно, если 2МБ картинки пожмется в 200-500 кил за 0.5 секунды, то я в требования укладываюсь. Такую задачу можно и на микропроцессоре решить. Взять, к примеру, фотоаппарат.http://electronix.ru/forum/style_images/russian_butt/folder_post_icons/icon6.gif
|
|
|
|
|
Oct 30 2007, 16:26
|
PCB_developer
  
Группа: Свой
Сообщений: 209
Регистрация: 7-07-05
Пользователь №: 6 622

|
буквально после прочтения темы на глаза попалась дока, может пригодится
Прикрепленные файлы
vid.pdf ( 384.57 килобайт )
Кол-во скачиваний: 131
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|