Operator InsertLine

Operator Library: Synchronization

InsertLine 算子将 N 个输入链路 I[0] .. I[n-1] 的图像行复用到输出链路 O 中。 因此,该算子会按顺序在 O 处输出所有输入的图像行。

该算子将输入的图像行依次转发到输出端。 对于每一个新帧,算子都从输入 I[0] 开始。 首先,处理输入 I[0] 的第一行并将其转发到输出端。接下来,处理输入 I[1] 的第一行。 在处理完 I[n-1] 的第一行后,算子继续处理 I[0] 的第二行,依此类推。 算子会一直等待,直到当前选定的输入端出现所需的图像行。 因此,无法跳过输入端。 这里没有“先到先处理”的策略。

如前所述,算子在特定时间仅转发特定的输入。 在一个输入被处理的同时,所有其他输入均处于阻塞状态。 如果在处于阻塞状态的输入端出现图像行,请确保可以对其进行缓冲,直到其得到处理。 此外,用户必须确保多个输入不是由同一个图像源提供的,因为这会导致死锁。 有关正确插入的更多信息,请查阅“基础与示例”中的 'Multiplex the Images of Two Cameras'。该示例与 InserLine 算子类似。

对于每个输入 I[k],算子提供了一个控制输入 Ins[k]。 这些输入用于控制图像行的数据是应被使用并转发到输出端,还是应被丢弃。 Ins[k] 输入接受二进制数据。 如果在相应图像行的极首像素处提供数值 1,则该行将被转发到输出端。 而如果在相应图像行的极首像素处提供数值 0,则该行将被处理但会被丢弃。

The I[k] and Ins[k] pairs are synchronous i.e. they have to be sources by the same M-type source though an arbitrary network of O-type operators. See 'M-type Operators with Multiple Inputs' for more information. Therefore, no SYNC operator is required for these pairs (different in VA versions < VA2).

算子的输出图像大小是输入图像大小的 n 倍。 但是,输出 Parallelism 并未增加。 因此,输出带宽等于输入带宽,而可能需要传输更多的数据。 在算子处理数据之前,可能需要增加输入的 Parallelism。

I[k] 处的所有图像可以具有不同的宽度。 但是,所有图像的高度必须相等。 对于空的输入行,控制输入 Ins[k] 将被忽略。 这些行不会被转发到输出端,即会被丢弃。

I/O Properties

财产 值
操作员类型 M
输入链接 I[0],数据输入
I[k],数据输入
Ins[k],控制输入
输出链接 O,数据输出

Supported Link Format

链接参数 输入链路 I[0] 输入 Link I[k] 输入链路 Ins[k] 输出链路 O
Bit Width [1,64]1 作为 I[0] 1 作为 I[0]
Arithmetic {unsigned, signed} 作为 I[0] 未签名 作为 I[0]
Parallelism 任何 作为 I[0] 作为 I[0] 作为 I[0]
内核列 任何 作为 I[0] 1 作为 I[0]
内核行 任何 作为 I[0] 1 作为 I[0]
图像协议 {VALT_IMAGE2D, VALT_LINE1D} 作为 I[0] 作为 I[0] 作为 I[0]
Color Format 任何 作为 I[0] VAF_GRAY 作为 I[0]
颜色口味 任何 作为 I[0] FL_NONE 作为 I[0]
Max. Img Width 任何 任何 与 I[k] 相同 auto2
Max. Img Height 任何 作为 I[0] 与 I[k] 相同 N * I[0]3

1

对于无符号输入,输入 Bit Width 的范围是 [1, 64]。 对于有符号输入,范围是 [2, 64]。 对于无符号彩色输入,范围是 [3, 63],而对于有符号彩色输入,范围是 [6, 63]。

2

最大输出图像宽度是所有输入图像宽度的最大值。

3

从 VisualApplets 3.3.0 版本开始,且仅当在 Simulation Build Setttings 中选中了 Simulate 1D Line By Line 选项时:如果 Image Protocol 设置为 VALT_LINE1D,则最大输出图像高度将被强制设为 1。

同步输入和异步输入

  • 同步组:I[k] 和 Ins[k]
  • 所有组之间均为异步关系。

参数

无

Examples of Use

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