超视频时代音视频架构建设与演进( 四 )


具体落地在音视频场景里 , IPU 要负责处理编码后的音视频流的传输 , 从而解放 CPU 去更多关注业务逻辑 。所以 , CPU + GPU + IPU 的组合 , 不仅是在关注不同场景下的需求满足问题 , 实际上也在关注架构成本问题 。
工作负载层
从基础设施过渡到工作负载 , 实际上有一张架构图 , 更详细的展示了相关技术栈的构成:
在这张架构图中 , 横向是从源码流输入到分发的整个流程 , 期间包含了编码、分析等处理动作;而纵向则展示了要服务于这条音视频处理流程 , 需要搭配的硬件和软件体系 。
作为异构算力编程模型 , 是桥接基础设施和上层负载的关键一层 , 这不必多言 。而到了负载层 , 软件则分成了蓝色和紫色两个色块 。蓝色代表直接开源软件 , 紫色则代表经过英特尔深度优化 , 再回馈()给开源社区的开源软件 。
在蓝色部分 ,  是个很有意思的工具套件 , 它围绕深度学习推理做了大量的性能优化 , 并且可以兼容 、Caffe、MXNet 和 Kaldi 等深度学习模型训练框架 。当音视频体系需要加入 AI 技术栈以服务超分辨率等关键需求时 ,  会起到关键作用 。
紫色部分的 x.264/x.265 是一个典型 。作为音视频行业最主流的编码标准 , 英特尔使其开源的主要贡献者 , 而且 AVX-512 指令集也专门围绕 x.264/x.265 做了优化和性能测试 。
另一个值得关注的核心是编码器 , 它横跨了蓝色区域和紫色区域 , 既有行业通用的  , 也有英特尔自研的 SVT , 二者同样引人关注 。
关于编解码器的选型思考
在流媒体时代 , 著名开源多媒体框架是业界在做编解码处理时 , 绝对的参考对象 。说白了 , 很多编解码器就是的深度定制版本 。到了 RTC 时代 , 出于更加严苛的及时交互需求 , 自研编解码器尽管难度颇高 , 但也在研发能力过硬的企业中形成了不小的趋势 。
可归根结底 , 在推进以上工作时 , 软件始终是思考的出发点 , 从业者们多少有些忽略对硬件的适配 。
SVT 的全称是Video , 是开源项目 OpenCloud 的重要组成部分 , 针对英特尔多个 CPU 进行了高度优化 , 因此在英特尔硬件体系上 , 性能表现非常突出 。SVT 设计最朴素的初衷 , 是针对现代 CPU 的多个核进行利用率方面的提升 , 比如依仗硬件上的多核设计并行对多个帧同时处理 , 或对一张图像分块进而并行处理 , 大大加快处理速度 , 避免多核 CPU 空转 。
更为人所熟知的可能是后来这个叫做 SVT-AV1 的开源项目( 地址:) , AV1 开源视频编码 , 由英特尔、谷歌、亚马逊、思科、苹果、微软等共同研发 , 目的是提供相比 H.265 更高效的压缩率 , 降低数据存储和网络传输的成本 。
而就在今年上半年 , 英特尔发布了其用于 CPU 的开源编解码器 SVT-AV1 的 1.0 版 , 相比 0.8 版本 , 性能上有着巨大提升 。
结束语
归根结底 , 尽管“摩尔定律”还在继续 , 但当下已过了靠吃“硬件红利”就能搞定新应用场景的“甜蜜期” 。
今天 , 我们需要了解的是以 CPU 、GPU、加速器和 FPGA 等硬件为核心的复合架构 , 也被称之为由标量、矢量、矩阵、空间组成的 SVMS 架构 。这一概念由英特尔率先提出 , 并迅速成为业内最主要的硬件架构策略 。