当前位置: 首页 > news >正文

一种硬件缩放实现方式

目录

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 带宽调节器 → 上机验证画面与稳定性。

http://www.cnnetsun.cn/news/3691407.html

相关文章:

  • 英文AI率降不下来不用慌!靠谱英文降AI技巧+实用工具实测
  • gba crate终极指南:从零开始构建你的第一款GBA游戏
  • LM92数字温度传感器:硬件温控与I2C接口实战指南
  • Pinokio智能启动器:一键部署任何开源项目,彻底告别复杂配置的终极解决方案
  • JAVA毕设项目:基于Web的数字化二手物品交易归档管理系统 简易化线上二手交易服务平台设计 (源码+文档,讲解、调试运行,定制等)
  • SDLPAL:让经典仙侠游戏在新时代重获新生
  • 仅限内部团队使用的AI邮件评分矩阵(含12维可信度校验表,限时开放下载)
  • 微软.net表达式编译居然有bug?
  • 广州做小程序商城的公司有哪些?从“广深商圈竞争”角度看选型
  • 数据中心固态变压器:AI算力时代柔性供电架构的技术路径与落地实践
  • Pixelle-Video:重新定义AI视频创作流水线的艺术
  • 3个实用技巧快速上手phpMyFAQ开源问答系统
  • .NET 7与8新特性解析及实战应用指南
  • 为什么顶尖开发团队都在用gh_mirrors/re/rebase?自动Rebase背后的技术原理
  • PytorchNetHub部署指南:将你的深度学习模型快速部署到生产环境
  • 如何用Akagi在5分钟内将你的麻将水平提升一个档次?终极AI教练指南
  • 终极前端调试神器Replay.io DevTools:10个你必须掌握的核心功能
  • 如何高效使用手机号码定位查询工具:3分钟快速入门指南
  • BetterNCM Installer完整指南:3分钟搞定网易云插件安装,告别手动烦恼
  • C++面向对象实战:员工管理系统设计与实现详解
  • Qlib量化投资平台实战指南:3步构建你的AI投资策略
  • 从理论到代码:PINNs-Torch核心组件工作原理深度剖析
  • 文件包含漏洞攻防全解析:从原理到实战防御
  • 揭秘gh_mirrors/fp/fpu核心组件:从加法器到类型转换器全解析
  • Laravel Vouchers异常处理完全指南:3大常见错误解决方案
  • ChatLab核心功能揭秘:如何让AI精准分析百万条聊天记录
  • 【单片机毕业设计推荐】 基于 STM32 的室内空气质量监测与智能通风控制系统设计,基于 STM32 的 PM2.5 与温湿度智能监测及蓝牙管控系统设计(010304)
  • 【单片机毕业设计推荐】基于 STM32 的环境多参数监测与声光报警系统设计与实现,基于 STM32 的气象风速温湿度 PM2.5 采集监测装置设计(010604)
  • 一种可信数据空间中不同厂商连接器赋能隐私计算的方法
  • MiniCPM-V-2_6-GPTQ:创新端侧多模态AI解决方案重塑实时视频理解