共计 8046 个字符,预计需要花费 21 分钟才能阅读完成。
在半月前完结的 NBA 总决赛中,百视 TV 作为全网惟一采纳“主播陪你看 NBA”模式的直播平台,以“陪看型”赛事讲解来面对内容差异化竞争。与此同时,百视 TV 还使用了“窄带高清 2.0”直播转码技术,为观众在赛事画面质量上打造更进一步的体验晋升。
简略来说,“窄带高清”是一套以“主观体验最好”为优化指标的视频编码技术,让咱们看一张比照图,感受一下画质晋升成果:
上图为主播推流原画,下图为修复后画面
上图上半局部是主播推流的原画,下半局部是应用窄带高清 2.0 技术转码后的画面。能够看到,通过窄带高清 2.0 技术转码,球衣上的数字、地板上的英文字母、篮网、边界线等变得更加清晰。此外,画面整体清晰度都有显著的晋升,甚至地板纹理和场外观众轮廓都会肉眼可见变得更加清晰。
下文将深度解读为 NBA 直播赛事带来超清画质背地的“窄带高清”技术原理。
1. 窄带高清技术
阿里云早在 2015 年就曾经提出了“窄带高清”的概念,在 2016 年正式推出窄带高清技术品牌并进行产品化。窄带高清代表的是一种老本与体验相和谐的视频服务理念,是以人眼主观感触最优为基准的视频编码技术。
“窄带高清”示意图
窄带高清实质上是一个品质晋升和压缩的问题,次要指标是谋求品质、码率和老本的最优平衡。在这个方向有两个版本,即窄带高清 1.0 和窄带高清 2.0(以下简称“窄高”)。
窄高 1.0 是平衡版,次要作用是如何用起码的老本去实现自适应的内容解决和编码,达到节俭码率的同时实现画质的晋升。所以,在窄高 1.0 充分利用编码器里的信息帮忙视频解决,即用老本很小的前解决办法实现低成本的自适应内容解决和编码。同时,在编码器里,次要是基于主观的码控。
窄高 2.0 和窄高 1.0 相比会有更多的、更充沛的和复杂度更高的技术来保障自适应能力,包含 JND 自适应内容编码、ROI 编码、SDR+、更天然的细节加强等。同时,在窄高 2.0 里减少了更实用于高热内容的修复能力,在品质晋升的同时,码率节俭也更多。
2. 赛事直播的挑战
以后,窄带高清技术在长视频、短视频、泛娱乐、在线教育、电商直播等场景有着广泛应用。
相较于长视频和电商直播等场景,NBA 篮球赛事直播因为画面切换快、运动性很强,往往须要高码率流。然而,高码率的直播尤其是 NBA 较量直播在跨国传输中可能会受网络品质稳定,造成音视频卡顿及提早。
为了保障直播的稳定性和基于播放端的丝滑观赛体验,百视 TV 抉择了较小码率的源流。于是,面临实在场景下的多个挑战:
挑战 1:低码流导致赛场画面含糊失真
相比于高码率流的画面画质,低码率流会有较显著的压缩失真、细节含糊和弱纹理失落。对于篮球赛事场景来说,就会造成如球星球衣上的文字含糊、篮网含糊、边界线及高空上文字边缘毛刺多等诸多画质景象,导致观看体验不佳。
挑战 2:剧烈运动画面的“去交织解决”残留
除了低码率流带来的压缩失真细节含糊外,体育比赛场景还有一个特有的问题,即原始信号个别是隔行扫描采集的,在互联网传输时首先须要做“去交织解决”,然而对于剧烈运动画面,很难保障有完满的去交织解决,通常会有一些“交织”没有去除洁净,造成一些残留噪声。
挑战 3:数次转码后的画面损失
此外,基于企业客户以后业务逻辑,直播视频从拍摄到终端用户,经验了数次转码,每一次转码,都会带来肯定的压缩失真和画质损失。
为了更好地均衡直播流畅性、稳定性和高清画质体验,百视 TV 在 NBA 决赛转播过程中先抉择绝对较低的码率实现稳固的跨国传输,将源流拉到国内后再做修复,在此过程中,百视 TV 便应用了阿里云视频云的“窄带高清 2.0”技术。
3. 针对体育赛事的解决方案
针对体育赛事视频,如果简略地应用阿里云线上惯例窄带高清转码,存在两大弊病:
第一,难以修复体育赛事视频中的特有噪声,同时还有可能把一些噪声放大,从而影响观看体验。
第二,惯例窄带高清无奈对篮球场景的特有元素比方球衣上数字、篮网、边界线等实现完满修复。
为此,窄带高清 2.0 针对体育赛事场景,对已有的原子算法能力进行了优化组合,同时局部算法针对篮球赛场景进行了定向调优。
最终采纳的转码流程如下图所示:
直播转码算法流程
4. 关键技术解析
4.1 视频解决
极致修复生成
后面已提到咱们输出源自身画质不高,同时还通过了屡次转码,因而第一个解决步骤为修复生成,其次要目标是修复视频中的多种瑕疵,比方压缩块效应、压缩伪影、边缘毛刺、去交织后残留噪声、含糊等,同时生成一些因压缩失落的细节纹理。
学术界有不少利用深度学习去专门做去压缩失真、专门做去模糊的钻研工作。比方晚期做图片去压缩的 ARCNN[1],做视频去压缩的 MFQE[2],晚期端到端去模糊算法 DeepDeblur[3]。
比拟新的办法有:自带压缩水平预计的图片去压缩算法 FBCNN[4],基于可形变卷积的视频去压缩算法 STDF[5],无需非线性激活的 NAFNet[6]等等。
这些算法大部分都是针对繁多工作结构数据集和设计网络结构进行模型训练,失去的模型只能解决繁多进化类型,然而在这次百视 TV NBA 较量直播转码中,咱们要解决的视频同时蕴含多种“进化降质”,除了典型的视频压缩,还有相机失焦含糊 / 静止含糊,去交织后残留噪声等。
图片去压缩算法 ARCNN 的网络结构
视频去压缩算法 MFQE 的网络结构
端到端去模糊算法 DeepDeblur 的网络结构
为了解决上述诸多“进化”,一种形式是针对每一种进化训练一个模型,而后顺次运行这些模型。这种形式的长处是每个模型的工作变得比较简单,不便结构数据集和训练,但在理论应用时成果并不好,因为其余进化会带来很大的烦扰,导致算法性能急剧下降。
于是,咱们采纳了第二种形式,即用一个模型来解决多种进化。第二种形式的益处是能够获得绝对更好的解决成果,难点在于训练数据的结构比较复杂,对网络容量的要求较高,须要同时兼顾多种进化形式,这其中还能够有多种排列组合。
在训练数据结构方面,咱们借鉴了图像超分畛域的 BSRGAN[7]/Real-ESRGAN[8]和视频超分畛域的 RealBasicVSR[9]中的数据进化形式,同时增加了一些体育赛事直播场景特有的进化模式来模仿场地边界线处的锯齿、白边等瑕疵。
在网络结构方面,为了缩小计算量,咱们采纳了单张图片解决形式,能够采纳经典的 ESRGAN[10]模型或常见的 UNet[12]构造,亦或 ResSR[13]提到的 VGG-Style 构造。
在损失函数方面,思考到须要修复因各种进化失落的细节,除了应用常见的 L1/L2 loss 外,还应用了 percectual loss 和 GAN loss。
BSRGAN 提出的多种图像进化形式
基于 GAN 的生成网络的一个次要问题是鲁棒性和时域连续性不够好。鲁棒性问题是指是否稳固地生成比拟天然的纹理,比方有些 GAN 模型有时生成进去的细节纹理比拟奇怪不天然,尤其是当在人脸区域生成一些奇怪纹理时会比拟恐怖。
时域连续性问题是指相邻帧生成进去的纹理是否保持一致,如果不统一则会产生闪动景象,升高观看体验。
为了解决鲁棒性问题,尤其是人脸区域鲁棒性,咱们借鉴了 LDL[14]中通过检测 fine-scale details 区域并加以额定惩办来晋升 fine-scale details 生成成果的思维,通过人脸区域分割失去人脸区域,对人脸区域生成成果施加额定的惩办来晋升人脸区域细节生成的鲁棒性。
人脸区域分割
针对时域连续性问题,咱们采纳了 TCRnet 网络来作为额定监督信号来晋升。TCRnet 网络本来用于超分工作,通过简略革新可用于修复工作,该网络用 IRRO 偏移迭代修改模块联合可变形卷积,来进步静止弥补的精度,同时利用 ConvLSTM 进行时序信息的弥补避免造成信息误差,从而晋升时域连续性。
TRCNet 网络结构
上面两张图比照了源流和修复后成果。
从第一张比照图能够看出,修复后地板上的字母 GARDEN 的边缘变得十分清晰锐利,边界线、球员轮廓及球衣上数字 22 也变得更清晰,此外地板纹理也失去修复。
第二张比照图也能看到场外观众轮廓和衣服上线条变得更清晰,此外本来扭曲成锯齿状的地板边界线也变直了。
模型减速
为了取得极致修复生成成果,基于深度学习的 AI 算法通常是首选算法。但深度学习算法的一个问题是计算量大,而对于视频修复生成这种 low level 视觉工作来说,计算量比一般 high level 视觉工作还要大很多。
一方面,视频修复生成模型的输出通常是视频原分辨率,而像检测分类这种 high level 解决模型的输出分辨率,能够比原分辨率小很多,且根本不影响检测分类性能。而同样的网络结构,输出分辨率越大计算量越大,所以视频修复模型的计算量要大很多。
另一方面,视频修复生成模型的输入是和输出视频同分辨率的视频帧,这势必使得模型后半局部的计算量也会很大,因为后半局部也须要在比拟高的分辨率特色图上做计算,不像检测分类 high level 工作只输入指标框或类别这种语义信息,模型后半局部尽管通道数多但因为特色图分辨率小所以总体计算量小很多。
此外,对于体育赛事直播,视频帧率通常都是 50fps,蓝光档位的分辨率通常是 1080p,也就是深度学习模型在 1080p 输出下须要至多跑到 50fps,这对深度学习算法是十分大的挑战。
针对这一状况,咱们从多个维度进行模型推理减速。
首先,对深度学习模型做压缩,比方通过神经架构搜寻 (Neural Architecture Search,NAS) 或剪枝升高模型大小,为了补救模型变小之后的性能损失,须要对压缩后的模型,进行常识蒸馏训练晋升小模型的性能,此外还能够通过 8bit 整型量化或者 FP16 半精度来进一步升高计算量。
其次,能够通过抉择适合的硬件和推理框架来取得极致的速度晋升,比方应用高性能 GPU 卡和配套的推理框架实现最优配置。为了进一步晋升推理速度,还能够应用多 GPU 卡并行计算。
通过上述多种形式减速,在 1080p 分辨率输出下,处理速度从 8fps 晋升到 67fps,齐全满足 50fps 直播转码需要。
深度学习算法减速分类
清晰度加强
为了晋升观看体验,在上述极致修复生成根底上,进一步做了清晰度加强解决。
最简略的清晰度加强算法就是做锐化解决,比方 ffmpeg 自带的 unsharp 和 cas 就是两种简略的锐化算法。unsharp 和 cas 这两种办法都是基于 USM(UnSharp Mask)框架设计的,USM 框架能够用如下公式 [15] 来形容:
其中,original 待锐化的图像,blurred 是 original 的含糊版本,比方高斯含糊后的版本,这也是 unsharp 名字的由来。(original – blurred)表征的是原始图像的细节局部,乘以 amount 之后叠加到原图, 即可取得细节更锐利看起来更清晰的图 sharpened。
除了锐化,还能够通过调节对比度、亮度、色调等办法来晋升清晰度。在百视 TV 篮球赛直播中,咱们应用自研的锐化、亮度、对比度和色调加强算法来实现清晰度的进一步晋升。
其中,相比开源锐化算法如 unsharp,阿里云视频云自研锐化算法具备如下特点:
• 更精密的图像纹理细节提取形式:能提取不同尺寸,不同特色的图像纹理构造,加强成果更优;
• 通过对图像内容纹理构造剖析,依据区域纹理复杂度实现部分区域自适应加强;
• 与编码联合,依据编码器的编码信息反馈,来自适应调整加强策略。
细节加强(锐化)算法流程
4.2 码率调配
JND
通过后面的极致修复生成和清晰度加强,细节信息失去极大减少,同时咱们心愿通过压缩编码后能尽量保留这些信息。咱们晓得,传统的视频编码是基于信息论的,所以它在始终做时域冗余、空域冗余、统计冗余等等冗余的去除,然而对视觉冗余的开掘是远远不够的。下图取自于王海强博士的一篇 paper,它的思路是传统做 RDO,是一个间断的凸曲线,但在人眼中它是个阶梯形的,那咱们只有找到这个阶梯就能够省下码率,同时不影响主观品质。JND(Just Noticeable Difference)正是基于这个思路对视觉冗余进行开掘。
比特率与感知失真关系
阿里云视频云自研的 JND 算法从空域和时域两个维度,对视觉冗余进行充沛开掘,实现在通用场景下,等同主观品质码率节俭 30% 以上。
有了该自研 JND 算法,使得通过极致修复生成和清晰度加强取得的细节信息通过较低码率编码后,依然得以保留。
JND 算法流程
ROI
后面所述的 JND 算法通过对视觉冗余的开掘能节俭 30% 以上的码率,但这种码率节俭是齐全基于 low level 统计信息来取得的,并没有思考 high level 语义信息。
针对体育赛事场景中观众们很关注的人物远景特写镜头,咱们心愿可能让人物特写更清晰地出现在观众背后。除了通过极致修复生成取得清晰人物特写外,还要通过某种办法使得编码后依然放弃清晰。在此,须要用到咱们自研的 ROI 编码技术。
ROI(Region Of Interest)编码是一项基于感兴趣区域的视频编码技术,简略来说就是给图像中感兴趣区域调配更多码率已晋升画质,对其余不感兴趣区域调配较少码率,可实现总体码率根本不变的状况下晋升视频整体观看体验。
ROI 编码的次要难点在于:
1)要有老本足够低速度足够快的 ROI 算法,以满足高分辨率高帧率体育赛事直播要求;
2)如何基于 ROI 进行码控决策,使得 ROI 区域主观品质晋升,非 ROI 区域主观不降落,同时放弃时域间断不闪动。
在低成本 ROI 计算方面,咱们自研了自适应决策的人脸检测跟踪算法,即大部分工夫只须要做计算量极小的人脸跟踪,只有少部分工夫须要做人脸检测,从而实现超低老本和疾速 ROI 获取,同时放弃很高的精度。
在码控决策上,一方面与编码器联合,在主观和主观之间获得平衡,放弃时域统一;另一方面与 JND 联合,在 ROI 和非 ROI 之间获得主观平衡,从而实现场景、品质自适应的码率调配。
ROI 算法流程
4.3 编码内核
针对体育赛事直播场景,在视频编码内核方面,咱们做了主观快划分优化和块效应优化,以晋升压缩后视频的主观清晰度,升高块效应,从而晋升整体观看体验。
主观块划分
编码器的块划分模式决策是依据最佳率失真模型 RDO (Rate Distortion Optimization,率失真优化)来决策:
其中 D 示意失真,R 示意编码以后模式所需的 bit 数。
在块划分决策时,有时会呈现最终决策为大块,但从主观上看划分为小块的后果更好的状况。这是因为大块模式尽管失真 D 更大,但 R 更小,导致编码器最终决策为大块划分。
针对这种状况,咱们批改了不同块划分模式的失真表达式,针对不同大小的块减少不同的权重系数,使得最终划分的后果与主观更统一。
优化前 优化后
优化前块划分 优化后块划分
块效应优化
视频编码的率失真实践与人眼感触比拟贴切,依照率失真实践构建的编码器也是对人眼主观品质的优化,惟一的问题在块效应,因为人眼会放大直线,对块效应很敏感。
咱们察看到,在基于主观的 RDO(Rate Distortion Optimization,率失真优化),编码局部模式会放大块效应,而 265 协定中的 deblock 在该场景生效。同时咱们发现在平坦区域场景,含糊加噪声的成果要优于清晰块效应。
基于以上察看,咱们采纳了如下块效应优化策略以尽量减少块效应,晋升观看体验。
块效应优化算法流程
下图是咱们做块效应优化前后的比照图。能够看出,左边做了优化的后果中块效应明显降低。
优化前 优化后
4.4 视频成果展现
通过前述视频解决、码率调配优化和编码内核优化,最终实现画质极致修复和 1080p 下 50fps 直播转码,为观众提供晦涩、稳固和高清的观看体验。
https://www.youku.com/video/X…
左为源流成果,右为修复后成果
由此可见,通过与百视 TV 的 NBA 赛事单干,充分体现了“窄带高清 2.0”技术在篮球赛事直播中对视觉体验晋升的重要价值,其带来等同画质下更省流、等同带宽下更高清的商业意义与观看体感均衡。
将来,窄带高清技术也将继续降级,通过算法能力进一步晋升修复生成成果、降低码率和优化老本。于此同时,该项技术也将利用于更多的顶级赛事流动,在老本优化和谐之上,实现视效体验的全新降级。
参考文献:
[1] ARCNN:Chao Dong, et al., Compression Artifacts Reduction by a Deep Convolutional Network, ICCV2015
[2] MFQE:Ren Yang, et al., Multi-Frame Quality Enhancement for Compressed Video, CVPR2018
[3] DeepDeblur:Seungjun Nah, et al., Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring, CVPR2017
[4] FBCNN:Towards Flexible Blind JPEG Artifacts Removal, ICCV2021
[5] STDF:Jianing Deng, et al., Spatio-Temporal Deformable Convolution for Compressed Video Quality Enhancement, AAAI2020
[6] NAFNet:Liangyu Chen, et al., Simple Baselines for Image Restoration,https://arxiv.org/abs/2204.04676
[7] BSRGAN: Kai Zhang, et al., Designing a Practical Degradation Model for Deep Blind Image Super-Resolution, CVPR2021
[8] Real-ESRGAN: Xintao Wang, et al., Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data, ICCVW2021
[9] RealBasicVSR: Kelvin C.K. Chan, et al., Investigating Tradeoffs in Real-World Video Super-Resolution, CVPR2022
[10] ESRGAN: Xintao Wang, et al., ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks, ECCVW2018
[11] ESRGAN: Xintao Wang, et al., ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks, ECCVW2018
[12] UNet: Olaf Ronneberger, et al., U-Net: Convolutional Networks for Biomedical Image Segmentation, MICCAI2015
[13] RepSR: Xintao Wang, et al., RepSR: Training Efficient VGG-style Super-Resolution Networks with Structural Re-Parameterization and Batch Normalization, https://arxiv.org/abs/2205.05671
[14] LDL:Jie Liang, et al., Details or Artifacts: A Locally Discriminative Learning Approach to Realistic Image Super-Resolution, CVPR2022
[15] USM:https://en.wikipedia.org/wiki…
「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实际技术文章,在这里与音视频畛域一流工程师交换切磋。公众号后盾回复【技术】可退出阿里云视频云产品技术交换群,和业内大咖一起探讨音视频技术,获取更多行业最新信息。