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