与传统编解码相比,AI 赋能编解码能带来哪些方面的增益?高通又在这方面做了哪些技术创新和应用?近日,机器之心在与高通工程技术副总裁、人工智能研究方向负责人侯纪磊博士的访谈中,得到了这些问题的答案。
随着通信和互联网技术的进步,特别是智能手机的普及以及 4G、5G 移动通信技术的成熟与发展,语音视频聊天、视频游戏等多样化的休闲娱乐方式层出不穷,普通用户对语音与视频的消费需求也在不断增长。
2020 年《思科可视化网络指数:预测和趋势(2017-2022 年)》报告和 WhatsApp 相关数据表明,人们创造和消费的语音与视频内容体量巨大。其中,互联网平均每秒传输 100 万分钟时长的视频、在线视频占所有消费者使用的互联网流量的 82%、Facebook 平台日均视频观看量为 80 亿、平均每日产生 150 亿分钟时长的 WhatsApp 通话…… 如何更高效地处理语音和视频内容(包括压缩和编解码)成为近年来的重要研究课题之一。
就视频编解码而言,它在可用的计算资源内,追求尽可能高的视频重建质量和尽可能高的压缩比,以达到带宽和存储容量的要求。很长时间以来,基于 CPU 的软件编解码技术(也称软解码)一直主导着市场,虽然易于使用,但会占用 CPU 资源,提升功耗,编解码效率不高,容易出现卡顿、花屏等异常,影响其他应用的正常运行。同时,利用 GPU 或者专用处理器来对视频进行编解码(也称硬解码)成为另一种选择,不仅可以实现良好的编码性能,而且使用显卡编码不会占用太多系统资源,也就不会影响应用的使用性能。
不过,日益增长的语音和视频消费需求对未来的语音和视频编解码器提出了更高的要求。在这种趋势下,基于 AI 的编解码开始「入场」,并陆续出现了以神经网络、机器学习为主导的编解码技术,展现出了媲美传统编解码器的压缩性能。
那么,基于 AI 的端到端编解码技术何时开始在学界和业界兴起?与 H.265/H.266 等传统编解码技术相比,AI 在哪些方面带来了优势?AI 语音和视频编解码各自面临的主要挑战是什么?AI 编解码的前景又如何呢?
机器之心日前专访了高通工程技术副总裁、人工智能研究方向负责人侯纪磊博士,他不仅对以上问题进行了详细解读,还介绍了高通在 AI 编解码领域的最新技术进展以及相关应用。
侯纪磊博士毕业于美国加州大学圣迭戈分校,现为高通公司工程技术副总裁,并担任人工智能研究方向负责人。他于 2003 年加入高通,在技术创新、标准化以及 3G /4G/5G 无线通信标准领域的产品商用方面做出了广泛深入的贡献。
侯纪磊博士主要负责构建人工智能 / 机器学习的研究基础架构,推动面向下一代硬件和软件平台的技术创新,并领导惠及垂直技术发展的前瞻性研究工作。此前,侯纪磊博士曾在 2011 至 2017 年间领导高通公司中国研发团队。任职期间,他大幅拓展了高通公司在中国的研发工作,中国研发团队在他的领导下成为了一股强大的本地研究力量。他还启动了 5G 研究和地面机器人项目,惠及高通公司在大中华区的业务。
此外,侯纪磊博士还是 IEEE 高级会员,曾多次被选入和参与由美国同 / 或中国国家工程院组织的工程前沿(FOE)专题研讨会。
AI 编解码未来将长期与传统编解码并行发展
针对 AI 编解码技术的兴起,侯纪磊博士表示,「只针对静止的图像而言,最早相关论文是在 2015 年底到 2016 年初发布的;最早专门介绍视频的 AI 编解码器技术的论文出现在 2018 年左右。从 2018 年至今,短短 3 年时间,AI 编解码技术已经走过了传统编解码技术过去 30 年甚至更长时间走过的过程。」
短短 3 年的时间也验证了 AI 在编解码领域的强大能力。但是,效果好不好,有比较才更直观。在性能上,基于 AI 的端到端压缩技术已经初步具备了与传统的 H.265 和 H.266「相比较」的能力。侯博士进一步解读了这种能力在哪些方面得到了充分的体现甚至具有的优势。
一方面,是端到端编解码的优势,侯博士以主流报纸的手机 APP 为例进行说明。用户下载应用时,应用内部已包括基于 AI 的编解码核——专门针对报纸提供的数字化视频内容进行优化的核。这个核在理论上不需要直接通过标准化的过程,而是该报纸跟高通或者相关厂商直接合作进行优化就可以完成。在 APP 安装之后,编解码器可以不断地进行升级,并且不需要依赖专用 ASIC, 只需要一个通用 AI 加速器就能支持,所以内容的优化以及编解码器的升级和部署过程都呈现非常灵活的模式。
这种灵活的模式将来会使得端到端的 AI 编解码器具备强大的吸引力。
另一方面,基于 AI 的端到端编码器,易于升级和部署,能够针对特定的数据分布进行优化。这些实际上都是 AI 端到端编解码器非常具有优势的地方,所以侯博士认为,「AI 端到端编解码一定是有自己的生命力的。」
关于 AI 在视频压缩领域的辅助作用,侯博士也表达了自己的观点——AI 作为辅助方式并非没有意义,实际在标准方面,AI 具备「帮助传统压缩算法的巨大潜力」。
基于 AI 的压缩技术具有 8 个方面的显著优势。
最后,侯博士认为,「从研发和探讨的模式来看,传统和基于 AI 的编解码技术将在未来相当长的一段时间里呈现出并行发展的态势。」
高通在 AI 视频编解码领域做了哪些努力?
一直以来,高通在 AI 赋能视频编解码方面做了很多尝试和努力。
在全新的基于机器学习的视频编解码器研究中,一般分为 I 帧(即帧内编码帧)、P 帧(即帧间预测编码帧)和 B 帧(即双向预测编码帧)。高通首先在 B 帧预测编解码方面提出了一个被称为「B-EPIC」的解决方案,该方案结合了双向运动补偿和插帧这两种 B 帧编解码模式的优势。
具体来讲,高通先做一遍插帧,把两个参照帧进行增差值操作,并在这个插值的基础上复用前面 P 帧的编解码器。值得注意的,这里不只是复用 P 帧编解码器的架构,还复用了它的权重,相当于在插帧基础上依然做了运动补偿。此外,对于运动向量(motion vector)来说,这种做法使其比特流得到了更好的优化,所以在最终的率失真性能上得到更好地提升。
总之,无论是从训练层面的有效性还是从传输过程中比特数的节约上,高通的 B-EPIC 都是一种非常好的方法。
在与传统 H.265 采用的 FFmpeg、谷歌研究院感知团队 CVPR 2020 论文中的端到端 SSF(Scale-Space Flow)视频压缩方案相比,高通 B-EPIC 表现出了显著的效果提升。尤其是相较于谷歌 SSF,B-EPIC 将 BD 率降低了 29%。
其次,高通还提出「通过实例自适应视频压缩过拟合」。这样做的编码方式要平衡好两点,一方面,由于这样的过拟合自适应,编码的比特流有相当大的缩减;另一方面,我们必须对模型的增量进行定期更新,由此构成一个损失。最终要把这两个效果叠加在一起,观察最终的总体比特量以及与基准比特流比特量之间的比较。如下图右所示,如果左侧总比特流较右侧小很多,则意味着基于单个视频实例过拟合单个模型的做法是有成效的。
同样地,相较于 H.265 采用的 FFmpeg、谷歌 SSF,高通的方案分别将 BD 率降低了 29% 和 24%。并且,这种实例过拟合方案适合部署于移动端,在将解码复杂度降低 72% 的同时,仍能保持同等 SOTA 结果。
最后,高通在其内部研发中比较好的展现是基于语义感知的图像或视频压缩。这种语义感知在于基准的编码方式和比特的分布,如果在做压缩的时候基于语义感知的结果,则对比特的分类可以实现更加有效和智能的分配,也能在细节描述上展现更好的效果。下图可以清楚地看到基准比特分配与语义感知比特分配的差异:
图中谷歌的论文(SSF)采用的是非基于语义感知的、比较均匀的压缩方式——即超先验 AE。从下图右的比特率相对 PSNR 的对比可以看到,无论是前景还是背景,这种压缩方法的 PSNR(峰值信噪比)基本上比较接近。但是,在为关注区域 ROI 分配更多比特之后,不仅非关注区域的 PSNR 降低相对有限,而且前端关注区域的 PSNR 有了非常大的提升,从而使得图像或视频的主观效果出现很大的提升。
高通表示,这种基于语义感知的压缩方法还将进一步扩展至视频压缩领域。
除了 AI 编解码技术上的创新之外,高通在 6 月份已经展示了针对实时终端侧的神经视频解码,实现了业界首款在商用智能手机端实时运行、基于软硬件结合的神经帧内视频解码器,并在接近 720p HD 分辨率的视频上实现了 30 fps 以上的实时解码。
神经帧内视频解码展示。
侯博士表示,「预计今年年底在高通骁龙技术峰会或者同期 NeurIPS 会议上将会展示帧间解码器技术。」
相较语音,视频编解码更复杂,挑战也更多
首先是语音编解码器,它基本上用在实时通信,这就决定了编解码器需要同时操作,即编码器和解码器要同时具备实时性。从实现的角度来看,语音编解码器通常放在相对低成本的处理器上实现,对于复杂度的要求尤为苛刻。所以侯博士认为,语音编解码器的挑战更多地来自于实现的复杂度。
相比之外,视频编解码器面临的挑战更多,主要有以下两个方面:
其一,从宏观角度来看,基于图像、视频和 3D 模型的 AI 代表了计算机视觉领域三个主要的方向,其中视频 AI 研发处于早期阶段。并且,视频压缩在整个视频 AI 研发中又是相对早期的,视频编解码正是属于这个范畴。所以基于 AI 的视频编解码,在技术上需要进一步打磨,还有很长的路要走。
其二,视频编解码是一种更复杂的编解码系统,包括要做帧内和帧间处理。相较于语音,视频编解码还需要进行更多熵编码。所以整体来看,无论是从设计、优化还是最终实现的角度,视频编解码都是一个更加庞大的系统,具有更高的复杂度。
此外,从近期来看,基于 AI 的编解码技术需要解决的比较大的挑战有哪些呢?侯博士从三个方面对这个问题进行了详细的解答。
首先,从最终的商用落地的诉求来讲,如果基于 AI 的编解码器,能够放在通用的 AI 加速器,而不是专用处理器上面,那么如何控制复杂度、利用并行度以及很好地实现低位定点,这些都是非常大的挑战。举例而言,高通今天可以实现 720P 的神经帧内视频解码,以后升级为支持 1K、2K 或 4K 的话,复杂度就会大大增加。
其次,对于图像而言,通过 GAN 的方式已经能够很好地生成比特流中没有的视觉细节,但针对视频流却没有一个特别好的方法。在生成视频流细节的时候需要考虑:帧间或时域上能不能保持连续性和稳定性?这是一个比较难的课题。此外,在这个角度上,如何在一个统一客观的感知质量测度上,进行基于 GAN 的模型训练和生成,客观来讲这是一个未知挑战,同时也是努力的方向;
最后,尤其针对视频而言,无论 AI 编解码器有怎样的优势,一定会涉及与 H.265/H.266 比较的问题。但如何比较呢,尤其是在标准上怎么比?最终,我们还是要在率失真方面实现大幅度的进步,这样最终可以使基于 AI 的编解码器实现广泛的应用,这是一个基础的、必要的条件。