网站首页 > 文章精选 正文
将图像处理的算法转换为FPGA系统设计的过程称为算法映射。映射过程中首目标便是确定系统设计的结构,在图像处理中常用的两中系统设计结构:流水线结构;并行阵列结构。
流水线设计基本概念
流水线处理源自现代工业生产装配线上的流水作业,是指将待处理的任务分解为相对独立的、可以顺序执行的而又相互关联的一个个子任务。流水线处理是高速设计中的一个常用设计手段,如果某个设计的处理流程分为若干步骤,并且整个数据处理是“单流向”的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,那么可以考虑采用流水线设计方法来提高系统频率。流水线设计结构如图所示。
其基本结构是将适当划分的n个操作步骤单流向串联起来。流水线操作的最大特点是数据流在各个步骤的处理从时间上看是连续的顺序操作,与此同时各个步骤又是同时并行的在运作。
在处理器架构上,一个单核处理器只能一次处理一个任务,是顺序的执行,如要实现并行操作需要多个处理器来执行。
FPGA中典型的流水线设计
流水线处理采用面积换取速度的思想,可以大大提高电路的工作频率,尤其对于图像处理任务中的二维卷积运算、FIR及FFT滤波器等,采用流水线设计可以保证一个时钟输出一个像素,相对于全并行处理电路占用资源又不会太多。对于大部分的图像处理任务而言,处理过程基本上也是一个“串行”的处理思路。因此,流水线设计无疑是最好的设计方式。如下图所示是一个典型的图像处理任务流程图与图像处理中的典型流水线结构。
本处理任务也是一个典型的图像处理任务。首先,我们从CCD或CMOS传感器得到需要处理的视频流输入Video Input,并通过视频捕获模块Video Capture将输入视频同步为本地视频流。这些视频流“无等待”地流入下一个处理单元Chroma Resample进行色度重采样和空间变换,经过预处理Pre Filter和指定的处理算法Image Process后(例如预滤波、分割、目标识别、Alpha混合等),转换为视频流输出Video Output。
在这个过程中,输入视频流和输出视频流是连续的,流水线结构也保留了这种可能性。每一个处理单元独立为一块单独的电路,与其它处理单元同时运行,提高了速度也降低了设计的复杂度。
并行阵列
在并行阵列型电路中,多组并行排列的子电路同时接收整体数据的多个部分进行并行计算。并行阵列型电路中的子电路本身可以是简单的组合电路,也可以是复杂的时序电路例如上面提到的流水线型电路。如果受逻辑资源限制,无法同时处理全部数据,那么也可以依次处理部分数据直到完成全部数据的处理,如图所示。
和流水线共享电路的思路不同,并行阵列电路对于每个处理数据都生成一个处理电路,这无疑更大地提高了电路的处理速度,但是也带来了更大的资源消耗,是用面积换取速度原则的又一体现。如果系统设计对资源消耗相对不敏感,但是又需要较快的处理速度时,那么我们会选择并行结构来完成。
并行阵列的一个典型应用是多通道像素同时进行处理,对一个串行输入的RGB通道或是YCbCr通道的视频流,首先做一个串并转换,接着复制处理逻辑对三个通道同时做处理。这样理论上可以得到3倍的速度提升。
精彩推荐
至芯科技FPGA就业培训班、开启你的高薪就业之旅!9月1号北京开课、选择至芯、成就未来!欢迎咨询试听!
RISC CPU设计与验证
MIPI、LVDS、RGB、HDMI等接口对比
扫码加微信邀请您加入FPGA学习交流群
欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!
点个在看你最好看
猜你喜欢
- 2025-03-24 设计模式-模板方法模式详解,使用场景
- 2025-03-24 一文读懂粒子群算法(粒子群算法步骤)
- 2025-03-24 数据结构与算法—欧几里得算法(欧几里得算法c++语言)
- 2025-03-24 唐太宗的“凌烟阁算法”:从二十四功臣到现代高管团队的生死局
- 2025-03-24 除了矢量控制算法,还有哪些控制算法可用于永磁同步电机?
- 2025-03-24 数据结构|算法(数据结构算法的时间复杂度怎么计算)
- 2025-03-24 收放卷模糊控制算法的实现(收放卷模糊控制算法的实现过程)
- 2025-03-24 算法会打败写手,DeepSeek给出生产高展现量文章的流水线
- 2025-03-24 优秀的过程控制工程师的必备能力:懂控制算法,也要懂工艺
- 2025-03-24 还有小白不知道什么是顺序功能图 (SFC)?
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)