0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种可重构的硬件处理器方法

星星科技指导员 来源:嵌入式计算设计 作者:ADAM SMITH 2022-10-27 16:45 次阅读

监控系统中对更高质量视频图像的需求需要在传感器和可用视频数据之间建立高级链接。仅由软件处理组成的图像处理系统无法满足这些需求,基于ASIC的系统无法提供所需的灵活性。由于像素处理的计算密集型特性,使用JPEG2000编码的基于FPGA的成像处理设计提供了一种强大而灵活的方法。

高清数字视频已变得司空见惯;我们大多数人都在自己的家中拥有高清设备。然而,将该技术转移到实时军事监视应用在捕获高清图像和分发大量数据方面带来了重大挑战。图像传感器现在正在千兆像素领域生产,使用较小的百万像素探测器阵列实现。图像数据采集必须灵活,以便于与各种传感器接口,并且必须与数据处理和压缩紧密耦合才能分发数据。与传统软件或ASIC成像处理系统相比,利用FPGA协处理器具有许多优势,并且可以将复杂的算法打包到一个小型,功能强大的设备中。

因此,基于FPGA的处理器可以在高清图像传感器和低带宽JPEG2000压缩数据之间提供关键链路。可重构计算的这一趋势使得满足机载和地面车辆平台(如捕食者无人机、收割者无人机、蜂鸟无人机直升机、MULE自主地面机器人、浮空器等)中强大成像系统的需求成为可能。基于 FPGA 的高性能计算允许军事监视系统接收和处理来自各种来源的高清传感器数据,并使用 JPEG2000 压缩数据以进行传输。

像素处理对于 FPGA 而言是无痛的

图像像素处理的高度计算特性可以在现代FPGA器件中高效实现。Virtex-6 SX475T FPGA 具有超过 475 K 个逻辑单元和 2,016 个嵌入式 DSP 模块,可灵活连接到系统的其余部分,包括集成的 6.5 Gb 收发器以及许多其他功能强大的元件。这些特性允许在单个FPGA器件中将许多图像处理功能流水线连接在一起,用于多个图像传感器。表1中详述的示例图像处理设计表明,全功能图像处理和压缩通道只需要不到7%的FPGA资源。

表 1:图像处理系统示例 – FPGA 资源要求

(单击图形可缩放 1.9 倍)

pYYBAGNaRT2AVDxOAABqOnbGfxw946.jpg

图像处理系统需求:够硬吗?

军事监视系统希望能够查看广阔的区域,例如大于16平方公里,因为“通过苏打吸管观察”无法获得太多信息。此外,监控系统通常必须在距离目标数公里的距离内运行,以保持安全,同时生成高分辨率图像。所有这些都需要捕获和处理大量的图像数据。例如,DARPA ARGUS-IS系统使用368个500万像素探测器(总计1.8千兆像素),能够生成超过260 Gbps的原始数据。

这些数据必须在实时系统中捕获和处理,通常具有极端的SWaP限制。此外,成像系统在捕获原始像素数据后可能需要许多其他所需的功能才能使用:

有缺陷的像素校正

彩色滤光片阵列插值

色彩校正

伽玛校正

色彩空间转换

图像降噪

边缘增强

视频缩放

视频窗口 – 对象跟踪

视频压缩(JPEG2000、H.264、MPEG-4)

数据加密

用于传输和/或存储的视频输出

基于FPGA处理器的可重构计算技术非常适合满足这些苛刻的需求。这种方法比专用软件处理系统更小、更快、更高效,并且比ASIC方法更灵活、更具成本效益。图像传感器和软件处理之间的基本环节非常适合FPGA技术。

适应各种图像传感器接口

监控系统和其他成像平台正在迅速发展和扩展,以利用各种传感器进行光学红外和合成孔径雷达技术,并且图像尺寸一直在增加。图像传感器的物理接口各不相同,因此处理系统需要一个灵活的模块化接口,以便与这些系统一起扩展和扩展。可重构计算系统通过支持多种格式和物理接口的传入数据来满足这一需求,例如,CameraLink、SDI、原始像素、LVDS、多千兆位串行接口、光纤等。基于FPGA的系统非常适合从各种来源和协议采集图像数据,因为具有可编程I/O模块、集成收发器和SERDES模块。

此外,监控系统可能具有许多不同的任务目标,这些目标需要在处理视频数据时具有灵活性。例如,系统可能需要每隔几秒钟提供整个视场的全分辨率图像,或者使用较小的图像窗口跟踪移动目标,该窗口以10 Hz更新。系统可能需要控制图像系统具有的数据带宽,以便下行链路或存储数据以供以后传输。基于FPGA的图像处理器可以在系统中重新配置,从而允许在不修改硬件的情况下添加升级和附加功能,例如模式匹配或运动检测。与任何预定义的图像采集卡或基于ASIC的硬件相比,这是一个很大的优势。图1显示了可重构图像处理系统的灵活性,该系统能够从各种源和接口接收图像数据,实现一系列计算复杂的图像处理功能,并通过各种接口输出压缩的视频流。

图 1:可重构图像处理硬件的灵活性

poYBAGNaRT6AeNIIAACPRxZV8xc682.jpg

使用 JPEG2000 进行前期数据压缩

从任何系统中的彩色图像传感器接收的数据必须首先进行插值以获得每个像素的RGB分量,然后通常转换为YCrCb色彩空间,以使用色度子采样来减少数据量。然而,通过使用FPGA处理系统,视频数据可以使用JPEG2000进一步压缩,并且在无损压缩中将带宽额外减少2:1,在视觉无损压缩中减少10:1,在有损压缩中最大可降低100:1。FPGA图像处理器提供的压缩数据允许系统轻松存储,通过软件进一步处理,并将数据传输给用户。使用 JPEG2000 进行图像数据压缩可为系统提供卓越的结果,而无需预先进行数据压缩,并减少系统需要处理的数据。

JPEG2000编解码器在军事监视应用中特别受欢迎,因为它提供了非常高的性能,低延迟,执行无损压缩的能力以及其他非常有用的功能。这种压缩标准的工作原理是使用小波变换将单个图像帧分解成分辨率越来越低的子波段。然后将数据排列成数据包,其中包含有关连续像素组的信息。生成的图像流提供了有用的功能,例如可选区域、可选分辨率、错误恢复能力和带宽限制,此外还允许系统以图像流的压缩格式使用它。例如,JPEG2000数据可用于远程监控系统,以从相同的图像传感器下行链接小型高清图像窗口或广域快照的灵活组合,而无需先解压缩数据。

它也可以在特定带宽下使用,只需提取部分JPEG2000数据并截断流的更高分辨率部分即可。这对于传输图像数据非常有用,因为图像中最重要的信息可以使用不到20%的JPEG2000数据流来传递。由于每个视频帧都经过单独压缩,因此进一步增强了这种误差恢复能力,这使得数据链路能够以较少的纠错方式运行。因此,与其他压缩标准相比,JPEG2000对数据丢失的担忧较少,后者需要来自多个帧的信息进行解码。最后,JPEG2000数据可以在同一原始流中以不同的分辨率和质量进行查看。

虽然JPEG2000编码器的实现相当复杂,但FPGA提供了大量资源,可以在图像处理设计中包含此功能。有一些 IP 核可随时集成到 FPGA 设计中,或者 FPGA 可用于与 ADV212 ASIC(JPEG2000 片上系统)接口。这两个选项都有自己的优点和缺点(表2),这些编解码器选项中的任何一个都可以在COTS硬件上使用,例如阿尔法数据ADM-XRC-5T2-ADV夹层FPGA板。

表 2:在 FPGA 中使用 IP 核实现 JPEG2000 图像压缩时,与使用连接到 FPGA 的外部 ASIC 设备相比,需要进行设计权衡。

pYYBAGNaRT-ABWyrAABG67PGVxo444.jpg

将 COTS FPGA 硬件用于图像处理器

为了 促进 高级 图像 数据 处理, 模 块 化 FPGA 图像 处理 板 ( 例如 基于 PMC/XMC 的 板 卡 ) 可以 用于 工业 标准 的 嵌入式 计算 系统, 包括 CompactPCI、 VME、 VXS、 VPX、 PCI、 PCI Express 和其他 外 形 规格 中的 系统。这些小型 (74 mm x 144 mm) 模块可与最大的 FPGA 器件一起使用,可用于工作站开发系统,或直接移至坚固耐用的部署监控系统中。对于 JPEG2000 压缩,COTS 板提供 IP 核所需的大量板载内存和/或专用 JPEG2000 专用集成电路。主机计算系统可以轻松控制硬件图像处理器卡以应用用户设置,重新配置FPGA以进行各种视频操作,控制图像窗口,命令目标跟踪以及接收输出视频流。这种COTS硬件通常提供软件驱动程序和API接口,使控制和数据传输在系统中无缝。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19083

    浏览量

    228729
  • dsp
    dsp
    +关注

    关注

    552

    文章

    7958

    浏览量

    347844
  • FPGA
    +关注

    关注

    1624

    文章

    21608

    浏览量

    601078
收藏 人收藏

    评论

    相关推荐

    基于FPGA的重构系统结构分析

      由于重构系统的研究历史很短,目前尚未形成标准的结构形式,在此仅根据已有的应用做初步分析。  按重构的粒度和方式,重构系统可以粗略地分
    发表于 05-27 10:24

    基于PAD的接收机动态重构结构应用

    重构结构是一种可以根据具体运算情况重组自身资源,实现硬件结构自身优化、自我生成的计算技术。动态重构
    发表于 07-10 07:56

    怎么设计PAD在接收机动态重构结构中的应用?

    重构结构是一种可以根据具体运算情况重组自身资源,实现硬件结构自身优化、自我生成的计算技术。动态重构
    发表于 08-13 07:56

    如何设计一种基于NiosⅡ的重构的DSP系统?

    一种基于NiosⅡ的重构DSP系统设计
    发表于 03-17 06:41

    一种高档FPGA重构配置方法

    求大神分享一种高档FPGA重构配置方法
    发表于 04-29 06:16

    一种重构测控系统的设计构想

    本文基于现代测控系统的通用化结构特征和重构的现场可编程门阵列FPGA技术的发展,提出一种重构测控系统(Reconfigurable Mo
    发表于 04-30 06:40

    怎么实现基于FPGA的动态重构系统设计?

    本文提出的通过微处理器加FPGA结合串行菊花链实现重构的方式,实现了动态重构FPGA结构设计的一种
    发表于 05-10 06:22

    二维DCT在粗粒度重构处理器上的实现

    针对粗粒度重构处理器的特点,提出一种二维离散余弦变换的设计方法,该方法
    发表于 04-14 08:44 18次下载

    一种重构计算系统设计与实现

    重构计算系统是一种新的实现计算系统的方法, 它补充了原有通用处理器和专用硬件计算系统的不足,
    发表于 11-30 15:17 10次下载

    用于视频处理重构处理器的设计

    设计了款新的应用于 多媒体处理 领域的重构多媒体流处理器。该
    发表于 08-18 14:48 21次下载
    用于视频<b class='flag-5'>处理</b>的<b class='flag-5'>可</b><b class='flag-5'>重构</b>流<b class='flag-5'>处理器</b>的设计

    一种新型的动态重构总线时间同步方法

    一种新型的动态重构总线时间同步方法_李超
    发表于 01-07 18:56 2次下载

    一种针对重构处理器流水线简化编程的设计范式

    一种针对重构处理器流水线简化编程的设计范式_周君宇
    发表于 01-07 21:39 0次下载

    一种面向流应用加速的重构处理器_曹姗

    一种面向流应用加速的重构处理器_曹姗
    发表于 01-07 22:14 0次下载

    面向重构系统的一种功耗相关硬件任务调度算法设计

    重构系统是指以软件改变硬件结构以实现具体应用的计算平台,般由非柔性但可编程的处理器和柔性的以程序控制
    发表于 11-22 07:05 847次阅读
    面向<b class='flag-5'>可</b><b class='flag-5'>重构</b>系统的<b class='flag-5'>一种</b>功耗相关<b class='flag-5'>硬件</b>任务调度算法设计

    一种基于体系结构模板的粗粒度重构SoC设计方法

    针对传统的面向应用领域的多核SoC体系结构设计方法存在系统结构探索空间大、设计复杂度高等问题,提出了一种基于体系结构模板的粗粒度重构SoC系统架构设计
    发表于 11-29 10:12 0次下载
    <b class='flag-5'>一种</b>基于体系结构模板的粗粒度<b class='flag-5'>可</b><b class='flag-5'>重构</b>SoC设计<b class='flag-5'>方法</b>