|
Видео-граббер и JPEG-кодер, Подарю еще один проект ;) |
|
|
|
Jun 16 2008, 12:09
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Зацепило меня тут недавно насчет малокадрового телевидения. Асилил вот такой проектик:
JPEGcoder.zip ( 131.46 килобайт )
Кол-во скачиваний: 6119 Любой источник Ч/Б-видеосигнала (15625/50) попадает на вход АЦП (используется TDA8708A, ценой около $2), сохраняется во внешнем ОЗУ (128 килобайт, тоже около 2х баксов), затем пакуется в JPEG (при помощи ATMega16 на 16 МГц, цену сами знаете  ) и выдается через последовательный порт. Разрешение - 320*240, пакует примерно пол-секунды. Можно менять качество (увеличение параметра out_jheader(1) увеличивает качество, размер выходного файла и время упаковки) и получать как JPEG, так и BMP (без заголовка). Подробности обмена - в win/getbmp. В аттаче - исходник (под IAR), исходник забирателя картинок под PC (собрать можно чем угодно, я пользовал C Builder) и схема (на схеме ошибочно указан кварц 14МГц, надо 16, хотя можно подточить и под 14). PCB-файл не привожу, т.к. неудачно развел и в процессе отладки появилось много проводов и деталей навесных. Да и схема там совсем простая, сами разведете. Разве что надо аккуратно с аналоговой и цифровой землей, иначе будут полосы на изображении. PS Ну и для любителей поворовать идеи (а точнее, не идеи, а код) в свои коммерческие устройства прикрутил GPL
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
 |
Ответов
(195 - 209)
|
Jul 5 2011, 12:10
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Значит так. Регулировка яркости для BMP тут (файл main.c): CODE ... while(!UCSRA_UDRE); UDR=__fractional_multiply_unsigned(getpix(x,y)-64,170)>>8; ... 64 - это яркость, для теста стоит сделать равной 0, 170 - это контраст, стоит уменьшить до 128 - это усиление 1. Для jpeg-кодера - в файле jprocess.c. Контрастность: CODE ... z_q[i].idx=dct_data+zi; sq=((UINT32)aanscales[zi]*q*3L)/4L; //3/4 - коэффициент для приведения контрастности (штатный диапазон 64-255) z_q[i].q=sq>>11; ... Рекомендую 3 заменить временно на 4 - что будет соответствовать усилению 1 (ибо 4/4=1). Яркость: CODE ... #ifdef USE_MUL unsigned int __iq=*zqp++; #endif coef=*((DCTELEM*)(*zqp++))-64*32; //64*8 - смещение по постоянному току (яркость) if (coef<0) ... Вот тут нифига не помню. Для теста, видимо, надо 32 заменить на 0. В общем как-то так.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jul 5 2011, 12:31
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 1-11-06
Пользователь №: 21 854

|
Про BMP нашел, а вот JPG думал в другом месте. Спасибо! попробую
|
|
|
|
|
Jul 8 2011, 09:01
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 11-02-08
Пользователь №: 34 931

|
Собирал себе такую игрушку. Найти видео-АЦП было трудно, перепробовал несколько каналов. Обычно предлагали рублей по 500 за штуку. А по одному каналу предложили по 200, но сказали что они у них старые ( казалось бы какая разница ). Заказал 3 штуки на всякий случай. Паялись действительно не без проблем.
Так вот что главное. Одна не заработала совсем, другая выдала картинку типа как показаны. А третья пошла без проблем, все нормально. То есть я хочу сказать, что имеется проблема с видео-АЦП, сейчас такие сильно устарели и найти нормальную не так просто.
Удачи.
|
|
|
|
|
Jul 29 2011, 13:46
|
Группа: Новичок
Сообщений: 7
Регистрация: 5-07-11
Пользователь №: 66 064

|
Цитата(etoja @ Oct 24 2008, 16:25)  Ты уж извини, но твою фигню на коммерческие рельсы ставить трудно. RST7, подскажите сколько будет стоить коммерческое использование этого проекта (+техподдержка)?
|
|
|
|
|
Jul 29 2011, 15:00
|
Группа: Новичок
Сообщений: 7
Регистрация: 5-07-11
Пользователь №: 66 064

|
Цитата(Rst7 @ Jul 29 2011, 18:45)  Вы уверены, что в таком виде оно Вам нужно? 1.да 2.(+техподдержка) Цитата(Rst7 @ Jul 29 2011, 18:45)  Вы уверены, что в таком виде оно Вам нужно? если быть точнее - 1. использование вашего jpeg кодера 2. техподдержка- изменить схему на AD9280ARSZ и CY7C1019DV33-10ZSXI
|
|
|
|
|
Jul 29 2011, 15:26
|
Группа: Новичок
Сообщений: 7
Регистрация: 5-07-11
Пользователь №: 66 064

|
Цитата(Rst7 @ Jul 29 2011, 19:23)  А это что такое и зачем? Что вообще Вы хотите получить? это SRAM 1 Mbit (128K x 8), 10 нс, в итоге хотелось бы получить вариант схемы с данными изменениями комплектующих.
|
|
|
|
|
Jul 29 2011, 19:13
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
QUOTE в итоге хотелось бы получить вариант схемы с данными изменениями комплектующих. Ну ОЗУ - то дело такое, только какой смысл именно в этой - распиновка нестандартная, 10нс доступ тут нафиг не нужен. А вот с АЦП все не так просто - "получить вариант схемы с данными изменениями комплектующих", там еще надо будет править софт. Ну а так как я не умею править софт под железо без железа - придется макетить. Ну а кроме того, зачем Вам именно такое устройство? Зачем Вам получать с него JPEG по последовательному интерфейсу? В другой контроллер? Так может тогда этот лишний? Или другой?
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jul 30 2011, 04:32
|
Группа: Новичок
Сообщений: 7
Регистрация: 5-07-11
Пользователь №: 66 064

|
Цитата(Rst7 @ Jul 29 2011, 23:13)  Ну ОЗУ - то дело такое, только какой смысл именно в этой - распиновка нестандартная, 10нс доступ тут нафиг не нужен.
А вот с АЦП все не так просто - "получить вариант схемы с данными изменениями комплектующих", там еще надо будет править софт. Ну а так как я не умею править софт под железо без железа - придется макетить.
Ну а кроме того, зачем Вам именно такое устройство? Зачем Вам получать с него JPEG по последовательному интерфейсу? В другой контроллер? Так может тогда этот лишний? Или другой? 1. распиновка неважна -всеравно делать новую разводку. а микросхемы выбраны из тех что могу купить-другого глубокого смысла в этом нет)). 2.для уменьшения ваших трудозатрат -предлагаю ограничить только схемой, макет сделаю -если что походу вопросы задам. 3.софт на МК и большом брате предполагал сделать(переделать из вашего проекта) на CV (не хочется разбираться с нуля с новым программными пакетами одновременно с новой разработкой - это лучше сделать в свободное время) 4. а устройство нужно именно в таком функционале - просто получать по UART последовательно кадры -1-2 кадра в сек, и вы не поверите - с вещательного TV ) Цитата(igor-x @ Jul 30 2011, 08:21)  1. распиновка неважна -всеравно делать новую разводку. а микросхемы выбраны из тех что могу купить-другого глубокого смысла в этом нет)). 2.для уменьшения ваших трудозатрат -предлагаю ограничить только схемой, макет сделаю -если что походу вопросы задам. 3.софт на МК и большом брате предполагал сделать(переделать из вашего проекта) на CV (не хочется разбираться с нуля с новым программными пакетами одновременно с новой разработкой - это лучше сделать в свободное время) 4. а устройство нужно именно в таком функционале - просто получать по UART последовательно кадры -1-2 кадра в сек, и вы не поверите - с вещательного TV ) АЦП там какой то забавный - сам уровень черного может определять
|
|
|
|
|
Jul 30 2011, 07:44
|
Группа: Новичок
Сообщений: 7
Регистрация: 5-07-11
Пользователь №: 66 064

|
Цитата(ReAl @ Jul 30 2011, 11:12)  AD9280 ? Не определять, а фиксировать.
Видеосигнал подаётся через конденсатор, на нём запоминается уровень черного. В АЦП есть ключ, на который надо подать импульсы во время чёрного в видеосигнале в начале строки, он привяжет конденсатор. спасибо, важное замечание, не до конца в даташите разобрался, а вы не в курсе - как он уровнь белого определяет? или на вход АЦП надо сигнал строго определенной амплитуды подавать?
|
|
|
|
|
Jul 30 2011, 08:06
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
QUOTE 1. распиновка неважна -всеравно делать новую разводку. а микросхемы выбраны из тех что могу купить-другого глубокого смысла в этом нет)). Я обычно толерантно отношусь к подобным заявлениям, но тут, извините - "не верю!" (цэ). Ибо 621024 - очень распространенная микросхема. Так что тариф резко растет, но об этом ниже. QUOTE 2.для уменьшения ваших трудозатрат -предлагаю ограничить только схемой, макет сделаю -если что походу вопросы задам. Дальше что? QUOTE 3.софт на МК и большом брате предполагал сделать(переделать из вашего проекта) на CV (не хочется разбираться с нуля с новым программными пакетами одновременно с новой разработкой - это лучше сделать в свободное время) Ну переделывайте. Вы хотите у меня спросить "можно или нет"? Отвечаю, можно, цена вопроса $10000, судя по Вашим требованиям вопросы у Вас будут такие, что менее чем за 10килобаксов я на них отвечать не буду, здоровье дороже.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|