Краткий обзор
: Ambilight - это система на некоторых телевизорах Philips, которая анализирует информацию о цвете на экране, а затем устанавливает несколько светодиодов на задней панели дисплея, чтобы проецировать цвет экрана на стену. Это довольно изящный эффект. Сейчас есть клоны этой системы, которые используют ПК для обработки видео и управления светодиодами. Я нахожу это немного излишним - использование всей машины для танцевания некоторых светодиодов ...
Я бы хотел изменить NeTV от bunnie для обработки незашифрованныхВидеопоток HDMI и привод некоторых светодиодов Я знаю, что NeTV был разработан для других целей, но я чувствую, что он может быть изменен для достижения моей цели. Меня не волнует подсистема Linux, спуфинг I2C, наложение видео и т. Д. На данный момент меня не интересует работа с зашифрованными потоками HDCP.
Блок-схема ПЛИС
Это блок-схема одного из слайдов презентации Банни. Остальной набор слайдов здесь .
Этот слайд, по-видимому, подразумевает, что пиксели видео фактически декодируются (необязательно дешифрованы ) .
Напоследок ... некоторые мои мысли и вопросы:
Можно ли это сделать на моем желаемом оборудовании? Если «да», продолжайте! Если "нет", скажи мне, что еще мне нужно!
Смогу ли я обрабатывать видеоинформацию без какой-либо внешней памяти? Насколько я могу судить, нет памяти, к которой FPGA может обращаться напрямую. Это, вероятно, зависит от того, какой алгоритм я использую для обработки видеоданных - чтобы использовать как можно меньше ОЗУ блока FPGA, я предполагаю, что я хотел бы использовать какое-то «итеративное суммирование» поступающих пикселей вместо хранения целого кадр данных изображения, а затем усреднение цветов. Любые намеки относительно реализации этого алгоритма? Как начать с этим - мое самое большое препятствие.
Я исследовал исходный код относительно того, где я должен «подключиться» к видеоданным.
Это выглядит как подходящее место:
я знаю, что это изображение длинное - это лучшее, что я мог сделать, делая его понятным для чтения. В этом виноват инструмент Xilinx!
Похоже, что это берет данные TMDS и выводит 8-битный для каждого цвета.У меня должен быть какой-то конечный автомат для драйвера светодиодов - каждый тактовый цикл он получает информацию о пикселях от любого модуля, который я создаю для обработки видеоданных.
Извините, если это многословно или долго - я пытаюсь быть тщательным ... Мне просто нужна помощь, чтобы справиться с этим. Это моя первая попытка проекта FPGA - некоторые могут сказать, что это слишком сложно для новичка, но я говорю ... надо с чего-то начинать :) Спасибо за чтение.