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

在这里插入图片描述

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

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

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

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

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

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

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

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

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

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

(二)设计中用到的结构

DFF:D触发器

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/544617.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】容器|Set、List、Map及常用API

目录 一、概述 二、List 1、List的常用API 2、ArrayList 3、List遍历 三、Set 1、Set的常用方法: 2、HashSet 3、遍历集合: 四、Map 1、Map常用API 2、HashMap 3、遍历Map 五、迭代器 一、概述 在Java中所有的容器都属于Collection接口下的内容 1…

【视频异常检测】Diversity-Measurable Anomaly Detection 论文阅读

Diversity-Measurable Anomaly Detection 论文阅读 Abstract1. Introduction2. Related Work3. Diversity-Measurable Anomaly Detection3.1. The framework3.2. Information compression module3.3. Pyramid deformation module3.4. Foreground-background selection3.5. Trai…

宜搭faas服务器报错Network response was not OK

[error] https://api.dingtalk.com/v1.0/yida/forms/instances? fetch error Error: Network response was not OK 不出意外的话肯定是请求代码的某个部分出了问题:其中formInstanceId和updateFormDataJson是业务的内容 我检查过是没问题的。appType和systemToken…

【二】【单片机】有关独立按键的实验

自定义延时函数Delay 分别用Delay.c文件存储Delay函数。用Delay.h声明Delay函数。每次将这两个文件复制到工程中,直接使用。 //Delay.c void Delay(unsigned int xms) //11.0592MHz {while(xms--){unsigned char i, j;i 2;j 199;do{while (--j);}…

VMware的安装和Ubuntu的配置安装

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、linux是什么?二、基础知识虚拟机 三、安装VMware总结 前言 提示:这里可以添加本文要记录的大概内容: Linux是一个功能…

第18节 动态规划一讲

1假设有排成一行的N个位置记为1~N,N一定大于或等于2 开始时机器人在其中的M位置上(M一定是1~N中的一个) 如果机器人来到1位置,那么下一步只能往右来到2位置; 如果机器人来到N位置,那么下一步只能往左来到N-1位置; 如果…

【LeetCode: 2684. 矩阵中移动的最大次数 + dfs】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

数据结构的概念大合集04(队列)

概念大合集04 1、队列1.1 队列的定义1.2队列的顺序存储1.2.1 顺序队1.2.2 顺序队的基本运算的基本思想1.2.3 顺序队的4要素的基本思想 1.3 环形队列1.3.1 环形队列的定义1.3.1 环形队列的实现 1.4 队列的链式存储1.4.1 链队1.4.2 链队的实现方式1.4.3 链队的4要素的基本思想 1.…

牛客网-SQL大厂面试题-1.各个视频的平均完播率

题目:各个视频的平均完播率 DROP TABLE IF EXISTS tb_user_video_log, tb_video_info; CREATE TABLE tb_user_video_log (id INT PRIMARY KEY AUTO_INCREMENT COMMENT 自增ID,uid INT NOT NULL COMMENT 用户ID,video_id INT NOT NULL COMMENT 视频ID,start_time dat…

智慧交通:构建智慧城市的重要一环

随着信息技术的飞速发展,智慧城市已成为现代城市发展的重要方向。作为智慧城市的重要组成部分,智慧交通以其高效、便捷、环保的特性,成为推动城市现代化进程的关键力量。本文将从智慧交通的概念、发展现状、面临挑战以及未来趋势等方面&#…

SQLiteC/C++接口详细介绍之sqlite3类(十五)

返回目录:SQLite—免费开源数据库系列文章目录 上一篇:SQLiteC/C接口详细介绍之sqlite3类(十四) 下一篇:SQLiteC/C接口详细介绍之sqlite3类(十六) 47.sqlite3_set_authorizer 用法&#xff…

快慢指针:妙解查找链表的中间结点问题

给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:head [1,2,3,4,5] 输出:[3,4,5] 解释:链表只有一个中间结点,值为 3 。示…