Выравнивание двух потоков пиксельных данных
Vision HDL Toolbox/Утилиты
Блок Pixel Stream Aligner синхронизирует два потока пикселей путем задержки одного потока, чтобы соответствовать времени опорного потока. Многие алгоритмы Vision HDL Toolbox™ задерживают поток пикселей, и величина задержки может измениться, когда вы настраиваете параметры алгоритма. Можно использовать этот блок для выравнивания потоков для наложения, сравнения или объединения двух потоков, таких как операция Гауссова размытия. Соедините задержанный поток с входными портами refPixel и refCtrl, а предыдущий - с входными портами pixel и ctrl.
Эта схема формы волны показывает входные потоки, pixelIn
и refPixelIn
и связанных с ними управляющих сигналов. Ссылка входного кадра начинается позже, чем pixelIn
система координат. Сигналы выхода показывают, что блок задерживается pixelIn
чтобы соответствовать потоку ссылки и чтобы оба потока выхода совместно использовали сигналы управления. Форма волны показывает короткую задержку между входом refCtrl
и выходные refCtrl
. В этой симуляции, чтобы вместить задержку четырёх линий между входными потоками, параметр Maximum number of lines должен быть установлен на по меньшей мере 4.
Блок сохраняет данные от входного порта pixel до кольцевого буфера, а затем считывает линии, чтобы выровниться с опорными сигналами управления. Блок также хранит адрес начала каждой линии. Чтобы соответствовать добавленной задержке обработки пути буферных данных, блок задерживает ссылки пиксельных данных и сигналов управления на около 10 циклов.
Схема показывает архитектуру блока. Кольцевой буфер ОЗУ представляет собой память 2m пиксели, где m Maximum number of lines + log2 (Line buffer size). Буфер Линии адреса имеет Maximum number of lines местоположения. Если количество ctrl.Hstart
утверждения перед первым refCtrl.Hstart
assertion больше, чем размер буфера линейного адреса, блок перезаписывает оба буфера и повреждает выход. В этой схеме Maximum number of lines четыре, поэтому существуют четыре местоположения для хранения адреса линии в буфере. Начальный буфер системы координат является единым расположением для хранения ctrl.Vstart
. Задержка между двумя потоками должна быть меньше, чем время между началом системы координат.
Когда вход pixel является вектором или матрицей, блок наследует циклический буфер ОЗУ для каждого элемента. Схема показывает три кольцевых буфера ОЗУ, для представления трехкомпонентного потока пикселей. Каждый кольцевой буфер ОЗУ равен 2m местоположения памяти. Для многопиксельной потоковой передачи блок настраивает линейный buffer size, чтобы хранить 1/ Number of pixels пикселей. Например, с входным потоком 4 на 3, каждый буфер хранит ¼ из пикселей для линии, и существует 12 циклических буферов ОЗУ, каждый с 2m-2 местоположения. Размер буфера адреса линии остается неизменным.