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 个窗口。