本文主要是介绍图像处理ASIC设计方法 笔记10 插值算法的流水线架构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
(一) 三次插值算法实现的图像旋转设计的流水线架构
传统上,三次插值算法实现的图像旋转设计需要三块一样的处理资源,为了节约资源,采用流水线设计,简单来讲就是三次插值算法共用一块资源,优化这部分使用的存储器结构,以达成流水线的目标。
插值算法最直接的是需要DFF模块,现在对它进行适应流水线的改造。针对三级插值,有三个不同的设计,第一级用DFF,第二级是DFF加上延迟线,第三次是去掉行缓存、改为都是延迟线、加上4倍的DFF、加上同行选择器。
这就是优化后的插值算法的核心数据路径部分。
三级平移与插值单元,第一级是行平移与插值,第二级是列平移与插值,第三级是行平移与插值。
第一级:第一步的平移插值属于**行方向的操作,只需同一行相邻的四列像素就可以完成一次插值运算,同时结果也都在同一行。**这样可以方便将插值的结果,按平移之后的地址,顺序给到第二级。
第二级:第二步平移插值是取同一列相邻的四行像素进行插值运算。这导致相邻插值运算的结果可能不处在同一行。
第三级:考虑到第二步平移后的地址就是图像旋转后的行地址,第三步平移后的地址就是图像旋转后的列地址,因此可以将第二步平移插值过程中的平移量暂存,将其插值结果顺序写入延迟线中,然后通过同行选择算法选出位于同一行相邻的4个像素完成第三步平移插值操作。
当第三步平移插值单元完
这篇关于图像处理ASIC设计方法 笔记10 插值算法的流水线架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!