exponenta event banner

FIL-кадр к пикселям

Преобразование видео на основе кадров в поток пикселей для FPGA-in-the-loop

  • Библиотека:
  • Панель инструментов Vision HDL/интерфейсы ввода-вывода

  • FIL Frame To Pixels block

Описание

Блок FIL Frame To Pixels выполняет то же преобразование кадра в пиксель, что и блок Frame To Pixels. Кроме того, можно настроить ширину выходного вектора на один пиксель, линию или весь кадр. Блок возвращает управляющие сигналы в векторах той же ширины, что и пиксельные данные. Эта оптимизация позволяет более эффективно использовать канал связи между платой FPGA и имитацией Simulink ® при использовании FPGA-in-the-loop (FIL). Для запуска FPGA-in-the-loop необходимо иметь лицензию HDL Verifier™.

При создании файла программирования для цели FIL в Simulink инструмент создает модель для сравнения моделирования FIL с конструкцией Simulink. Для проектов Vision HDL Toolbox™ блок FIL в этой модели воспроизводит интерфейс потоковой передачи пикселей для отправки по одному пикселю за раз в FPGA. Можно изменить автоматически созданную модель для использования блоков FIL Frame To Pixels и FIL Pixels To Frame для улучшения пропускной способности связи с платой FPGA путем отправки одного кадра за раз. Сведения об изменении автоматически созданной модели см. в разделе FPGA-in-the-Loop.

Укажите один и тот же формат видео и размер вектора для блока FIL Frames To Pixels и блока FIL Pixels To Frame.

Порты

Вход

развернуть все

Полное изображение, указанное как матрица (Активные пикселы на строку) -by- (Активные видеолинии) -by-N. Высота и ширина - это размеры активного изображения, заданные в формате видео. N - количество компонентов, используемых для выражения одного пикселя.

Типы данных: single | double | int | uint | Boolean | fixed point

Продукция

развернуть все

Пикселы изображения, возвращаемые в виде матрицы значений M-by-Number пикселов, где M - ширина формата вектора вывода. Существует N портов передачи данных, где N - количество компонентов. Тип данных совпадает с типом данных кадра.

При использовании многопиксельной потоковой передачи FIL DUT имеет количество портов данных пикселей. Необходимо разделить выходную матрицу на векторы строк числа пикселей длиной M для входных портов FIL DUT. Дополнительные сведения см. в разделе Моделирование FPGA-in-the-Loop с многопиксельной потоковой передачей.

Аналогично, при использовании многокомпонентной многопиксельной потоковой передачи FIL DUT имеет Число пикселей × Число портов данных компонентов. Разбейте выходную матрицу для каждого компонента на число векторов строк пикселей длиной M для входных портов FIL DUT.

Типы данных: single | double | int | uint | Boolean | fixed point

Первый пиксель в горизонтальной линии кадра, возвращаемый как Boolean вектор значений М.

Для многопиксельной потоковой передачи значение hStartOut применяется к пикселю с самым низким индексом в соответствующем столбце.

Типы данных: Boolean

Последний пиксель в горизонтальной линии кадра, возвращаемый как Boolean вектор значений М.

Для многопиксельной потоковой передачи значение hEndOut применяется к пикселю с самым высоким индексом в соответствующем столбце.

Типы данных: Boolean

Первый пиксель в первой (верхней) строке кадра, возвращаемый как Boolean вектор значений М.

Для многопиксельной потоковой передачи значение vStartOut применяется к пикселю с самым низким индексом в соответствующем столбце.

Типы данных: Boolean

Последний пиксель в последней (нижней) строке кадра, возвращаемый как Boolean вектор значений М.

Для многопиксельной потоковой передачи vEndOut применяется к пикселю с самым высоким индексом в соответствующем столбце.

Типы данных: Boolean

Индикатор допустимого пикселя, возвращенный как Boolean вектор значений М.

Для многопиксельной потоковой передачи пикселы в соответствующем столбце являются либо допустимыми, либо недопустимыми.

Типы данных: Boolean

Параметры

развернуть все

Количество значений, используемых для представления каждого пикселя. Каждый пиксель может иметь 1, 3 или 4 компонента. Задайте для этого параметра значение 1 для видео в градациях серого. Задайте для этого параметра значение 3 для цветного видео, например, {R, G, B} или {Y, Cb, Cr}. Задайте для этого параметра значение4 использовать цвет с альфа-каналом для прозрачности.

Для обработки многокомпонентных потоков для блоков, не поддерживающих многокомпонентный ввод, реплицируйте блок для каждого компонента. pixelcontrol шина для всех компонентов идентична, поэтому можно подключить выход ctrl блока Frame To Pixels к каждому реплицированному блоку.

Количество пикселей в каждом столбце выходной матрицы, указанное как 1, 4, или 8.

Каждый порт данных возвращает матрицу M на число пикселей. Для ввода в FIL DUT необходимо разделить эту матрицу на векторы строк числа пикселей длиной М. Дополнительные сведения см. в разделе Моделирование FPGA-in-the-Loop с многопиксельной потоковой передачей.

Размер вектора, используемого для связи с подсистемой FPGA. Блок возвращает входные пиксели и управляющие сигналы в векторах одинаковой длины. Блок вычисляет длину векторов на основе параметра Формат видео.

  • Pixel - возвращает скалярные значения для пиксельных и управляющих сигналов.

  • Line - Возврат (всего пикселов на строку) - по 1 векторам .

  • Frame - Возврат (Всего пикселей на строку × Всего строк видео) - по 1 векторам.

Большее значение приводит к более быстрой связи между платой FPGA и Simulink. Выберите самый большой вариант, который могут поддерживать ресурсы ввода-вывода и памяти на системной плате.

Для многопиксельной потоковой передачи укажите один из следующих параметров размера вывода.

  • Pixel - возвращает 1-по- (число пикселей) вектор значений пикселей и скалярные управляющие сигналы, которые применяются ко всем пикселям в каждом векторе.

  • Line - Возвращает a (всего пикселей на строку/число пикселей) - по числу пикселей матрицы значений пикселей и вектор управляющих сигналов длины (всего пикселей на строку )/( количество пикселей ).

  • Frame - Возвращает a (Всего пикселей на строку × Всего строк видео/Количество пикселей) - по числу пикселей матрицы значений пикселей и вектору управляющих сигналов длины (Всего пикселей на строку × Всего строк видео )/Количество пикселей.

Зависимости

Если число пикселов и число компонентов больше 1, необходимо установить формат вектора вывода равным Frame.

Размеры активных и неактивных областей в видеокадре. Чтобы выбрать предопределенный формат, выберите в списке Формат видео. Фактические размеры кадра отображаются в разделе «Параметры видеоформата». Для пользовательского формата выберите Custom, а затем укажите размеры как целые числа.

Размеры определены на диаграмме.

Примечание

Время выборки источника видео должно соответствовать общему количеству пикселей в кадре блока «От кадра до пикселей». Общее число пикселей равно Total pixels per line × Total video lines, поэтому установите это значение в качестве времени выборки.

Video FormatActive Pixels Per LineActive Video LinesTotal Pixels Per LineTotal Video LinesStarting Active LineEnding Active LineFront PorchBack Porch
240p320240 40232412404438
480p6404808005253651516 144
480pH7204808585253351216122
576p7205768646254762212132
720p1280720165075025744110260
768p102476813448061077724296
1024p128010241688106642106548360
1080p (по умолчанию)192010802200112542112188192
1200p160012002160125050124964496
2KCinema204810802750112542112163963
4KUHDTV384021604400225042220188472
8KUHDTV7680432088004500424361881032
CustomПользователь -
определенный
Пользователь -
определенный
Пользователь -
определенный
Пользователь -
определенный
Пользователь -
определенный
Пользователь -
определенный
Пользователь -
определенный
Пользователь -
определенный

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

  • Для горизонтального направления значение «Всего пикселей на строку» должно быть больше или равно значению «Передняя крыльцо» + «Активные пикселы на строку». Блок вычисляет значение Back porch = Total pixels per lineFront porchActive pixels per line.

  • Для вертикального направления Суммарные видеолинии должны быть больше или равны Начальной активной линии + Активной видеолинии − 1. Блок вычисляет Ending active line = Start active line + Active video lines − 1.

При использовании блока памяти линии или блоков, использующих внутреннюю память линии, с пользовательским видеоформатом применяются следующие требования:

  • Активные пикселы на строку должны быть больше 1.

  • Интервал горизонтального гашения, или Заднее крыльцо + Переднее крыльцо, должны соответствовать следующим инструкциям:

    • Общее число Back porch + Front porch должно быть не менее чем в 2 раза больше наибольшего размера ядра алгоритма в блоках, следующих за блоком Frame To Pixel. Если размер ядра меньше 4, общая площадь крыльца должна быть не менее 8 пикселей.

    • Задняя часть должна быть не менее 6 пикселей. Этот параметр представляет собой количество неактивных пикселей перед первым допустимым пикселем в кадре.

    Дополнительные сведения о интервалах гашения см. в разделе Настройка интервалов гашения.

При использовании многопиксельной потоковой передачи (число пикселей > 1) применяются эти требования.

  • Формат видео должен иметь горизонтальные размеры, делящиеся на значение параметра Number of pixels. Горизонтальные размеры задаются следующими параметрами: Активные пикселы на строку, Всего пикселов на строку, Передняя крыльцо и Задняя крыльцо. Стандартные видео протоколы 480p, 720p, 1080p и 4k UHD поддерживают количество пикселей, равное 4 или 8.

  • Минимальный размер входного кадра для многопиксельной потоковой передачи (4 или 8 пикселей) составляет 18 строк на 32 столбца.

  • Выберите размер ядра и Активные пикселы на строку так, чтобы (Активные пикселы на строку )/( Количество пикселов) была по крайней мере шириной ядра.

Расширенные возможности

.
Представлен в R2015a