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

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

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

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

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

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

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

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

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

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

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

(二)设计中用到的结构

DFF:D触发器

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

相关推荐
APP 肖提莫7 分钟前
MyBatis-Plus分页拦截器,源码的重构(重构total总数的计算逻辑)
java·前端·算法
OTWOL15 分钟前
两道数组有关的OJ练习题
c语言·开发语言·数据结构·c++·算法
Somnus陳25 分钟前
软考架构师笔记-计算机系统组成-1
笔记·系统架构
qq_4335545442 分钟前
C++ 面向对象编程:递增重载
开发语言·c++·算法
带多刺的玫瑰1 小时前
Leecode刷题C语言之切蛋糕的最小总开销①
java·数据结构·算法
巫师不要去魔法部乱说1 小时前
PyCharm专项训练5 最短路径算法
python·算法·pycharm
qystca2 小时前
洛谷 P11242 碧树 C语言
数据结构·算法
LuH11242 小时前
【论文阅读笔记】IC-Light
论文阅读·笔记
是小菜呀!2 小时前
实验四 触发器
笔记
冠位观测者2 小时前
【Leetcode 热题 100】124. 二叉树中的最大路径和
数据结构·算法·leetcode