技术文章
2020/11/04

【电子工程专辑】为即时视讯处理选择SWaP-C最佳化方案

【新闻参考资料】

建构一个运算及资源馀量皆超乎预期的系统可以既便宜又简单,但一提到边缘装置或终端,明智的最法是最佳化其尺寸、重量、功率与成本(Size、Weight、Power与Cost,简称SWaP-C)。

随着边缘运算市场持续发展,区分边缘系统和终端(endpoint)产品对设计人员来说非常重要。边缘系统向来复杂,相对而言终端会简单一些,可以说像一个感测器加上特定应用积体电路(ASIC)一样简单。无论是建构边缘系统还是终端产品,可以肯定的是,设计人员会选择那种能够以合理的前期成本达成可控营运开销之元件。接下来我们会以两篇文章分别讨论为什么让成本分析到此结束时是错误的,以及该如何避免该问题产生。

建构一个运算及资源馀量(Headroom)皆超乎预期的系统可以既便宜又简单,但一提到边缘装置或终端,明智的最法是最佳化其尺寸、重量、功率与成本(Size、Weight、Power与Cost,简称SWaP-C)。边缘系统若过度配置可能有害SWaP-C表现;若发生在终端,SWaP-C过度配置会是一场灾难。

以摄影机来检视此状况是一个很好的起始点。因为它无处不在,无论在笔记型电脑、游戏机、平板电脑、保安系统及智慧家电中皆有摄影机存在,特别是每支智慧型手机都还配备有两个以上的摄影机。

根据LDV Capital的估计,地球上的摄影机数量已经比人口数量多很多倍,到2022年,估计运作中的摄影机总数将达450亿台(全球人口于2018年已达7.594亿人)。在2019年,每天、每分钟都有累计超过500多个小时的视讯上传到YouTube,这意味着每小时有超过3万小时的视讯。而YouTube仅是每日影像撷取量的一小部分,人类可能无法看遍所有被产出的视讯。

且话说回来,大部分的影像撷取也不一定是供人眼观看,有更多是为了未来检索用途所建立的记录与存档,更可能是用做讯号处理和AI演算法自动分析。这就有一个为满足AI需求所生之潜在而庞大的市场,其感兴趣的情境及配套会是什么?

一种常见情境是使用多个摄影机/感测器监视场景以找出异常事件,例如非法入侵者等诸如此类用途;或使用多个摄影机/感测器的传输资讯进行车辆导航。

视讯应用

对于某些场景之安全应用,监视影像仅被存档,并且仅在发生某些异常事件时才会进行查看。而其他安全方面的应用,必须透过多台摄影机进行持续性、即时性的影像监控。由于它繁琐且必须连续监视,这些应用程序越来越多地转向使用AI系统进行自主监视;AI监视系统不会有人类监视的缺点,如注意力分散、疲倦、请病假等。

在其他应用中,视讯可以单独使用或透过其他感测器数据进行扩增,并用于车辆导航。在这种近乎苛刻之应用中,准确性、延迟和可靠性表现非常重要,因为能否始终保持正常运作攸关人命。毫秒等级的延迟可能是避免碰撞发生的决定性因素,所以通常会在终端完成视讯分析与感测器资料融合。

此外,以无线传输数据并不一定可行,也可能并非随时可行;取决于需求负载的变化,资料传输至云端服务器可能会出现几秒钟的延迟。而相较于接乎零成本的本地运算,在云端进行分析与储存算是昂贵的。

在本地处理影像系统数据有两种基本架构:一是透过普通电脑上收集、处理及分析一些感测器资料,即所谓的「边缘处理」(edge processing);二是将处理资源分散至更接近每个感测器的位置,执行本地化的「终端处理」(endpoint processing)。方法的选择会对系统之SWaP-C表现、可扩展性与未来的迷你化产生关键性影响。

边缘处理

边缘处理架构通常基于一般用途之可编程多媒体处理电脑,这类电脑配备感测器输入端口与网路连结,具有高频宽大量处理能力,执行Linux等作业系统。这类电脑通常内建多GB之高频宽DRAM,因为其多媒体处理器被设计为能有效执行不同工作负载。

有一些电脑配备更多的RAM与更强大处理能力,因为得在最坏的情况下也能提供运算馀量。图1是三种热门的讯号处理电脑主机板,在尺寸、功率及像素处理性能上有所不同。为这类系统添加更多的感测器或许不需要更高处理性能,取决于该设计的饱和程度;但这种超载可能在会少数几种配置产生耗电和散热问题。

图1:三种不同的讯号处理单板电脑。

终端处理

终端处理并非使用普通多媒体处理电脑,而是将高频宽多媒体处理移至感测器,或在实体上非常接近的一组感测器。举例来说,终端处理器节点可以是包含FPGA和DRAM的模组,透过MIPI连接端口与两个或多个视讯影线感测器连结。

FPGA载入了执行特定功能的位元流,例如影像辨识/分类或影像品质调整,以及镜头失真校正/影像旋转,除了这两个例子还有其他近乎无限多的范例。每个节点都支援一个感测器或一组相关的感测器,而且每个节点执行的任务不同。

在这类终端处理架构中,第一层处理是高频宽资料处理/资料缩减(data reduction),是在感测器附近完成。节点输出的可以是经过分析的低频宽资料,以大幅缩减随后在上游进行分析的资料集大小。例如,节点输出的可以是针对场景中已移动之某些物体的指示,以及物体的初步分类,可与其他节点的输出一起发送到附近的处理器,借由分析这些预处理的资料流来推断整个系统正在观察的内容。

在这种情况下,邻近的处理器是以更简单、功耗更低的处理器取代前一种架构的高性能多媒体边缘处理器。这类处理器能运作于大幅减少的预处理资料,分布式系统也能产生相同的整体结果。可以依据需要透过添加节点或将节点扩展至更高性能的硬体,打造具备更多或更高分辨率/影格率感测器的系统变体。这种分布式架构非常适合模组化扩展与升级。

图2为两种能够支援4K/60 AI视讯处理FPGA+DRAM处理节点范例。右侧是采用常规BGA封装的Lattice ECP5系列FPGA和DDR3 DRAM;左侧是晶圆级封装组件,采扇入式(Fan-in) WLCSP封装的DRAM,整个模组尺寸与右侧的常规BGA型FPGA封装的尺寸大致相同。WLCSP DRAM大约只有米粒大小,但容量为256 Mbit,频宽与x16 DDR3相同。左侧基于WLCSP的节点之ECP5 FPGA功耗约为1瓦,另外还有2颗DRAM执行4K影片工作负载。

图2:FPGA +2个DRAM AI处理器节点,支援4K/60视讯处理(CSP位于左侧,常规BGA位于右侧)。

SWaP-C最佳化

从研发的角度来看,在边缘处理架构中使用现成的多媒体电脑很有吸引力,因为硬体已经设计好了,使用起来很简单,只需将摄影机和感测器以缆线连结,然后使用在标准作业系统下执行的工具即可专注于软体开发。但这是对功耗/空间最佳化的解决方案吗?会是符合大众市场产品的最具成本效益解决方案吗?

可以将硬体提供的「资源馀量」视为过度配置吗?换句话说,你的硬体功能超出了该应用所需,也带来过度配置的相关成本。

过度配置成本

除了实际的硬体成本,超额成本还可以在硬体的功耗和实体尺寸(体积+重量)中发现。根据应用,这些可能是关键的决定因素;举例来说,汽车导航系统的重量、尺寸及功耗限制,与中型负载无人机的导航系统不尽相同,但在威胁侦测和避免碰撞方面有许多相似要求,特别是无人机具有除了X轴、Y轴以外还有Z轴之运动自由度需求。

以处理器和记忆体芯片来说,常见之设计过度配置为:处理器可能比所需要的功能更强大/速度更快;对记忆体来说,由于频宽需求以及标准的记忆体架构及容量,可能提供比应用实际需要更多的记忆体位元(bits),这些多馀的记忆体容量会消耗不必要的功率。

记忆体位元/频宽问题的一个范例是4K / 60视讯影格缓冲。对于24 位元视讯,仅需要200Mb,但是频宽需求须达DDR3性能。JEDEC标准DDR3之最小容量为1Gb,因此使用DDR3记忆体至少衍生500%的容量超额配置。若能不只以频宽为考量,还能平衡记忆体容量的选择,以正确的容量提供合适的频宽,将可大幅地降低整体系统功耗。

功率之隐藏成本

功率是一个特别敏感的参数,因为它的成本往往以不同方式隐藏来呈现。一种是电源供应器的需求,更高功率意味着在电池供电的装置中,在相同的运作时间下需要更大容量电池,而更大的电池容量通常意味着更大的实体尺寸、重量及成本。电池往往决定了系统装置之外观大小尺寸,因此若能将产品之功耗降至最低特别重要,一来可以使外观尺寸缩小,也意味着使用的元件材料更少,进而降低整体系统成本。

另一种功率隐藏成本是散热的考量;设计良好的BGA和PCB通常无需散热器即可承受高达1瓦的功率,取决于透过锡球将热量传导到PCB以及透过封装表面的对流来散热。一旦达到特定产品的功耗阈值就得使用散热器。较高的功耗阈值取决于气流,即需要添加风扇等装置。

图3中显示了图1中两个配备散热器的系统范例:其中一个必须考虑散热能力低至5到10瓦的主机板冷却系统。对于许多应用,散热解决方案的体积与重量的需求远远超过其处理器板卡所设计的可支援程度。

图3:图1范例的处理器板卡配备的散热解决方案。

 

因为应用于终端架构的FPGA/DRAM节点功耗小于1瓦,使用终端处理方法比边缘处理方法实现的多孔径讯号处理系统更具有显着的SWaP-C优势,这来自于系统在散热解决方案的过度配置影响。而在接下来的文章将检视不同记忆体对终端处理节点的SWaP-C影响,并将介绍针对小尺寸影像应用最佳化的一种高频宽记忆体架构。