Operator Library: Memory
| 硬件平台的可用性 |
|---|
| 请注意,此 operator 仅适用于 microEnable 4 系列(包含 Pixelplant)的目标平台。 |
该算子计算其颜色分量的 Spatial Correction。此外,它还包含一个感兴趣区 (ROI) 功能。总位数(bit width x parallelism)不得超过相应图像采集卡的内存限制。
此操作符将图像流缓冲到帧采集器 RAM(DRAM)中。 VisualApplets 需要RAM类型的资源(参见“设备资源的分配” )。
有关 operator 延迟的信息,请参见 Table 46, 'Individual Latencies of the Operators in Library Memory'。
该算子的核心功能是校正三线线阵彩色相机的空间偏移。 可以分别使用参数 DeltaRed、DeltaGreen 和 DeltaBlue 为红色、绿色和蓝色这三个颜色分量定义相对偏移。 偏移量是指输入图像与生成的输出图像之间的行延迟。 偏移量为 0 时,输入图像保持不变。 例如,如果 DeltaRed = 0、DeltaGreen = 1 且 DeltaBlue = 2,则输出图像的第一行包含以下 分量: 从第一行输入图像中读取红色分量,从第二行输入图像中读取绿色分量,并从 第三行输入图像中读取蓝色分量。 若要将读出方向从正向切换为反向,只需更改参数:DeltaRed = 2、DeltaGreen = 1 且 DeltaBlue = 0。 Delta 偏移量可以是负数、0 或正数。
缓冲区在内部将 delta 值转换为相对 delta。 该转换采用以下公式:

其中 delta 是 DeltaRed、DeltaGreen 或 DeltaBlue。 此转换在内部执行。 算子的 delta 参数保持不变并显示指定的值。 转换为相对 delta 会导致一个 delta 偏移量变为 0,另外两个变为 0 或负数, 例如,配置 [DeltaRed = 1, DeltaGreen = 2, DeltaBlue = 1] 等效于 [DeltaRed = -1, DeltaGreen = 0, DeltaBlue = -1]。 配置 [DeltaRed = -3, DeltaGreen = -3, DeltaBlue = -3] 和 [DeltaRed = 1, DeltaGreen = 1, DeltaBlue = 1] 两者都等效于 [DeltaRed = 0, DeltaGreen = 0, DeltaBlue = 0]。 诸如 [DeltaRed = 1, DeltaGreen = 1, DeltaBlue = 1] 的配置表示使用 [DeltaRed = 0, DeltaGreen = 0, DeltaBlue = 0] 配置执行 Spatial Correction 并切掉第一行。 由于算子仅支持相对 delta 偏移,因此切掉第一行的操作不会由算子执行。 不过,使用 CoordinateY 和 RemoveLine 等 VA 算子在算子外部实现剪切相对比较容易。
对于每个读出的行,算子提供一个与输出链路 O 同步的行 ID 标记。 行 ID 是一个全局标记,可用于检测何时因缓冲区溢出而丢失行。 当发生溢出时,缓冲区将丢弃输入行,直到解除溢出条件,即 RAM 具有足够的 存储空间来容纳至少 1 个 RoI 行。 连续 2 行之间的差值减 1 即为缓冲区溢出导致的丢失行数。
算子将持续校正空间偏移——这是许多线阵应用典型需求。 但是,当采集开始时,缓冲区需要至少一定数量的行才能输出校正后的行。 当未达到此阈值时,不输出任何行。 缓冲区仅输出已经过校正的行。 不会输出校正第 1 个图像行所需的启动行。 阈值取决于指定的 delta 偏移量,例如 DeltaRed = 0、DeltaGreen = 1、DeltaBlue = -3 需要 5 行来执行校正。 因此阈值为 5。 第 5 行之后,缓冲区开始输出行。 换句话说,缓冲区只要能够校正行,就会立即开始输出它们。
在帧校正应用(VALT_IMAGE2D 输入)中,将对每一帧单独执行 Spatial Correction, 即针对每一帧重新开始 Spatial Correction。
缓冲区输出的第一行始终拥有行 ID 0。 在 2D 应用模式下,第 1 个帧行的行 ID 与上一帧的最后一行之间将显示一个间隙。 间隙大小等于为该第 1 个输出行执行校正所需的行数。 无法校正的行会被缓冲区抑制。
使用参数 XOffset 和 XLength 可以定义 ROI 大小。 如果 XLength 不能被 link parallelism 整除,算子将插入虚拟像素来 Fill 最后一个并行字, 例如 link parallelism 为 2,XOffset 为 0 且 XLength 为 7,算子将输出 4 个并行字,每个字 包含 2 个像素。 最后一个字将包含一个虚拟像素。 该虚拟像素的值未定义。 在 VA 模拟中,虚拟像素将设为零以便于观察。 XOffset 和 XLength 参数的总和不得超过最大链路图像宽度。 如果输入图像宽度小于 x 偏移量和 x 长度的总和,算子仍将读取参数化的 x 长度。 在这种情况下,算子将向超出的像素输出未定义的 Memory 内容。
为了测量缓冲区的 Fill 级别,该算子提供了 2 个参数: FillLevel 和 Overflow。FillLevel 以 25% 为步长显示 RAM 的百分比 Fill 级别。 当 FillLevel 接近或达到 100% 且下一个要存储在缓冲区中的图像将超过 RAM 容量时,Overflow 参数设置为 1。 如果发生溢出,输入数据将被丢弃,并且输入图像高度会减小。 因此,不完整的图像将存储在 Memory 中。 用户必须轮询溢出参数。 由于溢出状态的持续时间可能非常短,它可能会出现在算子轮询周期的间隔之间。
参数 InfiniteSource 用于指定算子是直接连接到相机还是与其它 Memory 算子串联。 请检查 'Infinite Sources / Connecting Cameras' 了解更多信息。
算子限制
-
不支持空帧。
不支持具有不同行长的图像。
流经使用 采集卡 RAM (DRAM) 的算子的理论带宽 [bits/second] 根据以下公式计算:

然而,由于 DRAM 效率的限制,实际带宽总是小于理论带宽。
当 Bit Width 和 Parallelism 的乘积等于内部 RAM Port Width 时,通过算子的 maximum bandwidth 将达到最大值。
![]() |
平台特定值 |
|---|---|
|
RAM Port Width 和 System Clock 是平台相关的。 请参阅 Device Resources 以获取有关您各个平台的详细信息。 |
| Property | 值 |
|---|---|
| Operator Type | M |
| Input Link | I, image data input |
| Output Links | O,数据输入 LinkID,数据输入 |
|
Bit Width 与 Parallelism 的乘积不得超过本机 RAM 数据宽度。 请查看 Device Resources 了解更多信息。 |
| XOffset | |
|---|---|
| 键入 | 动态/静态读/写参数 |
| 默认 | 0 |
| 范围 | [0, Max.Img Width - XLength] |
|
该参数定义 ROI 左上角的 x 坐标。 |
|
| XLength | |
|---|---|
| 键入 | 动态/静态读/写参数 |
| 默认 | 1024 |
| 范围 | [1, Max.Img Width - XOffset] |
|
该参数定义了 ROI 的宽度。 |
|
| DeltaRed | |
|---|---|
| 键入 | 动态/静态读/写参数 |
| 默认 | 0 |
| 范围 | any |
|
此参数定义红色分量的偏移。 Delta 可以是正整数或负整数值。 |
|
| DeltaGreen | |
|---|---|
| 键入 | 动态/静态读/写参数 |
| 默认 | 0 |
| 范围 | any |
|
此参数定义绿色分量的偏移。 Delta 可以是正整数或负整数值。 |
|
| DeltaBlue | |
|---|---|
| 键入 | 动态/静态读/写参数 |
| 默认 | 0 |
| 范围 | any |
|
此参数定义蓝色分量的偏移。 Delta 可以是正整数或负整数值。 |
|
| FillLevel | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 0 |
| 范围 | [0%, 100%] |
|
该参数以 25% 的步长提供 DRAM 的 Fill 级别。 |
|
| Overflow | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 0 |
| 范围 | [0, 1] |
|
此参数表示发生缓冲区溢出。 |
|
| InfiniteSource | |
|---|---|
| 键入 | static 参数 |
| 默认 | ENABLED |
| 范围 | {ENABLED, DISABLED} |
|
此参数激活对无限源 operators(如相机 operators)的支持。 请参阅 'Infinite Sources / Connecting Cameras' 了解更多信息。 |
|

![[注意]](../common/images/admon/note.png)


上一页

