卷首语
近日,抖音发布亚运会观赛报告。报告显示,亚运会期间抖音赛事直播,运动员、工作人员互动,冠军访谈等内容精彩纷呈。9月19日-10月8日,抖音亚运会赛事直播累计获62亿人次观看,“杭州亚运会”话题视频播放量超过503亿。
作为持权转播商,抖音对亚运会全程进行了免费、无贴片广告、4K超高清直播。9月23日亚运会开幕,有最高264万人同时在抖音收看直播。“数字人火炬手”“大莲花”等多个记忆瞬间镌刻在屏幕前的观众脑海中,成为独特的“杭州记忆”。
本期视频云月刊将精选火山引擎视频云在抖音亚运会赛事4K超高清直播的技术实践,分享自研BVC编码器、画质优化、超低延时等视频云技术和VR观赛等互动玩法如何赋能大型体育赛事,实现更高清、更交互、更沉浸的观赛震撼,打造新一代观赛“新看法”。
月度更新,更多动态,尽在视频云产品月刊。
热点新闻
- 品玩网 :火山引擎助力抖音打造超高清、低延时亚运赛事直播
- 极客公园 :圆满收官,火山引擎护航抖音亚运赛事4K超高清直播
- 果壳: 视频平台为了留住你,有多努力?
- InfoQ: 抖音大型直播画质优化实践:“62 亿人次观看的亚运会直播”有哪些创新领域
技术探索
抖音直播新一代BVC编码器亚运会正式亮相
面临挑战:
在直播行业发展如火如荼的今天,用户对视频体验的要求也水涨船高。视频基础体验的关键要素包括清晰度、流畅度、低延迟等,而这些要素的“第一性原理”,就是视频本身的编码效率,也就是压缩率。视频编码是整个技术体系的基座,编码效率的显著提升,能够在同等码率下极大提高画质,从而改善用户体验。
视频编码效率的重要性不言而喻,但进一步地提升也并非易事,尤其在直播场景中,对编码速度、延迟、码率控制等方面都有很高的要求。如何在保证画质不变的情况下,显著提高压缩率,同时满足实时性、低延迟的要求,是一个持续的技术挑战。
如何完成挑战:
新一代编码器的采用:
抖音基于BVC编码器,曾在世界杯中给数亿观众带来了极致的视频体验。而本次亚运会中,火山引擎多媒体实验室自研的新一代BVC编码器首次得到抖音直播全链路支持并在直播中使用。BVC编码器曾经在业界编码器大赛MSU中斩获多项指标的第一,具有行业领先的编码和计算性能,并还在持续不断地优化迭代中。新一代BVC编码器相比上一代,能在画质不变的情况下,显著降低码率,提升用户体验,降低带宽成本。
新一代BVC编码器在直播场景的优化:
作为新一代编码器,引入了大量新的编码工具和算法,在显著降低码率的同时,也具有相当高的计算复杂度。而在直播场景中使用最新BVC编码,首先需要对计算复杂度进行大幅度的优化,才能达到实时性和低延迟的要求。
- 更极致、简洁的工程架构
首先,新一代BVC编码器在直播场景下,对所有编码工具和算法进行了测试,按照性价比筛选出了在直播的编码速度要求下能够投入使用的工具和算法集合。而基于这个集合重新设计轻量级的架构,能最大化减少计算流程损耗。新的编码器架构对整个编码流程进行了重新梳理,去除原先复杂的情况耦合,为特殊工具单独设计流程,实现了编码流程的最简化。同时,对数据结构也进行了更极致的优化,显著减少了数据量,提升了访存效率。此外,还通过大量的计算结果缓存及复用的机制,减少了重复计算,以及设计了高效的数据交换机制,减少了数据拷贝。在计算模块的优化上,挖掘了更多的计算流程整理为SIMD实现,同时对原有的SIMD实现进行了进一步优化,从而减少指令数。基于直播场景的编码器架构优化,在算法基本不变的前提下,为新一代BVC编码器节省了超过30%的复杂度。
- 灵活、精细化的并行框架
为了在计算复杂度提高的情况下,仍然能实现实时编码,充分利用多核处理器的能力至关重要。新一代BVC编码器针对直播场景进行并行框架的重新设计。首先将前处理、预分析、编码等过程并行起来,并在任务调度上分配合适的优先级,从而最大降低编码前的等待。对于编码过程的线程等待,精确计算等待的条件,并将条件限制降低到最小,从而降低等待时延。此外,基于帧内和帧间并行编码的模型,根据编码时依赖关系准确分配每个编码任务的线程优先级权重,对线程进行灵活而精细化地调度。经过优化,新一代BVC编码器的CPU利用率提升50%以上。
- 上百个快速算法
除了工程架构之外,新一代BVC编码器还增加了大量的快速算法,从而达到高分辨率、高码率和高帧率下的实时编码。新一代BVC编码器重构了编码块划分的框架,根据周围块和历史划分信息,自适应决策划分深度的范围,大幅减少了无效的划分尝试,从而降低编码复杂度。在模式决策中,为每个模块设计大量精细的初选快速算法,从而大幅减少最终尝试的模式数量。此外,还对前处理和预分析模块也进行了大量的简化处理。新一代BVC编码器为直播场景增加的上百个快速算法,在压缩率的损失较小前提下将整体编码速度提高了2倍以上。
- 亚运会的针对性优化
除了编码器内核本身的优化之外,新一代BVC编码器还对亚运会进行了专项优化。亚运会除了传统的运动项目之外,还增加了关注度较高的电竞项目。而新一代BVC编码器也对运动、游戏这两种场景进行针对性的优化。研发团队进行了大量的测试,对不同视频分辨率和复杂度下进行了编码档位的适配,调整了数十个编码参数来控制不同编码算法在运动、游戏场景中的性价比,在获得压缩率提高的同时实现了编码加速。此外,还对码率控制进行了调优,减少了高运动复杂场景中画面模糊的情况。
优化成果:
新一代BVC编码器在直播场景中实现了1080P 50FPS的实时编码,在画质不变的情况下,相比上一代编码器实现了20%左右的码率节省。实际效果如下:(对比展示,上面是上一代BVC编码视频,下面是新一代BVC编码视频)
和广泛应用的开源编码器x265(v3.5)对比,新一代BVC编码器也具有显著优势,下图展现了性能对比数据。可以看出,在编码设置对齐的情况下(帧结构、码控方式、lookahead长度等),新一代BVC编码器,对于亚运会中的运动和游戏视频内容,平均能实现40%以上的码率节省,同时编码速度更快。
抖音大型直播的画质优化实践
面临挑战:
随着抖音内容生态的不断丰富,越来越多的大型赛事在抖音平台进行直播,世界杯/春晚/亚运会等各项赛事节目引来大量用户观看。卡塔尔世界杯期间,抖音提供的稳定高质直播画面为观众带来了完美的观赛体验,决赛的 PCU 高达 3700W+。不同赛事节目涉及链路众多,且不同赛事之间存在差异,如何保障各链路的画质稳定并进一步提升画质,是一个巨大的挑战。
如何应对挑战?
画质优化链路
大型赛事直播涉及链路较长,不同赛事链路存在一些差异,整体可简化为下图流程,现场信号经过演播室的制作传输给 CDN 再进一步分发到用户侧。从画质角度来看整个链路可分为画质检测与画质优化两个部分,对于 CDN 之前的链路以画质监测为主,以发现问题/定位问题/推动对应链路人员解决问题为目的。画质优化在 CDN 和客户端两侧进行,下面的内容主要介绍画质优化部分。
随着赛事录制技术的提升,越来越多的大型赛事都用上了4K HDR录制标准,画质清晰度也不断提升,随之而来的是更大的带宽压力。同时为了兼容消费端不同的看播设备和不同的带宽条件,服务端需要转出多种不同分辨率不同码率的版本供看播端选择,为了保障用户在不同带宽与设备下都能取得最佳的画质体验,我们做了大量的优化工作。团队通过自研的自适应 ToneMapping,视频降噪,ROI编码,视频插帧,BAS采样,端上超分等算法有效地提升了赛事画质。
自适应ToneMapping: 目前大型赛事大都使用HDR(高动态范围)设备录制,团队对支持 HDR看播的设备增加了 HDR 档位,同时提供了多种不同分辨率/帧率的档位。HDR 拍摄的片源拥有更广的色域,更大的动态范围。但对很多终端显示设备而言,并不支持 HDR 信号播放,所以通过 ToneMapping 算法将 HDR 信号转换为 SDR(标准动态范围)信号是十分必要的。
相比 SDR 信号,HDR 信号拥有更广的色域和更大的动态范围,在转换到 SDR 信号的过程中不可避免会产生一些信息损失。常用的一些 ToneMapping 方法,不论是 Reinhard,Filmic 或者 Hable,其本质都是设计固定的映射曲线实现从 HDR信号 到 SDR信号的转换,同时尽量保持对 HDR 效果的还原。但直播赛事场景多变,且现场动态范围跨度极大,如世界杯比赛中场馆的灯光/草地/球员亮度差异明显,不同镜头跨度极大,而在亚运会游戏类比赛中的CG画面较为稳定,现有的ToneMaping算法无法在多变的场景中取得优秀稳定的效果,而手动调节每场比赛的转换参数也不现实。为了解决这一问题,团队提出了内容自适应 ToneMapping 算法,通过统计视频内容的实际光照情况动态地进行 ToneMapping,从而得到更优效果。
左: 内容自适应 ToneMapping,右: Hable 算法
在主观众测中优化之后的内容自适应 ToneMapping 算法遥遥领先于现有的TonaMpaping算法结果(对照任务为团队自研结果)
BAS 采样: BAS(Byte AI Scaling)算法是字节自研的一种基于深度学习的图片/视频下采样算法,近些年来,深度学习驱动的视频处理算法已经广泛应用于各类点播、直播服务中,涵盖抖音、西瓜视频等诸多业务线。在实际的流媒体传输链路中,依据用户实际网络延迟、终端性能等因素,源流将通过自适应码率(Adaptive Bit-Rate)策略传输到终端设备,优化用户实际体验。其中,视频流往往会被采样到多个标准分辨率,例如蓝光(1080p)、高清(720p)、标清(480p)等。随着音视频行业和摄影设备的发展,高分辨率的视频源占比日益增多,大部分视频需要在服务端进行降采样来配合自适应码率策略,因此降采样算法的优化也是提升QoE的关键。在过去的业界实践中,视频处理算法往往专注于提高分辨率(如超分算法)或者保持分辨率(如降噪算法)的处理范式,而几乎忽视了对降低分辨率方法的研究。不同于固定算子的bicubic等降采样算法,BAS算法基于深度学习使用高精度数据训练模型,缓解传统方法带来的频域混叠与频域截断问题,降低锯齿感、减少细节丢失。如下图所示,对于4K的超高清图源降采样到480p分辨率的任务,左图为BAS算法处理结果,右图为传统bicubic算法处理结果。可以明显看到,BAS算法处理结果中缓解了边缘锯齿(左下),消除了摩尔纹(右下),并且灯牌、观众席等方面的细节纹理更加清晰,视觉观感更好。
左图为BAS采样结果,右图为Bicubic采样结果
在与bicubic算法的定量对比中,BAS基于PSNR指标取得了-20.32%的BD-Rate收益,意味着相同重建误差水平下可以节省20%以上码率,而同等码率下则可以提升画质水平。而对于更符合人眼感知特性的VMAF指标,BAS同样取得了-20.89%的BD-Rate收益。
在常用的编码条件下,BAS算法在UGC视频上能做到在降低6.12%平均码率的同时,提升多项关键主客观画质指标,既可以降低一部分传输带宽,也可以带来画质上的提升,取得成本和体验上的双赢。
BITRATE(KBPS) | VMAF | VMAF_NEG | PNSR | VQSCORE | |
---|---|---|---|---|---|
传统Bicubic | 388.8 | 78.31 | 75.49 | 35.88 | 63.96 |
自研BAS | 365.0 | 80.43 | 76.52 | 36.04 | 64.44 |
差值 | -6.12% | 2.12 | 1.03 | 0.16 | 0.48 |
视频插帧: 抖音大型赛事实践中会遇到各种不同的录制标准,其中也存在1080P 25fps的录制标准,现在消费者已经习惯高帧率的流畅视频体验,对于低帧率的视频会明显感受到画面的流畅度降低,影响用户观看体验。针对低帧率场景,我们使用了智能插帧技术,通过对前后帧的内容进行光流估计,根据光流信息将前后帧像素都转换到中间帧,然后进行整合,生成中间帧,提升视频帧率,减少观看时的卡顿感。而针对电竞类对帧率要求较高的场景,我们做了以下的额外优化。
faster光流模块和faster修正模块使用partial conv代替普通卷积,能在保持效果的同时减少卷积运算;在计算光流时,采用内容自适应下采样去对输入进行下采样,用于计算光流、残差和遮挡掩码, 再将其上采回原分辨率,用于原始输入的warp和整合 ,由于光流模块和修正模块这两个运算较多的模块接收的是较小的分辨率,从而达到进一步减少计算量的效果;工程上,团队通过算子融合、半精度的方式,减少IO和浮点运算,相比工程化前加速1倍多。同时,通过多GPU部署的方式拓展了智能插帧的能力,使得在更高分辨率(4k)的场景下能实施部署。另一方面,电竞场景中,比如王者荣耀,每个英雄上面都会有选手的名字,而这些文字较小,文字会随着英雄的复杂运动而运动,也就是会导致出现小文字的复杂运动,智能插帧通常会在这些复杂运动的小文字上因为光流估计不够准确而导致插出来的帧文字的位置不够准确,导致伪像出现,我们在训练过程中加入更多的随意移动或者静止的较小文字,使得模型能够在训练过程中更多地注意处理小文字的复杂运动,从而达到更好的插帧效果,如下图所示,左边为优化后的插帧结果。
左边为优化后结果,右边为优化前结果
ROI 编码 : 为了兼顾视频码率和主观画质,团队使用了基于 LSTM(长短期记忆网络)的时域 ROI 技术,通过人眼显著性区域检测和编码相结合的方式,让码率在画面上的分配更加合理。除了模型设计之外,ROI算法中另一大难点是saliency(显著性物体检测)数据的获取,通用的saliency数据集在大型赛事中的表现并不理想。针对这一问题,团队收集制作了自己的专用数据集,并且对一些大型赛事做了专用数据集,例如针对世界杯赛事,团队专门制作了足球场景的 saliency 数据集,通过眼动仪追踪球迷观看球赛时的关注区域得到足球比赛的专用 saliency 数据集,从而极大增加了模型的准确性。针对足球场景中显著性物体较多,显著性区域分散的特点,团队对检测模型进行了专门的优化,在保证检测速度的前提下,提高了模型的召回率和不同场景的鲁棒性,从而实现更优的主观质量。
注:红色框内表示 ROI 区域,左边为通用方案结果,右边为优化结果
同时团队使用视频降噪算法,根据视频信息对其进行空域、时域噪声的去除,将带有噪声的视频处理成干净、没有噪声的视频。由于去除了视频的噪声,在提升视频质量的基础上同时降低了传输的码率。由于用户侧网速的限制,端上存在多个档位,当看播端网速较慢时,可能会切换到 480P/720P 等低分辨档位,此时会触发端上超分算法提升画面清晰度。超分辨率技术指的是,基于机器学习/深度学习方法,根据视频信息对其进行空域、时域建模重构出缺失的细节,将低分辨率的视频重建出高分辨率视频的技术。这样即使是在低分辨档位也能体验到更清晰的画质。
左:视频降噪前,右:视频降噪后
除此之外团队还提供大分辨率、高帧率、广色域,并使用色彩增强、自适应锐化等多种画质增强技术,呈现更加沉浸感的超高清画面。
品牌栏目
在“方便大家将已经跑通的视频处理业务场景实践经验复用”的初心下,火山引擎视频云以“面向体验,驱动创新”为核心,特别与 NVIDIA 团队合作推出《云上新视界》线上课程,致力于打造一档以音视频创新场景与最佳实践为核心内容的系列视频栏目,内容覆盖赛事直播、6DoF 互动体验、3D 人体重建、弹幕游戏等火爆热门场景,为行业注入新鲜力量和创新源泉。
目前该系列公开课的第一期课程《抖音大型直播画质优化实践》已于 10 月 19 日正式上线InfoQ。在该视频中,火山引擎多媒体实验室技术专家王庆为大家解析了“抖音大型赛事直播全链路画质”面临的挑战,并揭秘“抖音亚运会直播服务端与客户端画质优化”方法论与实践收益。
场景实践
亚运会、大运会、中国网球公开赛、上海网球大师赛……2023 年可谓是“体育大年”。在拿下世界杯转播的版权后,抖音这次又成为了亚运会持权转播商、中央广播电视总台直播合作伙伴,对亚运会比赛全程进行 4K 超高清直播,并支持回放。
作为抖音亚运会直播背后的主力技术服务商,火山引擎视频云特推出《身临其境 沉浸互动——大型赛事直播实战白皮书》解读在整个赛事直播过程中通过自研 BVC 编码器、画质优化、超低延时等视频云技术和 VR 观赛等互动玩法,帮助用户实现了更高清、更交互、更沉浸的观赛震撼感,切实打造了新一代观赛新体验。