写点什么

抖音世界杯的画质优化实践解析

字节跳动-多媒体实验室

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

    阅读完需:约 5 分钟

抖音世界杯的画质优化实践解析

卡塔尔世界杯已经结束,29 天赛程,64 场比赛,最终梅西带领阿根廷时隔三十六年再次捧杯。世界杯期间,抖音提供的稳定高质直播画面为观众带来了完美的观赛体验,决赛的 PCU 高达 3700W+。


世界杯赛事涉及链路众多,如何保障各链路的画质稳定并进一步提升画质,是一个巨大的挑战。本文主要介绍火山引擎多媒体实验室在世界杯期间画质的相关工作。


世界杯涉及链路较长,可简化为下图流程,FIFA 现场信号首先传到央视端进行合规安全处理,然后经过演播室的制作传输给 CDN 再进一步分发到用户侧。从画质角度来看整个链路可分为画质检测与画质优化两个部分,对于 CDN 之前的链路以画质监测为主,以发现问题/定位问题/推动对应链路人员解决问题为目的。画质优化在 CDN 和客户端两侧进行,下面的内容主要介绍画质优化部分。



本次世界杯直播使用支持 HDR(高动态范围)设备录制,团队对支持 HDR 的设备增加了 HDR 档位,同时提供了多种不同分辨率/帧率的档位。为了使得观众获得更好的画质体验,团队通过自研的自适应 ToneMapping,视频降噪,ROI,端上超分等算法有效地提升了赛事画质。


卡塔尔世界杯采用 HDR 拍摄方式,HDR 拍摄的片源拥有更广的色域,更大的动态范围。但对很多终端显示设备而言,并不支持 HDR 信号播放,所以通过 ToneMapping 算法将 HDR 信号转换为 SDR(标准动态范围)信号是十分必要的。



相比 SDR 信号,HDR 信号拥有更广的色域和更大的动态范围,在转换到 SDR 信号的过程中不可避免会产生一些信息损失。常用的一些 ToneMapping 方法,不论是 Reinhard,Filmic 或者 Hable,其本质都是设计固定的映射曲线实现从 HDR 到 SDR 的转换,同时尽量保持对 HDR 效果的还原。但对于世界杯等大型赛事,现场动态范围跨度极大,场馆的灯光/草地/球员亮度差异明显,观众感兴趣的球员信息实际集中在暗部区域,这就导致 ToneMapping 之后的 SDR 信号过暗的问题,为了解决这一问题,团队提出了内容自适应 ToneMapping 算法,通过统计视频内容的实际光照情况动态地进行 ToneMapping,从而得到更优效果。


左: Hable 算法,右: 内容自适应 ToneMapping




为了兼顾视频码率和主观画质,团队使用了基于 LSTM(长短期记忆网络)的时域 ROI 技术,通过人眼显著性区域检测和编码相结合的方式,让码率在画面上的分配更加合理。目前市面上没有专门针对足球场景的 saliency(显著性物体检测)数据集,通用的 saliency 数据集在世界杯这类特定场景中表现并不理想。


针对这一问题,团队专门制作了足球场景的 saliency 数据集,通过眼动仪追踪球迷观看球赛时的关注区域得到足球比赛的专用 saliency 数据集,从而极大增加了模型的准确性。针对足球场景中显著性物体较多,显著性区域分散的特点,团队对检测模型进行了专门的优化,在保证检测速度的前提下,提高了模型的召回率和不同场景的鲁棒性,从而实现更优的主观质量


注:红色框内表示 ROI 区域,左边为通用方案结果,右边为优化结果



同时团队使用了视频降噪算法,根据视频信息对其进行空域、时域噪声的去除,将带有噪声的视频处理成干净、没有噪声的视频。由于去除了视频的噪声,在提升视频质量的基础上同时降低了传输的码率。由于用户侧网速的限制,端上存在多个档位,当看播端网速较慢时,可能会切换到 480P/720P 等低分辨档位,此时会触发端上超分算法提升画面清晰度。


超分辨率技术指的是,基于机器学习/深度学习方法,根据视频信息对其进行空域、时域建模重构出缺失的细节,将低分辨率的视频重建出高分辨率视频的技术。这样即使是在低分辨档位也能体验到更清晰的画质。


左:视频降噪前,右:视频降噪后



左:视频超分前,右:视频超分后



除此之外团队还提供大分辨率、高帧率、广色域,并使用色彩增强、自适应锐化等多种画质增强技术,呈现更加沉浸感的超高清画面。

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

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

关注

评论

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

探究Presto SQL引擎(3)-代码生成

vivo互联网技术

sql presto antlr4

看板管理系统使用测评:一个好的看板工具应该具备哪些能力

爱吃小舅的鱼

C#入门系列(七) -- 循环语句

陈言必行

C# 6月月更

fomo3d区块链分红游戏系统开发(案例演示)

开发微hkkf5566

5G发牌三周年 云网融合加速 如何解决企业网络之忧?

郑州埃文科技

IP地址 网络空间安全 5G 企业上云 云网融合

Apache Kyuubi 高可用的云原生实现

移动云大数据

高可用 云原生 Kyuubi

浅谈JavaScript原型和原型链

大熊G

JavaScript 前端 6月月更

性能优化手记下篇之【计费】

鲸品堂

性能优化 运维

最全!即学即会 Serverless Devs 基础入门(下)

Serverless Devs

Web Service进阶(五)SOAPBinding方式讲解

No Silver Bullet

6月月更 SOAPBinding

Linux驱动开发_视频广告机开发、Linux进程编程介绍

DS小龙哥

6月月更

GIT 小白的指令合集

甜甜的白桃

git 版本管理 6月月更

web前端培训 SCSS 使用技巧总结分享

@零度

前端开发 scss

如何正确的评测视频画质

百度Geek说

视屏质量

SAP 云平台 ABAP 编程环境的前世今生

汪子熙

Cloud 云平台 SAP abap 6月月更

【Python技能树共建】字符串方法

梦想橡皮擦

6月月更

直播回顾:隐私计算的关键技术以及行业应用技巧 | 龙蜥技术

OpenAnolis小助手

开源 直播 隐私计算 龙蜥社区 密码技术

阿里超大规模 Flink 集群运维实践

阿里云大数据AI技术

大数据 flink 运维

微软成为规模化敏捷组织的16个关键因素

ShineScrum捷行

敏捷 谷歌 规模化敏捷

spring-cloud-k8s 跨 NS 的坑

Damon

微服务架构 云原生 6月月更

敏捷开发工具使用测评:好的敏捷项目管理工具有哪些?

爱吃小舅的鱼

技术分享| 浅谈调度平台设计

anyRTC开发者

Web 音视频 指挥调度 调度 快对讲

springboot,vue,es,activiti数字知识库管理系统

金陵老街

Vue springboot ES Activiti 知识库

建木持续集成平台v2.4.1发布

Jianmu

DevOps CI/CD 开源项目 gitops 自动化运维

java培训 @Autowired 的实现原理

@零度

JAVA开发

中兴新支点加入龙蜥社区,共建操作系统开源新生态

OpenAnolis小助手

开源 龙蜥社区 合作 CLA 中兴新支点

企业竞争利器——知识管理

小炮

知名巧克力全球召回,区块链帮你摆脱“甜蜜陷阱”

旺链科技

区块链 产业区块链 食品安全 食品溯源

最全!即学即会 Serverless Devs 基础入门(上)

Serverless Devs

WordPress 常规设置

海拥(haiyong.site)

WordPress 6月月更

重点亦难点?三个案例看数据分类分级如何有效有序进行

美创科技

数据分类 数据安全

抖音世界杯的画质优化实践解析_架构_InfoQ精选文章