Operator PixelReplicator

运算符 Library: Synchronization

M 型算子 PixelReplicator 用于复制输入链接 I 处的像素。输入 Replicate 处的值可设置输入链接 I 处每个像素的复制次数。输入链接 Replicate 处的值为“0”意味着将删除输入链接 I 处的像素。两个输入链接处的像素数量必须相同。允许使用可变行长、空图像和异步输入。输入端的 Parallelism 为 1。输出端的 Parallelism 可以是任意值。

以下示例将解释此算子的功能。

在此,输出端的 Parallelism 为 4,输入端(一如既往)为 1。如上图所示,由于 Replicate 处的输入为“2”,输入链接 I 处的像素“1”被复制。输入链接 I 处的像素“2”也发生了同样的情况。由于 Parallelism 为 4,复制的像素“1”和“2”会立即转发到输出链接 O。由于输入 Replicate 处为“0”,输入链接处的像素“3”被删除。像素“4”将被复制 9 次。由于 Parallelism 小于复制率,输入管线将被保持,直到所有值都复制完毕。未使用的输出像素在输出链接 O 处未定义(在上图中用“x”标记)。

[警告] 警告

输入链接 I 和 Replicate 处的图像尺寸必须相同。否则仿真将报错。如果在硬件中运行小程序期间违反此规范使用了该算子,则算子行为将未定义。请确保两个输入传输的像素数量完全相同。如果无法做到这一点,请在之前使用一个 SYNC 算子。

I/O Property

Property 值
Operator Type M
输入链路 I,必须复制的数据
Replicate,设置复制率
Output Link O,数据输出

Supported Link Format

Link Parameter Input Link I Input Link Replicate Output Link O
Bit Width [1, 64] [1, 31]1 as I
Arithmetic {unsigned, signed} unsigned as I
Parallelism 1 1 any
Kernel Columns any 1 as I
Kernel Rows any 1 as I
Img Protocol 2D, 1D, 0D as I as I
Color Format any VAF_GRAY as I
Color Flavor any FL_NONE as I
Max. Img Width any2 as I I*((2^W3)-1) 4
Max. Img Height any as I as I

1 2

with Replicate.BitWidth + log2(I.MaxImageWidth) <= 31.

3

输入 Replicate 处的 Bit Width

4

向上取整到 Parallelism 的下一个倍数。

同步和异步输入

  • 两个输入可以彼此异步。

参数

无

使用示例

以下示例展示了 PixelReplicator 算子的使用方法: