一种硬件缩放实现方式
目录
1 模块整体规格与基础缩放规则
2 双硬件流水线架构(图 83)
3 插值定点数学模型与插值核函数
4 Resizer 硬件性能约束(时钟 + 带宽双重限制)
5 工程落地执行规范总结
1 模块整体规格与基础缩放规则
1.1 缩放倍率与寄存器定义
- 缩放区间:支持横向、纵向独立配置,缩放范围1/16 倍~16 倍。
- 倍率计算公式 水平缩放系数:
垂直缩放系数:
- 寄存器参数范围:
HRSZ、VRSZ ∈ [16, 4096]- HRSZ/VRSZ=16:缩放 = 256/16=16 倍放大
- HRSZ/VRSZ=4096:缩放 = 256/4096=1/16 倍缩小
- 特性:HRSZ 与 VRSZ 完全独立,支持非等比拉伸;缩放全部基于硬件 Q8 定点运算,全程无浮点。
1.2 双路输出硬件能力
硬件支持同时输出两路缩放图像:Resize-1、Resize-2;行像素约束为严格小于上限(below),不可等于边界值:
| 工作模式 | Resize-1 单行最大像素 | Resize-2 单行最大像素 |
|---|---|---|
| Normal 常规模式 | <2176 | <1088 |
| Down-Scale 大幅缩小模式 | <1088 | <544 |
1.3 插值方案模式绑定规则(核心权限约束)
- Normal 常规模式:水平插值二选一,垂直跟随水平配置,不可独立选型
- 选型 1:4 抽头三次卷积(4-tap cubic convolution),画质优、硬件乘法开销更大
- 选型 2:3 抽头线性滤波 + 2 抽头线性插值,算力更低、画面平滑
- Down-Scale 缩小模式:硬件通路固定线性链路,强制不可使用 4-tap 三次卷积,全程只能使用线性滤波 + 线性插值。
- 缩小补充机制:大倍率下采样自带均值(Averaging)前置抗混叠,小幅度缩小建议使用 Normal 模式。
1.4 数据流收尾
缩放运算完成后,YCbCr 处理结果写入片外 SDRAM,SDRAM 存储格式见本文 3.2。
2 双硬件流水线架构(图 83)
Resizer 根据缩放场景分为两套完全隔离的硬件流水线,适配放大 / 小幅缩小、大幅缩小两类场景。
2.1 Normal Mode 常规模式(放大、小幅缩小推荐)
流水线通路
输入图像 → 水平维度插值(4-tap / 线性二选一) → 垂直维度插值(与水平选型一致) → 输出
参数规则
横纵缩放表达式:;水平 n=HRSZ,垂直 n=VRSZ。 本模式无前置均值降采样,所有缩放效果完全依靠插值实现。
2.2 Down-Scale Mode 大幅缩小专用模式(高倍率下采防混叠)
流水线通路
输入图像 → 全局 H/V 均值 Averaging(固定 1/2 倍缩小,硬件抗混叠) → 水平:3-tap 线性滤波 + 2-tap 线性插值 → 垂直:3-tap 线性滤波 + 2-tap 线性插值 → 输出
倍率拆分规则
3 插值定点数学模型与插值核函数
3.1 通用亚像素插值计算公式(Q8 定点硬件标准)
变量定义
3.2 两类插值核完整数学表达式
3.3 SDRAM YCbCr 存储格式(Table44,UYVY,非 YUYV)
缩放后图像存入内存为 UYVY 打包格式,以 4 字节为基础单元:
| 字节地址 | 4n | 4n+1 | 4n+2 | 4n+3 |
|---|---|---|---|---|
| 像素数据 | Cb0 | Y0 | Cr0 | Y1 |
字节顺序:Cb-Y-Cr-Y,标准 UYVY;区别于 YUYV(Y-Cb-Y-Cr),底层读写必须严格对齐字节序。
4 Resizer 硬件性能约束(时钟 + 带宽双重限制)
缩放上限受像素时钟、SDRAM 总线时钟、SDRAM 带宽三重约束,双路 Resize 为时分复用流水线,带宽公式包含时分开销。
4.1 时钟倍率理论上限
举例配置:像素时钟 = 40MHz,SDRAM 时钟 = 200MHz 时钟倍率 =\(\dfrac{f_{sdram}}{f_{pixel}}=5\);硬件双路总并行理论最大放大倍率为 10。
- 原厂典型分配:Resize-A 最高放大 6 倍,Resize-B 最高放大 4 倍;
- 本质规则:两路倍率之和上限为 10,可灵活分配,并非固定 6+4 不可修改。
硬性工程要求
左侧带宽总时钟数必须严格大于右侧负载总和,禁止等于;必须预留充足裕量,否则出现行传输超时、画面撕裂、花屏。
4.3 SDRAM 物理带宽硬天花板
内存带宽优先级高于时钟倍率,带宽不足时无论时钟多高都无法跑高倍率。 示例:SDRAM 带宽上限 = 1Byte / 时钟 YCbCr422 为 2Y 占用 4Byte,1Byte / 时钟下,需要至少 2 时钟完成 1 组 Y 像素传输,预留开销后约束:
- 双路同时开启:Resize-A、Resize-B 缩放倍率均≤1(仅缩小 / 等比例);
- 仅开启 Resize-A:Resize-A 倍率最高≤2,Resize-B 必须关闭。
4.4 配套寄存器要求
必须提前配置带宽调节器(Bandwidth regulator),为 IPIPE 模块分配专属 SDRAM 带宽;带宽分配不足会导致高倍率缩放卡顿、丢帧。
5 工程落地执行规范总结
模式选型规范放大 / 小幅缩小:Normal 模式,优先 4-tap 三次卷积; 倍率>2 大幅缩小:切换 Down-Scale 模式,依靠前置均值做抗混叠,硬件固定线性通路。
定点开发规范HRSZ/VRSZ、相位 p、亚像素偏移 d 全部使用 Q8 定点整数,驱动代码禁止浮点、除法运算,用查表 / 移位实现插值权重计算。
双路分辨率边界所有行宽严格遵守
below,配置值不能等于上限阈值;两路分辨率互相抢占带宽,多路出图必须使用带宽公式验算。内存读写规范缩放输出为 UYVY 格式,底层缓存读写不能按照 YUYV 解析,否则色彩错位。
时序调试验证步骤先通过带宽不等式验算倍率上限 → 选择 Normal/Down-Scale 模式 → 选定插值核 → 配置 HRSZ/VRSZ 与相位 p → 配置 SDRAM 带宽调节器 → 上机验证画面与稳定性。
