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

 
 
15 страниц V  « < 10 11 12 13 14 > »   
Reply to this topicStart new topic
> Видео-граббер и JPEG-кодер, Подарю еще один проект ;)
Stepan25
сообщение Nov 18 2009, 11:41
Сообщение #166





Группа: Участник
Сообщений: 4
Регистрация: 17-11-09
Пользователь №: 53 699



Цитата(Rst7 @ Nov 18 2009, 09:29) *
Не надо путать истерию по поводу "свободного ПО" и вопросы защиты моих коммерческих интересов smile.gif
Я ж просто не профи в этих делах, я думал что самое сложное здесь это именно идея такой схемы. А код можно и самому переписать, но наверное ошибался...
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 18 2009, 12:48
Сообщение #167


Йа моск ;)
******

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



Цитата
я думал что самое сложное здесь это именно идея такой схемы. А код можно и самому переписать


Ну тут очень взаимосвязаны код и схема. Но больше всего мне там дорог jpeg-кодер wink.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Stepan25
сообщение Nov 18 2009, 14:31
Сообщение #168





Группа: Участник
Сообщений: 4
Регистрация: 17-11-09
Пользователь №: 53 699



Цитата(Rst7 @ Nov 18 2009, 16:48) *
Ну тут очень взаимосвязаны код и схема. Но больше всего мне там дорог jpeg-кодер wink.gif

Просто аппаратное обеспечение это не софтварное... Если кто-то украдет незаконно вашу код, сделает прошивку, выпустит на ней девайс, залочит все биты для считывания, но вы никогда не узнаете что код ураден. Тут выявить это посложнее...
Go to the top of the page
 
+Quote Post
Dmitro25
сообщение Feb 5 2010, 09:07
Сообщение #169


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 4-04-07
Пользователь №: 26 770



Собрал на макетке данный кодер. Не сразу, но всё заработало.
В качестве источника видеосигнала подал сигнал с выхода видеокарты (разъём S-Video).
Однако, есть один не очень приятный эффект: иногда кадр начинается не с начала, а с отступом примерно 20% от верха кадра (полученный кадр сдвинут относительно реального вниз на 20%). Причём, это происходит не всегда.
Подскажите, в чём может быть дело?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Feb 5 2010, 09:36
Сообщение #170


Йа моск ;)
******

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



Видимо, не совсем правильно работает синхроселектор. Осциллограммы на всех точках синхроселектора в момент кадрового синхроимпульса в студию.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Dmitro25
сообщение Feb 8 2010, 08:32
Сообщение #171


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 4-04-07
Пользователь №: 26 770



Вопрос про сдвиг кадра снимаю. Оказывается, это была особенность вывода изображения с выхода используемой мною видеокарты. В ней был установлен режим, когда на TV-выход идёт изображение не всего экрана, а только части, и эта часть определяется положением указателя мыши в текущий момент времени. Когда я смещал курсор мыши сильно вниз, видеовыход начинал выводить картинку не с начала экрана.
Просто на днях из Китая пришло USB устройство видео/аудиозахвата, и я увидел картинку в динамике...

Хочу попробовать использовать вместо синхродетектора на V2 микросхему LM1881, мне кажется, это более "честный" синхродетектор. Кроме того, прочитал документацию на TDA8708. Там пишут, что есть два режима работы микросхемы: Mode1 и Mode2. И микросхема должны сначала работать в Mode1, а затем, когда сигнал станет устойчивым, переключаться в Mode2. В данном проекте, насколько я понял, используется только Mode1.
Просто у меня в получившемся JPEG картинка слишком тёмная, недостаточно белого цвета, вот я и подумал, что, может быть, автоподстройка уровня и усиления работает недостаточно хорошо, может быть, нужно второй режим использовать...
Всё осложняется тем, что у LM1881 инверсный выход (во время синхроимпульса низкий уровень), а также тем, что у используемого процессора категорически не хватает ножек...
Придётся, наверное, использовать дополнительный инвертор на транзисторе и получившийся GATEA подавать прямо на TDA и на контроллер, а GATEB формировать контроллером в зависимости от режима работы (Mode1 или Mode2).
Вот только когда переключаться в из Mode1 в Mode2 и обратно? При срыве синхронизации, что ли?
Go to the top of the page
 
+Quote Post
yarunt
сообщение Feb 8 2010, 21:49
Сообщение #172


Местный
***

Группа: Участник
Сообщений: 215
Регистрация: 13-12-06
Из: fghgfh
Пользователь №: 23 476



Цитата(Rst7 @ Nov 18 2009, 15:48) *
Ну тут очень взаимосвязаны код и схема. Но больше всего мне там дорог jpeg-кодер wink.gif
Извиняюсь за нахальство,у вас есть такой-же оптимальный вариант декодера ,для арм?


--------------------
Нельзя впихнуть,невпихуемое?МОЙ БЛОГ
Go to the top of the page
 
+Quote Post
Rst7
сообщение Feb 9 2010, 02:24
Сообщение #173


Йа моск ;)
******

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



Цитата
Извиняюсь за нахальство,у вас есть такой-же оптимальный вариант декодера,для арм?


Декодера? Декодера нет, не делал. Кодер есть, выложен, поиск по форуму рулит. Не забываем про GPL-лицензию wink.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Dmitro25
сообщение Feb 25 2010, 04:00
Сообщение #174


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 4-04-07
Пользователь №: 26 770



Попробовал запустить TDA8708 в Mode1 и Mode2. Попробовал включить его в Mode1 - получил целиком белую картинку, правда диаграммы немного отличались от приведённых в даташите из-за того, что выход детектора синхроимпульсов идёт прямо на GATEA АЦП, а также из-за того, что GATEA нельзя принудительно устанавливать в нижний уровень до окончания строчного синхроимпульса (иначе не определить начало кадрового). Но GATEB я гарантированно устанавливал в 1, когда ещё GATEA был в 1.
Пришёл к выводу, что всё-таки в оригинальном проекте у видео-АЦП включается режим Mode2, несмотря на то, что в программе сигнал GATEB устанавливается в 1 сразу же после установки в 0 сигнала GATEA (без паузы).
Попытался искусственно снизить амплитуду сигнала с видеокамеры до 0.6..0.8 Vpp (исходная была 1-1.2 Vpp) - картинка стала тусклее, а именно пропали элементы с кодом яркости от 0xE0 до 0xFF (в несжатом виде), хотя, судя по описанию на TDA сигнал от 0.6 В АРУ должна была отработать.
Также попробовал вместо детектора синхроимпульсов на транзисторе использовать микросхему LM1881. При использовании этой микросхемы необходимо слегка менять программу, поскольку длительность генерируемого LM-кой синхроимпульса превышает 5 мкс, и оригинальная программа детектирует его как кадровый. Но особого преимущества от использования этого специализированного детектора не получил - исходная схема нормально детектирует синхроимпульс в достаточно широком диапазоне амплитуд входного сигнала. Может быть, если бы видеосигнал шёл издалека, у него бы портились фронты, тогда бы имело смысл использовать эту ИМС, а так смысла, похоже, нет.

Есть пара вопросов:
1. Просмотрел отсканированный несжатый растр и увидел, что в нём присутствует небольшое число элементов с яркостью меньшей, чем 64 (в частности, 59, 60, 61, 62, 63), т.е. элементы "Чернее чёрного". Не происходит ли при преобразовании в JPEG их превращение в "белые" - ведь там встречаются формулы вроде
Код
__fractional_multiply_unsigned(r-64,170)>>8
?
2. Просмотрел код файла "grab.asm" и проникся большим уважением к автору проекта. Вы очень остроумно применили код Грея для перекачки значений с выхода видео-АЦП во внешнюю память, и макрос для этого просто класс. Вот только возник вопрос: а насколько целесообразно использовать именно код Грея для генерации нового адреса? Ведь можно было вместо инструкций cbi/sbi использовать что-то вроде
Код
ldi ZL, CUR_ADR
out ADR_LO, ZL

(ну, всё это в макросе, конечно). Один раз за весь цикл пришлось бы, конечно, поменять A17 вручную, но один пиксел роли не сыграет... Код процедуры захвата тоже в почти 2 раза возрастёт по объёму, но зато при дальнейшем сжатии в JPEG мы получим линейную адресацию пикселов, и, возможно, более быструю процедуру сжатия?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Feb 25 2010, 18:53
Сообщение #175


Йа моск ;)
******

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



Цитата
Попробовал запустить TDA8708 в Mode1 и Mode2....


Посмотрите, какая у Вас TDA8708, с буквой А или нет. Ибо там разные номиналы в обвязке нужны.

Цитата
Есть пара вопросов:
1. Просмотрел отсканированный несжатый растр и увидел, что в нём присутствует небольшое число элементов с яркостью меньшей, чем 64 (в частности, 59, 60, 61, 62, 63),


Не должно таких элементов там быть, если есть - нифига АЦП не пашет. А это умножение приводит из диапазона 64-255 в диапазон 0-255.

Цитата
Вот только возник вопрос: а насколько целесообразно использовать именно код Грея для генерации нового адреса?


Плату я плохо развел, когда сразу переключалось много линий адреса - появлялась помеха на изображении (вертикальные полосы, чем больше адресов переключалось, тем жирнее полоса). Код Грея эту проблему снял, ибо единоразово меняет состояние только один бит адреса.





Цитата
исходная схема нормально детектирует синхроимпульс в достаточно широком диапазоне амплитуд входного сигнала.


А то smile.gif УПИМЦТ wink.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Dmitro25
сообщение Feb 26 2010, 06:22
Сообщение #176


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 4-04-07
Пользователь №: 26 770



Цитата
Посмотрите, какая у Вас TDA8708, с буквой А или нет. Ибо там разные номиналы в обвязке нужны.

У меня TDA8708АТ, как и у Вас в схеме.
Цитата
Не должно таких элементов там быть, если есть - нифига АЦП не пашет

У меня сложилось впечатление, что АЦП всё-таки работает, просто, похоже, камера выдаёт в видеосигнале просечки, которые иногда опускаются чуть ниже уровня чёрного. Я посмотрел на осциллографе, и, похоже, наблюдал такие моменты.
Я немного модифицировал процедуру Main, чтобы по команде "L" выдавалась не одна строка, а весь растр.
По полученным данным я определил, что максимальное значение яркости равно 0xFF, а минимальное - не 0x40 как предполагалось, а 0x3A (меньше не наблюдал).
Пример прикреплён к сообщению.
Использовалась чёрно-белая камера SK-1004.
Прикрепленный файл  picture.rar ( 59.32 килобайт ) Кол-во скачиваний: 211
Go to the top of the page
 
+Quote Post
Rst7
сообщение Feb 26 2010, 06:33
Сообщение #177


Йа моск ;)
******

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



Цитата
У меня TDA8708АТ, как и у Вас в схеме.


Я сейчас уже не помню, какие номиналы записаны в выложенной схеме (глянуть не могу), но сравните их с номиналами в даташите - конкретно та цепь, которая суть фильтр НЧ между входным каскадом микросхемы и собственно АЦП. Там серьезно влияют номиналы резисторов.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Dmitro25
сообщение Feb 26 2010, 07:47
Сообщение #178


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 4-04-07
Пользователь №: 26 770



Я сравнивал, в даташите почти всё как у Вас в схеме. Отличаются только номиналы фильтрующих емкостей по питанию, цепочка между VCCD и VCCO чуть другая, на OF рекомендуют кондёр вешать и на вход CLK рекомендуют ставить небольшой фильтр. Но номиналы емкостей на ногах AGC и CLAMP такие же. Фильтр между ANOUT и ADCIN такой же.
Мне кажется, что возникающая разница между уровнем чёрного и минимальным значением на выходе АЦП не так уж велика - максимум 6 единиц. Можно будет попробовать вставить дополнительную проверку в программу, чтобы не появлялись артефакты. Хотя, честно говоря, я этих артефактов не наблюдал, (хотя и не приглядывался специально). По расчётам, эти пиксели должны иметь яркость от 0x4C до 0x52.
Ещё вопрос возник про масштабирование яркости: почему умножение идёт на 170, а не на 171?
Ведь (255-64)*170*2>>8=253, а (255-64)*171*2>>8=255
Go to the top of the page
 
+Quote Post
TU-104
сообщение Mar 12 2010, 10:34
Сообщение #179


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 10-12-08
Пользователь №: 42 354



Цитата(Rst7 @ Oct 7 2008, 18:41) *
Есть альтернатива за 2 бакса?

интересный проектик...
Я, может опоздал года на 3, но она 10$ стоит laughing.gif
За такую цену, может TVP7000PZP ? как думаете пойдет?
даташит тут http://focus.ti.com/general/docs/lit/getli...mp;fileType=pdf
пишут, что встроена PLL, экстрактор сигналов Sync .
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 12 2010, 12:43
Сообщение #180


Йа моск ;)
******

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



Цитата
Я, может опоздал года на 3, но она 10$ стоит


Да, остатки, цена растет. Хоть и не в 5 раз. Но это не суть, суть в том, что АЦП надо поменять. В принципе, достаточно любого параллельного АЦП, лишь бы обеспечивал 8Мсемплов/с. Ну и надо схемку привязки черного сгородить. Уровень сигнала можно корректировать и в кодере (домножением, оно там все равно выполняется).

Цитата
может TVP7000PZP ?


Хороший камень, но уж очень избыточен. Да цена кусается для поделки выходного дня.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post

15 страниц V  « < 10 11 12 13 14 > » 
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


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


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