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

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

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

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

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

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

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

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

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

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

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

(二)设计中用到的结构

DFF:D触发器

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

相关推荐
緈福的街口25 分钟前
【leetcode】584. 寻找用户推荐人
算法·leetcode·职场和发展
今天背单词了吗98031 分钟前
算法学习笔记:17.蒙特卡洛算法 ——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·笔记·考研·算法·蒙特卡洛算法
wjcurry1 小时前
完全和零一背包
数据结构·算法·leetcode
逐花归海.1 小时前
『 C++ 入门到放弃 』- 多态
开发语言·c++·笔记·程序人生
hie988941 小时前
采用最小二乘支持向量机(LSSVM)模型预测气象
算法·机器学习·支持向量机
致***锌2 小时前
期权交易完整版教程简介
笔记
棱镜研途2 小时前
学习笔记丨卷积神经网络(CNN):原理剖析与多领域Github应用
图像处理·笔记·学习·计算机视觉·cnn·卷积神经网络·信号处理
python_tty2 小时前
排序算法(一):冒泡排序
数据结构·算法·排序算法
皮蛋sol周2 小时前
嵌入式学习C语言(八)二维数组及排序算法
c语言·学习·算法·排序算法
森焱森3 小时前
单片机中 main() 函数无 while 循环的后果及应对策略
c语言·单片机·算法·架构·无人机