使用CPU/GPU流式传输实时视频

描述

使用标准以太网网络和现成的 3D 游戏 CPU/GPU 硬件,可以实现将传感器数据分发到多个控制台显示器,以支持基于软件的解压缩和显示组合。这减少了视频处理和显示系统对专有硬件技术的依赖。

现代计算平台已经发生了重大变化,以满足3D游戏市场的需求。因此,他们现在提供了一种高性能计算解决方案,非常适合将实时视频和雷达数据从传感器流式传输到显示器的需求。

采用行业标准的处理和图形架构可降低初始系统成本,并通过减少对专业专有硬件的依赖来简化未来的技术增强。跨异构 CPU 和 GPU 硬件运行的灵活软件也是关键。该软件很容易在不同供应商的处理硬件之间移动,并且可以适应行业标准处理和显示技术路线图中的处理和显示功能的升级。为了理解这种不断变化的范式,讨论了视频解压缩和显示,以及软件和中间件接口。

视频解压缩和显示

图形处理器单元(GPU)的不断发展,例如3D游戏市场中使用的图形处理器单元(GPU)使现代显示客户端能够处理传感器解压缩和软件中的显示。使用标准客户端显示硬件,通过软件进行配置以满足不同的操作需求,意味着更多的通用性、更少的变体和更低的系统成本。多通道的全 H.264 解码以及雷达解压缩、扫描转换和多窗口显示均可使用使用标准 CPU 加 GPU 技术的行业标准硬件实现。将GPU用于多个应用的灵活性大大简化了系统架构,因为通用的显示架构可用于雷达、视频和组合显示位置。

由于压缩的传感器数据使用多播协议分发,因此网络负载不受添加额外显示客户端的影响。基于PC或SBC的低成本显示位置可以实现复杂的多控制台实时视频和雷达显示,并且软件可以很容易地在不同操作角色之间重新配置。

现代图形处理器,如NVIDIA和AMD(采用ATI)提供的图形处理器,提供复杂的处理和显示功能,现在已经发展到模糊CPU和GPU之间的区别。此外,软件现在正在发展,允许程序员编写将在选择操作环境的情况下在CPU或GPU上执行的代码。这允许对数据集进行密集操作,以利用GPU上的多个处理器,CPU处理复杂的顺序代码,输入/输出和系统管理。

尽管GPU在计算可以并行化时具有巨大的吞吐量的潜力,但许多问题,甚至是计算密集型问题,都很难以GPU可以利用的方式表达出来。以3 GHz运行的多核CPU并不懒惰,因此让CPU处理数据通常比弄清楚如何使用GPU然后将数据传入和传出以进行处理更有效。将数据移入和移出 GPU 并将传输与 CPU 上的处理同步,可能会抵消并行处理可以提供的任何处理增益。在许多情况下,传输数据和同步将结果交还给CPU的开销是令人望而却步的,而建模和量化这被证明是非常困难的。

在解压缩H.264视频的情况下,GPU提供了一个理想的处理平台。压缩的,因此相对较低的数据速率(例如,对于高清视频信号为20 Mbps)输入数据从CPU传输到GPU。压缩后,数据可以保留在GPU内存中,准备传输到显示窗口。通过这种方式,可以避免其他昂贵的操作(在内存传输和需要同步回CPU方面)。CPU 负责调度将视频数据从屏幕外内存传输到显示窗口,可以选择将视频数据与叠加层相结合,以将符号系统添加到视频窗口中。此过程允许客户端显示应用程序创建显示为视频叠加层(十字准线、目标信息、地理特征等)的图形图层,并使最终显示由多个独立更新的图层组成 - 所有这些都是实时的。直到最近,这种多层实时视频系统还需要高度专业化的硬件产品。但是,3D游戏技术现在支持这种CPU加GPU的压缩和显示。在行业标准硬件中实现这一点的能力是一项重大发展。数据路径如图 1 所示。

图 1:使用服务器端硬件捕获和压缩的摄像机视频可以使用标准 GPU 加 CPU 架构进行解压缩和显示,并由客户端显示合成提供可选的注释。

以太网

在视频和雷达分配系统组合的实际实现中,服务器使用摄像头和雷达传感器捕获数据。此数据由采集服务器压缩,并使用多播网络数据包分发到任意数量的控制台。由于原始摄像头和雷达数据显示在网络上,因此每个控制台都可以选择可用数据的任意组合。其他控制台不会影响网络带宽,而网络带宽仅是分布式传感器数量的函数。网络交换机负责将客户端连接到服务器。客户端控制台可以专用于雷达或视频的显示,也可以在单个显示位置的两个头上显示两者。在所示的示例中,客户端显示器在主头上显示三个雷达视频窗口,在第二个头上显示两个实时视频窗口。对于相机显示,H.264 数据在 GPU 内部解压缩,然后缩放以适合输出窗口。对于雷达显示,使用CPU解压缩雷达视频,然后扫描转换并在三个PPI窗口中的每个窗口中以高达1,920 x 1,200的分辨率显示图形。这整个客户端处理发生在 CPU 负载小于 10% 的中端硬件配置上。网络上的其他客户端维护自己独立的雷达和视频显示。

专为雷达和视频设计的软件可确保在各种显示位置上使用极具成本效益和可互换的硬件,以实现安全、命令和控制以及消防控制应用。对软件的强调和专有硬件的消除确保了设备的未来升级可以采用主流计算和图形组件。这些组件的演进将增强性能、分辨率和数据速率,这些都可以使用相同的软件架构进行处理。

通过软件/中间件进行接口

通过行业标准的硬件处理平台来提供CPU和GPU资源,实现该方案的软件是应用程序和中间件的组合。中间件/软件提供将应用层连接到图形和捕获硬件的驱动程序的组件,处理网络分布、服务质量、缓冲、优先级和显示合成。剑桥像素在其SPx集成雷达处理和显示软件系列中开发了一组服务器和API模块,为雷达和视频传感器数据的传感器到显示器捕获,压缩,分配,处理和显示提供编程API。中间件允许从各种传感器类型捕获和压缩,使用来自第三方制造商的硬件卡,例如技术源的 Condor VC 100x XMC 卡、标准网络摄像机和使用 Matrox 提供的图像采集卡的 RGB 设备。这种与各种第三方传感器和硬件接口的能力提供了显著的灵活性和成本效益。可以使用标准的SPx AV服务器应用程序处理视频的分发,也可以使用集成的雷达处理和显示软件库构建自定义服务器。在客户端,该软件提供应用程序和硬件之间的接口软件,允许利用GPU进行视频压缩和显示处理。在显示雷达的地方,集成的雷达处理和显示软件处理雷达扫描转换和显示混合,以支持高分辨率(高达1,920 x 1,200)控制台显示。

面向未来的系统架构

3D游戏GPU提供了一个与显示处理紧密耦合的通用处理器,因此一旦视频解压缩,就可以在GPU的范围内传输到显示窗口。适度的 CPU 和 GPU 组合可以同时处理多雷达和视频显示以及应用程序图形,以提供多功能的多屏幕、多窗口和多层显示功能。通过高性能、低成本的商业处理和图形设备替换专有硬件,再加上可以利用这些设备功能的软件,有望在初始部署和终身维护期间节省大量成本。随着图形向通用处理(NVIDIA的路线图)和处理器集成图形(英特尔和AMD的路线图)的转变,市场将进一步发展。

审核编辑:郭婷

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分