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

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

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

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

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

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

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

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

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

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

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

(二)设计中用到的结构

DFF:D触发器

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

相关推荐
yaoh.wang19 分钟前
力扣(LeetCode) 88: 合并两个有序数组 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·双指针
小智RE0-走在路上1 小时前
Python学习笔记(8) --函数的多返回值,不同传参,匿名函数
笔记·python·学习
LYFlied1 小时前
【每日算法】 LeetCode 56. 合并区间
前端·算法·leetcode·面试·职场和发展
摇滚侠1 小时前
Redis 零基础到进阶,Redis 哨兵监控,笔记63-73
数据库·redis·笔记
AI即插即用1 小时前
即插即用系列 | ECCV 2024 WTConv:利用小波变换实现超大感受野的卷积神经网络
图像处理·人工智能·深度学习·神经网络·计算机视觉·cnn·视觉检测
艾醒1 小时前
大模型原理剖析——多头潜在注意力 (MLA) 详解
算法
艾醒1 小时前
大模型原理剖析——DeepSeek-V3深度解析:671B参数MoE大模型的技术突破与实践
算法
老王熬夜敲代码2 小时前
网络中数据传输的具体过程
linux·网络·笔记
charlie1145141912 小时前
现代C++嵌入式教程:C++98基础特性:从C到C++的演进(1)
c语言·开发语言·c++·笔记·学习·教程