2021.4.16-4.17,阿里云视频云亮相 LiveVideoStackCon 音视频技术大会上海站,带来三场不同视角的主题演讲,并与泛滥行业搭档一起交换。在“编解码的新挑战与新机会”专场,视频云的资深技术专家深度分享了“窄带高清”技术演进思路。
窄带高清是一套以人眼的主观感触最优为基准的视频编码技术,钻研在带宽受限的状况下,如何谋求最佳的视觉感触。阿里云早在 2015 年就提出了该技术概念,在 2016 年正式推出窄带高清技术品牌并产品化,自提出便促动整个行业开始逐渐援用该概念,造成了行业共识并一直演变至今。
阿里云智能视频云资深技术专家王豪,在演讲中阐释了窄带高清的实质、以后的技术聚焦点、及其将来的方向与布局。以下为残缺的演讲内容。
“大家好,我是王豪,来自阿里云智能视频云。当初次要负责视频编码和加强。咱们团队始终关注视频编码和解决方向的停顿及其技术前沿工作。明天和大家分享的是咱们在窄带高清方面的停顿和思考,心愿能与大家一起探讨。
我明天重点要讲的是三个局部:窄带高清是什么、对于当初在窄带高清方面关注哪些内容、以及对于将来的布局是什么。”
阿里云的窄带高清
1.1 窄带高清技术
窄带高清是阿里云视频云的技术品牌,是属于内容自适应编码里的。窄带高清是修复加强 + 压缩的问题,次要指标是谋求品质、码率、和老本的最优平衡。在这个方向咱们有两代不同版本。
第一代是平衡版,次要作用是如何用起码的老本去实现自适应的内容解决和编码,达到品质晋升同时节俭码率的目标。所以,咱们在窄高 1.0 充分利用编码器里的信息帮忙视频解决,即老本很小的前解决办法,从而实现低成本的自适应内容解决和编码。同时,在编码器里,次要工夫是基于主观的码控。
第二代(窄高 2.0),与窄高 1.0 相比会有更多的、更充沛的、复杂度更高的技术来保障自适应能力,同时咱们在窄高 2.0 里减少了修复能力,比拟实用于高热内容,比方优酷世界杯。对这种重要的较量用窄高 2.0 进行解决,在品质晋升的同时,码率节俭也更多,具体内容我在前面会一一开展。
1.2 窄带高清的全景图
上图是窄带高清的框图。从上一页 PPT 来讲,窄带高革除了单点技术之外,主打内容自适应。上图最上面的内容是核心技术:视频解决和视频编码。视频解决和视频编码是原子能力,下面的内容就是如何去做自适应。对窄带高清来说,自适应来自三个维度。
第一个维度:业务。不同的视频语音业务对窄带高清的诉求是不一样的,比方长视频和短视频:因为视频的采集形式不同和时效性不同,它所须要的窄高采纳的技术和编码模式都是不同的。
第二个维度:视频热度。在首淘场景中对高热内容能够用窄高 2.0 启动二次转码来实现品质的进一步晋升和码率的节俭。
第三个维度:内容。内容分为两块 ——High level 和 Low level。
High level 第一点就是语义。在语义中,基于不同的场景决策最优的编码参数,同时还有宰割,宰割就是 ROI,咱们能够对感兴趣的区域进行编码。第二点是品质,片源品质包含失真,包含亮度、对比度、噪声等等,以及它的片源品质是怎么的。这些内容极大地决定了视频解决的组合和强度,同时对编码器的决策也会有很大的影响。
Low level 被咱们认为是低成本的思路,包含时空复杂度和 JND 两个内容,我在前面都会进行开展。
视频普惠化下的视频编码与视频解决
阿里云视频云当下重点发力的内容之一是把视频普惠化,而视频普惠化的关键在于老本,2021 年咱们会持续聚焦在 264、265 继续老本的节俭,同时在下一代 VVC 和 AV1 上发力。
2.1 视频解决
在视频解决方向,除了单点算法之外,咱们还把重点放在了自适应方向上。窄高 1.0 的外围就是低成本和自适应如何兼得,咱们的重要思路就是:尽可能地重用编码器的编码信息去帮忙视频解决做自适应的决策,这样的自适应是零老本自适应,包含视频编码里的 CUtree 和自适应量化 (AQ) 的信息、静止搜寻的信息等,充沛地应用到这些信息并帮忙视频解决做出决策。
窄高 2.0 除了之前讲的场景语义帮忙编码做决策之外,另一个重点要讲的是基于 GAN 的生成修复技术。这里的外围问题:因为 GAN 生成是不稳固的,怎么保障帧间一致性就是一个难题 —— 这里咱们用的是 TCRnet。TCRnet 是用 IRRO 偏移迭代修改模块联合可变形卷积来进步静止弥补的精度,同时利用 ConvLSTM 进行时序信息的弥补避免造成信息误差。
2.2 视频解决人像解决
咱们认为无论是在点播、直播还是 RTC 场景外面,人脸局部始终是人的 ROI,如果咱们能把人脸区域或人像区域做比拟大的晋升,那这块对主观品质来说肯定有比拟好的晋升以及视觉加强。咱们这块是和高校单干的,从上图能够看出,和 LR 以及 DFDNet 比照起来,咱们的后果(第三列和第六列)清晰度更高,同时鲁棒性更好。目前咱们的算法正在申请专利,等完结之后会更加具体地分享。
内容分析
3.1 片源品质
片源品质是一个十分重要的决策因素。大家个别关注在视频解决上,比方对片源检测有哪些失真:噪声、含糊、压缩、色调、亮度等,依据这些失真来做视频解决决策,做组合以及强度。对低成本的视频加强来讲,视频品质的剖析十分重要。因为对一个大模型来说,能够用大模型学到很多自适应能力;对小模型来说,要给它足够的先验信息,帮忙它在低成本下实现视频解决的较好的决策。
除了对视频解决的帮忙之外,片源品质对视频编码的影响也比拟大。
大家能够看到视频左边这个图,这个图我是从谷歌那篇 paper 中摘出来的,咱们本人测也能发现,但谷歌那边 MOS 打分十分具体,所以我把这个图给贴出来。上图右侧的图片中 CRF42 跟源的品质差不多,然而上面的 CRF42 的品质比源的品质还高。
在片源品质较差的状况下,自适应编码是个低通滤波,如果用自适应编码将噪声滤掉,这对主观品质是有晋升的。这对咱们的启发是之前做的主播优化,就是如何通过编码决策,通过 QP (量化参数) 调配,通过一些码控前解决来帮忙编码器把高频留下来。
大家都会认为谬误的高频会比含糊的低频更好,然而在片源品质差的状况下就不是这个思路了,主观优化的思路要反过来,怎么把编码器的决策使它偏差于含糊的决策,或者使它偏向于做一个平滑的,比方多选双向预测、多选低帧。整个窄带高清外面很重要的模块就是视频品质的剖析检测 —— 用来帮忙咱们做编码和解决的决策信息。
3.2 JND
JND 对工业界来说是一个十分重要的方向。传统的视频编码是基于信息论的,所以它在始终做时域冗余、空间冗余、统计冗余等等的冗余,然而对视觉冗余的开掘是远远不够的。
JND 对视觉冗余的开掘思路非常间接。上图取自于王海强博士的一篇 paper,它的思路是传统做 RDO,是一个间断的凸曲线,但在人眼中它是个阶梯形的,那咱们就能够找这个阶梯,找到这个阶梯就能够省下码率栏,使它主观品质不可见。基于这个思路 —— 也是 JND 的思路,JND 分为两个思路。
3.2.1 自顶向下
自顶向下就是要去模仿人的 HVS 的机制来实现 JND 的拟合,然而人们对 HVS 的钻研还远远不够,很难用一个货色模仿它,所以当初业界有一些学者去钻研间接数据集,通过数据的驱动来迫近 HVS。
现存的几个问题:第一个就是视频编码的失真其实跟码控、主观优化都有很大关系,略微动一点编码器的配置,失真差别就会很大;第二个就是基于像素级的标注是不可能的,因为人眼看货色是有角度的,不可能对整个像素进行标注,这样做的工作量是十分大的,所以业界个别用的是第二种计划。
3.2.2 自底向上
自底向上的外围次要是对视觉皮层的视觉特色来进行表真,包含色彩、亮度、对比度、静止等形式。这种也分为像素域和子带域,有没有可能用深度学习来帮忙 JND 做晋升。
3.3 对于 JND
上图的工作外围是因为 IQA 的业界钻研比拟多,且有很多的数据集来帮忙 IQA 做晋升,而 JND 的钻研不够。然而 IQA 和 JND 都是保真视频的主观冗余和品质,有没有可能两个做联合,使它互为先验信息呢?
接下来是它的两个次要假如,第一个视频冗余的去除是噪声叠加,大略意思是给一张图上加噪声,加完当前还看不出来,那么这个图的这个区域就是有冗余的。第二个在图上加噪声,而后利用 IQA 作评估把冗余去除变换为噪声叠加,噪声叠加后这个图片用 IQA 做评估。
上图是一个自变量卷积的网络。I 是原图,PC 是吴老师提出的一个特色,PC 是人眼用表真复杂度较低的形式去表真这个规定纹理,而对无规则纹理则用复杂度较高的模式表真。复杂度低和复杂度高的模式对应的 JND 是不一样的,所以把 PC 做为先验传到网络外面,把原图、PC、以及原图和 PC 的综合(concatenation)做为自变量卷积做成的图。
这个思路是利用 IQA 的后果来帮忙 JND 做晋升,从上图中能够看到,整个思路有很多破绽,比方 IQA 的判断,哪个 IQA 能够来判断噪声叠加之后的图的品质,PC 是不是好的表真形式等,这些问题都是有晋升空间的,但这是咱们目前看到帮忙 JND 晋升的比拟好的方向。
视频编码与解决联结优化
4.1 视频编码与解决联结优化的思路
当初咱们正在做的视频编码和视频解决的联结优化就是既有发送端也有接收端,不仅有前解决也有后处理。
基于下面的框图来说,整个视频编码的失真假如是有所扭转的,不再是编码前后的失真,而是前解决之前和后处理之后的失真。同时码率也会发生变化,不肯定是只有根本层,还能够有增项层来帮忙视频后处理去做晋升和复原。
视频编码与解决联结优化有几种思路。
第一个思路是怎么利用视频解决帮忙编码晋升压缩率。这里能够利用场景分类、内容了解、品质剖析以及 JND 帮忙做出决策;第二是除了帮忙视频编码做决策之外,还能够利用视频编码视频前解决晋升视频品质达到更好成果。
第二个思路是怎么用视频编码帮忙视频解决晋升成果,这边的解决指的是后处理。这里有两个外围问题,基于后处理的状况如何做编码的决策。之前用的 RDO 的公式、曲线 \ 以及码率调配都是基于编码器失去的。然而在有后处理的状况下,在决策和预测时应该做出怎么的变动,这是咱们和高校正在摸索的问题。
这里着重讲分层编码,分享一下咱们在这一部分的思考。
分层编码肯定要满足几个条件:
第一个条件是是否能找出更高效的数据表达形式,不仅仅是上传的信息在编码器做码率调配就能够,而是编码器在做码率调配时有更高效的形式才会有分层的价值。
第二个是发现对品质奉献有价值的信息,传递这些信息会比在一般编码时码率调配那些信息更高效,能够辨认出对品质更具备价值的信息,这一点前面会进行开展。
第三个是编码解决的联结优化。
4.2 关键点 + 雅可比矩阵
上图大家可能看的比拟多,像英伟达也是基于这份会议 paper 来制订的会议计划,这个就是一个十分好的更无效的数据表达形式。
这里援用 19 年的一篇文章,First Order motion model for image animation,它的工作是做图像合成,给一张原图而后生成一张图,生成的这张图包含原图的构造信息加上疏导图的姿势信息。
从上图能够看到,这里分为了两个模块。一个模块是静止预测模块,是图中的黄色区域;第二个模块是生成模块。在静止预测模块后面对关键点进行检测,这个关键点和咱们认为的关键点不一样,不是人脸的关键点,而是通过网络分析 —— 这样对运动表真会更有帮忙 —— 得出关键点左近的雅可比矩阵。雅可比矩阵是一个 2*2 的部分仿射变换的矩阵。
基于关键点和雅可比矩阵,能够通过 Dance motion 来失去密集的光流加上遮挡图,把遮挡图、密集光流进入生成网络起初生成最初的图。我框出的图中 Keypoint Detector 就是一个编码器。编码输入了它的特色,特色点和 22 的这个矩阵就是要传输的码流,前面就是解码器。当初的关键点加 22 的矩阵是一个十分高效的表达形式。假如关键点有十个,对应的 2*2 矩阵也有十个,那么对一张图的示意只须要 50 个比特,这比传统编码器更加高效。
咱们基于这个思路也在做本人的计划,当初有一些成绩,在这里和大家分享一点 —— 咱们感觉在这个整体中十分重要的是工程的鲁棒性。它的应用是有限度的,人偏到肯定水平,背景比拟乱或者人有其余动作时,这种办法就生效了。咱们要做一下工程方面的保障,把这些条件全副检测进去,来保障在适合应用的工夫把它应用上。
4.3 外围问题
工作的思路是,咱们要传输对主观影响大、同时视频后处理不能复原的像素。编码传到前面深度学习进行视频修复,修复了咱们能真正辨认进去的信息。信息是否须要传?修复的信息就不须要传了,把不能复原的信息进行传输,能让整体更高效。
大家从图上可知这是一篇 CVPR 2021 的 paper。它的思路是进来一张图,用传统的编码器或者是 JPEG 去编,编成 Base layer 间接输一个预测网络,预测网络能够失去要害像素的值。这个要害像素是对主观影响大且视频后处理不能复原的像素,和原图一起做一个感知压缩,作为加强层的码流来交融到编码器的码流里,一起传到对端来进行修复。
有意思的是,它能辨认信息后处理后的能做与不能做,它的问题是关键点的预测是间接通过压缩之后的重建图得出的。起因在我不想传地位信息,间接通过压缩之后的重建图得出关键点,在解码端也能够做。但如果把它放入视频编码里,这对失真图的预测来说是个比拟大的问题,但这开启了一个比拟好的方向,一个咱们能够去尝试的方向。
4.4 LCEVC
从纯压缩率来讲,从输出视频到采样,比方 4k 到 1080 通过 540 后用 Base Layer 进行编码,做一个根本层。把这个重建帧进行熵采样成 1080 的重建帧,跟 1080 的源进行残差,残差进行变换量化、熵编码、反变换量化,L-1Filter 是一个传统编码器外面的 Filter,它的形式会更简略。把重建之后的货色跟 1080 的源相减 3k 或 4k 做时域的预测,做 L2 的 Tem poral Layer 的编码。
Tem poral 预测是一个同位的预测,没有利用搜寻。基于无效的框图来说须要有几个条件,它做了降采样和升采样,Base Layer 能够认为是一个低频信号,残差能够被认为高频信号,那这个框架是否对高频信号有更好的压缩,这是咱们的问题。这里最外围的问题是如果它真的对高频信号有更好的压缩,那整个框架要求就十分高。
第二,它对加强层的压缩比传统编码器更好。从咱们的剖析包含后果来看都没有达到这两个条件,因为它的时域的信息利用有余,对视频来讲时域冗余才是外围。同时它加强层的所有的 Transfrom 是哈达玛变换的不是 ECT,很多都是近似。
所以压缩率来讲没有达到分层编码应该达到的程度,但很可能在软硬联合的时候是有劣势的。硬件编码器可能动不了,须要用软件编码器去做一些分层方面的思考,这个问题能够前面和各位专家独特讨论一下。
4.5 视频编码与解决联结优化
从上图能够看到,视频编码因为编码器的存在把它的前后截断了,是否有可能利用网络模仿视频编码,使得它可能领有市面的驱动回传,达到前解决和后处理的联动,达到主观最优,咱们据此做了些尝试。
咱们也用网络去近似它,去模仿传统的 HEVC。起初看成果,网络模仿不能很精确,但咱们从主观上和主观上看到了成果,这对咱们是个很好的启发。
网络模仿到什么水平或者说你这个起作用的起因是什么,起作用的是不是一个趋势,基于这个趋势怎么构建模仿过程可能能帮忙实现前后的联动。咱们打算往年下半年发 paper,等 paper 颁布后和大家好好探讨。因为咱们发现不必模仿得很精确就能出成果。
从上图的中下方能够看出,对传统的视频编码模仿还有余的状况下,解决联动起来之后块效应少了,细节变多了。
品质评估定义了技术抉择
品质评估定义了一个技术抉择,如何评估算法就定义算法往哪个方向去演进。
上图次要说的是引入 GAN 之后,主观品质和主观品质的正相关性没那么强,即主观品质好不肯定主观指标高,所以右图的 quality 和 distortion 的 tradeoff 须要调整。在这个曲线上主观品质好主观品质必然差,主观品质差主观品质就能够好。
在上图中左侧能够看出,SRGAN 是很分明的,SRResNet 是糊的,最左边的图品质最好,但它的 PSRN/SSIM 是比拟低的,同时 VMAF 也是比拟低的。所以用 VMAF 来评测也不是特地适合的形式。
咱们在视频编码中也发现了一个相似的法则 —— 主观评估是评估窄带高清的惟一办法。咱们也找了很多主观评估的货色,包含 LPM,NPS 等等,也包含很多无源的有源的。的确真正合乎主观的还没找到,这块是咱们必须要做的。
窄带高清的测评计划
咱们的思路放在如何晋升主观评测效率。主观既然是惟一评估办法,那么是否有形式晋升主观评测效率,比方视频素材的抉择,怎么从这些维度去选你的视频作为测试集,包含 MSO 最罕用的时空复杂度,包含内容、视频的品质,包含与评测算法相干的因素。
如果想评测调色,就要选调色相干的视频,比方时延比拟大的与时延比拟小的等等。同时,比例也很重要。因为比例是一个论断,所以不适合的比例对你的论断会有比拟大的影响。
从上图右侧能够看到,MUS 在测编码器的时候会把几千个视频放到表外面,不同视频在不同区域的散布是什么样子的,如果能达到这个散布咱们就晓得它的权重了 —— 是不同视频对最初后果的权重是什么。
主观评估有很多种,看均匀的值,看 min、max,或者用其余什么形式,但都很难在理论中利用起来。这些可能对不同的场景无效,但怎么样做到鲁棒也是咱们本人的一个困惑,所以咱们当初把重点放在主观上 —— 外围是如何用很多工具、用很多数据、用很多零碎来帮忙主观晋升评测效率。
这里有几种评测形式:第一个是专家评测。Golden eye 肯定要细腻地发现各种失真,这里用 10 集体是比拟好的。细粒度是左边这个图,做了一些工具,包含能够随时放大的、能够拖动的等等来帮忙咱们发现编码或者算法方面的一些小的晋升;用户评测这方面太大,咱们平时做的比拟少,咱们感觉专家评测和细粒度评测曾经能够把咱们整个算法覆盖住了;打分方面,比照模式是 0 到 1 时好时坏,还是 MOS 的 0 到 5 分。我感觉如果人少,举荐 01;人多的话举荐用 MOS。
窄带高清的商用后果
上图是咱们的后果,当初在窄带高清 1.0 和窄带高清 2.0 的直播、点播、RTC 方面曾经大规模商用。刚刚曾经说了,窄高 1.0 的定位是通惠,窄高 2.0 则用更高的算法来帮忙非凡的直播,包含优酷的世界杯体育直播和 OTT 直播。
同时,在窄高 2.0 外面,咱们还在做生成技术 —— 就是刚刚讲的对人脸的修复。
上图视频因为画面静止比拟快,咱们节俭了 30% 的画面,使主观品质更好。
对于将来:视觉 + 大脑
对于将来,窄带高清的将来必定是视觉加大脑,这点毋庸置疑,因为从压缩效率来讲必定是视觉加大脑的效率是最高的。
上面的图引自徐迈传授,下面写了人眼的干锥细胞有十亿个,或者说十亿个 Camaro。从视觉进入大脑 V1 视觉皮层的一个带宽只有 8M—— 不论你看什么内容最终传输到大脑的只有 8M,这个压缩率是十分高的。
上面这个 1.44T 和 8M 比照,从将来的角度看,咱们感觉它须要采集计算存储认知方面的翻新能力达到这个指标。
举个例子,咱们当初的采集都是基于像素的采集,业界也在做基于事件的采集,基于神经脉冲的采集;从计算来讲,尽管当初计算的效率进步了很多,然而和人脑来比算力还远远不够,包含它的耗费 —— 比方咱们人吃顿饭能看良久,但机器须要很多的电 —— 这一点从计算上肯定得进行冲破。
存储是咱们继续关注的一个点。是否有可能我的视频编码越多我的视频品质就越好?或者我编码的老本越低,像大脑一样,咱们人看过这个货色就间接脑补上了?这些都是从存储外面去找货色来帮忙咱们去做修复,很多货色都不必传了。
认知也是一样的,对于机器的压缩也有,从特色到像素,因为人脑是不能传像素的,必定是传特色的,那它的特色是什么也是待学术界要去剖析的。
以下有几个问题是咱们短期的问题,咱们会始终沿着这些问题探讨上来,也以及局部地在这些方面做了单干布局,与高校一起来冲破。
第一个,是否随着解决的视频越来越多,压缩效率能够越来越好,这个是咱们想跟高校去布局的方向。同时,在联结优化方面,像咱们看到的一份 2019 年的 paper,在人脸表白姿势的表白方面有更高效的表达形式了,因为那个不是做压缩的,在压缩方面有没有可能针对更多的场景,或者有压缩的更好的表达形式进去。
第二个,传统的视频编码在两头使前后拆散。咱们当初有一些后果,发现视频编码是一个工作量大的事件,是否有可能把编码器模仿进去,彻底买通前后解决。这是咱们本人在做的、同时也是和高校一起在摸索的方向。
第三个,咱们针对视频后处理和编码上的决策有一些成绩,并且想继续做上来。当初的 RDO 始终是针对于视频编码的,而视频后面有前解决、视频前面有后处理,所以在针对有视频要解决的状况下,编码的 RDO 须要决策编码的码控。
此外,咱们在推广的时候很多客户不违心承受主观评估,在给客户推广的时候,客户个别就看一下 VMAF、PSRN 和 SSIM 是怎么样的,但这个对咱们的主观品质、算法演进是不利的。那么,基于主观、生成和解决的背景下,能适应的品质评估规范到底是什么?这是须要一直思考的问题。
这就是我全副的分享。谢谢大家!
「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实际技术文章,在这里与音视频畛域一流工程师交换切磋。