Pixel Stream Aligner

Выровняйте два потока пиксельных данных

  • Библиотека:
  • Vision HDL Toolbox / Утилиты

  • Pixel Stream Aligner block

Описание

Блок Pixel Stream Aligner синхронизирует потоки на два пикселя путем задержки одного потока, чтобы совпадать с синхронизацией ссылочного потока. Много алгоритмов Vision HDL Toolbox™ задерживают пиксельный поток, и сумма задержки может измениться, когда вы настраиваете параметры алгоритма. Можно использовать этот блок, чтобы выровнять потоки для того, чтобы наложить, сравнить или объединить два потока такой как в Гауссовой операции размытости. Соедините задержанный поток с refPixel и входными портами refCtrl, и более ранний поток к входным портам ctrl и pixel.

Эта схема формы волны показывает входные потоки, pixelIn и refPixelIn, и их связанные управляющие сигналы. Ссылочный входной кадр запускается позже, чем pixelIn система координат. Выходные сигналы показывают, что блок задерживает pixelIn совпадать со ссылочным потоком, и что оба потока вывода совместно используют управляющие сигналы. Форма волны показывает короткую задержку между входом refCtrl и выход refCtrl. В этой симуляции, чтобы вместить задержку четырех линий между входными потоками, параметр Maximum number of lines должен быть установлен на по крайней мере 4.

Порты

Этот блок использует пиксельный интерфейс потоковой передачи с pixelcontrol соедините шиной для сигналов управления кадром. Этот интерфейс позволяет блоку действовать независимо от размера изображения и формата. Все блоки Vision HDL Toolbox используют тот же интерфейс потоковой передачи. Блок принимает и возвращает скалярное пиксельное значение и шину, которая содержит пять управляющих сигналов. Управляющие сигналы указывают на валидность каждого пикселя и его местоположения в системе координат. Чтобы преобразовать систему координат (пиксельная матрица) в последовательный пиксельный поток и управляющие сигналы, используйте блок Frame To Pixels. Для полного описания интерфейса смотрите Пиксельный Интерфейс Потоковой передачи.

Входной параметр

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

Для одной пиксельной потоковой передачи задайте pixel как скалярное значение интенсивности, вектор-строку из значений Number of components. Для мультипиксельной потоковой передачи задайте pixel как вектор-столбец значений интенсивности пикселей Number of pixels. Этот блок не поддерживает многокомпонентную мультипикселем потоковую передачу.

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

double и single типы данных поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: fixed point | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | double | single

Задайте pixelcontrol соедините шиной, который содержит пять сигналов. Сигналы описывают валидность пикселя и его местоположения в системе координат. Для получения дополнительной информации смотрите Пиксельную Шину управления.

Для мультипиксельной потоковой передачи каждый вектор из пиксельных значений имеет один набор управляющих сигналов. Поскольку вектор имеет только один valid сигнал, пиксели в векторе должны быть или всеми допустимыми или всеми недопустимыми. hStart и vStart сигналы применяются к пикселю с самым низким индексом в векторе. hEnd и vEnd сигналы применяются к пикселю с самым высоким индексом в векторе.

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

Задайте refPixel как скалярное значение интенсивности, вектор-строку из значений Number of components или вектор-столбец значений интенсивности пикселей Number of pixels. Этот блок не поддерживает многокомпонентную мультипикселем потоковую передачу.

Позволенные размерности для refPixel зависят от размерностей потока входа pixel. Number of pixels должен быть тем же самым.

Размерности входного пикселяПозволенные refPixel Размерности
1 на 11 на 1 или 1 3
1 31 на 1 или 1 3
4 14 1
8 18 1

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

double и single типы данных поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: fixed point | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | double | single

Задайте pixelcontrol соедините шиной, который содержит пять сигналов. Сигналы описывают валидность пикселя и его местоположения в системе координат. Для получения дополнительной информации смотрите Пиксельную Шину управления.

Для мультипиксельной потоковой передачи каждый вектор из пиксельных значений имеет один набор управляющих сигналов. Поскольку вектор имеет только один valid сигнал, пиксели в векторе должны быть или всеми допустимыми или всеми недопустимыми. hStart и vStart сигналы применяются к пикселю с самым низким индексом в векторе. hEnd и vEnd сигналы применяются к пикселю с самым высоким индексом в векторе.

Блок использует эти управляющие сигналы для выровненного потока вывода.

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

Вывод

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

Синхронизация потока выхода pixel совпадает с синхронизацией потока выхода refPixel. Размерности и тип данных потока выхода pixel совпадают с потоком входа pixel.

Размерности и тип данных потока выхода refPixel совпадают с потоком входа refPixel. Блок передает этот поток через неизменный блок.

Блок передает сигналы входа refCtrl через блок с маленькой задержкой.

Параметры

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

Выберите степень двойки, которая вмещает количество активных пикселей в горизонтальной линии. Если вы задаете значение, которое не является степенью двойки, блок использует следующую самую большую степень двойки. Блок реализует кольцевой буфер 2M пиксели, где M является Maximum number of lines + log2 (Line buffer size).

Блок реализует кольцевой буфер 2M пиксели, где M является Maximum number of lines + log2 (Line buffer size) и буфер адресов линии местоположений Maximum number of lines. Круговая память хранит ранее входные линии, пока ссылочные управляющие сигналы не прибывают. Буфер адресов линии хранит адрес запуска каждой линии. Когда ссылочные управляющие сигналы прибывают, блок использует сохраненный адрес, чтобы считать и отправить задержанную линию. Этот параметр должен вместить различие в синхронизации между двумя входными потоками, включая внутреннюю задержку, прежде чем блок прочитает первую строку. В процессе моделирования блок предупреждает, когда переполнение происходит. Чтобы избежать условия переполнения, увеличьте Maximum number of lines. Задержка между потоками не может превысить целую систему координат.

Когда вход pixel является вектором, блок реплицирует кольцевой буфер для каждого элемента вектора. В этом случае буферы используют inputVectorSize ×2M ячейки памяти. Буфер адресов линии остается тот же размер.

Алгоритмы

Блок хранит данные от входного порта pixel до кольцевого буфера и затем читает строки, чтобы выровняться со ссылочными управляющими сигналами. Блок также хранит адрес запуска каждой линии. Чтобы совпадать с добавленной задержкой обработки буферного информационного канала, блок задерживает ссылочные пиксельные данные и управляющие сигналы приблизительно для 10 циклов.

Схема показывает архитектуру блока. Кольцевой буфер RAM является памятью о 2M пиксели, где M является Maximum number of lines + log2 (Line buffer size). Буфер адресов Линии имеет местоположения Maximum number of lines. Если количество ctrl.Hstart утверждения перед первым refCtrl.Hstart утверждение больше размера Буфера адресов Линии, блок перезаписывает и буферы и повреждает выход. В этой схеме Maximum number of lines равняется четырем, таким образом, четыре места существуют, чтобы сохранить адрес линии в буфере. Система координат Запускается, Буфер является одним местоположением, чтобы сохранить ctrl.Vstart. Задержка между этими двумя потоками должна быть меньше, время между системой координат запускается.

Когда вход pixel является вектором, блок реплицирует Кольцевой буфер RAM для каждого элемента вектора.

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

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

Блоки

Объекты

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