Многокомпонентная мультипикселем потоковая передача видео

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

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

Верхний уровень I/0

Каждый пиксель пиксельного потока или высокой частоты кадров с высоким разрешением моделируется как NumPixel-by-NumComponent матрица. Матричные типы данных поддерживаются для генерации HDL-кода в рамках проекта, но не для портов подсистемы верхнего уровня. В этом случае поток входного пикселя разделен в три 4 1 векторы во входе DUT, и затем повторно объединен при выходе в 4 3 матрица для блока Pixels To Frame.

Эффект цветка

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

  1. Подсистемы MultiPixelColorSpaceConverter и BrightSpotFilter находят яркие пятна в изображении интенсивности путем проверки пиксельных значений по порогу.

  2. 15x15 подсистема Размытости распространяет яркие пятна путем применения Гауссова фильтра.

  3. Подсистема BlendBloom добавляет Улучшенные гауссовым образом яркие пятна назад в оригинальное изображение.

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

Матричное выравнивание

Блоки обработки окружения Vision HDL Toolbox™ могут работать с векторными входными параметрами, но сделать не входные параметры таблицы поддержки. Буфер линии, используемый в блоках, возвращает NumPixels-by-KernelHeight матрицу. Используя многокомпонентные входные параметры привел бы к NumPixels KernelHeight выходной матрицей NumComponents, однако, 3-D матрицы не поддерживаются для генерации HDL-кода. Для Каждого подсистемы поддерживают генерацию HDL-кода со скалярными и векторными входными параметрами, но не с матричными входными параметрами. Чтобы работать вокруг этой проблемы, модель сглаживает NumPixels-by-NumComponents матрицу в NumPixels*NumComponents-by-1 вектор, и затем использует настройки раздела на Для Каждого подсистемы, чтобы повторить операцию через каждый срез вектора.

Модель кодирует пиксельный вектор двумя различными способами. Первое кодирование представляет пиксели как четыре значения RGB, конкатенированные вместе в 12 1 вектор, как показано в этой схеме. Модель устанавливает параметр ширины Раздела подсистемы MultiPixelColorSpaceConverter к 3. Подсистема реализует четыре операции RGB к интенсивности параллельно.

Второе пиксельное кодирование конкатенирует четыре R, G, или пиксели B вместе, как показано в этой схеме. 15x15 подсистема Размытости принимает 12 1 входной вектор. Модель устанавливает параметр ширины Раздела 15x15 подсистема Размытости к 4, таким образом, это работает с три 4 1 мультипиксельные векторы. Подсистема реализует три блока Фильтра Изображений параллельно. Каждый фильтр работает с 4 15 окно и возвращается 4 1 вектор.

Результаты симуляции

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

Результаты реализации

Эта таблица показывает результаты синтеза HDL-кода, сгенерированного от подсистемы DUT и синтезируемого для платы Xilinx™ Zynq™ ZC706. Поскольку ни один из ресурсов не превышает 25% их соответствующей категории, проект имеет относительно маленькое место.

T =

  4x2 table

    Resource     Usage
    _________    _____

    DSP48        84   
    Flip Flop    62724
    LUT          36710
    BRAM         132  

Смотрите также

|

Похожие темы