13 / 24 · 概念
行緩衝器與 3×3 視窗
W=8、H=6 時,計算儲存槽數、第一個有效的已接受輸入索引,以及總視窗數。
單元可免費閱讀,註冊課程即可儲存學習進度。
將重疊資料保留在附近
列優先 3×3 操作,需要當前像素與前兩列同欄的值。兩個行延遲提供那些列。水平移位暫存器各保留每列的三個樣本,形成視窗。這避免儲存完整影格,但最早的樣本還無法形成完整視窗。已儲存資料與有效輸出是不同條件。
先從單通道、無填補的有效 3×3、步幅一與膨脹一開始。兩個寬度 W 的列陣列,加上明確的 3×3 視窗,共有 2W+9 個樣本槽。這是教學模型的儲存量,不是通用最小值。填補、膨脹、不同步幅或多通道都需要新的延遲與有效性分析。
到達順序範例
串流輸入包含一到十六的 4×4 影格。從零起算的已接受輸入索引十,在列二、欄二攜帶值十一。第一個完整視窗為 [1,2,3;5,6,7;9,10,11]。值十二得到 [2,3,4;6,7,8;10,11,12]。值十三與十四開始新列,水平歷史尚不足。值十五與十六產生最後兩個視窗。
因此十六個被接受輸入產生四個視窗,索引為 [10,11,14,15]。即使每週期一個像素,初始化與列邊界仍產生間隙。應區分全影格速率 4/16 與有效連續區段內的瞬時輸出速率。
欄零時,重設或使水平歷史無效。否則新列的前幾個樣本可能與前列最後幾欄混合。我們的模型清除水平視窗,直到欄二才允許輸出。它保留行延遲。列與欄計數器依被接受像素前進,而非經過的時脈。
寬度四時,儲存量為十七個樣本。不同於 4H 的全影格緩衝器,它不隨影格高度增加。然而 MAC 消費端仍須有時間處理每個完整視窗,尤其是跨多個輸出通道時。下一課加入傳輸控制。透過支援的圖示,追蹤輸入、行延遲、視窗與消費端。
- 輸入像素: 只在傳輸被接受時前進
- 兩個行延遲: 取回前兩列的數值
- 3x3 視窗: 列 2 與欄 2 之後有效
- MAC 消費端: 處理或儲存完整視窗
自己試試看
W=8、H=6 時,計算儲存槽數、第一個有效的已接受輸入索引,以及總視窗數。
查看解說
儲存量為 25 槽。第一個有效位置是列二、欄二,索引 2×8+2=18。輸出為 4×6,共 24 個視窗。