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