Operator ImageBufferSC

Library: Memory 運算子

此運算子具備抽樣分選(即感測器校正)功能, 這在使用線掃描相機時通常是必要的。 此外,還支援興趣區域(ROI)。 總位元數(位元寬度乘以並行度)不得超過對應幀擷取卡的記憶體限制。

此運算子會將輸入的影像串流緩衝至 幀擷取卡 RAM(DRAM)中進行緩衝。 需具備一個類型為RAM的VisualApplets 資源(請參閱「裝置資源的分配」)。

「觸點分類」功能可透明地支援那些讀取方案未遵循順序式光柵掃描 格式的感測器。 此功能支援雙觸點基礎型相機(當並行度設定為 4 時)以及四觸點中型 相機最常見的讀取方案。

至於其他並行處理方式,該運算子可與其他運算子搭配使用。

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

此運算子運作方式類似 FIFO。 任何輸入資料都會立即轉發至輸出端。 然而,若輸出端因後續運算子無法處理該輸入頻寬等原因而受阻,該運算子 便會儲存資料。 因此,只有當運算子無法輸出資料時,記憶體才會被填滿。 通常,此運算子會被用來補償輸入頻寬的峰值。

在內部運作上,image buffer 是以影像行 (image lines) 為單位進行處理。 這項內部行緩衝區功能可實現極短的記憶體延遲。 當然,如果緩衝區中填入更多行,延遲也會隨之增加。 例如,傳輸至記憶體中的影像將會立即轉發至輸出端。 在應用中,當相機仍在傳輸剩餘的影像行時,部分相機影像即可先轉發至 PC。

可透過參數XOffset、XLength、 YOffset及YLength來定義 ROI 的大小。 若輸入影像的寬度小於XOffset與 XLength 的總和,該運算子仍會讀取參數化的XLength 值。 在此情況下,該運算子將對超出範圍的像素輸出未定義的記憶體內容。 若輸入影像的高度小於要求的輸出影像高度,該運算子僅會輸出可用的行數。

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

為了測量緩衝區的 Fill 程度,運算子提供了 2 個參數: FillLevel 和 Overflow。FillLevel 以 25% 為單位顯示 RAM 的百分比 Fill 程度。 當 FillLevel 接近或達到 100% 且下一個要儲存至緩衝區的影像 將超過 RAM 容量時,Overflow 參數會設為 1。 若發生溢位,將會捨棄輸入資料並縮減輸入影像高度。 因此,不完整的影像會被儲存在記憶體中。 使用者必須輪詢 overflow 參數。 由於溢位狀態的持續時間可能非常短,因此它可能會落在運算子的輪詢週期之間。

參數 InfiniteSource 用於指定運算子是否直接連接至相機,或是與其他記憶體運算子串連。 請檢查 「無窮來源 / 連接相機」 以取得詳細資訊。

Operator Restrictions

  • 不支援空影格。

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

    輸入線寬必須能被抽頭數乘以並聯係數所得到的數值整除。

頻寬最佳化

流經使用 Frame Grabber RAM (DRAM) 之 operator 的理論頻寬 [bits/second] 是根據下列公式計算:

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

當 Bit Width 與 Parallelism 的乘積等於內部 RAM Port Width 時, 即可達到流經該 operator 的 最大頻寬。

[注意] 平台特定值

RAM Port Width 與 System Clock 因平台而異。如需關於您個人平台的詳細資訊,請參閱 Device Resources。

I/O Properties

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

Supported Link Format

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

位元寬度與並行度的乘積不得超過原生 RAM 的資料寬度。 檢查 裝置資源 以獲取更多資訊。

Parameters

XOffset
Type 動態/靜態讀寫參數
Default 0
Range [0, 最大影像寬度 - XLength]

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

步階大小即為 Parallelism。

XLength
Type 動態/靜態讀寫參數
Default 1024
Range [2*Parallelism, Max.Img Width - XOffset]

此參數定義 ROI 的寬度。

步階大小即為 Parallelism。

YOffset
Type 動態/靜態讀寫參數
Default 0
Range [0, Max.Img Height - YLength]

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

YLength
Type 動態/靜態讀寫參數
Default 1024
Range [1, Max.Img Height - YOffset]

此參數定義 ROI 的高度。

感測器校正
Type 動態讀取/寫入參數
Default SMODE_UNCHANGED
Range

可選選項包括

此參數指定已連接相機的感測器讀取方案。 SMODE_UNCHANGED 和 SMODE_REVERSE 支援單點、雙點及四點觸控相機。 SMODE_TAPS2_x 支援雙點觸控(基礎型)相機。 SMODE_TAP4_x 支援四點觸控(中階)相機。

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

此參數以 25% 為單位提供 DRAM 的 Fill 級別。

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

此參數表示發生緩衝區溢位。

InfiniteSource
Type 靜態參數
Default ENABLED
Range {ENABLED, DISABLED}

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

Examples of Use

以下範例展示了 ImageBufferSC 運算子的使用方式: