news 2026/7/27 19:14:13

一种硬件缩放实现方式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一种硬件缩放实现方式

目录

1 模块整体规格与基础缩放规则

2 双硬件流水线架构(图 83)

3 插值定点数学模型与插值核函数

4 Resizer 硬件性能约束(时钟 + 带宽双重限制)

5 工程落地执行规范总结


1 模块整体规格与基础缩放规则

1.1 缩放倍率与寄存器定义

  1. 缩放区间:支持横向、纵向独立配置,缩放范围1/16 倍~16 倍
  2. 倍率计算公式 水平缩放系数:垂直缩放系数:
  3. 寄存器参数范围:HRSZ、VRSZ ∈ [16, 4096]
    • HRSZ/VRSZ=16:缩放 = 256/16=16 倍放大
    • HRSZ/VRSZ=4096:缩放 = 256/4096=1/16 倍缩小
  4. 特性:HRSZ 与 VRSZ 完全独立,支持非等比拉伸;缩放全部基于硬件 Q8 定点运算,全程无浮点。

1.2 双路输出硬件能力

硬件支持同时输出两路缩放图像:Resize-1、Resize-2;行像素约束为严格小于上限(below),不可等于边界值

工作模式Resize-1 单行最大像素Resize-2 单行最大像素
Normal 常规模式<2176<1088
Down-Scale 大幅缩小模式<1088<544

1.3 插值方案模式绑定规则(核心权限约束)

  1. Normal 常规模式:水平插值二选一,垂直跟随水平配置,不可独立选型
    • 选型 1:4 抽头三次卷积(4-tap cubic convolution),画质优、硬件乘法开销更大
    • 选型 2:3 抽头线性滤波 + 2 抽头线性插值,算力更低、画面平滑
  2. Down-Scale 缩小模式:硬件通路固定线性链路,强制不可使用 4-tap 三次卷积,全程只能使用线性滤波 + 线性插值。
  3. 缩小补充机制:大倍率下采样自带均值(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 字节为基础单元:

字节地址4n4n+14n+24n+3
像素数据Cb0Y0Cr0Y1

字节顺序: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 像素传输,预留开销后约束:

  1. 双路同时开启:Resize-A、Resize-B 缩放倍率均≤1(仅缩小 / 等比例);
  2. 仅开启 Resize-A:Resize-A 倍率最高≤2,Resize-B 必须关闭。

4.4 配套寄存器要求

必须提前配置带宽调节器(Bandwidth regulator),为 IPIPE 模块分配专属 SDRAM 带宽;带宽分配不足会导致高倍率缩放卡顿、丢帧。

5 工程落地执行规范总结

  1. 模式选型规范放大 / 小幅缩小:Normal 模式,优先 4-tap 三次卷积; 倍率>2 大幅缩小:切换 Down-Scale 模式,依靠前置均值做抗混叠,硬件固定线性通路。

  2. 定点开发规范HRSZ/VRSZ、相位 p、亚像素偏移 d 全部使用 Q8 定点整数,驱动代码禁止浮点、除法运算,用查表 / 移位实现插值权重计算。

  3. 双路分辨率边界所有行宽严格遵守below,配置值不能等于上限阈值;两路分辨率互相抢占带宽,多路出图必须使用带宽公式验算。

  4. 内存读写规范缩放输出为 UYVY 格式,底层缓存读写不能按照 YUYV 解析,否则色彩错位。

  5. 时序调试验证步骤先通过带宽不等式验算倍率上限 → 选择 Normal/Down-Scale 模式 → 选定插值核 → 配置 HRSZ/VRSZ 与相位 p → 配置 SDRAM 带宽调节器 → 上机验证画面与稳定性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/27 19:09:56

英文AI率降不下来不用慌!靠谱英文降AI技巧+实用工具实测

应该有很多小伙伴近期都和我一样吧……我上个月刚完成整篇文章的终稿校对,本来以为马上就能顺利收尾,结果在Turnitin上一查,一大段一大段的标蓝! 为了把AI率降下来,我折腾了整整一整晚,最后的检测结果却让…

作者头像 李华
网站建设 2026/7/27 19:07:36

gba crate终极指南:从零开始构建你的第一款GBA游戏

gba crate终极指南:从零开始构建你的第一款GBA游戏 【免费下载链接】gba A crate that helps you make GBA games 项目地址: https://gitcode.com/gh_mirrors/gba/gba 想要快速入门GBA游戏开发?gba crate是你的最佳选择!这款强大的Rus…

作者头像 李华
网站建设 2026/7/27 19:05:26

LM92数字温度传感器:硬件温控与I2C接口实战指南

1. LM92数字温度传感器:从芯片手册到实战应用在嵌入式系统和精密仪器设计中,温度监测从来都不是一个“锦上添花”的功能,而是系统稳定性的生命线。无论是防止服务器CPU过热宕机,还是确保医疗设备在安全温度范围内运行,…

作者头像 李华
网站建设 2026/7/27 19:00:27

JAVA毕设项目:基于Web的数字化二手物品交易归档管理系统 简易化线上二手交易服务平台设计 (源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/7/27 18:57:28

SDLPAL:让经典仙侠游戏在新时代重获新生

SDLPAL:让经典仙侠游戏在新时代重获新生 【免费下载链接】sdlpal SDL-based reimplementation of the classic Chinese-language RPG known as PAL. 项目地址: https://gitcode.com/gh_mirrors/sd/sdlpal 还记得那些年,在老旧电脑前沉浸于《仙剑奇…

作者头像 李华