机器的心报道
机器心脏编辑部
使用神经网络解码视频实际上非常高效。
随着通信和互联网技术的发展,特别是智能手机的普及和4G、5G移动通信技术的成熟和发展,视频聊天、电子游戏等多种视频娱乐方式的出现,普通用户对视频消费的需求也在增加。2018年Cisco CISCO 《视觉网络指数》报告预测,到2022年,82%的互联网流量将由视频制作。
在日常生活中,除了娱乐交流的用途外,视频还在更多的行业场景中发挥实力。例如,以视频技术为核心的安全领域、智能工厂对工人行为的视频监控和识别、辅助和自动驾驶期间通过摄像头进行视频屏幕实时检测的环境、近年来越来越多明星参与的视频直播营销等。同时,随着AI领域计算机视觉(CV)技术的蓬勃发展,CV视频的技术组合将在越来越多的应用场景中发挥不可或缺的作用。
但是,大量视频数据在视频传输、存储和其他处理方面面临着巨大挑战。视频压缩、编解码器等视频处理技术也变得非常重要。观看视频时,用户希望通过更高效的视频处理技术体验更高的图像质量和流畅度。多年来,计算机的视频解码工作多由CPU完成,这种方式虽然好用,但效率并不高。使用GPU解码视频也是另一个选择。随着短视频等应用程序的出现,手机等移动端使用专用解码设备进行实时视频解码也成为新的发展方向,对视频直播等实时视频服务具有重要意义。
与此同时,随着AI领域深度神经网络的发展,越来越多的企业正在探索神经网络提供自己产品的方法。(威廉莎士比亚,Northern Exposure(美国电视剧),LAGOTOC)高通SoC的AI引擎支持8位定点加速神经网络操作的硬件组件Hexagon矢量处理器,软件组件SNP (SNP)SDK支持CNN、LSTM和定制。
主力SoC Primulation 888集成第六代高通AI引擎实现了26 TOPS的AI计算能力,神经网络处理SDK带来了一系列改进,增加了对RNN模型的支持,将手机端AI性能提升到了一个新的水平。
那么,AI引擎中包含的巨大计算力能否更广泛地应用于视频领域呢?最近高通对此做了更多的尝试,使用内置于骁龙888的AI引擎和CPU进行视频解码。结果表明,基于神经网络的神经图像解码效果不差。
高通AI研究所的新工作实现了业界第一款在商用智能手机端实时运行的基于硬件和软件的神经视频解码器,在接近720p高清分辨率的视频上实现了30 fps以上的实时解码。
从软/硬解码到AI神经视频解码
视频编解码器作为一种重要的视频处理技术,在通信、计算机和广播电视领域得到了广泛的应用,并催生了网络电视、广播电视、数字影院、远程教育、会议电视等多种实际应用。
在主要角色中,视频编解码器技术通过在可用计算资源内追求尽可能高的视频重构质量和尽可能高的压缩比,满足带宽和存储容量要求。视频编解码器是能够压缩或解压缩数字视频的程序或设备。
长期以来,基于CPU的软件编解码器技术(也称为软解码)一直主导着市场。例如,英特尔内置在CPU中的视频编解码器引擎和内置在开源软件FFmpeg中的libavcodec解码器易于使用,但使用CPU资源提高功耗,编解码器效率低下,容易出现卡顿。
因此,使用GPU或专用处理器对视频进行编码(也称为硬解码)是另一个选项。例如,英伟达推出的基于GPU的硬件解码器模块NvCodec不仅提供了良好的编码性能,而且使用显卡编码不会消耗太多系统资源,也不会影响应用程序性能。
但是,不断增长的视频消费需求对未来的视频编解码器提出了更高的要求,必须具备以下功能:
直接优化比特率和识别质量指标开发简化的编解码器嵌入式大规模并行处理性能高效执行和更新下载已部署硬件的编解码器更新深度神经网络(DNN)技术的显著发展,以及在计算机视觉和通信系统领域的广泛应用。基于神经网络的视频编解码器可以提供上述所有功能。特别地,这些视频编解码器不仅可以在为其他AI应用开发的AI硬件加速器上运行,还可以实现更高效的熵编码并行化。
凭借这种潜力,神经网络视频编解码器在过去几年成为研究热点。例如,2017年谷歌推出的Hyperprior自行编码器、18年上海交通大学等推出的端到端深度成为研究热点。
度视频压缩(Deep Video Compression )框架以及 2020 年谷歌研究院感知团队提出的用于端到端优化视频压缩的扩展空间流(Scale-Space Flow)。这类神经视频编解码器展现出了令人瞩目的压缩性能,并缩小了与传统编解码器之间的差距。基于 AI 的压缩具有绝对优势。
但还应看到,将 AI 研究从实验室带到实际应用场景往往并不容易。这也意味着,神经视频编解码器的实际部署面临着很大的挑战。大多数相关研究利用具有浮点计算的壁式驱动的高端 GPU,并且神经网络模型架构往往没有针对快速推理进行优化。因此,对于具有固定计算、功率和温度约束的移动设备而言,在这类神经网络解码器模型上运行实时推理不切实际或不可行。
在骁龙 888 SoC 的商用智能手机上,高通 AI 研究院在基于软硬件结合的神经网络视频解码器方面实现了新的突破。
利用骁龙 888 的 CPU 和 AI 引擎,实现 30+fps 的高清视频解码
凭借在节能 AI 方面的专业知识以及骁龙 888 平台的强大 AI 算力,高通在商用智能手机上实现了实时帧内神经视频编码。高效率视频编码(HEVC)中的帧内编码可以视为高端视频编码(AVC)的扩展,它们利用空间上的取样预测来编码。帧内编码过程与帧间编码共用部分的处理步骤包含转换、量化、熵编码等。为此,高通 AI 研究院在以下几个方面进行了优化:
重新设计网络架构以降低复杂度;
在 AI 推理引擎上量化和加速神经网络;
利用并行熵编码。
基于以上几个方面的优化,高通利用骁龙 888 移动平台上的 CPU 和 AI 引擎,开发出了一种基于软硬件结合的神经视频解码器,以超过 30fps 的速度解码了分辨率 1280×704 的高清视频,并且无需视频解码单元的任何帮助。骁龙 888 集成第六代高通 AI 引擎,作为一整套处理器协作系统,这代 AI 引擎包含了重新设计的 Hexagon 780 处理器,将 AI 全方位赋能极速通信、专业影像、游戏体验等诸多方面。
具有高效解码性能的 8 比特模型
解码器架构优化、并行熵解码(PEC)和 AIMET 量化感知训练是高通 AI 研究院实现智能手机端高效神经编码的三个重要步骤。
第一步,基于一个 SOTA 帧对压缩网络,通过剪枝通道和优化网络操作实现了解码器架构优化,依靠骁龙 888 内置的 AI 引擎进行加速,降低了计算复杂度。
第二步,创建一种快速并行化熵解码(fast parallel entropy decoding)算法。该算法可以利用数据级和线程级并行化,从而可以实现更高的熵编码吞吐量。在高通的方案中,骁龙 888 的 CPU 用来处理并行熵解码。
第三步,优化后模型的权重和激活量化至 8 比特,然后通过量化感知训练来恢复速率失真带来的损失。这里用到了高通创新中心开源的 AI 模型效率工具包(AI Model Efficiency Toolkit, AIMET),该工具于 2020 年 5 月推出并开源,是一个支持神经网络模型训练的高级量化和压缩技术的库。
通过这三个步骤,高通 AI 研究院构建了一个具有高效解码性能的 8 比特模型(8-bit model)。
AI 解码的效果
在 Demo 设置中,高通 AI 研究院选取了分辨率为 1280×704(接近 720p HD)的视频,通过离线运行解码器网络和熵解码生成压缩的比特流。接着,压缩的比特流通过骁龙 888 移动设备(商用智能手机)上运行的并行熵解码和解码器网络来处理,其中并行熵解码在 CPU 上运行,解码器网络在第六代高通 AI 引擎进行加速。
最终,高通 AI 研究院得到了一个神经解码算法,在 1280×704 分辨率的视频中实现了每秒 30 帧以上的解码速度。如下为商用智能手机上神经视频解码的动态演示,右上角为视频解码速度(Speed)和同一视频帧内的迭代次数(Loop),右边为运行时平均比特率(Bit Rate)和视频每帧图像中每单位像素的平均码流(Bits per Pixel per Frame, BPF)。
在 Demo 演示中,视频和解码参数被设置为高质量,并选取了一系列具有挑战性和精细纹理的自然场景。在实现 30 帧以上解码速度的同时,丰富的视觉结构和纹理都借助神经解码网络准确地保留了下来,实现了非常好的场景重现。比特率符合全帧内(all-intra)配置和选取的质量,表明这一神经视频解码器能够支持高质量视频流所需的数据吞吐量。
由于基于 AI 的编解码器可以生成比特流中没有的视觉细节,因此与传统编解码器相比,相同或更高质量视频的比特率应该会低一些。这也意味着视频编解码器将变成软硬件结合驱动的,任何新的编解码器都可以由 SoC 中的 CPU 和内置 AI 加速器处理,只要它们足够强大。
目前,这一神经视频解码器只支持帧内解码,这意味着每帧视频都是独立解码,不需要像其他视频编解码器那样考虑帧之间的微小变化。据悉,高通还将继续致力于研究移动设备上实时运行的帧间视频解码。
就此项研究的意义而言,虽然在骁龙 888 SoC 上实现 30 fps + 高清视频实时解码依然有提升的空间,但手机端侧 AI 算力和影像能力的释放,能够为手机用户带来更丰富的视频应用以及更清晰流畅的观看体验。比如近期最新发布的骁龙 888 Plus 移动平台,虽然仅仅是在骁龙 888 基础上做出了部分升级,但其 AI 算力已经达到了惊人的 32TOPS,进一步大幅度升级;再加上高通接下来的持续深入研究,可以预见的是,AI 的高清视频实时解码能力将很快进一步提升。
除了手机平台之外,高通也已将 AI 处理视频的各项能力引入了 PC、XR 和汽车等其他应用平台。比如全球首款 5G 扩展现实平台骁龙 XR2 的 AI 性能相较初代 XR 提升了 11 倍,大幅提升了视频处理能力;PC 端的第二代骁龙 8cx 5G 计算平台中,AI 能力加持的 Spectra ISP 支持了 4K HDR 品质的视频拍摄和背景虚化;第 4 代骁龙汽车数字座驾平台,增强了图形图像、计算机视觉和 AI 等功能,可以为驾乘者提供更智能和舒适的视频服务等体验。
因此,从更大的视角来看,利用 AI 算力进行视频处理代表了未来的一个发展方向,也势必会赋能更多应用场景。
参考链接: