分享:显示技术开发与优化入门
数字显示器和标牌随处可见。你可能在购物中心和医生办公室看到它们不断涌现。从视频墙到AR试衣镜,再到点餐菜单,数字标牌无处不在,并正在成为日常购物体验的一部分。
获取全新的英特尔® 物联网开发套件,这是一个完整的软硬件解决方案,使开发人员能够利用英特尔® Galileo 和英特尔® Edison 开发板创建令人兴奋的新解决方案。请访问英特尔® 物联网开发人员专区。
为了开发尖端的显示体验,了解数字标牌的生态系统和基本动机至关重要。数字标牌的经济学完全基于受众覆盖面和影响力,以及将这种覆盖面和影响力归因于有利结果的能力,例如品牌或产品知名度,甚至是实际销售。因此,开发动机通常集中在保证将媒体内容传达给受众,收集印象指标,以及降低维护成本同时提高正常运行时间。目前,标牌范围从独立且完全断开的显示器(其功能略多于标准DVD播放器)到具有完整传感器集成的智能标牌,以及介于两者之间的所有类型。创新机会在于将技术结合起来,以增加所收集信息的价值,吸引受众以带来更多收入,并降低运营成本。
为了实现这些目标,作为开发人员,你拥有多种工具。关键是知道何时应用何种工具,以及如何最好地将每种工具映射到你的情况并适当地应用。
现代数字标牌
一个先进的标牌播放器由以下组件组成
- 媒体播放器是数字标牌的中央指挥系统。它是向受众传递信息的主要驱动力。它最终控制广告时间表并协调解码序列,将存储在驱动器上的媒体显示到屏幕上。系统集成商可以为媒体播放器选择多种开源和付费内容管理系统,这些系统可在各种操作系统和硬件配置上使用。
- 摄像头用于收集数据流,然后处理该数据流以获取匿名受众数据。这些数据可能包括人口统计信息、观众的情绪反应以及标牌达到的印象数(人数)。从摄像头馈送中提取这些有用信息的过程称为计算机视觉。
- 分析包括受众数据和已播放内容的日志数据,然后处理信息以发现趋势和模式。这个过程让企业深入了解他们的受众。它允许调整信息,以及潜在地调整播放器选择播放的时间和内容,以实现最大的收入影响。
- 在部署环境中,安全是必不可少的,以防止黑客攻击和恶意入侵。随着越来越多的数字标牌连接到互联网,并可能面临更广泛的攻击,这一点尤为关键。
- 当播放器出现故障时,例如操作系统死机或硬件故障,远程设备管理是避免现场服务呼叫的第一道防线。它还可以在优化部署方面发挥重要作用,例如通过在夜间或关闭期间关闭标牌来节省能源。此外,远程管理允许对广告内容和播放器软件进行可扩展的更新。
媒体播放器实现
实现播放器软件的方法有很多。了解所涉及的各种硬件组件可以让你更好地利用可用软件来获得所需的结果,无论是更好的性能还是更节能。
CPU是任何英特尔硬件中始终存在的元素。所有英特尔处理器都将拥有一个具有通用64位架构的CPU。虽然你可以使用CPU执行播放器的所有关键功能(调度、解码、播放和计算机视觉),但CPU真正理想用于调度、运行操作系统、执行管理任务(与设备管理相关)、安全以及少量分析。
GPU通常更适合高质量帧渲染和着色,以及计算机视觉应用。英特尔® 酷睿™ 处理器家族中的GPU功能范围从英特尔® 核芯显卡到英特尔® 锐炬™ 显卡,再到英特尔® 锐炬™ Pro 显卡,功能从低到高。
GPU 中有一个经常被忽视的子模块,有时被称为媒体固定功能模块1,其中包含用于编码、解码、转码和某些视频处理过滤器的硬件加速器。媒体模块对于数字标牌应用至关重要,因为它允许将解码从 CPU 和 GPU 的核心卸载。例如,用于 S 平台的第七代英特尔® 处理器家族就拥有用于解码 MPEG2、VC1/WMV9、AVC/H264、VP8、JPEG/MJPEG 等的这些硬件加速器 [2]。为了了解特定处理器的功能,最好查阅数据手册。
系统的最后一个组件是显示模块,它将信号驱动到屏幕或显示器。
为了理解这些组件如何协同工作,下面是一个视频分析场景,展示了如何理想地组合使用各种硬件组件。
视频分析示例数据流
在数字标牌中实施视频分析时,需要了解三个主要数据流。
- 媒体流在屏幕上播放内容。
- 计算机视觉流从摄像机获取数据流并对其进行处理,以获取匿名受众数据。
- 分析流将媒体流和计算机视觉流结合起来,提取有意义的数据。
此解决方案最基本形式的示例可在英特尔解决方案目录中的 RAS-100 零售分析解决方案包演示套件中找到。
媒体流
从左到右,媒体以某种容器格式开始,然后由CPU解复用(基本拆分)成音频、视频和元数据流。视频流由媒体固定功能模块解码成比特流格式,然后与任何元数据一起渲染。渲染后的视频随后被放入与音频缓冲区同步的帧缓冲区中。
计算机视觉流
摄像头将编码流(格式取决于你购买的摄像头类型)发送到CPU。CPU解包编码流并将视频发送到媒体模块进行解码。然后,来自媒体模块的信息可用于CPU使用OpenCV或其他计算机视觉库进行计算机视觉处理。通过媒体模块解码并非严格必要,但取决于应用程序,因为一些计算机视觉库可以处理编码流。
分析流
媒体流的时间戳数据和计算机视觉流的结果被结合起来。然后可以进行各种规模的分析。在本地层面,播放器可能会根据当前的实时受众调整广告。无论是在本地还是在服务器上,数据都可以进行关联以发现简单的趋势,例如哪些广告被观看最多,哪些广告拥有特定人口统计特征的受众最多等。在最高层面,你可以使用机器学习和深度学习来推断某些广告表现良好的原因,并预测某些广告可能产生的影响。将所有这些信息与广告活动或特定事件联系起来,可以进一步增加广告商的价值。
开发选项
既然你对数字标牌的底层工作原理有了一些了解,那么根据你所做的事情,有几个开发选项供你选择
Intel® Media SDK
英特尔® 媒体 SDK 允许对编码、解码、RAW 照片和视频处理以及某些视频处理过滤器进行硬件加速。英特尔媒体 SDK 是利用底层媒体固定功能硬件时使用的软件 API。然而,重要的是要知道你正在对一个优化框架进行编码,而不是直接对硬件进行编码。你应该将其更多地视为一种数据流或过程,由你启动,而不是你一步步控制的东西。
英特尔媒体 SDK 附带了示例和教程,它们有不同的用途。这些示例非常适合命令行功能测试(如安装验证)或评估新功能。教程是带有编码示例的简单入门点。因此,如果你是第一次使用 SDK,你应该从教程开始。
英特尔媒体 SDK 也适用于 Linux 客户端平台,以面向嵌入式 Linux 的英特尔® 媒体 SDK 的形式提供。因此,无论你的主要操作系统是 Windows* 还是 Linux*,你都可以利用这些媒体处理功能。
适用于 Windows 客户端
附加材料
OpenCV
OpenCV (https://opencv.ac.cn/) 是一个用于计算机视觉应用的 BSD 许可库。它是跨平台的,并且在网上有大量的教程可供使用。当系统安装了 OpenCL (https://www.khronos.org/opencl/) 时,OpenCV 可以利用 CPU 和 GPU 上的资源。
英特尔® 主动管理技术
英特尔® 主动管理技术,简称英特尔® AMT,是搭载英特尔® 博锐™ 技术的英特尔酷睿处理器的功能之一。即使在没有操作系统或硬盘驱动器的情况下,它也能够进行带外远程管理。对于数字标牌客户端来说,其具体优势在于能够从硬盘崩溃或无法启动的操作系统中恢复,以及执行例行的设备维护,例如 BIOS 和驱动程序更新。它允许的一些常见应用包括:
- 通过网络实现高分辨率键盘、视频、鼠标 (KVM)
- 远程开机、关机、电源循环
- 将启动过程重定向到不同的映像(如网络共享)
- 远程访问 BIOS 设置
有一个名为 Meshcentral* (http://info.meshcentral.com/default.aspx) 的开源项目,它是开始使用英特尔® AMT 的一种方式。还有一个名为英特尔博锐平台解决方案管理器的应用程序,它附带了几个预安装的插件,如 KVM 远程控制和电源管理。英特尔 AMT SDK 可用于将远程功能集成到现有 IT 基础设施中。有一个英特尔® 博锐™ 论坛,你可以在那里了解并提问有关英特尔® AMT 的问题。
结论
随着第七代英特尔酷睿家族功能的增强,你将获得针对多种主流视频编解码器(如 HEVC 和 VP9)的集成固定功能媒体模块。将媒体处理任务从 CPU 和 GPU 卸载到媒体固定功能模块可防止视频卡顿并允许即时提高质量。
无论你是升级现有的低端数字标牌客户端,还是通过计算机视觉进行增强,本文中的部分都将为你提供起点,帮助你进一步开发。
访问 software.intel.com/retail/displays 了解更多关于开发引人入胜的显示体验的信息。
参考文献
1https://software.intel.com/en-us/videos/get-amazing-intel-gpu-acceleration-for-media-pipelines-webinar-replay,16:00
2http://www.intel.com/content/www/us/en/processors/core/7th-gen-core-family-desktop-s-processor-lines-datasheet-vol-1.html ,第 2.4.3 节