540p秒变1080p!小红书端侧实时超分带你免流量玩嗨短视频

摘要:

小红书在短视频领域首次联合华为HMS Core大规模运用端侧超分技术实现了“同等网络环境下高画质”、“同等画质下省带宽、降卡顿”的体验效果。

在整个落地的过程中小红书与HMS Core做到了联合共建,先后解决了多实例超分、不同View类型(SurfaceView、TextureView等)灵活选择等一系列问题,结合HUAWEI HiAI Foundation基础框架,充分利用GPU、NPU等硬件资源,在无明显性能损耗的前提下能够做到实时超分,在相同流量消耗的情况下540p可秒变1080p,传统720p也可在不增加码率的情况下达到720p+的画质体验,真正可以做到在流量有限的情况下刷视频刷到“爽”。

【名词解释】

超分:即超分辨率(Super Resolution,SR),是从给定的低分辨率(Low Resolution,LR)图像中恢复高分辨率(High Resolution,HR)图像的过程。

image.png

1.背景介绍

能够在视频消费的过程中让用户花费最少的流量消费到更高清的视频是业内各平台共有的痛点问题,每个平台都在全链路各模块通过各种方法来解决这一问题,小红书作为其中的一员,尤其作为一个充满高级感(从小红书的用户分布和设备分布就可以看出)的社区平台,随着用户通过短视频种草的热度不断提升用户对高清画质的消费诉求也变的越来越大,上述问题变的更加凸显。

目前各平台大多通过引入画质修复算法、提高编码性能等方面进行画质提升,在端侧受限于设备性能的影响往往无法引入太多高算力的优化方法,超分等算法也大多是在中长视频中进行尝试,在短视频领域少有大规模应用,与此同时,华为HMS Core通过对影像处理能力的不断积累,结合多媒体技术、AI算法和HUAWEI HiAI Foundation,充分挖掘和利用NPU、GPU等硬件资源训练出一套高性能、低功耗的画质增强框架,为平台在端侧画质提升提供了可能,因此,小红书与HMS Core的合作也顺理成章的拉开了帷幕。

此次端侧超分能力的落地,用户不仅得到了实际的受益,小红书也成为了短视频领域大规模应用软硬件结合的端侧超分能力进行画质提升的第一平台。

2.业内现有实践

2.1. 端侧画质增强限制

● 拥有NPU的设备偏少,算力上多依赖CPU和GPU等,算力无法得到充足保障,在低端机上尤为突出

● 功耗问题是困扰各类算法的“老大难”问题,画质提升的同时往往伴随着高功耗,经常会出现手机发烫等问题

● 机型繁杂(尤其是Android设备),设备硬件性能五花八门,适配起来较为困难

● 传统算法模型结构单一,很容易进入性能优化深水区,且代码经常与业务代码出现强耦合,容易造成包大小问题

2.2. 业内解决问题的几个方向

● 端、云协同云端针对视频进行锐化、降噪、提升码率等前置处理,客户端对转码后的视频进行最大程度地还原;

● 采用更灵活的方法,如:机器学习等,最大程度地提高计算效率,降低对CPU等的影响

● 端侧渲染后处理等

3.小红书解决方式

基于成熟架构充分利用硬件资源实现软硬结合:

借助华为HMS Core超强算力架构HiAI Foundation加持,充分利用设备硬件资源,对NPU、GPU等采用不同的训练模型,在提高计算效率的同时显著降低对设备算力的依赖、降低功耗,HUAWEI HIAI Foundation为端侧超分的落地提供了很好地助力,为很多类似端侧画质增强能力的实验提供了无限可能。

image.png

首次用NDKMediacodec替换了传统的Java层Mediacodec,并将NDKMediacodec与超分模块进行了融合,最大程度简化了整个超分处理流程:

要想实现超分功能,需要将不同模块进行融合,尤其是和整条播放链路的融合,超分的流程依赖于Android的MediaCodec硬解码,常用的做法是在Native层通过JNI调用Java层的MediaCodec类的方法,Java层的MediaCodec类再通过JNI调用Native层的NDK MediaCodec,这虽然是比较常规的用法,但是细细想来还是有一些冗余操作的,尤其是C/C++层与Java层通过jni的频繁交互会无形中造成一些处理链路上的耗时,基于这一点,我们简化了调用的流程将硬解码和超分的流程全部在Native层实现,避免了与JNI不必要的数据交换,从而最大程度地简化了整个超分流程。

image.png

前置视频预处理:

通过降噪、前置滤波等方式对视频进行预处理,达到最佳超分状态。

● 针对视频信息进行前置自适应预判,进行超分自适应:

○ 众所周知,并不是所有的视频都适合超分,不合理的超分有可能会达到事倍功半的效果,甚至会出现过度锐化、色差、边缘毛刺化等问题,在超分自 适应模块,我们会做超分预判,重点选出一些具有色彩丰富、帧率适中(60fps以下)、分辨率一般(720p及以下)等特征的视频优先进行超分,整体 达到最佳超分效果,针对HDR类的视频不再进行超分。

● 通过优化管理方式,实现多view支持:

○ 为了实现对不同View(SurfaceView、TextureView等)的支持,封装了一个专门的资源管理模块,做到View和算法模块资源的统一分配和管理,解决了单一View支持的问题,为各种形态的业务应用提供了可选项,不仅支持SurfaceView直接上屏,而且支持超分后旋转、缩放等一系列后处理操作,可灵活适配于不同业务复杂度的场景应用;不同view类型的动态选择可有效规避色差问题。

● 采用动态下发so的机制和热插拔的方式很好地避免了包体积问题和实时更新问题:

为了实现不同形式的超分能力,我们需要引入不同的动态库,在其他不支持超分的机型上引入超分模块显然是没有意义的,并且会增加安装包的体积。为了解决这一问题,我们选择了对so文件进行动态加载的方案,根据机型和app版本,动态加载对应的so文件,在安装完成打开小红书应用的时候,后台下载视频超分所需的so文件,并加载到应用中。对于动态库更新的情况,客户端会下载新版本的so文件,并且替换掉原有的so文件,做到资源库的实时更新。

image.png image.png

小红书“视频超分”功能自7.48版本上线以来已成功部署到HUAWEI MateX2系列、P50系列、Mate40系列等90多款手机,以及HUAWEI MatePad系列等10多款平板设备上,每天成功服务于数以千万计的用户。

4.展望

小红书与HMS Core在HUAWEI HiAI Foundation上的结合为端侧超分等画质增强能力的落地提供了参考,也打破了端侧超分不能在短视频领域大规模使用的“魔咒”,同时为其他平台的落地可提供有效的参考,也会以此为契机探索不同设备平台、不同业务场景的端侧画质能力提升新思路,相信在未来端侧其他画质增强能力依赖软硬件结合的方式会有更多地推广和应用,真正让用户在各种场景尤其是中、弱网环境下消费到更流畅的高清画质,让用户真正体验到短视频种草刷到爆的快感。

5.作者信息

泽宇    小红书播放团队负责人

哈里    小红书播放团队开发工程师

洛霖    小红书播放团队开发工程师

猜你喜欢

转载自juejin.im/post/7219530344062844986
今日推荐