運算子 InsertLine

Operator Library: Synchronization

InsertLine 運算子將 N 個輸入連結 I[0] .. I[n-1] 的行多工處理至輸出連結 O。 因此,運算子會以循序順序在 O 輸出所有輸入的輸入影像行。

此運算子會將輸入影像行依序轉發至輸出。 每當有新影格時,運算子皆會從輸入 I[0] 開始。 首先,會處理輸入 I[0] 的第一行並轉發至輸出。接著,會處理輸入 I[1] 的第一行。 處理完 I[n-1] 的第一行後,運算子會繼續處理 I[0] 的第二行,依此類推。 運算子會等待目前所選輸入中所需的行出現。 因此,無法跳過輸入。 這裡沒有採用「先到先處理」的策略。

如前所述,運算子在特定時間只會轉發特定的輸入。 在處理某個輸入的同時,所有其他輸入都會被封鎖。 如果影像行出現在被封鎖的輸入中,請確保該行能夠被緩衝,直到進行處理為止。 此外,使用者必須確保多個輸入並非由同一個影像來源提供,因為這會導致死結。 請參閱「基礎與範例」中的 「多工處理兩個相機的影像」 以取得有關正確插入的更多資訊。此範例與 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

Property Value
Operator Type M
輸入連結 I[0],資料輸入
I[k],資料輸入
Ins[k],控制輸入
Output Link O, data output

支援的 Link 格式

Link Parameter 輸入連結 I[0] 輸入連結 I[k] 輸入連結 Ins[k] Output Link O
Bit Width [1,64]1 同 I[0] 1 同 I[0]
Arithmetic {unsigned, signed} 同 I[0] unsigned 同 I[0]
Parallelism any 同 I[0] 同 I[0] 同 I[0]
Kernel Columns any 同 I[0] 1 同 I[0]
Kernel Rows any 同 I[0] 1 同 I[0]
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} 同 I[0] 同 I[0] 同 I[0]
Color Format any 同 I[0] VAF_GRAY 同 I[0]
Color Flavor any 同 I[0] FL_NONE 同 I[0]
Max. Img Width any any 同 I[k] 自動2
Max. Img Height any 同 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]
  • 所有群組彼此非同步。

參數

無

使用範例

以下範例顯示了 InsertLine 運算子的使用方式: