Operator Library: Synchronization
運算子InsertImage 將 n 條輸入鏈路 I[0] .. I[n-1] 多工至輸出鏈路 O。 因此,該運算子會將所有輸入的輸入影像依序輸出至 O。
操作員會將輸入影像依序轉送至輸出端。 首先處理輸入連結 I[0],接著處理連結 I[1]。處理完連結 I[n-1] 後,操作員會再次從 I[0] 開始處理下一張影像, 如此循環往復。 該運算子會等待,直到當前選定的輸入中出現一張影像為止。 因此無法跳過任何輸入。 並不採用「先到先處理」的策略。
如前所述,該運算子僅會在特定時間轉發特定的輸入。 當其中一個輸入正在處理時,所有其他輸入都會被阻塞。 若被阻塞的輸入端存在影像,請確保該影像能被暫存,直至處理完成為止。 此外,使用者必須確保多個輸入不會來自同一個影像來源,否則將導致死鎖。 請參閱「基礎與範例」中的「多工處理兩台攝影機的影像」,以獲取有關正確插入的更多資訊。
對於每個輸入 I[k],該運算子會提供一個控制輸入Ins[k]。 這些輸入用於控制影像的資料是應被採用並傳送至輸出端,還是應被捨棄。 Ins[k]輸入接受二進位資料。 若對應影像的第一个像素提供「1」,則該影像將被轉發至輸出端。 反之,若對應影像的第一个像素提供「0」,則該影像雖會被處理,但最終將被捨棄。
I[k] 與Ins[k]這對是同步的,也就是說,它們必須由同一個 M 型運算子透過任意的 O 型運算子網路作為其來源。 更多資訊請參閱「具有多個輸入的 M 型運算子」。 因此,這對運算子不需要 SYNC 運算子。
該運算子的輸出幀率比輸入幀率高出 n 倍。 然而,輸出的並行度並未增加。 因此,儘管可能需要傳輸更多資料,但輸出頻寬仍等於輸入頻寬。 在運算子處理資料之前,可能需要提高輸入端的並行度。
I[k] 中的所有影像可能具有不同的高度和寬度。 對於空的輸入影像,其控制輸入Ins[k]將被忽略。 這些影像不會被轉發至輸出端,也就是說將會被丟棄。
| Property | Value |
|---|---|
| Operator Type | M |
| Input Links | I[0],資料輸入 I[k],資料輸入 Ins[k],控制輸入 |
| Output Link | O,資料輸出 |
|
無號輸入的 Bit Width 範圍為 [1, 64]。 有號輸入的範圍為 [2, 64]。 無號彩色輸入的範圍為 [3, 63],有號彩色輸入的範圍為 [6, 63]。 |
|
|
輸出影像的最大寬度即為所有 I[k] 輸入影像寬度的最大值。 |
|
|
輸出影像的最大高度即為所有 I[k] 輸入影像高度中的最大值。 |
Synchronous and Asynchronous Inputs
- Synchronous Groups:I[k] 和 Ins[k]
- 所有群組彼此之間皆為非同步 (asynchronous)。
以下範例展示了運算子 `InsertImage ` 的用法:
-
範例 — 運用此運算子將兩台攝影機的影像進行多工處理。
-
利用三個影像緩衝區和一個 DMA 運算子,依序輸出色彩平面。
-
範例 - 顯示如何分割與合併影像串流。將附加資料附加到影像尾端。
-
Functional Examples for Multi Tap Camera Interface with Tap Geometry Sorting
範例 - operator 使用方式示範
-
範例 - 滾動平均值 - 迴圈
-
「使用迴圈的景深自焦距」(Depth From Focus Using Loops)
範例 - 使用迴圈的景深自焦距 (Depth From Focus using Loops)




上一頁

