В оборудовании обработка целой системы координат видео в свое время имеет высокую стоимость в памяти и области. Для экономии ресурсов последовательная обработка предпочтительна в HDL- проектов. Блоки Vision HDL Toolbox™ и системные объекты работают с пикселем, линией или окрестностями, а не с системой координат. Блоки и объекты принимают и генерируют видеоданные как последовательный поток пиксельных данных и сигналов управления. Сигналы управления указывают относительное положение каждого пикселя в изображении или видеокадре. Протокол имитирует синхронизацию видеосистемы, включая неактивные интервалы между системами координат. Каждый блок или объект работает без полного знания формата изображения и может переносить несовершенные сроки линий и систем координат.
Все блоки Vision HDL Toolbox и системные объекты поддерживают потоковую передачу с одним пикселем (с 1 пикселем за цикл). Некоторые блоки и системные объекты также поддерживают многопиксельную потоковую передачу (с 4 или 8 пикселями за цикл) для видео с высокой скоростью или высоким разрешением. Мультипиксельная потоковая передача увеличивает аппаратные ресурсы для поддержки более высокого разрешения видео с тем же оборудованием часов, что и видео с меньшим разрешением. Генерация HDL-кода для многопиксельной потоковой передачи не поддерживается системными объектами. Используйте эквивалентные блоки для генерации HDL-кода для мультипиксельных алгоритмов.
Системы видеосъемки сканируют видеосигналы слева направо и сверху вниз. Когда эти системы сканируются, они генерируют неактивные интервалы между линиями и системами координат активного видео.
Горизонтальный интервал гашения состоит из неактивных циклов между концом одной линии и началом следующей линии. Этот интервал часто разделяется на две части: переднее крыльцо и заднее крыльцо. Эти условия являются результатом импульса синхронизации между линиями в аналоговых видеоволнах. Переднее крыльцо - это количество выборок между концом активной линии и импульсом синхронизации. Заднее крыльцо - это количество выборок между импульсом синхронизации и началом активной линии.
Интервал вертикального гашения состоит из неактивных циклов между конечной активной линией одной системы координат и стартовой активной линией следующей системы координат.
Шаблон сканирования требует начальных и конечных сигналов как для горизонтального, так и для вертикального направления. Протокол потокового пикселя Vision HDL Toolbox включает интервалы гашения и позволяет настраивать размер активной и неактивной системы координат.
На схеме системы координат синяя затененная область слева и справа от активной системы координат указывает горизонтальный интервал гашения. Оранжевая заштрихованная область над и под активной системой координат указывает на вертикальный интервал гашения. Дополнительные сведения об интервалах гашения см. в разделе Настройка интервалов гашения.
Блоки и объекты, использующие этот интерфейс, не нуждаются в опции строения для точного размера изображения или размера неактивных областей. В сложение, если вы меняете формат изображения для своего проекта, вам не нужно обновлять каждый блок или объект. Вместо этого обновляйте параметры изображения один раз на шаге сериализации. Некоторым блокам и объектам все еще требуется параметр линии размера буфера для выделения ресурсов памяти.
Путем изоляции деталей формата изображения можно разработать проект с помощью небольшого изображения для более быстрой симуляции. Затем, когда проект будет правильным, обновите до фактического размера изображения.
Видео может быть получено из различных источников, таких как камеры, накопители на лентах, цифровое хранилище, или переключатели и устройства вставки. Эти источники могут ввести проблемы синхронизации. Человеческое зрение не может обнаружить небольшие отклонения в видеосигналах, поэтому время для видеосистемы не должно быть идеальным. Поэтому блоки обработки видео должны терпеть переменную синхронизацию линий и систем координат.
При использовании интерфейса потокового пикселя с управляющими сигналами каждый блок или объект Vision HDL Toolbox начинает вычислять на свежем сегменте пикселей в сигнале начала линии или начала кадра. Происходит расчет, принимает ли блок или объект конечный сигнал для предыдущего сегмента.
Протокол допускает незначительные ошибки синхронизации. Если количество допустимых и недопустимых циклов между начальными сигналами изменяется, блоки или объекты продолжают работать правильно. Некоторые блоки и объекты Vision HDL Toolbox требуют минимальных горизонтальных областей гашения для выполнения операций буфера памяти. Дополнительные сведения см. в разделе Настройка интервалов гашения.
В Simulink®, используйте блок Frame To Pixels для преобразования видеокадровых данных в поток пикселей и управляющих сигналов, которые соответствуют этому протоколу. Управляющие сигналы сгруппированы в невиртуальный тип данных шины, называемый pixelcontrol
. Можно сконфигурировать блок, чтобы вернуть поток пикселей с 1, 4 или 8 пикселями за цикл.
В MATLAB®, используйте visionhdl.FrameToPixels
объект для преобразования видеокадровых данных в поток пикселей и управляющих сигналов, которые соответствуют данному протоколу. Сигналы управления сгруппированы в тип данных структуры. Можно сконфигурировать объект, чтобы создать поток пикселей с 1, 4 или 8 пикселями за цикл.
Если ваше входное видео уже находится в последовательном формате, можно спроектировать собственную логику, чтобы сгенерировать pixelcontrol
управляющие сигналы от существующей схемы последовательного управления. Например, см. «пример сигналов управления камерой в формат pixelcontrol» и «Интеграция блоков Vision HDL в систему Ссылка».
Блоки и объекты Vision HDL Toolbox включают порты или аргументы для потоковой передачи пиксельных данных. Каждый блок и объект поддерживает один или несколько пиксельных форматов. Поддерживаемые форматы варьируются в зависимости от операции, которую выполняет блок или объект. В этой таблице приведены общие форматы видео, поддерживаемые Vision HDL Toolbox.
Тип видео | Формат пикселя |
---|---|
Набор из двух предметов | Каждый пиксель представлен одной boolean или logical значение. Используется для истинного черно-белого видео. |
Оттенки серого | Каждый пиксель представлен лумой, которая является гамма-скорректированным значением яркости. Этот пиксель является единственным беззнаковым целым числом или значением с фиксированной точкой. |
Цвет | Каждый пиксель представлен от 2 до 4 беззнаковыми целым числом или значениями с фиксированной точкой, представляющими цветовые компоненты пикселя. Блоки и объекты Vision HDL Toolbox используют гамма-скорректированные цветовые пространства, такие как R 'G' B' и Y 'CbCr. Чтобы обработать многокомпонентные потоки для блоков, которые не поддерживают многокомпонентный вход, реплицируйте блок для каждого компонента. The Чтобы настроить многопиксельную потоковую передачу цветного видео, можно сконфигурировать блок Frame To Pixels, чтобы вернуть многокомпонентный и мультипиксельный поток. Смотрите MultiPixel-MultiComponent Видеопотоки. |
Блоки Vision HDL Toolbox имеют вход или выходной порт, pixel
, для данных пикселя. Объекты Vision HDL Toolbox System ожидают или возвращают аргумент, представляющий пиксельные данные. Следующая таблица описывает формат пиксельных данных.
Порт или аргумент | Описание | Тип данных |
---|---|---|
pixel |
Можно симулировать Системные объекты с мультипиксельным потоковым интерфейсом, но Системные объекты, которые используют мультипиксельные потоки, не поддерживаются для генерации HDL-кода. Используйте эквивалентные блоки для генерации HDL-кода для мультипиксельных алгоритмов. | Поддерживаемые типы данных могут включать:
|
Примечание
Эти блоки поддерживают многопиксельную потоковую передачу:
Блоки ROI Selector, Pixel Stream FIFO и Pixel Stream Aligner поддерживают мультипиксельную многокомпонентную потоковую передачу.
Блоки и объекты Vision HDL Toolbox включают порты или аргументы для управляющих сигналов, относящихся к каждому пикселю. Эти пять управляющих сигналов указывают на валидность пикселя и его местоположение в системе координат. Для многопиксельной потоковой передачи каждый вектор значений пикселей имеет один набор сигналов управления.
В Simulink порт управляющего сигнала является невиртуальным типом данных шины, называемым pixelcontrol
. Для получения дополнительной информации о типе данных шины смотрите Pixel Control Bus.
В MATLAB аргумент сигнала управления является структурой. Для получения дополнительной информации о типе данных структуры смотрите Pixel Control Structure.
Чтобы проиллюстрировать протокол потокового пикселя, этот пример преобразует систему координат в последовательность сигналов управления и данных. Рассмотрим изображение 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 пикселями за цикл. The pixelcontrol
сигналы, которые применяются к каждому набору значений четырех пикселей, показаны ниже сигналов данных. Потому что вектор имеет только один valid
сигнал, пиксели в векторе все действительны или все недопустимы. The hStart
и vStart
сигналы применяются к пикселю с самым низким индексом в векторе. The hEnd
и vEnd
сигналы применяются к пикселю с самым высоким индексом в векторе.
Перед показанным периодом времени начальные вертикальные пиксели гашения передаются по четыре за раз с установленными на false
всеми сигналами управления. Эта форма волны показывает пиксельный поток первой линии изображения. Серый, синий и оранжевый ящики соответствуют подсвеченным областям схемы системы координат. После завершения первой линии поток имеет два цикла горизонтального гашения, который содержит 8 недопустимых пикселей (переднее и заднее крыльцо). Затем форма волны показывает следующую линию в потоке, начиная с зеленого ящика.
Для примера модели, которая использует мультипиксельную потоковую передачу, смотрите Filter Multipixel Video Streams.
Frame To Pixels | Pixels To Frame | visionhdl.FrameToPixels
| visionhdl.PixelsToFrame