Operator ImageBufferSC

Operator Library: Memory

此 Operator 具備抽頭排序(tap sorting,即感測器校正)功能,使用線陣相機時通常需要此功能。 此外,亦包含對興趣區域(ROI)的支援。 位元總數(Bit Width 乘以 Parallelism)不得超過相應 Frame Grabber 的 Memory 限制。

此 Operator 會將影像串流緩衝至 Frame Grabber RAM (DRAM) 中。 需要一個類型為 RAM 的 VisualApplets 資源(請參閱 'Allocation of Device Resources')。

抽頭排序功能可為讀取方案不遵循循序漸進光柵掃描格式的感測器提供透明支援。 支援雙抽頭基礎相機(使用 4 的 Parallelism 時)以及四抽頭中階相機最常見的讀取方案。

若為其他 Parallelism,此 Operator 可與其他 Operator 結合使用。

有關 operator 延遲的資訊,請參閱 表 46「Library Memory 中各 operator 的個別延遲」。

此 Operator 的運作方式類似 FIFO。 任何輸入資料都會立即轉發至輸出。 然而,如果輸出遭到阻塞(例如因為後續 Operator 無法處理輸入頻寬),此 Operator 將會儲存資料。 因此,只有在 Operator 無法輸出資料時,Memory 才會被 Fill。 此 Operator 通常用於補償尖峰輸入頻寬。

在內部,影像緩衝區是以影像行為單位進行運作。 此內部行緩衝區功能可帶來非常短的 Memory 延遲。 當然,如果緩衝區填入更多行,延遲就會增加。 例如,傳輸至 Memory 中的影像將立即轉發至輸出。 在應用中,當相機仍在傳輸剩餘的影像行時,部分相機影像即可轉發至 PC。

使用參數 XOffset、XLength、 YOffset 與 YLength 可以定義 ROI 大小。 如果輸入影像寬度小於 XOffset 和 XLength 的總和,Operator 仍會讀取參數化的 XLength。 在此情況下,Operator 會將未定義的 Memory 內容輸出至超出範圍的像素。 如果輸入影像高度小於要求的輸出影像高度,Operator 將僅輸出可用的行。

在 Line1D 應用模式下,YOffset 與 YLength 設定不會影響緩衝區。

為了測量緩衝區的 Fill 水平,Operator 提供了 2 個參數: FillLevel 與 Overflow。FillLevel 以 25% 為級距顯示 RAM 的百分比填充水準。 當 FillLevel 接近或達到 100% 且下一個要儲存至緩衝區的影像將超出 RAM 容量時,Overflow 參數會設為 1。 若發生溢位(Overflow),輸入資料將被捨棄,且輸入影像高度會縮減。 因此,不完整的影像會被儲存至 Memory 中。 使用者必須輪詢(poll)溢位參數。 由於溢位狀態持續的時間可能非常短,它很有可能會落在 Operator 的輪詢週期之間。

參數 InfiniteSource 用於指定 Operator 是直接連接至相機,還是與其他 Memory Operator 進行串接。 請參閱 'Infinite Sources / Connecting Cameras' 以取得更多資訊。

算子限制

  • 不支援空白畫面。

    不支援具有不同行長度的影像。

    輸入行寬必須能被抽頭數量乘以 Parallelism 的積整除。

頻寬最佳化

通過使用 Frame Grabber RAM (DRAM) 之運算子的理論頻寬 [位元/秒],是根據下列公式計算:

然而,由於 DRAM 效率的關係,實際頻寬總是小於理論頻寬。

當 Bit Width 和 Parallelism 的乘積等於內部 RAM Port Width 時,即達到通過運算子的 maximum bandwidth。

[備註] 平台特定值

RAM Port Width 和 System Clock 是平台特定的。有關您個別平台的詳細資訊,請參閱 Device Resources。

I/O Properties

Property Value
Operator Type M
Input Link I,影像資料輸入
Output Link O,資料輸入

支援的 Link 格式

Link Parameter Input Link I Output Link O
Bit Width [1, 64] 無符號,[2, 64] 有符號1 as I
Arithmetic {unsigned, signed} as I
Parallelism 42 as I
Kernel Columns 1 as I
Kernel Rows 1 as I
Img Protocol VALT_IMAGE2D as I
Color Format VAF_GRAY as I
Color Flavor FL_NONE as I
Max. Img Width 65535 as I
Max. Img Height any as I

1 2

Bit Width 與 Parallelism 的乘積不得超過原生 RAM 資料寬度。 請參閱 Device Resources 以取得更多資訊。

參數

XOffset
Type dynamic/static read/write parameter
Default 0
Range [0, Max.Img Width - XLength]

此參數定義 ROI 左上角的 x 座標。

步進大小即為 Parallelism。

XLength
Type dynamic/static read/write parameter
Default 1024
Range [2*parallelism, Max.Img Width - XOffset]

This parameter defines the width of the ROI.

步進大小即為 Parallelism。

YOffset
Type dynamic/static read/write parameter
Default 0
Range [0, Max.Img Height - YLength]

此參數定義 ROI 左上角的 y 座標。

YLength
Type dynamic/static read/write parameter
Default 1024
Range [1, Max.Img Height - YOffset]

此參數定義 ROI 的高度。

SensorCorrection
Type 動態讀取/寫入參數
Default SMODE_UNCHANGED
Range

可用選項為

此參數指定所連接相機的感測器讀出方案。 SMODE_UNCHANGED 和 SMODE_REVERSE 支援單 tap、雙 tap 和四 tap 相機。 SMODE_TAPS2_x 支援雙 tap(base)相機。 SMODE_TAP4_x 支援四 tap(medium)相機。

FillLevel
Type 動態讀取參數
Default 0
Range [0%, 100%]

此參數以 25% 為遞增幅度提供 DRAM 的 Fill 級別。

Overflow
Type 動態讀取參數
Default 0
Range [0, 1]

此參數表示緩衝區溢位。

InfiniteSource
Type static parameter
Default ENABLED
Range {ENABLED, DISABLED}

此參數啟用對無限來源運算子(如 Camera 運算子)的支援。 如需更多資訊,請參閱 'Infinite Sources / Connecting Cameras'。

使用範例

The use of operator ImageBufferSC is shown in the following examples: