主要内容

行缓冲

存储视频线并返回邻域像素

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

  • 行缓冲块

描述

行缓冲从流式图像数据中选择邻域像素。它处理视频控制信号和边缘填充,并为高速视频设计流水线。block每次输出一个邻域的列。要撰写进一步处理的社区,请使用shiftEnable在移位寄存器中存储输出列(包括填充)的信号。当您的设计在相同的邻域上执行多个操作时,此块允许您共享行缓冲区资源。

下面的波形显示行缓冲块返回构成5×5附近的5×1像素列。所示的时间帧处于输入帧的开头(左上角)。该输出在块存储二(地板(M / 2))行,并接收第三行的开始。的shiftEnable信号被断言比输出早两个周期ctrl有效的信号,表示前两个(地板(M / 2))列是专门填充像素。相似地,shiftEnable在终点会多保持两个周期的亢奋。

港口

该块使用流像素接口和帧控制信号的总线。这个界面使块能够独立地操作图像的大小和格式。的像素此块上的端口支持单像素流或多轴流。万博1manbetx单个像素流传输接受并返回每个时钟周期的单个像素值。多功能流式流接受并返回每个时钟周期的4或8个像素,以支持高帧速率或高分辨率格式。万博1manbetx与像素一起,块接受并返回一个pixelcontrol包含五个控制信号的总线。控制信号表示每个像素的有效性及其在帧中的位置。对于多轴流流,一组控制信号适用于向量中的所有四个或八个像素。要将帧(像素矩阵)转换为串行像素流和控制信号,请使用帧像素堵塞。有关界面的完整描述,请参阅流媒体像素接口

输入

展开全部

该块支持单个像素流或多万博1manbetx像素流。对于单个像素流,将单个输入像素指定为标量强度值。对于多轴流,指定四个或八个像素强度值的向量。有关如何为多功能流式传输设置模型的详细信息,请参阅过滤多吡嗪视频流

此块不支持多组件流。万博1manbetx要处理多组件流,请为每个组件复制块。的pixelcontrol所有组件的总线都是相同的,因此可以将单个总线连接到多个复制块。

双倍的支持数据类型进行仿真,但不支持万博1manbetxHDL代码生成。

数据类型:uint8|uint16|uint32|int8|int16|INT32.|不动点|布尔基|双倍的|

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

对于多像素流,像素值的每个向量都有一组控制信号。因为向量只有一个有效的信号时,向量中的像素必须是全部有效或全部无效。的HSTART.音速启动信号适用于具有矢量中最低索引的像素。的h公开发表信号应用于向量中索引最高的像素。

数据类型:公共汽车

输出

展开全部

邻域像素值列,以1-的形式返回矢量,在那里是垂直的邻居维度。使用多轴流时,块返回aNumberOfPixels-经过-矩阵,NumberOfPixels是输入的大小吗像素向量。输出像素数据类型与输入像素数据类型相同。

要撰写进一步处理的社区,请使用shiftEnable在移位寄存器中存储每个内核区域的输出列(包括填充)的信号。对于多像素流,使用移位寄存器来构造NumberOfPixels地区,每个地区N-经过-像素,然后执行内核操作NumberOfPixels时代并行。

请注意

小矩阵支持HDL代码生成,但矩阵操作会影响硬件万博1manbetx性能和资源使用情况。因此,最大限度地减少您的设计对其进行操作N-经过-社区直接。您可以:

  • 将过滤器分成垂直和水平组件。

  • 将邻近像素连接为(N*) 1的向量。

  • 用一个对于每一个人子系统对每个像素行进行存储和操作。

这些设计建议提供了在每个加法器或乘法器周围添加流水线的机会,以提高合成时钟速度,并适合FPGA上的DSP块的设计。

数据类型:int8|int16|INT32.|uint8|uint16|uint32|布尔基|双倍的|

与输出列一起返回的控制信号pixelcontrol总线包含五个信号。信号描述列的中心像素的有效性,以及帧内该像素的位置。看像素控制总线

仅包含填充像素的列不会断言ctrl有效的。的shiftEnable对填充列和活动列都断言信号。

请注意

对于帧的大部分,该块返回与列的底部像素一起到达的输入控制信号。然而,对于决赛楼(/ 2)每帧的线,列的底部像素是填充像素,因此块产生输出控制信号。块生成连续断言ctrl有效的每行中有效像素的信号。

对于多轴流,对于像素值的每个矢量存在一组控制信号。因为只有一个有效的对于向量信号,向量中的像素要么全部有效,要么全部无效。的HSTART.音速启动信号适用于具有矢量中最低索引的像素。的h公开发表信号应用于向量中索引最高的像素。

数据类型:公共汽车

邻域列的有效信号,作为a返回布尔基标量。使用此信号控制移位寄存器,该寄存器从输出列组成一个邻域。这个信号是真正的(1)对于任何邻域列,表示该列包含有效的图像像素或该列被添加为边缘填充。

数据类型:布尔基

参数

展开全部

要形成的输出邻域的大小,指定为整数维的2元行向量[垂直水平]。块返回列向量垂直元素。的水平尺寸用于确定填充。

选择其中一种方法填充输入图像的边界。有关这些方法的更多信息,请参见边缘填充

  • 常数-将图像帧外的像素解释为具有恒定值。

  • 复制-重复图像边缘像素的值。

  • 对称的-设置填充像素的值镜像图像的边缘。

  • 没有任何-排除填充逻辑。该块不会将图像帧外的像素设置为任何特定值。此选项减少了块使用的硬件资源和帧之间所需的空白,但影响帧边缘输出像素的准确性。为了保持像素流计时,输出帧的大小与输入帧相同。然而,为了避免使用从未定义填充值计算的像素,掩码关闭KernelSize/2像素围绕帧的边缘,用于下游操作。有关详细信息,请参见通过填充增加吞吐量

指定一个整数以键入输入图像的边界。块将此值投射到与输入像素相同的数据类型。

依赖关系

要启用此参数,请设置填充方法参数常数

指定2的幂,用于容纳单个水平线中活动像素的数量。

如果指定一个不是两个功率的值,则该块使用两个最大功率的两个。

尖端

  • 当你在启用子系统(万博1manbetx模型),使能信号模式必须维持像素流的定时,包括最小的消隐间隔。如果使能模式损坏像素流的定时,则可能会看到部分输出帧,损坏的像素流控制信号,或者在Simulink之间不匹配万博1manbetx®和HDL仿真结果。您可能需要扩展消隐间隔以在启用较低时适应周期。有关更多信息,请参见配置消隐间隔

算法

展开全部

块商店- 1行有效的像素,作为指定的邻域大小。它在帧的边缘添加填充位。一旦块可以形成一个完整的邻列(出现在输入行的开始),它就返回第一个输出列楼(/ 2)

扩展功能

另请参阅

对象

介绍了R2017b