首页资源分类应用技术消费电子 > CEVA-XM4™智能视觉处理器

CEVA-XM4™智能视觉处理器

已有 445117个资源

下载专区

上传者其他资源

文档信息举报收藏

标    签:CEVA视觉处理器

分    享:

文档简介

为了满足客户对更多功能的需求以及制造商对差异化的需求,算法越来越新,也日趋复杂,因此为使功能与可接受的电池续航能力之间保持微妙的平衡,必须找到替代底层视觉处理架构的方法。这种替代方法依赖于采用专用的片上视觉处理器,这种处理器能够处理目前及未来的复杂图像和视频算法。准确地说,CEVA-XM4就是这种全新设计的完全可编程处理器,用于加速处理要求最为严苛的图像和计算机视觉算法。 

本文件概述了CEVA-XM4处理器的功能、架构、特点、目标应用、用例和代码示例。

文档预览

TM < CEVA-XM4™ 智能视觉处理器 白皮书 Liran Fishel(架构总监) Yair Siegel(产品营销总监) 2015 年2月 保密文件•未经授权严禁复制 目录 1 引言 1 2 计算机视觉市场 1 3 平台概况 3 4 目标应用 4 5 减轻CPU负担 6 6 处理器功能和配置 7 7 CEVA-Connect 11 8 开发环境 12 9 编译器矢量化. 12 10 总结 14 Copyright © 2015 CEVA, Inc. 版权所有. CEVA-XM4 白皮书 1 引言 消费类电子产品发生了巨大变化。原先只在台式机中使用的处理密集型的图像增强、计算图像学和计算机视觉算 法,如今正向带摄像头功能的智能手机、平板电脑、可穿戴设备及其他嵌入式移动设备进军。这一趋势使得目前的 底层硬件能力达到极限,无法再适应性能、空间和功耗方面的需求,但我们看到的这些依然只是冰山一角。 移动图像和视觉近来的发展考验着这些设计极限,其中最明显的例子是双摄像头智能手机,这种手机配备有为实现 3D视觉及扫描功能的摄像头和整条信号处理链条,以及其他许多图像增强功能。消费者可能认为自己已经更加接近 理想的“摄像头+手机”融合解决方案,但设计人员和设备制造商很清楚,这样的解决方案是两相妥协的结果,因为虽 然算法越来越先进,但所依赖的仍是原有硬件。 这类硬件,通常包括CPU和GPU,在当初设计时并非用于支持此类处理密集型图像算法,因此这会迫使开发者在功 能和图像质量方面做出妥协,以便与硬件的处理能力相匹配。即便如此,总体应用仍存在功耗过大的问题,极大缩 减了电池的续航能力,即便是不太敏感的用户也发现耗电实在太快了。 为了满足客户对更多功能的需求以及制造商对差异化的需求,算法越来越新,也日趋复杂,因此为使功能与可接受 的电池续航能力之间保持微妙的平衡,必须找到替代底层视觉处理架构的方法。这种替代方法依赖于采用专用的片 上视觉处理器,这种处理器能够处理目前及未来的复杂图像和视频算法。准确地说,CEVA-XM4就是这种全新设计 的完全可编程处理器,用于加速处理要求最为严苛的图像和计算机视觉算法。 本文件概述了CEVA-XM4处理器的功能、架构、特点、目标应用、用例和代码示例。 2 计算机视觉市场 在各种图像和视觉市场中,有以下几种常见的趋势: 1. 需要设备和摄像头功能差异化。 2. 用户希望用一台设备就能同时实现通信和拍照/录像功能 3. 图像处理移向终端设备(相对于依赖云端处理) 4. 在固定功耗预算情况下,计算负载激增 5. 成本压力(相同功能条件下) Copyright © 2015 CEVA, Inc. 版权所有. 1 CEVA-XM4 白皮书 设备差异化:如今的市场发展迅速,竞争激烈,设备和原始设备制造商(OEM)都必须展现出真正的差异化。为 此,许多制造商将注意力转向摄像头模块。他们不断改进摄像头本身,同时增加许多新功能和技术,例如用于提高 低照度处理的复杂计算图像学功能、用于手势识别的自然用户界面(NUI)以及增强现实(AR)和深度感知功能。 在更高层面,物联网(IoT)时代已经来临,大部分设备已经或即将连接到云,其中许多视觉分析都在将在云端完 成。然而,我们看到图像和场景分析越来越复杂,因此将处理移至摄像头端以减少云/服务器处理负载已成为趋势。 主要原因如下: • 摄像头端处理越来越便宜,而云/控制室处理(一次性控制大量终端设备)则较昂贵 • 更好的实时响应性(云搜索/排序,而终端设备为云端引擎提供特征值) • 减少(向云发送原始视频的)耗电量和成本 • 隐私考虑 除了智能手机和平板电脑外,其它电池容量有限的超小型设备也必须追求最佳能耗效率,例如可穿戴设备、无人机 和机器人。另外,汽车和安防监控系统也同样需要达到最佳能效,因为在极端的天气条件和变化环境中,汽车和监 控系统都必须保持良好散热,并且对耗电量相当敏感。 虽然所有应用对计算能力的需求都在迅速增长,但电池自身的局限性依然没有改变,这给下面四个关键领域中的移 动和嵌入式视觉和图像系统设计人员带来了巨大的效率压力:智能手机与平板电脑;汽车电子;消费类和可穿戴设 备及安防监控系统。 Copyright © 2015 CEVA, Inc. 版权所有. 2 CEVA-XM4 白皮书 图1:主要市场细分中的智能视觉系统设计人员通过积极应用更高级的算法和更先进的技术来取得区别于其他厂商的差异性,但必 须充分认识到目前电池的局限性依然没有改变,需要在这两者之间找到平衡点。 3 平台概况 CEVA-XM4是一种完全可编程且完全可合成的数字信号处理器(DSP)和内存子系统IP核心,性能极高,耗电量 低。这种系统的设计旨在最有效地满足计算机视觉和图像处理应用的要求。核心架构由标量和矢量单元、超长指令 字(VLIW)和单指令多数据(SIMD)功能组成,结构独特。DSP还支持定点和浮点运算,能够通过专用端口轻松 连接硬件加速器,支持通过标准AXI总线实现系统互连。 CEVA-XM4还包含一个功率调节单元(PSU),可提供先进的功耗管理功能。此功能将控制系统中的所有时钟信 号,并控制各电源域的开关。因此,PSU支持开发人员将系统调节为应用所需的处理能力,使功耗达到最低。 CEVA-XM4 IP平台除了DSP本身外,还包含: • 完善的应用开发者套件(Application Developer Kit, ADK),其中包含预优化的计算机视觉算子库(CEVACV);直接嵌入主处理器的软件框架,用以支持从CPU到DSP分流/加速CV任务;以及自动在框架级别管理系 统和内存任务的软件模块。所有这些都简化了算法开发人员的工作负荷,减轻了CPU负担,同时提高了效率, 减少了系统功耗。 • 商用级软件产品支持,例如超分辨率(Super Resolution)和数字视频稳定器(Digital Video Stabilizer)。 • 基于Eclipse的综合软件开发环境,包括优化的C/C++编译器、调试器、Profiler和DSP周期精确的模拟器。 • 功能齐全的硬件开发平台,包含相关设备驱动程序和外围设备,能尽可能早的并迅速地进行原型设计。 • 完善的合作伙伴生态系统,通过与业内一流的技术提供商的合作,CEVA将提供可即时商用的高效优化算法。 Copyright © 2015 CEVA, Inc. 版权所有. 3 CEVA-XM4 白皮书 软件层 CEVA软件产品 • 数字视频稳定器(DVS) • 超分辨率 (SR) 合作伙伴软件产品 • 人脸检测与识别 • 情感表情识别 • 手势识别 • ADAS算法(FCW, LDW) • 3D深度图创建 软件工具集 应用开发 套件(ADK) Android框架(AMF) CEVA-CV库 主处理器侧CEVA-CV API RTOS SmartFrame - 自动处理系统和内存传输 CPU-DSP Linker - 通信层 硬件 开发套件 硬件层 CEVA-XM4图像和视觉处理器 图2:除了针对视觉和图像进行优化的全可合成DSP外,CEVA-XM4平台还包含多个层次的软件支持,从硬件到开发套件,再到可 即时商用的应用库。 CEVA-XM4继承了其前代产品CEVA-MM3101的成熟可靠的基础架构、工具和生态系统,并具有向后兼容性。 4 目标应用 CEVA-XM4可以在SoC中用于执行智能视觉处理,减轻CPU和GPU的负担。主要的应用涉及3D视觉中的图像制备, 计算图像学领域中的图像质量增强,以及以前序图像增强算法的结果作为输入的复杂视觉感知和分析。 CEVA-XM4 - 智能视觉处理 3D 视觉 右眼图像 深度数据 左眼图像 计算 图像学 图像,数据 视觉 感知 - 图像信号处理器(ISP)* - 图像配准(Image registration) - 即时降噪 - 深度图生成 - 图像再对焦(Refocus image) - 视频防抖 - 低照度图像增强 - 缩放 - 超分辨率 - 背景移除 - HDR - 对象识别 - 对象跟踪 - 增强现实(AR) - 自然用户界面(NUI) * 这些是更适合硬件加速器完成的功能。 编码* Copyright © 2015 CEVA, Inc. 版权所有. 4 CEVA-XM4 白皮书 图3:在3D图像数据制备、计算图像学处理以及对输入数据进行视觉感知和分析处理时,CEVA-XM4通过分担运算密集型处理以减 轻CPU和GPU的负担。 支持的计算机视觉算法包括用于3D扫描的实时3D深度图生成和点云(Point Cloud)处理、对象检测以及对象和图 像识别算法,包括从ORB、Haar和LBP,一直到使用如卷积神经网络(CNN)等神经网络技术的深度学习(Deep Learning)算法。 支持的计算图像学算法包括再对焦、背景替换、缩放、超分辨率、图像防抖、HDR、降操和低照度图像增强等。 数字变焦 图像 再对焦 低照度图 像增强 超分辨率 计算摄影 视频防抖 对象 识别 3D扫描 3D 视觉 视觉感知 和分 对象 跟踪 深度图 深度 析 学习 (CNN) 3D Registration 自动分类 表情和 意图检测 点云 增强现实 (AR) 图4:CEVA-XM4在许多应用中都兼顾效率和高性能,包括对1080p或4K视频流执行计算机视觉处理,将深度生成与视觉处理相结 合,以及同时运行多个应用的能力。 下面是若干用例示例,说明了使用CEVA-XM4可实现哪些功能: • 对视频流进行计算机视觉处理(1080p,4K)。 • 将深度信息生成与视频处理组合使用(例如,深度图+ 增强现实,深度图+ 3D扫描)。 • 同时运行多个应用处理(例如,手势识别+ 人脸检测+ 表情检测+ 眼球跟踪+ 可选深度图)。 • 高分辨率图像(例如,2000万像素图像的超分辨率)或视频(例如,以1080p或4K视频再对焦)多帧增强算 法。 Copyright © 2015 CEVA, Inc. 版权所有. 5 CEVA-XM4 白皮书 5 分担CPU负荷 CEVA-XM4处理器通过一个鲁棒的软件基础架构和框架进行扩充,该框架名为应用开发者套件(ADK)。这是一整 套库、软件模块和驱动程序,支持直接从CPU访问已全面优化的库,无需直接对CEVA-XM4编程。 通过减轻设备主CPU和GPU执行运算密集型图像和计算机视觉处理任务的负担,高效的CEVA-XM4显著减少了系统 整体功耗,同时提供了充分的灵活性。算法开发人员可以利用CEVA-XM4的可编程架构来实现自己的专用软件,从 而能够处理独特的用例,实现独特的功能,让自己的产品与众不同,脱颖而出。 CPU 操作系统框架 CEVA-XM4 用户CV库 CEVA-CV库 计算机视觉API RTOS(调度程序) CPU-DSP链接 Smartframe(主机侧) CPU-DSP Link SmartFrame 图5:CEVA的应用开发者套件(ADK)是一整套库、软件模块和驱动程序,支持从CPU直接访问已全面优化的库。 工具 CEVA-CV SmartFrame 描述 • 计算机视觉函数 • 基于OpenCV • 已针对CEVA-XM4预优化 • 通过软件管理所有数据传输、框 架和tile • 管理多CV内核模块的级连与执行 软件开发人员的视角 • 独立于DSP ISA • 支持使用标准通用库(如OpenCV)进行开发 • 提供优化的性能 • 独立于系统和内存构架 • 通过将多个CV内核链接在一起,避免外部内存 访问,以节省内存带宽 RTOS • 在DSP上进行任务调度 • 处理优先级和任务切换 CEVA-Link 驱动程序 CEVA-CV API Android Multimedia • CPU-DSP通信通道和相关驱动程 序 • 开发者在CPU域中访问CEVA-CV库 的接口 • 将CEVA-CV集成到Android系统的 参考设计 • 独立于CPU与DSP之间的接口 • 自动执行CPU到DSP的负载分担 • 独立于所使用的CV模块 • 简化CV库的访问 • 简化CEVA-CV库与任何基于Android的应用处 理器的集成 Copyright © 2015 CEVA, Inc. 版权所有. 6 CEVA-XM4 白皮书 Framework (AMF) • 适用于在Android应用系统中利用DSP分担CV 处理,以提高性能,减少功耗。 CEVA ADK 功能列表 6 处理器功能和配置 架构概述 CEVA-XM4的核心是一个高效、可编程的矢量处理DSP。它基于专门针对‘像素处理’的VLIW/SIMD架构,具有14级 流水线,包含9个能并行工作的不同单元,支持不同类型指令的灵活组合。所有指令都支持条件执行,并已经过优 化,减小代码大小。 AXI Master AXI Master and Slave L1程序存储 器 Program MSS AXI Master Cache Controller Program DMA 仿真 Profiler 片上仿真 (OCEM) 实时Trace 程序控制单元 Sequencer Dispatcher 中断 标量处理单元 SPU0 SPU1 SPU2 SPU3 全局寄存器文件 加载/存储单元 LS0 LS1 PSU Vector Processing Unit ISA 矢量 XTEND FPU VPU0 VPU1 矢量寄存器文件 数据存储器子系统 消息队列 AXI主控 数据DMA DMA 队列管理器 CEVA-Connect AXI Masters and Slaves TCE User-defined coprocessors L1数据 存储器 图6:CEVA-XM4处理器系统框图显示了独特的标量/矢量单元以及超长指令字(VLIW)的混合架构。XM4 DSP还支持定点和浮点 运算,能够通过专用端口方便地与硬件加速器互连,支持通过标准AXI总线连接到系统。 Copyright © 2015 CEVA, Inc. 版权所有. 7 CEVA-XM4 白皮书 CEVA-XM4可以在尽可能小的内存带宽的条件下处理大量数据。它实现了减少DDR内存与内核之间的数据传输,利 用专利技术完成数据交迭和处理。这些方法不仅能减少总线上的系统负载,还能显著降低功耗。 浮点功能 在许多需要宽动态范围和高精确性的计算机视觉应用中,都要求具备执行浮点运算的能力。CEVA-XM4支持在标量 和矢量单元中进行符合IEEE-754标准的单精度浮点运算。每个标量单元在一个周期中可执行一个浮点运算,而矢量 单元在一个周期中则可以执行多个浮点运算。CEVA-XM4支持硬件完成所有舍入模式。 非线性函数 许多计算机视觉算法(如Haar、Connected Components和SURF)要求有能力对输入数据高效执行倒数和开方运 算。CEVA-XM4能在每个周期中以定点或浮点格式执行多个倒数、开方和开方倒数运算。 高效使用MAC 许多图像和计算机视觉算法需要大量使用乘法和乘累加(MAC)运算。为了应对现今高帧率、大画幅视频所要求的 超高处理速度,CEVA-XM4含有128个MAC单元。使用这一数量的乘法器需要超高内存带宽,而这会导致很高的功 耗。 为了降低带宽要求,并使功耗保持在最低水平,CEVA-XM4采用了一种创新机制,这种机制基于数据复用,只需极 小一部分内存带宽,就能执行128个MAC运算。输入源中具有重叠数据的内核可以利用这种机制来提高资源利用 率。该机制具有充分的灵活性,支持开发人员简单地实现任何二维滤波器。 利用这种机制的相关算法包括Harris角点检测器、双边滤波器、2D相关、2D卷积、高斯滤波器、KLT特征跟踪 器、Nagao Matsuyama滤波器(这些算法需要绝对误差和)和Sobel滤波器。 图7是对连续数据流(如帧像素)处理运算示例。在此示例中,使用相同的输入像素和滤波器系数来同时计算四个 输出结果。此示例说明了如何仅使用176位宽的输入数据完成总位宽为512位的16个乘法操作。 Copyright © 2015 CEVA, Inc. 版权所有. 8 (OCEM) Real-time Trace Vector Register File CEVA-XM4 Block Diagram User-defined coprocessors CEVA-XM4 白皮书 输入像素 0123456 输入像素 滤波器系数 输出结果 0123 XXXX ABCD + 0 1234 XXXX ABCD + 1 2345 XXXX ABCD + 2 3456 XXXX ABCD + 3 图7:在此像素行数据处理运算示例中,使用相同的输入像素和滤波器系数来同时计算四个输出结果。此示例说明了如何仅使用 176位宽的输入数据完成总位宽为512位的16个乘法运算。 CEVA-XM4 MAC 并行随机内存访问 图像和计算机视觉应用开发人员面临的其中一个挑战是需要处理的数据的“随机性”。例如,提取图像特征时(例如 使用Canny、SURF和Harris算法),被提取的特征分散在整个图像中,这限制了标准矢量处理单元(VPU)处理这 些特征的能力。 然而,使用CEVA-XM4在单个运算中访问多个内存位置这个独一无二创新的功能,可以将多个特征加载到单个矢量 寄存器中,进而释放矢量处理单元(VPU)的高性能处理能力。CEVA-XM4在典型的视觉处理内核中使用并行内存 访问,相对于不使用这一机制的最优化实现,性能将提升8倍。这种机制在将标准标量代码“矢量化”,进行并行运算 时非常有用。 Copyright © 2015 CEVA, Inc. 版权所有. 9 CEVA-XM4 白皮书 b7 b6 b5 b4 b3 b2 b1 b0 矢量寄存器 L1内存 图8:CEVA-XM4在单个运算中访问多个内存位置的能力意味着它可以将多个特征加载到单个矢量寄存器中。这种在典型的视觉内 核中使用并行内存访问的方法能比最佳替代方案实现8倍性能提升。 内存子系统 CEVA-XM4存储器子系统(MSS)能被方便地集成于整个SoC之中。MSS由程序存储器子系统(PMSS)和数据存 储器子系统(DMSS)构成。PMSS包含L1指令存储器和可选的四路缓存。 CEVA-XM4最高支持4GB指令存储器空间和4GB数据存储器空间,并具有多达9个独立物理接口– 其中8个用于数据 存储器,1个用于程序存储器。这将使内核在并行访问程序和数据存储器的同时实现紧耦合扩展(TCE)。 MSS中集成的AXI端口完全符合高级微控制器总线架构(AMBA)V3和V4标准。MSS还包括一个I/O地址空间,此 地址空间使用专用指令和专用空间配置与端口,对于将外围设备连接到处理器非常有用。 Copyright © 2015 CEVA, Inc. 版权所有. 10 CEVA-XM4 白皮书 7 CEVA-Connect CEVA-XM4具有一个专用数据DMA,还有多达8个数据流量管理器,这些管理器能处理流入和流出L1存储器的所有 数据流。 数据DMA支持多种类型内存传输,旨在简化和减轻软件开发人员的工作负担。数据DMA支持字节对齐传输流入和 流出数据;这可以帮助实现数据金字塔缩放,而无需使用者考虑数据源和目标的对齐问题。DMA的另一个基本功能 是支持2D数据传输。此功能简化了帧瓦片的数据传输,用户不必再逐行处理传输。 数据流量管理器包含多达8个队列管理器(Queue Manager)。 每个队列管理器可以处理传入/传出外部硬件加速 器、外部存储器、主处理器或其它CEVA-XM4 DSP的数据流。 队列管理器使用专用流量控制总线,严密监控CEVAXM4 L1存储器中的缓冲区以及外接设备的缓冲区。 进而,队列管理器将根据缓冲区的状态来启动DMA传输。使用 这种方法能在CEVA-XM4和外部数据源之间实现紧耦合数据传输,无需主处理器的任何开销。 CEVA-XM4 内部 存储器 数据流量 管理器 输出队列 输入队列 输出队列 输入队列 输出队列 输入队列 缓冲区 缓冲区 缓冲区 硬件加速器 DDR存储器 内核 图9:CEVA-XM4有多达8个专用流量管理器,这些管理器能自动处理所有L1存储器的输入(流入)和输出(流出)数据流。这些 操作是根据缓冲区的状态启动DMA传输来执行的。使用这种方法能在CEVA-XM4和外部数据源之间实现高效紧耦合数据传输,无 需耗用额外的DSP和主处理器资源。 Copyright © 2015 CEVA, Inc. 版权所有. 11 CEVA-XM4 白皮书 8 开发环境 CEVA-XM4具有丰富的CEVA工具和基础架构,包括基于Eclipse的软件开发环境、C/C++编译器、文档、链接器、 调试器和性能分析器(Profiler): • C/C++编译器。支持自动矢量化、类似OpenCL语法的C语言扩展、用于C语言编程的矢量类型和各种Vec-C支 持。 • 软件模拟器。Windows或Linux上运行的高速指令集和周期精确模拟器。这些模型用于软件和应用开发,提供 了对处理器资源和流水线的全面可视性。这些模拟器还可用于模型原型设计,例如ESL系统仿真工具。 • 片上仿真。支持仿真功能和缓存性能分析。处理器寄存器、反汇编和存储器(内部和外部)视图。 • 多核调试环境。允许连接和模拟内核的多个实例,其中每个实例运行不同的应用。模拟和仿真中均支持多核调 试。 • 开发电路板。带CEVA-XM4内核和内存子系统的PCB。这些电路板可用于运行实时应用,也可用于演示、硬件 原型设计和性能评估。 9 编译器矢量化 CEVA-XM4编译器支持多个编程级别,允开发人员在开发工作复杂度和性能方面找到最佳平衡点。处理器具有较高 的SIMD功能。为了最大程度地利用这些功能,编译器包含开发者可以使用的多个C级别编码选项。 自动矢量化C代码 C编译器内置使用VPU矢量运算单元将C代码转换为SIMD指令的功能。以下示例列出了将在VPU上自动转换为SIMD 运算的C代码。代码将转换成单个SIMD运算,此运算将在一个周期内执行最多32次循环。 for (i=0; i

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。