写点什么

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

字节跳动-多媒体实验室

  • 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:094668
用户头像
鲁冬雪 GMI Cloud Head of China Marketing

发布了 370 篇内容, 共 311.4 次阅读, 收获喜欢 304 次。

关注

评论

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

jquery 事件绑定及取消 bind live delegate on one区别 (超详细且通俗易懂)

Ankiee

jquery 11月月更

python常用内置函数用法精要(一)

乔乔

11月月更

集世界杯+GameFi元素的MetaElfLand,为何将在世界杯期间爆发?

鳄鱼视界

Zebec开启多链布局,流支付生态持续扩张

西柚子

全面焕新|详解 Grafana v9.0.x 新增功能特性

阿里巴巴云原生

阿里云 云原生 Grafana 新功能

offset新探索:双管齐下,加速大数据量查询

IT科技苏辞

NFT盲盒链游DAPP系统开发搭建技术

薇電13242772558

web3

2023年值得学习的云计算技术有哪些?

wljslmz

云计算 11月月更

PCB做SET连片,转批量时发现利用率非常低,有遇到过吗?

华秋PCB

PCB PCB设计 拼板

温州有等保测评机构吗?听说没有是吗?

行云管家

等保 等保测评

华为云安全亮相世界互联网大会

科技怪授

华为云

不懂“数据服务”,聊什么“数据中台”

雨果

数据中台 数据服务

DHorse系列文章之镜像制作

tiandizhiguai

云原生 Serverless Kubernetes

刘强东给京东高管降薪:2千多位总监兄弟工资打8折,并拿出100亿保障”兄弟“基础住房

小小怪下士

程序员 京东 刘强东

使用 Bytebase 管理 Rainbond 上的应用数据库

北京好雨科技有限公司

Baklib帮助中心:自助服务指南

Baklib

客户服务 帮助中心

Serverless 的前世今生

Serverless Devs

双机热备与数据备份的关系说明一二

行云管家

数据备份 双机热备

大厂数据开发老司机送给数据工程师的10条建议,建议先收藏再细品!

雨果

数据开发

为什么要用 Tair 来服务低延时场景 - 从购物车升级说起

阿里技术

内存数据库 低延时

kafka实战】分区重分配可能出现的问题和排查问题思路

石臻臻的杂货铺

kafka Kafka实战 11月月更

5G+云渲染,助力虚拟仿真医学实训

Finovy Cloud

云渲染

HummerRisk V0.5.2:升级对象存储、云检测、云审计和K8s资源态势等

HummerCloud

云原生 k8s #Kubernetes# 云原生安全

极客时间架构训练营模块七作业

李晨

架构

二面被RocketMQ虐后,狂刷这套实战到源码手册,再战阿里

钟奕礼

Java Java 面试 java程序员 java编程

华为云GaussDB打造金融行业坚实数据底座,共创数字金融新未来

清欢科技

集世界杯+GameFi元素的MetaElfLand,推出世界杯专场活动

西柚子

华为再次入选2022年Gartner® SIEM魔力象限

科技怪授

华为云

全球6位IT负责人解读数字化转型不断失败的原因

雨果

数字化转型

10分钟让你了解应用宝APP上架流程

YonBuilder低代码开发平台

开发者

Java岗位必备技能SpringBoot的9道面试题集锦

钟奕礼

Java java程序员 java面试 java编程

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