图像处理ASIC设计方法 笔记10 插值算法的流水线架构

(一) 三次插值算法实现的图像旋转设计的流水线架构

传统上,三次插值算法实现的图像旋转设计需要三块一样的处理资源,为了节约资源,采用流水线设计,简单来讲就是三次插值算法共用一块资源,优化这部分使用的存储器结构,以达成流水线的目标。

插值算法最直接的是需要DFF模块,现在对它进行适应流水线的改造。针对三级插值,有三个不同的设计,第一级用DFF,第二级是DFF加上延迟线,第三次是去掉行缓存、改为都是延迟线、加上4倍的DFF、加上同行选择器。

这就是优化后的插值算法的核心数据路径部分。

三级平移与插值单元,第一级是行平移与插值,第二级是列平移与插值,第三级是行平移与插值。

第一级:第一步的平移插值属于**行方向的操作,只需同一行相邻的四列像素就可以完成一次插值运算,同时结果也都在同一行。**这样可以方便将插值的结果,按平移之后的地址,顺序给到第二级。

第二级:第二步平移插值是取同一列相邻的四行像素进行插值运算。这导致相邻插值运算的结果可能不处在同一行。

第三级:考虑到第二步平移后的地址就是图像旋转后的行地址,第三步平移后的地址就是图像旋转后的列地址,因此可以将第二步平移插值过程中的平移量暂存,将其插值结果顺序写入延迟线中,然后通过同行选择算法选出位于同一行相邻的4个像素完成第三步平移插值操作

当第三步平移插值单元完成插值运算后,再将暂存的第二步平移过程中的平移量与第三步平移过程中的平移量组合起来就可以得到最终图像旋转后的地址,将输出像素和对应的地址对齐就可以输出给外部存储器了。

存储器3所需的4行缓存也都被封装成了延迟线的形式,同时将4x4寄存器组转化为多抽头的并行输出,送入同行选择器,选出位于同一行的相邻4列像素,以方便下级完成插值运算。

(二)设计中用到的结构

DFF:D触发器

延迟线:延迟线是图像处理中常见的一种存储器组织结构,其行为模型与移位寄存器的相同,从外部看来就是每个时钟节拍数据移位一次,片上一般多采用DPRAM 十地址变换的方式来实现,以节约功耗和面积。引入延迟线,可将串行输入数据转化为多抽头的并行输出数据,方便下级完成插值运算。

相关推荐
love530love2 小时前
【笔记】AutoClaw NSIS 安装器卡死、进程杀不掉、目录删不了?我是这么解决的
人工智能·windows·笔记·agent
可编程芯片开发5 小时前
基于MATLAB的PEF湍流风场生成器模拟与仿真
算法
谙弆悕博士5 小时前
系统集成项目管理工程师教程(第3版)笔记——第2章:信息技术发展
笔记·计算机网络·信息安全·学习方法·业界资讯·软考·系统分析师
罗西的思考5 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (9)--- Reward Judging
人工智能·算法·机器学习
吃着火锅x唱着歌6 小时前
Effective C++ 学习笔记 条款37 绝不重新定义继承而来的缺省参数值
c++·笔记·学习
风曦Kisaki6 小时前
# Linux笔记:操作系统优化与资源管理
linux·运维·服务器·笔记
阿米亚波6 小时前
【C++】流式数据输入处理(不完全整理)
开发语言·c++·笔记
Mr.HeBoYan7 小时前
一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (下)
linux·网络·算法·架构·dpdk
wabs6667 小时前
关于图论【深度优先搜索的理论基础】
算法·深度优先·图论
zhangrelay8 小时前
笔记本轻量高品质延寿工具完整分系统清单
运维·笔记·学习