主要内容

像素流校准器

对齐两个像素数据流

  • 库:
  • 视觉HDL工具箱/实用程序

  • 像素流校准块

描述

像素流校准器Block通过延迟一个流来匹配参考流的时间来同步两个像素流。许多Vision HDL Toolbox™算法延迟像素流,并且延迟量可以随着算法参数的调整而变化。您可以使用此块来对齐流以覆盖、比较或组合两个流,例如在高斯模糊操作中。将延迟流连接到refPixel而且refCtrl输入端口,和较早的流到像素而且ctrl输入端口。

这个波形图显示了输入流,pixelIn而且refPixelIn,以及相关的控制信号。参考输入帧开始的时间晚于pixelIn框架。输出信号显示块延迟pixelIn匹配参考流,并且两个输出流共享控制信号。波形显示输入之间的短延迟refCtrl以及输出refCtrl.在此模拟中,为了适应输入流之间的四行延迟,将最大行数参数必须至少设置为4。

港口

输入

全部展开

该块使用流像素接口和帧控制信号总线。该接口使块能够独立于图像大小和格式进行操作。的像素此块上的端口支持单像素流或多像素流。金宝app单像素流在每个时钟周期接受并返回一个单像素值。多像素流接收并返回向量每个时钟周期的像素,以支持高帧率或高分辨率格式。金宝app的值对应于像素数参数。帧到像素块。与像素一起,块接受并返回一个pixelcontrol包含五个控制信号的总线。控制信号指示每个像素的有效性及其在帧中的位置。对于多像素流,一组控制信号应用于矢量中的所有像素。若要将帧(像素矩阵)转换为串行像素流和控制信号,请使用帧到像素块。有关接口的完整描述,请参见流媒体像素接口

此块还支持多像素-多组件流,其中金宝app像素输入是的矩阵——- - - - - -N值。是像素数和N是分量的数量。这些值对应于像素数而且组件数量参数说明帧到像素块。

对于单像素流,指定像素作为一个1 × -的标量或向量组件数量值。对于多像素流,指定像素作为一个矩阵像素数——- - - - - -组件数量像素强度值。像素数可以是2、4或8。

因为块延迟这个像素流以匹配参考流的控制信号,refPixel像素肯定是两条流中较早的那条。

而且数据类型支持模拟,但不支持HD金宝appL代码生成。

数据类型:不动点|使用uint|int|布尔||

pixelcontrol总线包含五个信号。信号描述像素的有效性和它在帧中的位置。有关更多信息,请参见像素控制总线

对于多像素流,每个像素值向量都有一组控制信号。因为向量只有1有效的信号时,向量中的像素必须全部有效或全部无效。的hStart而且音速启动信号应用于向量中下标最低的像素。的这个到而且公开发表信号应用于向量中索引最高的像素。

数据类型:公共汽车

指定refPixel作为一个标量,1 × -的向量组件数量值,或矩阵的像素数——- - - - - -组件数量像素强度值。

允许的尺寸refPixel取决于输入的维度像素流。的像素数一定是一样的。

输入像素 允许的refPixel尺寸
1 -N 1乘1,1乘3,或者1乘4
2 -N 2乘1,2乘3,或者2乘4
4 * -N 4乘1 4乘3 4乘4
8 * -N 8乘1 8乘3 8乘4

因为阻塞延迟像素输入流以匹配参考控制信号,refPixel肯定是两条流中较晚的那条。参考数据及其控制信号以很小的延迟通过该块。

而且数据类型支持模拟,但不支持HD金宝appL代码生成。

数据类型:不动点|使用uint|int|布尔||

pixelcontrol总线包含五个信号。信号描述像素的有效性和它在帧中的位置。有关更多信息,请参见像素控制总线

对于多像素流,每个像素值向量都有一组控制信号。因为向量只有1有效的信号时,向量中的像素必须全部有效或全部无效。的hStart而且音速启动信号应用于向量中下标最低的像素。的这个到而且公开发表信号应用于向量中索引最高的像素。

块对对齐的输出流使用这些控制信号。

数据类型:公共汽车

输出

全部展开

输出的时间像素流匹配输出的时间refPixel流。输出的维度和数据类型像素流与输入匹配像素流。

数据类型:不动点|使用uint|int|布尔||

输出的维度和数据类型refPixel流与输入匹配refPixel流。块不加改动地将此流传递给块。

数据类型:不动点|使用uint|int|布尔||

块传递输入refCtrl信号通过块有一个小的延迟。

数据类型:公共汽车

参数

全部展开

选择一个2的幂来容纳水平线上活动像素的数量。如果指定的值不是2的幂,则块使用2的次幂。该块实现了一个2的循环缓冲区像素,最大行数+日志2行缓冲区大小).

该块实现了一个2的循环缓冲区像素,最大行数+日志2行缓冲区大小的行地址缓冲区最大行数的位置。循环存储器存储较早的输入行,直到参考控制信号到达。行地址缓冲区存储每行开始的地址。当参考控制信号到达时,块使用存储地址读取和发送延迟线。该参数必须容纳两个输入流之间的时间差异,包括块读取第一行之前的内部延迟。在模拟过程中,块会在发生溢出时发出警告。若要避免溢出情况,请增加最大行数.流之间的延迟不能超过整个帧。

当输入像素是向量或矩阵,则块为每个元素复制循环缓冲区。对于多像素流,块调整行缓冲区大小为存储1/像素数像素。例如,对于一个4乘3的输入流,每个缓冲区存储一行像素的¼,缓冲区为12×2m - 2的位置。行地址缓冲区保持相同大小。

算法

块存储来自像素输入端口到一个循环缓冲区,然后读出来的行与参考控制信号对齐。该块还存储每行开始的地址。为了匹配缓冲区数据路径的附加处理延迟,块将参考像素数据和控制信号延迟大约10个周期。

该图显示了该块的结构。RAM循环缓冲区是一个2的内存像素,最大行数+日志2行缓冲区大小).行地址缓冲区有最大行数的位置。如果ctrl。Hstart断言在第一个之前refCtrl。Hstart如果断言大于行地址缓冲区的大小,则块将覆盖两个缓冲区并破坏输出。在这个图中,最大行数为4,因此存在四个位置用于在缓冲区中存储行地址。帧开始缓冲区是一个单独的存储位置ctrl。音速启动.两个流之间的延迟必须小于帧开始之间的时间。

当输入像素是一个向量或矩阵,块为每个元素复制RAM循环缓冲区。该图显示了三个RAM循环缓冲区,以表示一个三分量像素流。每个RAM循环缓冲区为2内存位置。对于多像素流,块调整行缓冲区大小为存储1/像素数像素。例如,对于一个4 × 3的输入流,每个缓冲区存储一行像素的¼,并且有12个RAM循环缓冲区,每个2m - 2的位置。行地址缓冲区保持相同大小。

扩展功能

版本历史

在R2017a中引入

全部展开