針對不可停止的影像來源進行設計

當圖像資料的輸入流無法中斷時(例如資料來自相機感測器時,通常會發生這種情況), 必須特別謹慎,以避免輸入 緩衝區發生溢出。請考慮以下影響:

  • M 型運算子可能會降低處理速度(例如, PARALLELdn)。

  • 使用SYNC同步不同的資料流可能會導致 等待週期。

  • 某些基於核運算子的運算子(例如FIRkernelNxM)在行結束後,需要額外的 時鐘週期才能接受新資料,而在幀結束後 所需的時間則更長。

一般來說,在輸入資料路徑中加入類似 以下所示的電路,以監測設計是否能處理該輸入資料速率,是個好主意:

用於監控輸入資料傳輸速率的電路

圖 204. 輸入資料傳輸速率監控電路


階層式方塊控制項的設計如下:

階層式方塊控制項

圖 205. 控制層級方塊


此電路用以測量輸入端與輸出端之間 FIFOStartFifo 所緩衝的資料字元數量。FIFOStartFifo已配置為 接收不可中斷的資料流(參數InfiniteSource= ENABLED)。 定義緩衝區大小十分有用,如此一來即可將一行或數行資料儲存於該 FIFO 中。

請在運算期間或運算結束後,檢查MaxPixelInFifo運算子的「讀取」參數。 若後續的影像處理管線能夠處理該輸入資料速率, 則該數值應較低,這表示 FIFO 僅需緩衝少數資料字。

若您發現您的設計無法配合輸入資料傳輸速率運作,您可以選擇以下 方案:

  • 提高設計的吞吐量,特別是透過增加並行度來達成。

  • 減少需要處理的資料量,例如,您可以 透過從感測器中刪除部分資料,來處理較小的影像尺寸。

  • 使用基於 RAM 的影像緩衝區運算子,以將輸入資料速率與 處理速率解耦。