跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言AI算法

基于纯 Verilog FPGA 的双线性插值视频缩放设计

FPGA 视频缩放方案,采用纯 Verilog 实现双线性插值。支持 HDMI 输入输出,分辨率自适应。核心优势在于仅使用片内 SRAM 缓存,无需外部 DDR,端到端延迟低于 2ms。系统包含接收、缩放、发送三大子系统,配合 RISC-V 控制面,适用于医疗、工业等低延迟场景。资源占用低,易于移植。

FrontendX发布于 2026/3/23更新于 2026/10/24103 浏览
基于纯 Verilog FPGA 的双线性插值视频缩放设计

基于纯 Verilog FPGA 的双线性插值视频缩放设计

在易灵思 Ti60F225 钛金系列 FPGA 上实现'端到端'4K@60 视频缩放链路,是一个对资源与延迟都有严苛要求的挑战。本方案的目标是将任意分辨率(640×480–3840×2160)的 HDMI 输入实时缩放到用户指定分辨率,并通过 HDMI 输出。整个链路不依赖外部 DDR,仅使用片内 6.3 Mbit 嵌入式 SRAM 完成行缓存,实现 < 2 ms 的端到端固定延迟,满足医疗内窥镜、工业检测、直播导播台等低延迟场景需求。

系统架构思路

整个系统划分为三个主要子系统,数据流如下:

┌─────────────┐ ┌──────────────┐ ┌──────────────┐
│ HDMI-RX     │ AXI-S│ 缩放核心   │ AXI-S│ HDMI-TX     │
│ 解码 4:4:4  │----->│ 双线性插值 │----->│ 编码 4:4:4  │
└─────────────┘ └──────────────┘ └──────────────┘
↑              ↑              ↑
200 MHz      300 MHz        297 MHz
参考时钟     像素时钟       TMDS 时钟

1. 视频接收子系统

使用 FPGA 高速 LVDS 硬核接收 3 通道 TMDS 差分信号;内置 DVI 解码器完成 8b/10b 解码、字对齐、通道绑定;输出 24 bit RGB 像素流 + hsync/vsync/de,符合 AXI4-Stream 协议。

2. 缩放子系统(核心重点)

仅缓存'两行'原始像素,采用'滑动窗口'机制;基于定点 12 bit 小数运算完成双线性插值;输出像素流再次封装为 AXI4-Stream,保持时钟域隔离。

3. 视频发送子系统

将缩放后像素打包成 TMDS 流;支持 480p–4K@60 多种 VESA 时序,通过 EDID 动态协商。

4. 控制面

32 位 RISC-V 软核(Ti60F225 内嵌)通过 AXI-Lite 寄存器提供输入/输出分辨率设置、缩放系数(浮点→定点转换由软件完成)、伽马曲线索引(2.2 / 1.8 / sRGB 三档)。UART 调试口可实时打印链路状态(帧率、丢包、错误中断)。

缩放核心算法设计

算法选择

在面积与画质之间权衡,我们选用了'双线性插值'。每通道仅需 2 个乘法器、4 个加法器,PSNR 比最近邻提升 6–8 dB,且行缓存仅 2 行,远低于三次卷积带来的资源开销。

定点化方案

缩放系数定义为 ratio = src_height / dst_height。采用 12 bit 定点小数(8.4 格式),保证最大 8×放大时误差 < 1/16 像素。

滑动窗口缓存

使用双口 SRAM(真双口,512×24 bit×2 行)实现'乒乓'结构:写口按源像素时钟顺序写入当前行;读口根据垂直系数生成'窗口地址',一次读出 2×2 邻域像素。带宽方面,读口 2×24 bit/周期,写口 1×24 bit/周期,总带宽 72 bit/周期 @ 300 MHz ≈ 21.6 Gbit/s,完全满足 4K@60 需求。

插值流水线

采用三级流水:

  1. 系数计算:根据 dst_y 小数部分生成 w00/w01/w10/w11;
  2. 水平插值:对 2×2 窗口做两次乘加,得到中间值 p0、p1;
  3. 垂直插值:p0、p1 加权求和,输出最终像素。 每级流水 1 周期,总延迟 3 周期 ≈ 10 ns,几乎可忽略。

边界处理

坐标 < 0 或 ≥ 宽度时,默认按镜像方式回卷,避免黑色边框;也可通过寄存器选择'裁剪模式',适应不同场景。

跨时钟域与 AXI 总线

  • 接收域→缩放域:使用异步 FIFO,深度 512×24 bit,水线 128,保证 ≤ 1/2 行缓存;
  • 缩放域→发送域:同样使用异步 FIFO,深度 256×24 bit;
  • AXI4-Stream 信号(tvalid/tready/tlast)全部经过两级同步器,避免亚稳态;
  • 缩放核心仅依赖 tvalid/tready 反压,不依赖 tlast,简化逻辑。

伽马校正模块

为补偿 OLED/LED 面板非线性响应,在输出前插入 256×8 bit LUT:

  • 软件离线生成 2.2/1.8/sRGB 三档曲线,通过 RISC-V 下载;
  • 采用双端口 ROM,读延迟 1 周期,与像素流同步;
  • 面积占用约 180 ALM,可忽略不计。

性能与资源实测

Ti60F225 资源占用情况如下:

  • ALM:4,862 / 60,225(8%)
  • SRAM:2,304 kbit / 6,300 kbit(37%)
  • 乘法器:12 / 240(5%)
  • 时钟:3 个全局网络

实测结果令人满意:

  • 输入 3840×2160@60 Hz,缩放至 1920×1080@60 Hz,链路固定延迟 1.8 ms;
  • 输入 1280×720@60 Hz,放大至 3840×2160@60 Hz,链路固定延迟 1.9 ms;
  • 动态功耗 1.1 W(核心 0.9 V,I/O 1.2 V)。

可扩展性

  1. 算法升级:保留插值模块接口,可无缝替换为双三次或 Lanczos3,仅需增加乘法器(预计 ALM +12%)。
  2. 多路级联:利用 FPGA 左右分区,复制两套缩放核心,实现 2 路 4K@30 或 4 路 1080p@60。
  3. 嵌入式 AI:在 RISC-V 端运行轻量级超分模型,预生成边缘增强 LUT,与双线性结果融合,PSNR 可再提升 3 dB。

总结

本方案以'最低片内缓存 + 定点双线性插值'为核心,在低成本 FPGA 上实现了 4K@60 实时缩放,延迟 < 2 ms,资源占用 < 10%。通过 AXI4-Stream 总线标准化接口,可快速集成到任意视频流水线,为医疗、工业、广播等对延迟敏感的场景提供了高性价比的参考设计。

目录

  1. 基于纯 Verilog FPGA 的双线性插值视频缩放设计
  2. 系统架构思路
  3. 1. 视频接收子系统
  4. 2. 缩放子系统(核心重点)
  5. 3. 视频发送子系统
  6. 4. 控制面
  7. 缩放核心算法设计
  8. 算法选择
  9. 定点化方案
  10. 滑动窗口缓存
  11. 插值流水线
  12. 边界处理
  13. 跨时钟域与 AXI 总线
  14. 伽马校正模块
  15. 性能与资源实测
  16. 可扩展性
  17. 总结

更多推荐文章

查看全部
  • 2026 年国家自然科学基金 AI 声明撰写位置与原则
  • Node.js+Vue 易玩网系统设计与实现
  • RabbitMQ 分布式系统实战:从安装部署到 C++ 客户端集成
  • Java 语言特点与八种基本数据类型
  • 基于 SpringBoot 的共享单车租借网络平台设计与实现
  • MCP 协议详解:与 Function Call 的区别及使用方式
  • Trae AI IDE 实战:从零开发 AI Chatbot 应用
  • 新能源汽车实训系统:数字孪生与 VR/AR 技术架构
  • LLM 微调:时机、方法与抉择
  • AI 安全治理与生成式人工智能风险应对技术分享
  • 基于 Leaflet 的 WebGIS 省域区县天气可视化实现
  • Meta Llama 系列深度解析:全球开源大模型事实标准
  • CRITIC 模型与脑机协同:程序员代码记忆决策与认知增强实践
  • nanobot 轻量 AI Agent 框架搭建 QQ 机器人与搜索功能扩展
  • 无人机视觉任务常用数据集汇总:检测与分割资源整理
  • GLM 语言模型原理与代码实例
  • Rust 异步编程:错误处理的艺术与实践
  • 转行 AI 大模型:码农与产品经理的职业机遇与挑战
  • C++备忘录模式:对象状态的保存与恢复
  • Chatbot UI:开源 AI 聊天应用框架

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online