В оборудовании, обрабатывая целый кадр видео когда-то имеет высокую стоимость в памяти и области. Чтобы сохранить ресурсы, последовательная обработка предпочтительна в проектах HDL. Блоки Vision HDL Toolbox™ и Системные объекты работают с пикселем, строкой, или окружением, а не кадром. Блоки и объекты принимают и генерируют видеоданные как последовательный поток пиксельных данных и управляющих сигналов. Управляющие сигналы указывают на относительное местоположение каждого пикселя во фрейме изображения или кадре видео. Протокол подражает синхронизации системы видео, включая неактивные интервалы между кадрами. Каждый блок или объект действуют без полного знания формата изображения и могут терпеть несовершенную синхронизацию строк и кадров.
Системы видеосъемки сканируют видеосигналы слева направо и сверху донизу. Когда эти системы сканируют, они генерируют неактивные интервалы между строками и кадрами активного видео.
Горизонтальный интервал гашения составлен из неактивных циклов между концом одной строки и начало следующей строки. Этот интервал часто разделяется в две части: передний подъезд и заднее крыльцо. Эти условия прибывают из синхронизировать импульса между строками в аналоговых видео формах волны. Передний подъезд является количеством выборок между концом активной строки и синхронизировать импульсом. Заднее крыльцо является количеством выборок между синхронизировать импульсом и запуском активной строки.
Вертикальный интервал обратного хода луча составлен из неактивных циклов между конечной активной строкой одного кадра и стартовой активной строкой следующего кадра.
Шаблон сканирования требует, запускают и заканчивают сигналы и для горизонтальных и для вертикальных направлений. Vision HDL Toolbox, передающий пиксельный протокол потоком, включает интервалы гашения и позволяет вам конфигурировать размер активного и неактивного кадра.
Блокам и объектам с помощью этого интерфейса не нужен параметр конфигурации для точного размера изображения или размера неактивных областей. Кроме того, если вы изменяете формат изображения для своего проекта, вы не должны обновлять каждый блок или объект. Вместо этого обновите параметры изображения однажды на шаге сериализации. Некоторые блоки и объекты все еще требуют, чтобы параметр buffer size строки выделил ресурсы памяти.
Путем изоляции деталей формата изображения можно разработать дизайн с помощью маленького изображения для более быстрой симуляции. Затем, если проект правилен, обновление размера действительного образа.
Видео может прибыть из различных источников, таких как камеры, память на ленте, цифровое устройство хранения данных, или механизм вставки и переключение. Эти источники могут ввести проблемы синхронизации. Человеческое видение не может обнаружить небольшое отклонение в видеосигналах, таким образом, синхронизация для системы видео не должна быть совершенной. Поэтому блоки обработки видеоданных должны терпеть переменную синхронизацию строк и кадров.
При помощи пиксельного интерфейса потоковой передачи с управляющими сигналами, каждым блоком Vision HDL Toolbox или объектом запускает вычисление на новом сегменте пикселей в начале, или запустите из кадра сигнал. Вычисление происходит, получают ли блок или объект сигнал конца для предыдущего сегмента.
Протокол терпит незначительные ошибки синхронизации. Если количество допустимых и недопустимых циклов между сигналами запуска отличается, блоки или объекты продолжают действовать правильно. Некоторые блоки Vision HDL Toolbox и объекты требуют, чтобы минимальные горизонтальные области очищения разместили операции буфера памяти.
В Simulink® используйте блок Frame To Pixels, чтобы преобразовать структурированные видеоданные в поток пикселей и управляющих сигналов, которые соответствуют этому протоколу. Управляющие сигналы сгруппированы в невиртуальном типе данных шины под названием pixelcontrol
.
В MATLAB® используйте объект visionhdl.FrameToPixels
преобразовать структурированные видеоданные в поток пикселей и управляющих сигналов, которые соответствуют этому протоколу. Управляющие сигналы сгруппированы в типе данных структуры.
Если ваши данные уже находятся в последовательном формате, разработайте свою собственную логику, чтобы сгенерировать эти управляющие сигналы из вашей существующей последовательной схемы управления.
Блоки Vision HDL Toolbox и объекты включают порты или аргументы для потоковой передачи пиксельных данных. Блоки и объекты получают один пиксель за один раз от входа и производят один пиксель за один раз для вывода. Каждый блок и поддержка объектов один или несколько форматов пикселя. Поддерживаемые форматы отличаются в зависимости от операции, которую выполняют блок или объект. Эта таблица детализирует общие форматы видео, поддержанные Vision HDL Toolbox.
Тип видео | Формат пикселя |
---|---|
Двоичный файл | Каждый пиксель представлен одним boolean или значением logical . Используемый для истинного черно-белого видео. |
Шкала полутонов | Каждый пиксель представлен luma, который является исправленным гаммой значением яркости. Этот пиксель является одним беззнаковым целым или значением фиксированной точки. |
Цвет | Каждый пиксель имеет несколько беззнаковое целое или значения фиксированной точки, представляющие компоненты цвета пикселя. Блоки Vision HDL Toolbox и объекты используют исправленные гаммой цветовые пространства, такие как R'G'B' и Y'CbCr. |
Блоки Vision HDL Toolbox имеют порт ввода или вывода, pixel
, для пиксельных данных. Системные объекты Vision HDL Toolbox ожидают или возвращают аргумент в метод step
, представляющий пиксельные данные. Следующая таблица описывает формат пиксельных данных.
Порт или аргумент | Описание | Тип данных |
---|---|---|
pixel | Скаляр, который представляет бинарное или полутоновое пиксельное значение или вектор 2 - 4 значений, представляющих цветной пиксель. |
Поддерживаемые типы данных могут включать:
|
Блоки Vision HDL Toolbox и объекты включают порты или аргументы для управляющих сигналов, относящихся к каждому пикселю. Эти пять управляющих сигналов указывают на валидность пикселя и его местоположения в кадре.
В Simulink порт управляющего сигнала является невиртуальным типом данных шины под названием pixelcontrol
. Для получения дополнительной информации типа данных шины, смотрите Пиксельную Шину управления.
В MATLAB аргумент управляющего сигнала является структурой. Для получения дополнительной информации типа данных структуры, смотрите Пиксельную Управляющую структуру.
Чтобы проиллюстрировать пиксельный протокол потоковой передачи, этот пример преобразовывает кадр в последовательность сигналов данных и управления. Рассмотрите 2 3 пиксельное изображение. Чтобы смоделировать интервалы гашения, сконфигурируйте сериализированное изображение, чтобы включать неактивные пиксели в эти области вокруг активного изображения:
Заднее крыльцо 1 пиксель шириной
Передний подъезд 2 пикселя шириной
1 строка перед первой активной строкой
1 строка после последней активной строки
Можно сконфигурировать размерности активных и неактивных областей с блоком Frame To Pixels или объектом FrameToPixels
.
В фигуре область активного изображения находится в пунктирном прямоугольнике, и неактивные пиксели окружают его. Пиксели маркированы своими полутоновыми значениями.
Блок или объект сериализируют изображение слева направо, одна строка за один раз. Схема синхронизации показывает управляющие сигналы и пиксельные данные, которые соответствуют этому изображению. Схема показывает последовательный вывод блока Frame To Pixels для этого кадра.
Для примера с помощью блока Frame to Pixels, чтобы сериализировать изображение, см. Алгоритмы Обработки видеоданных Проекта для HDL в Simulink.
Для примера с помощью объекта FrameToPixels
сериализировать изображение, см. Проект, Предназначенное на оборудование Изображение Просачивается MATLAB.
Структурируйте к пикселям | Пиксели, чтобы структурировать | visionhdl.FrameToPixels
| visionhdl.PixelsToFrame