查看原文
其他

40天,编码器效率优化100倍,字节跳动这样拿下国际比赛4项第一

字节跳动技术范儿 字节跳动技术范儿 2022-05-23

如何看在线视频更省流量?近几年,人们观看各类视频越来越流畅了。背后除了网络基础设施的提升之外,一项“黑科技”起到了关键的作用:视频编码。这也是字节跳动技术团队研究的重要领域。

在视频编码权威赛事MSU 2020中,字节跳动自主研发的「BVC2.0」编码器首次亮相,就在离线(1fps)赛道的全部4项评分标准中包揽了第一名

BVC2.0编码后的视频大小平均可以达到比赛基准线编码器「x265」的66%,而且视频还能更清晰。

这样,即使是网速太慢或者手机流量不够的情况下,你也可以用同样的网速/流量,看到清晰度高一个档次的视频,而下载到手机里的视频,也可以更省存储空间。

BVC2.0研发团队base在美国西岸的San Diego和中国的北京、上海、杭州四个城市。团队负责人张莉博士说,这款全新的编码器未来还会在抖音、西瓜视频等字节跳动全系视频产品上应用。

有了这样的技术,除了节省存储空间、降低带宽压力,由于传输速度的提高,你期待的云游戏、VR应用,也可以更快地普及。


全球顶级赛事4项第一

MSU是指俄罗斯莫斯科国立大学(Mosow State University),从2005年起,这所学校每年定期举办的视频编码器大赛逐渐成为了该领域的权威赛事。

今年的参赛队伍包括百度、阿里、腾讯、Google、Intel、MulticoreWare、Mozilla等知名公司,绝大部分参赛队伍在视频编码器领域都有丰富的技术积累,字节跳动团队还是第一次参加此项比赛。

参赛队伍在提交了自己的编码器后,比赛主办方会使用统一的Intel Core i7-8700K的计算机在50个场景、内容皆不同的高清视频上进行测试比较,其中有《刺客信条》的预告片、有美国的各类综艺节目和比赛、还有中国纪录片《出路》中的片段。

测评比较之后,MSU官方给出的成绩是这样的:


在「离线(1 fps)」赛道中,BVC2.0在VMAF(视频多方法评价融合指标)PSNR avg.MSE(峰值信噪比的一种计算方式)两项评分标准下拿到了第一名的成绩。

柱状图越短,意味着编码后文件体积越小、比赛成绩越好


SSIM(结构相似性)和PSNR avg.log(峰值信噪比的另一种计算方式)两项中,由于和另一款产品在实际应用中无差别,也获得了并列第一的成绩。



也就是说,在参赛的多种编码器中,在压缩到同样大小的情况下,BVC2.0是人眼看起来画质最清晰、噪点最小的。


通往「又快又好」之路

BVC2.0,全名叫做Bytedance Video Codec 2.0,它的开发者来自字节跳动先进视频团队(Advanced Video Group,AVG)。

这个组建不久的团队研发实力强大,已经在ICIP、AAAI等顶会/顶刊上发表了29篇论文,曾荣获ICIP 2019和DCC 2020 的最佳论文候选。

团队负责人张莉博士毕业于中科院计算所,北京大学博士后出站后,曾在高通担任资深工程师,在视频编码方向有十余年的经验,拥有美国授权专利140+项,视频编码标准技术提案450+项,其中半数以上都被采纳,Google Scholar显示H-index高达29,也就是说至少有29篇论文被引用了29次以上,在学术圈儿有广为认可的贡献。

BVC2.0的开发最早开始于2018年11月,当时专门做这个项目的开发者只有1个人,从头开始构建框架;2019年底才开始大规模开发,在今年的MSU上第一次对外公布。

对齐所有编码工具之后,正式的参赛准备开始于今年4月底。MSU的比赛对编码器速度和效果都有所要求,离线(1 fps)赛道上,参赛队伍提交的编码器速度必须大于每秒处理1帧1080p高清图像。

但最开始,当BVC2.0的开发团队对齐了所有工具,达到了不错的编码效果,却发现目前的编码器运行速度离「每秒处理1帧图像」的速度差了足足100多倍。

「快」和「好」是编码器性能的两极。这时,开发团队可以实现「快但不够好」,也可以实现「好但不够快」。

眼看6月就要提交编码器参赛了,离「又快又好」还有巨大的差距。在编码器开发这条漫长的大道上,其他公司的参赛团队都有多年的技术积累,但AVG团队才刚刚启程。能不能按时提交参赛,张莉心里也没有底。

和其他公司竞争的,是只有10个人的团队,而且他们同时还要兼顾其他开发任务,无形的压力沿着网线在每个人所在的城市之间传递。

因为团队分布在中美两地,美国又正处于疫情期间的居家办公阶段,开发团队整体的协同都是通过飞书视频会议进行的,每过2天,团队对齐一次进度,迭代一个新的版本

因为太平洋两岸的时差,中国团队必须早早来到公司,而美国团队必须在晚上加班,才能碰到一起讨论技术细节,明确接下来的方案。而整个参赛期间,团队成员放弃了假期,也几乎没有休息时间,不断磨合修改,才最终呈现冠军级的成果。


为了保证编码器「又好又快」,团队必须优化编码器中每个工具组件的性能,让每个工具在保证效果的同时保证速度。一旦发现哪个工具性能不够好,就要分析潜在的原因,再做针对性的改进。

“每一个工具加进去的时候,性能损失多少,我们是有目标的。如果你没有达到这个目标,这个工具是不能进去的。”张莉说。

就这样,BVC2.0开发团队的同学们在每一个工具上追求极致,想尽各种办法优化,不仅要看前人的论文,更需要做出原发性的创新算法,才能实现保证1 fps速度的基础上实现更好的效果。

就这样,40多天之后,BVC2.0开发成功,团队向比赛主办方提交了参赛版本,并在主办方测评后拿下4项第一名。

“很多公司的编码器优化了好几年,我们第一次亮相,优化40天就拿到了4个第一名。换成一般的团队,哪怕最开始借助开源平台,做出这样的编码器可能也要一年左右。”团队的专业、极致和高效协作,实现了业界难得的开发效率,张莉对此十分自豪。


协作的意义

虽然拿到了4个第一名,但在她看来,赢得名次的意义远远小于提升团队协作的意义,有团队同学说,这是一次真正意义上的团队的作战演练。

AVG团队并不只单纯开发BVC2.0编码器,同时还要开发和维护其他多个编码器和解码器,来支持公司包括抖音、西瓜视频等在内的几乎所有视频产品。

比赛期间,参赛的同学全心全意投入开发,而业务上源源不断的需求则由其他同学分担。张莉坦言:“没参赛的同学做了更多工作。”


而更深层意义的协作体现在组织的结构上。

视频编码并不是简单的压缩大小,更要考虑行业通用的标准。

在字节跳动的体系中,视频编码的工程和标准两项职能同属AVG团队,沟通效率更高,合作也更顺利。

在张莉看来,“对标准理解比较深刻的同学,懂得技术背后的原理,能提出有效的建议;而做软件实践的同学在工程上有丰富的经验,两者相互融合,可以做得更好。”

也正是因此,在张莉看来,团队协作是这场比赛成功的基石。这不仅体现在整个字节跳动对基础创新的持续投入上,也体现在AVG团队没有参赛的同学主动承担任务的勇气与决心之上,虽然和其他公司相比,团队成立时间不长,但也在视频压缩标准领域做了充足的技术储备,拥有更先进的编码优化和处理技术。

现在,AVG团队已经在着手继续测试BVC2.0,准备用到抖音、西瓜视频等产品上了。这些创新被应用到产品上之后,将给亿万用户带来更好的视频产品体验,通过降低创作的成本进一步激发创意。

已经做了十五年视频编码技术的张莉对产出怀着更高的期待,她相信随着编码器的不断演进,未来一定有一天可以触发新的视频相关应用,出现新的产品形态和新的增长点。

参考资料:
MSU 2020官方网站
https://www.compression.ru/video/codec_comparison/hevc_2020/main_report.html

↓点击投递,加入字节跳动技术团队!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存