FPGA与数字图像处理

数字图像处理方法的重要性源于两个主要应用领域:

  • 改善图像信息以便解释。
  • 为存储、传输和表示而对图像数据进行处理,以便于机器自动理解。

一般地,图像处理大致可以分为低级处理和高级处理:低级处理的数据量大,算法简单,存在着较大的并行性;高级处理的算法复杂,数据量小。在图像处理的实现手段上,图像低级处理阶段,利用软件来实现是一个很耗时的过程,但是利用硬件实现,就可以对大量数据进行并行处理,能够极大的提高处理速度;而图像高级处理阶段,利用软件来实现则具有较高的性价比。因此,图像处理系统中可以利用高速硬件模块(如FPGA)承担图像低级处理任务。这样对大量图像数据进行了低级处理,使系统在减少数据传输量的同时还极大的提高了实时性能。

通用计算机

通用计算机是基于冯.诺依曼结构的,通过高级语言(C,C++等)编写程序代码,整个执行过程是单指令单数据的串行处理过程,在很多情况下该系统结构上的局限性使它对低级图像的处理不能够满足高速处理的要求,它适合各种图像处理算法的验证,适用于一些实时性要求不高的场合。

并行处理机:

在许多场合下,单个CPU不能够实现实时数据处理的时候,采用多个CPU同时工作的并行处理为解决此问题提供了可能。各国学者在这方面作了大量的工作,并己经研究出多种并行结构和编程语言,它克服了单个处理器串行工作的局限性,提高了系统的性能。虽然对并行处理进行了大量的研究,但这个领域仍不成熟。处理单元负载不均衡,并行算法编程困难,理论上并行处理所应达到的性能和实际性能相比有较大差距。

专用集成电路:

专用集成电路是针对于某一固定算法或应用而专门设计的硬件芯片。许多图像处理算法采用通用处理器和DSP来实现难以满足速度需要,而必须采用ASIC来实现,在各种算法实现方案中使用ASIC来实现是最快的。但是,ASIC在实际应用中也有其缺点:ASIC从设计到应用需要较长的时间周期;ASIC因为属于专用硬件芯片,所以需求数量较少,成本也就非常高;由于ASIC是为专用目的设计的,当设计成型并且流片成功就不能改动,所以在设计中当算法因故需要改变时就要设计者重新设计芯片和硬件电路;当ASIC里存在硬件设计的错误时,并且在投入生产前未能发现的话,唯一解决的办法是把产品回收,而这样做的后果往往是芯片商付出沉重的经济代价。ASIC较低的灵活度往往使其局限于非常有限的应用中并容易产生性能瓶颈,因此由ASIC构建的图像处理系统,缺乏灵活性。

数字信号处理器:

数字信号处理器(DSP),是专门为快速实现各种数字信号处理算法而设计的、具有特殊结构的微处理器,通常使用C语言进行编程,其处理速度可达到2000MIPS,比最快的CPU还快10-50倍。数字信号处理器的内部采用专用硬件实现一些数字信号处理常用的运算,所以它进行这些运算速度非常快,如乘加(MAC)运算只需要一个时钟周期。但是从根本上来说,DSP只是对某些固定的运算提供硬件优化,其体系仍是串行指令执行系统,并且这些固定优化运算并不能够满足众多算法的需要,这使得它的使用受到限制。

现场可编程门阵列(FPGA):

FPGA器件是当今运用极为广泛的可编程逻辑器件,也被称为可编程ASIC。FPGA器件在结构上具有逻辑功能块排列,可编程的内部连线连接这些功能模块来实现一定的逻辑功能。FPGA器件的功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在片内的SILAM中。使用SRAM的FPGA器件,在工作前需要从芯片外部加载配置数据,配置数据可以存储在片外的EPROM或其他存储体上,设计者可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场编程。利用它用户不仅可以方便地设计出所需的硬件逻辑,而且可以进行静态重复编程和动态在系统重配置,使系统的硬件功能可以像软件一样编程来修改,从而可以实时地进行灵活而方便的更新和开发,大大提高了系统设计的灵活性和通用性。与此同时,FPGA自身也在迅速发展,其集成度、工作速度不断提高,包含的资源越来越丰富,可实现的功能也越来越强。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值