Плата видеообработки для МиниБота

Готовая электроника для самодельного робота. Уровень от начинающих до опытных конструкторов.

Плата видеообработки для МиниБота

Сообщение EDV » 20 ноя 2009, 17:26

Приветствую!

Хотелось бы в этой теме обсудить возможность реализации платы видеообработки для МиниБота.

Плата видеообработки должна обеспечивать оцифровку черно-белого изображения с аналоговой видеокамеры с разрешением 320x240 пикселей с частотой 25-15 кадров в секунду. Объем оперативной памяти контроллера должен быть минимум 16Mb.

Один из вариантов исполнения - два процессора: один оцифровывает видео в память, другой (с большей памятью и более производительный) занят в видеообработке.

Если плата видеообработки таки появится в металле, тогда планирую портировать под неё алгоритм распознавания образов «Associative Video Memory» (AVM).

-= 23.11.09 =-
В фразе «один из вариантов исполнения - два процессора» имелось в виду, что процессор оцифровки видео будет использован с целью уменьшения количества микросхем логики на плате. Но если существует какой то специализированный чип, позволяющий оцифровывать черно-белое видео, тогда можно обойтись одним процессором видеообработки, а данные в память видеобуфера записывать, к примеру, по DMA.

Одно из требований к процессору видеообработки – наличие под этот процессор компилятора C++.

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

Я считаю, что причина по которой не нужно ориентироваться на «SRV-1 Blackfin Camera» - повторяемость изделия. Нам нужна плата, которую реально можно будет изготавливать в необходимых количествах, схему которой мы понимаем и можем улучшать. А в случае с «SRV-1 Blackfin Camera» эту плату могут просто прекратить выпускать, да и заказывать плату из за океана, как по мне, тоже чересчур.

Схем цифрователя видео, ну просто для затравки:
Вложения
cxema.GIF
Последний раз редактировалось EDV 23 ноя 2009, 15:59, всего редактировалось 7 раз(а).
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Плата видеообработки для МиниБота

Сообщение yak-40 » 21 ноя 2009, 23:45

Все понял идею
Если осуществишь, это буде круто!!!
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Плата видеообработки для МиниБота

Сообщение Michael_K » 22 ноя 2009, 00:14

и тут встает вопрос: "а нужна ли память?" :)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Плата видеообработки для МиниБота

Сообщение yak-40 » 22 ноя 2009, 00:36

и тут встает вопрос: "а нужна ли память?"

1. Нужна, если использовать её как кэш.
2. Не нужна, если мега16 непосредственно данные будет прерсылать в память более мощного микроконтроллера.
3. Мега16 не нужна, если более мощный микроконтроллер будет делать и то и другое :)

Добавлено спустя 12 минут 37 секунд:
Мне нравится первый вариант.
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Плата видеообработки для МиниБота

Сообщение Michael_K » 22 ноя 2009, 01:19

прерсылать в память более мощного микроконтроллера

шило на мыло...
а нужна ли картинка в памяти вообще?

Смысл лепить что-то вроде
Код: Выделить всё
инкрементировать адрес младшее слово
если адрес ноль,
поменять старший бит адреса
выдать младший байт адреса в порт
выдать средний байт адреса в порт
дернуть ногой WR вниз
дернуть ногой WR вверх

Это для того, чтобы положить в память,
а потом надо сделать то же самое чтобы считать из памяти...
либо освободить шину и ждать пока это сделает еще один проц.

Имхо, это время можно более толково использовать, для обработки картинки,
чем для перекладывания ее туда-сюда... :)

Впрочем, это дело ваше... мы же не ищем легких путей :)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Плата видеообработки для МиниБота

Сообщение Angel71 » 22 ноя 2009, 14:12

:) в память на этой железке данные заносятся за 2 такта. а так да, согласен, попусту гонять данные туда-сюда с вагончиком головняка.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Плата видеообработки для МиниБота

Сообщение yak-40 » 22 ноя 2009, 15:06

Я чего то не понял, топикстартер писал как раз про два контроллера. Один должен заниматься захватом видео, другой обработкой картинки (если не верите, перечитайте первое сообщение).
И помоему логично, мега16 будет заниматься только тем, что перегонять видео в память. С этим она великолепно справляется у меня в реале (320х240 25кадров/сек).
А дальше берите из памяти чем угодно и как угодно, можете кусками, можете целиком :)
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Плата видеообработки для МиниБота

Сообщение Angel71 » 22 ноя 2009, 16:07

:angel: ура, вот и получил я ответ на один из мучавших меня вопросов. 25кадров мега16 вытягивает. :oops: остался второй, как отправить получившийся поток в 1,83мбайта/сек на другой камушек. и зачем, если всё это можно было изначально делать на более толстом мк :roll: ой, я опять за своё. :oops: просто у меня задача работать сразу с 4мя камерами (для начала с разрешение 320*240, потом нужно будет увеличить), склеивая изображения с них всех в одно и потом обрабатывать. :sorry: вот и примеряю как и что можно заимствовать из этого проекта
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Плата видеообработки для МиниБота

Сообщение galex1981 » 22 ноя 2009, 22:32

как отправить получившийся поток в 1,83мбайта/сек на другой камушек

Прямо с такой скоростью никак на Avr...
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Плата видеообработки для МиниБота

Сообщение Angel71 » 22 ноя 2009, 22:37

:oops: тогда загвоздочка получается, ибо 320*240*25=1920000 байта, т.е. 1,83МБ
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Плата видеообработки для МиниБота

Сообщение galex1981 » 22 ноя 2009, 22:40

Ты кадры учел, а цвета?
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Плата видеообработки для МиниБота

Сообщение yak-40 » 22 ноя 2009, 22:48

как отправить получившийся поток в 1,83мбайта/сек на другой камушек

Зачем так много :shock: Один кадр 320х240=76800 байт. т.е ровно 75 килобайт.
Ты кадры учел, а цвета?

Мы тут говорим только о ч/б вроде :oops:
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Плата видеообработки для МиниБота

Сообщение Angel71 » 22 ноя 2009, 22:57

речь вроде о чб идёт, т.е. 8бит на пиксель (другая битность пока не обсуждалась). :oops: :sorry: или я где-то что-то пропустил?

Добавлено спустя 4 минуты 54 секунды:
yak-40 писал(а):Зачем так много :shock: Один кадр 320х240=76800 байт. т.е ровно 75 килобайт.

да, это на кадр, но в секунду планировалось же 15..25 кадров гнать. при 25 такой поток и будет.
Один из вариантов исполнения - два процессора: один оцифровывает видео в память, другой (с большей памятью и более производительный) занят в видеообработке.

:oops: речи о двухпортовой памяти или о фифо тоже небыло, значит мега должна этот весь поток данных другому камушку скормить
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Плата видеообработки для МиниБота

Сообщение yak-40 » 22 ноя 2009, 23:05

Angel71: и зачем, если всё это можно было изначально делать на более толстом мк

И этот более толстый МК будет заниматься рутинной работой, каждые 64 микросекунды переводить 320 байт в память, а обрабатывать то когда? Во время обратного хода? Тогда нужен о-ооочень мощный МК, что-бы за несколько микросекунд !!! обработать строку.
Я же предлагаю отдать эту рутину слабому, дешевому МК, а другой, более мощный, пускай за 20 миллисекунд обрабатывает весь кадр. А 20 мс. это достаточно много.
IMHO конечно :)
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Плата видеообработки для МиниБота

Сообщение Angel71 » 22 ноя 2009, 23:14

:sorry: ну... ТС обещал попробовать перенести на мк "Associative Video Memory". там во первых если я ничего не путаю обработка идёт квадратами, а не строчками. а во вторых, там порядочно вычислений нужно. :oops: железку он не обещал, это точно
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Плата видеообработки для МиниБота

Сообщение yak-40 » 22 ноя 2009, 23:24

там во первых если я ничего не путаю обработка идёт квадратами, а не строчками.

Я понял :) Поэтому и предложил обрабатывать весь кадр, хоть квадратами хоть кружками :D
железку он не обещал, это точно

Ну вот, железку мы ему прикинули :friends: , а дальше пусть решает сам :wink:
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Пред.След.

Вернуться в МиниБот — национальный класс роботов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6