Перейти к содержанию
    

FPGA: наложение информации на HD видео в режиме реального времени

Добрый день,

столкнулся с задачей: наложение информации/графики на входящий видео сигнал в режиме реального времени (с минимально возможной задержкой вход-выход), видео может быть как HD/цифровым таки и стандартным аналоговым.

 

Здесь на форуме уже были похожие темы, но они достаточно старые (2011?), а сейчас начали появляться доступные FPGA kits с готовыми HDMI интерфейсами (http://www.scarabhardware.com/product/mini...partan-6-lx-25/) и интерфейсами композитного видео сигнала.

 

Посоветуйте пожалуйста по следующим вопросам:

1. Какие есть проверенные FPGA kit с HDMI вход/выход, композит вход/выход до $600? Может кто-то сталкивался уже..

2. С чего лучше начать знакомство с тем, как обрабатывать видео на FPGA? (ссылки, ресурсы..я просто новичок в FPGA)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

столкнулся с задачей: наложение информации/графики на входящий видео сигнал в режиме реального времени (с минимально возможной задержкой вход-выход), видео может быть как HD/цифровым таки и стандартным аналоговым.

ADV8003?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно это вариант, но посмотрев демо evaluation board и почитав документы, мне кажется adv8003 ориентирован на on-screen-menu - отображение меню, выбор пунктов и тп. У меня задача стоит не в отображении меню, а в отображении данных с различных датчиков в режиме реального времени, вот пример:

 

NewtAnnotated.jpg

 

Это повсеместно используется, даже в автомобильных видеорегистраторах, камерах безопасности и тп. но суть в возможности работы с потоком HD видео (1080) в режиме реального времени.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

HDMI видеомикшер http://www.m-labs.hk/mixxeo.html. Исходники доступны

spartan-6 без трансиверов только 720p тянет. Проверено на Atlys

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

HDMI видеомикшер http://www.m-labs.hk/mixxeo.html. Исходники доступны

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

 

Я узнал что у Xilinx и Altera есть готовые IP Cores, которые выполняют функции обработки видео/наложения информации. Я так понимаю, что для того чтобы начать с этим разбираться, сама FPGA board пока не нужна, можно скачать Vivado/ISE (Xilinx) и начать учиться моделировать и тестировать, верно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще коллега делал на основе примера из этой книжки для HD-SDI overlay http://academic.csuohio.edu/chu_p/rtl/fpga_vhdl.html

 

Сначала просто текстовый генератор, потом регистры выводил для отладки, потом гистограмму прицепил

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

spartan-6 без трансиверов только 720p тянет. Проверено на Atlys

 

"Не верю" (с)!

Утверждение слишком кратко.

Спартан-6 спокойно работает на 150МГц, а это 1080p60

 

 

1. Какие есть проверенные FPGA kit с HDMI вход/выход, композит вход/выход до $600? Может кто-то сталкивался уже..

2. С чего лучше начать знакомство с тем, как обрабатывать видео на FPGA? (ссылки, ресурсы..я просто новичок в FPGA)

 

На чем собираетесь делать? (Xil, Alt, Latt, ...) ?

 

У ксилинкса есть большой набор, цену не помню, в нем есть FMC плата с дисплэйпортом (вход-выход). Через переходник за мало рублей цепляется к dvi или hdmi. Вроде бы у них же есть платки с hdmi входами (могу наврать - лучше сами поройтесь у хилинха). То же самое про аналоговые видео вх-вых - у ксилинкс есть всё.

 

У ксилинкса же есть куча сорцов про обработку (прием, передача , конверсия и тп) видео. Вобще это есть у всех, не только у хил.

 

Начать знакомство лучше всего с video demystified. это книжка. в сети ее масса. издание, конечно, лучше по свежее, но сойдет для ознакомления любое.

 

Если у вас бюджет ограничен, и нужно только потренироваться с видео, то можно взять и поискать какие нибудь старые реф. платы в видео вх-вых. их много. Приложите немножко усилий по поиску на сайтах производителей фпга - там всё это есть.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Не верю" (с)!

Утверждение слишком кратко.

Спартан-6 спокойно работает на 150МГц, а это 1080p60

А HDMI/DVI разве параллельный?

"Учите матчасть" (с)!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На чем собираетесь делать? (Xil, Alt, Latt, ...) ?

Думаю про Xilinx, и столкнулся с тем что Spartan 6 не поддерживается уже в Vivado, может надо смотрет на Artix 7, платы вроде не особо дороже чем Spartan 6.

 

Начать знакомство лучше всего с video demystified. это книжка. в сети ее масса. издание, конечно, лучше по свежее, но сойдет для ознакомления любое.

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может не усложнять так всё, тем более что огромного опыта вроде нет. Наверное легче, да наверное и дешевле взять готовые HDMI микросхемы получить параллельный код, загнать его в самую дешёвую FPGA, сделать там что вы хотите и спокойно вывести на выходной HDMI чип. Получите гарантируемый результат с минимальными затратами. Да и, как показала практика, пользователь сожжёт вам выходные или входные ножки дешёвой микросхемы а не дорогой FPGA.

Конечно если Ваша работа имеет академический интерес то, как говориться "Флаг Вам в руки". В своих изделиях ни разу не возникала мысль в FPGA HDMI загнать.

 

Ни в коем случае не хотел Вас обидеть, с наилучшими пожеланиями, просто по роду занятий часто имею дела с пробитыми входными и выходными ножками.

 

Да и если стоит боевая задача, то можно сразу делать рабочую плату.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю про Xilinx, и столкнулся с тем что Spartan 6 не поддерживается уже в Vivado, может надо смотрет на Artix 7, платы вроде не особо дороже чем Spartan 6.

Если нужно готовое железо возьмите лучше ZedBoard + FMC плату ввода - на Xilinx есть готовые проекты - фулхд 60 Гц потянет без проблем - выход HDMI есть уже на самой борде + эзернет, юсби, сд-карта - программировать можно в виваде, куча ядер, включая осд смеситель, возможность писать свои фильтры на с++ в вивадо хлс - есть пример реализации фильтра собель для фулхд

А HDMI/DVI разве параллельный?

смотря в каком месте - для обработки и формирования в ПЛИС это 16/24 бит шина с пиксельными тактами - фулхд 60 Гц это примерно 148 МГц - (у Xilinx это называется AXI stream), а физикал действительно последовательный - 3 гигабитных пары + такты.

Изменено пользователем fguy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А HDMI/DVI разве параллельный?

"Учите матчасть" (с)!

 

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

 

для обработки десериализованного (уточняю для студентов :) ), то есть raw video. S-6 для этого вполне хватает.

 

Думаю про Xilinx, и столкнулся с тем что Spartan 6 не поддерживается уже в Vivado, может надо смотрет на Artix 7, платы вроде не особо дороже чем Spartan 6.

 

Не знаю ничего про виваду - мы , както по старинке всё в исе делаем. Зачем обязательно вивада нужна? Задача то простая - от видеодекодера принять данные, изуродовать их и передать в видеоенкодер. В большинстве случаев аже ненужно будет ничего в эти м.с. прописывать.

 

Железо (заглянул в чулан специально) - Spartan-6 FPGA Consumer Video Kit (pro edition) - есть всё что вам нужно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю ничего про виваду - мы , както по старинке всё в исе делаем. Зачем обязательно вивада нужна? Задача то простая - от видеодекодера принять данные, изуродовать их и передать в видеоенкодер. В большинстве случаев аже ненужно будет ничего в эти м.с. прописывать.

Не всё так просто.

1. в енкодер и в декодер надо прогрузить таблички. Без этого они встанут в дефолтную моду (скорее всего standby) и на выходе будет 0.

В случае standalone платы это означает либо внешний микроконтроллер либо софт проц типа пико-микро-блейза. Есть конечно ещё вариант

с самопальной стейтмашиной под эти дела, но его мы сразу отметаем как извращенский.

2. В случае HD необходимо пересчитать как минимум CRC в строках, иначе декодер может и отреагировать неадекватно.

3. Если хочется не тупо графику выводить, а текст, то корячится встроенный знакогенератор и гемор с фонтами.

4. Надо ещё придумать какой-то удобный интерфейс для всей этой штуки, чтобы программисты потом матом не ругались.

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

 

А в остальном - обычная студенческая задача калибра курсового проекта. Вопрос лишь в том для какой цели делать :

"лишь бы препод отвязался" или коммерческий продукт.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Во-первых, с чего Вы взяли, что мы на ты?

 

Во-вторых, мой ответ был на

HDMI видеомикшер http://www.m-labs.hk/mixxeo.html. Исходники доступны

 

Если Вы потрудитесь заглянуть в описание устройства, то все уидите

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...