写点什么

“世界杯直播”技术实践解析:抖音视频编码器优化

字节跳动-多媒体实验室

  • 2023-03-03
    北京
  • 本文字数:1721 字

    阅读完需:约 6 分钟

“世界杯直播”技术实践解析:抖音视频编码器优化

对于世界杯这样的大型体育赛事而言,视频编码算法既要在高速运动、复杂纹理的场景下确保直播内容的清晰度和流畅度,保障用户的观赛体验,又要兼顾码率、延迟等对网络传输层面尤为敏感的指标。


另外,抖音实现了业界首次的世界杯比赛支持 4K HDR 10-bit 直播,其内容信息量相较于以往有极大提升,对编码器的实时性提出了更高要求。火山引擎如何完成这个挑战?

BVC 编码器长期迭代优化


火山引擎自研的 BVC 编码器经过多年的技术攻关和优化技术积累,以及在不同视频服务业务方向上的长期迭代优化,目前其编码性能和编码器架构的计算效率都处于业界领先水平,在国际权威编码器大赛 MSU 比赛中多次夺冠。

世界杯项目针对性优化

概述


在 BVC 编码器的基础上,火山引擎多媒体实验室针对世界杯比赛场景进行了一系列针对性优化。


首先通过科学构建世界杯比赛视频的测试集,分析足球比赛视频特性,进一步挖掘了当前场景下的先验信息,有效提升了编码效率,在保证画质的情况下进一步降低了码率,同时优化了码率平稳性以及码控精度。


同时,团队优化了多核下的并行机制,极大幅度提升了 CPU 利用率;同时分析并优化了 4K HDR 10-bit 视频编码中的复杂度瓶颈,进一步加快了 HDR 视频的编码速度。最终使得 BVC 编码器在保证画质和降低码率的同时,能进一步提升编码速度,达到并超出了 4K HDR 10-bit 50fps 视频实时编码的要求。

另外在线上部署时,团队通过主观质量评测专门对足球赛事视频优化了各种不同质量配置下的最优码率,比如超高清 4K,超高清 HDR,蓝光 HD 等质量配置,保证不同用户的观看质量。

优化成果


本次 BVC 编码器共优化了 3 个不同档位,分别用于 4K HDR/SDR 编码,1080p 编码,以及 720p/480p 编码。


(1)针对世界杯场景, BVC 编码器优化前后各项指标对比如下图


可见优化后,BVC 编码器既有相同视频质量下带宽收益(BD-Rate),尤其是在相同 VMAF 质量指标时码率节省收益显著,同时编码速度和 CPU 利用率也提升较大(尤其是 4K 档位),码控精准度也有显著提升。



(2)针对世界杯场景的 4K 10 - bit 视频  BVC 编码器与开源 x265 编码器性能对比如下图:

可见在相同 PSNR 下,BVC 编码器的带宽节省高于 x265 的 veryslow 最慢档,且在相同测试条件下,编码速度也高于 x265 的 ultrafast 最快档。



备注:上述图示中,speed(相对于 x265 ultrafast 编码速度)越大越好,bandwidth(相对于 x265 ultrafast 带宽)越小越好。

优化手段


团队通过精准构建世界杯足球比赛测试集,有效约束了团队的优化场景,既能为团队提供更多的足球比赛视频的先验信息,同时也不会导致过拟合的情况。在此基础上,团队做了大量编码器内核优化,包括编码工具调优,新增数十项主/客观编码算法,多线程调度以及 SIMD 等工程优化加速,码率控制优化等;在优化过程中,团队使用了多个质量评价指标对优化技术性能进行评估,最终实现了在保证画质不变的条件下既有码率节省又有速度提升的优化效果。


(1)构建精准的足球比赛测试序列


团队分析了足球比赛视频中每个片段的时域复杂度和空域复杂度,同时根据每个片段的场景内容,筛选出了数十个作为足球比赛测试集。


在此基础上,团队加入了部分通用测试视频防止过拟合,构建了最终的测试集,如下图:


(2)优化编码器内核


团队首先测试了已有的数十个编码工具在当前场景的性价比,找出性价比最高的(复杂度最低,码率节省最高)工具在当前场景下开启,并关闭性价比低的工具。


在此基础上,团队针对编码器内部的多个不同模块,其中包括预分析和编码过程中运动搜索,模式决策,环路滤波等,开发了数十项新算法,进一步提高了编码效率和降低模块的计算复杂度,加快编码速度。


针对世界杯场景中视频时域复杂度高特点,团队通过优化了码率控制算法,保证了场景切换时的码率平稳性,同时提高了整体码率的精准性。团队也优化了支持 ROI 区域的码控算法,在相同码率下使得主观感受更优,有效提高了足球比赛中人眼敏感的球员区域以及草坪区域的主观质量。


团队也进行了大量并行优化,通过多线程任务调度以及 SIMD 优化,提升了多核下的 CPU 利用率,极大加快了编码速度。


优化示例


 1 )解决 480p 档位拖影问题


优化前(左) vs 优化后(右):



 2 )提升 720p/480p 草坪清晰度


优化前(左) vs 优化后(右):



2023-03-03 16:093939
用户头像
鲁冬雪 GMI Cloud China Marketing Manager

发布了 362 篇内容, 共 257.7 次阅读, 收获喜欢 293 次。

关注

评论

发布
暂无评论
发现更多内容

前端培训:Vue3语法糖详解分享

@零度

Vue 前端开发

突然发现,npm里request依赖包已经弃用,怎么办?

华为云开发者联盟

npm HTTP node,js Request request依赖包

敏捷开发中的「史诗」到底是什么?

LigaAI

项目管理 敏捷开发 史诗

终极指南:企业级云原生 PaaS 平台日志分析架构全面解析

尔达Erda

微服务 云原生 PaaS 云原生应用

大咖说|极客邦CEO霍太稳对话阿里云存储负责人吴结生:我的数据存储20年(无限生长篇)

大咖说

阿里巴巴 InfoQ 存储线

《数字经济全景白皮书》数字冰雪篇 重磅发布

易观分析

数字经济 冬奥会

看SparkSQL如何支撑企业级数仓

字节跳动数据平台

hive 字节跳动 Sparksql 数仓

冬奥高质量炫技,Get同款“魔法”:图像处理算法 | 赠书

博文视点Broadview

数字孪生的起源,从救宇航员回家开始

Meta 小元

数据可视化 智慧城市 数字孪生 元宇宙

敏捷研发项目,我们该如何度量?

阿里云云效

阿里云 项目管理 云原生 度量 敏捷研发

15 行代码在 wangEditor v5 使用数学公式

CRMEB

巧用EasyRecovery监控硬盘!为你的电脑保驾护航!

淋雨

EasyRecovery 数据恢复’

星巴克涨价引热议!中国现磨咖啡市场目前到底如何?

易观分析

星巴克涨价 中国咖啡市场

在线时序流程图制作工具

入门小站

51WORLD赋能数字孪生流域/工程建设,助力智慧水利创新发展

Meta 小元

可视化 数字孪生 智慧水利 元宇宙

Apache ShardingSphere 5.1.0 正式发布

SphereEx

数据库 开源社区 SphereEx Apache ShardingSphere

第十四节:SpringBoot使用JdbcTemplate访问操作数据库基本用法

入门小站

springboot

再见了,我的散装研发管理平台;再见了,4台ECS!

阿里云云效

阿里云 DevOps 云原生 研发 敏捷研发

【C语言】二维数组

謓泽

C语言 2月月更 二维数组

祝贺!首届龙蜥社区年度突出贡献奖揭晓,马上查看

OpenAnolis小助手

Linux 开源 互联网 社群运营

SQL学习(持续更新)

阿丞

事务 索引 sql

哪里可以查到网络安全等级测评与检测评估机构目录?

行云管家

网络安全 等保 等级测评

黑客马拉松(Hackathon)是什么?

Speedoooo

黑客马拉松 黑客松

华为云企业级Redis揭秘第16期:超越开源Redis的ACID"真"事务

华为云开发者联盟

redis 事务 ACID GaussDB(for Redis) 开源Redis

面对锁等待难题,数仓如何实现问题的秒级定位和分析

华为云开发者联盟

sql GaussDB(DWS) 锁等待 分布式死锁

外包学生管理系统的架构设计

yhjhero

#架构训练营

英特尔2022年投资者大会:以软件解锁更大增长机遇

科技新消息

会声会影2022语音转文字功能怎么用

懒得勤快

数据同步与缓存一致性问题

Mars

布隆过滤器 缓存一致性

java培训:JVM 内存布局

@零度

JVM JAVA开发

感谢认可!一封又一封的感谢信

郑州埃文科技

IP地址 网络空间 地图测绘

“世界杯直播”技术实践解析:抖音视频编码器优化_AI&大模型_InfoQ精选文章