Pixel Stream Aligner

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

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

Описание

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

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

Порты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вывод

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

Один пиксель изображения, возвращенный как вектор в три представления значений R'G'B' или Y'CbCr или интенсивность представления скалярного значения. Тип данных совпадает с типом данных потока входа pixel.

Один пиксель изображения, заданный как вектор трех представлений значений R'G'B' или Y'CbCr или интенсивность представления скалярного значения. Тип данных совпадает с типом данных потока входа refPixel. Этот поток передается через неизменный блок.

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

Параметры

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

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

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

Алгоритмы

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

RAM Circular Buffer является памятью о 2M пиксели, где M является MaxNumberOfLines + log2 (LineBufferSize). Line Address Buffer имеет местоположения MaxNumberOfLines. Если количество ctrl.Hstart утверждения перед первым refCtrl.Hstart утверждение больше размера Line Address Buffer, блок перезаписывает и буферы и повреждает ваш выход. В этой схеме MaxNumberOfLines равняется четырем, таким образом, существует четыре места, чтобы сохранить адрес линии в буфере. Схема также показывает одно местоположение, чтобы сохранить ctrl.Vstart. Задержка между этими двумя потоками должна быть меньше, время между системой координат запускается.

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

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

Блоки

Объекты

Введенный в R2017a