К содержанию
fohbook/ TouchDesigner для света
новичок

Как видео превращается в пиксели

Общая схема пиксель-мэппинга: от картинки до байтов на ленте, и где в ней принимаются решения.

Пиксель-мэппинг — это сопоставление светодиода точке на картинке. Всё остальное — детали реализации.

Схема целиком

источник картинки (TOP)
        │
   сэмплирование по координатам пикселей
        │
   TOP → CHOP (или POP)
        │
   порядок каналов: R G B (W), змейка, направление
        │
   разбивка по юниверсам
        │
   DMX Out → Art-Net / sACN
        │
   пиксель-контроллер → лента

Три места, где принимаются решения: где на картинке находится каждый светодиод, в каком порядке идут данные и как они ложатся по юниверсам.

Где находится светодиод

Два подхода:

Сетка. Лента или панель раскладывается как прямоугольная матрица: 64 × 32 пикселя. Картинка просто масштабируется под этот размер. Просто и работает для панелей и ровных полос.

Произвольные координаты. У каждого светодиода есть позиция в пространстве, и цвет берётся из картинки в этой точке. Это то, ради чего берут TouchDesigner: лента, намотанная по спирали, точки по фасаду, светильники в произвольном порядке — Раскладка.

Порядок данных

Контроллер ждёт байты в определённом порядке:

пиксель 1: R G B
пиксель 2: R G B
...

Порядок цветовых компонент бывает разным (RGB, GRB, BGR), количество компонент тоже (RGB, RGBW). Это настраивается на контроллере, но знать надо: перепутанные красный и зелёный обычно чинятся там, а не в патче — Контроллеры.

Сколько влезает в юниверс

512 каналов на юниверс:

Тип пикселя Каналов Пикселей в юниверсе
RGB 3 170 (остаётся 2 канала)
RGBW 4 128
RGB 16 бит 6 85

Отсюда считается количество юниверсов — Юниверсы и контроллеры.

Что решает качество картинки

  1. Разрешение источника должно соответствовать плотности пикселей. Картинка 1920 × 1080 для ленты из 60 диодов — лишняя работа.
  2. Сглаживание при выборке: брать один пиксель или усреднять область. Второе даёт более плавное движение на редкой ленте.
  3. Гамма и цвет — на светодиодах картинка выглядит иначе, чем на мониторе.
  4. Частота обновления: не выше того, что переваривает контроллер.
Начните с малого

Одна лента, один юниверс, простая бегущая волна — Первая лента. Большая поверхность — Пиксельная стена. Отладить схему на десяти пикселях в сто раз проще, чем на пяти тысячах.

Пиксель-мэппинг — это трафик

Пять тысяч пикселей RGB — это тридцать юниверсов, отправляемых сорок раз в секунду. Сеть должна быть к этому готова — Настройка сети.

рядом по смыслу