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

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

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

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

Каждый пиксель пиксельного потока или высокой частоты кадров с высоким разрешением моделируется как NumPixel-by-NumComponent матрица. Матричные типы данных поддерживаются для генерации HDL-кода в рамках проекта, но не для портов верхнего уровня susbsystem. В этом случае поток входного пикселя разделен в три 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  

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

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте