将编码器的优化方针从经典的保真度最高,调整为「片面体会最好」。
视觉是具有 「掩蔽效应」 的。
浅显地说,人眼作为图画信息的接纳端,并不能精准捕捉到图画画面的所有改变。
例如,人眼关于画面中亮度的改变、静止的图画、画面全体结构比较敏感;而关于色度的改变、运动的图画以及画面内部细节相对不敏感。
面对人们寻求更高清、极致的视频体会趋势,视频编解码技能是重中之重,其间心方针是:在可用的、有限的核算资源内,寻求尽可能更高的视频「重建质量」和尽可能高的紧缩比,即更低的带宽,以及更高清的画面体会。
「窄带高清」便可以利用人眼视觉的掩蔽效应,从人眼视觉模型动身,将编码器的优化方针从经典的“保真度最高”调整为“片面体会最好”,从而完成码率、质量、本钱的最优均衡。
窄带高清技能全景
窄带高清转码首要经过解码、重建提高视频质量、再编码三个进程,这便对应产生了三个问题:怎么界说视频质量?怎么完成质量提高?怎么在编码环节稳固提高视频质量?
怎么界说视频质量?在视频编码的规范拟定进程傍边,客观质量(PSNR,SSIM)的衡量占比相对较高。但在实践运用中,关于视频质量的评价更倾向片面。因而,依托片面体会建模,提取人眼感兴趣和视觉冗余的区域做处理。
在质量提高方面,运用一些低复杂度的深度学习的方法,经过画质增强把一些人眼更敏感的如:细节和强边际等信息进行增强。
而怎么稳固提高视频质量?则需求增强和编码进行协同配合,也就是编码要尽量确保增强之后的细节可以保存下来,在增强时也需求考虑编码的友爱性。
下图是窄带高清全景图,在对视频的内容分析上分为High level和Low level。High level包含语义:场景,切割等;Low level包含时空复杂度、JND。
编码和处理各自都有必定的内容分析才能,流程内部还会有编码和处理的反馈机制。
根据以上这些维度的分析,可以得到自适应参数的决议计划成果。根据此成果,窄带高清再去做相应的视频修正和视频增强。
质量、码率与本钱的最优均衡
每一代编码规范的演进,都是在不断探索极限紧缩率。
在极致的质量和码率之间寻觅平衡,也就是不断的优化Bit-rate,随之而来的是本钱的不断添加。
在实践商用中对本钱更加敏感,所以商用编码器的优化就是在质量、码率和核算复杂度(本钱)之间不断地寻求最优平衡。
阿里云视频云的编解码首要根据自研的两大编码器S264和S265,覆盖直播,点播,RTC场景,从内核、前处理到码控各个部分,根据不同运用场景开发了100多个算法。整体功能相关于开源编码器,在全场景下有20%-60%的紧缩率优势,特别是在超高清、低延时场景下有片面的优势。
针对不同场景,在内核(运动查找、运动补偿、SAO、WPP等)和码控(AQ、CUTREE等)上调整编码决议计划。而片面质量的优化,在上述模块中都有触及,包含对片面更友爱的形式决议计划和码率分配。
比方:在一段视频中某些片段质量会比较差,某些片段质量比较好,在传统的形式下很难做到片面上的质量均衡,对此窄带高清会有一些针对性的码控优化。
针对低时延直播场景,它的Lookahead长度不能像点播那么长,可以更好的分配码率,因而也需求一些优化方法,去确保在低延时场景下,客观质量尽量逼近点播场景。
下图是视频云S264和265的演化途径,到目前停止,S265经过优化质量得到了提高,特别是从去年到今年,点播质量提高13%,直播质量提高15%,S264质量提高15%,RTC场景也有相应的优化。
下图是阿里云编码部分的模块区分图,中间内核部分用的是传统265的编码流程。
图片部分来源于网络
Lookahead部分包含内容检测,块级QP决议计划和帧类型决议计划。其间内容检测包含片源场景检测(动画/电影/直播)、片源质量检测(噪声、强边际、弱边际)等模块。块级QP决议计划除了CUtree和AQ,还包含JND和ROI。
编码方针部分可以认为是码控部分,阿里云的编码器除了方针码率之外还可以调整方针质量和方针复杂度。
方针质量可以是片面质量也可以是客观质量,比方以块效应来衡量,确保视频没有显着片面短板。
方针复杂度首要是针对机器负载,以恒定的机器负载去执行编码使命,最大极限的利用核算本钱交换质量。
此外,视频云还针对不同架构做了相应的底层优化,针对倚天ECS进行S264和S265编码器的深度优化,打造ARM友爱的视频编码器,优化首要根据以下三个方面:
01 核算函数汇编优化
核算密布型函数经过汇编完成单指令多数据操作优化,其间可弹性向量指令集,mmla类型高并发指令,刻画更高的汇编加速比,整体功能提高40%;
02 核算函数并行优化
对有功能增益但原本串行处理数据的算法(如SDH)进行并行化优化,并完成根据ARM平台的汇编版本代码,在紧缩功能基本共同的情况下函数速度功能提高约40%。
03 偏控制函数优化
将算法设计与优化相结合,提高功率,例如快速算法checkSkip,Earlyskip等,整体功能提高20%。
片面优化
片面优化算法首要有两个中心点:一是码控部分,二是内核的RDO模块。
在码控部分,关注在块级QP分配对片面质量的影响。例如:AQ是根据方差来判别视频在空域上的复杂情况,它的动身点相同也是用到必定的掩蔽效应。
但有时候根据方差的AQ与片面不必定匹配,比方相同两个方差共同的块,一个是内容离散,一个是有强边际的,它们方差是一样的,可是对片面退化的容忍度是不一样的。
另一个片面优化的动身点是来自CUTREE,CUTREE的基本思想是根据信息传递,假如当时帧的某些内容会被后续参阅,信息会向后传递拷贝,那么就会对这块内容分配更多的码率,达到更好的全体质量。但因为人眼具有运动掩蔽效应,所以许多时候它的信息传递原理与片面感受存在必定的Gap。
另一个中心点在内核的RDO模块,经过提出PRDOQ技能,自适应的保存对片面更敏感的系数。以及自适应决议计划,在除MSE外,根据内容特征,例如:JND进行自适应决议计划,比较常见SSIM_RD,片面质量会更佳。
此外,根据率失真理论构建的编码器在块效应方面体现不佳,还专门优化了编码器的块效应。它的根据在于:根据客观的RDOQ,编码部分形式会放大块效应。而人眼关于块效应的敏感程度更高。
实践发现虽然编码规范中存在deblocking filter这样的东西,去块的强度在这些场景下还是不行,它需求经过码率分配的方法进一步处理。详细的做法如下:首先辨认出容易呈现块效应的区域,针对平坦区域分配更多码率,同时优化CUTREE的信息传递理论。最终,除了在码率分配上进行优化,也可以从形式决议计划的倾向性方面下手,比方skip,DC形式更容易呈现块效应。
上图是两张片面比照图,可以看到左面的比照图优化了边际部分的块效应,而右边比照图是对细节模糊的部分做了从头的码率分配。
关于场景检测优化来说,在lookahead里的SceneCut模块一般用于判别当时是否存在场景切换,假如辨认到场景切换,会在两个场景之间刺进I帧。但在许多情况下,该模块存在判别不精确的问题。比方突变区域的I帧到底是插在开端还是最终,咱们对此进行了优化,从客观上有一点提高,从片面上也能看到在场景切换的区域,片面质量会更好一些。
视频内容分析
JND模块
传统视频紧缩方法首要根据信息理论,从猜测结构的视点来减小时域冗余、空间冗余、核算冗余,可是视觉冗余发掘不足。而JND模块是根据人眼的掩蔽效应,详细的做法是对每一帧输入的图画,经过空域和时域的JND特征核算,将图画上存在视觉冗余的部分传到编码器,再由根据MOS的自适应码控算法进行调节。其间空域和时域的JND特征既可以运用传统算子,也可以根据深度学习获取。在通用场景下,JND算法可以在同等片面下节省超越30%码率。
本页做了一个简略比照来证明JND的可行性。左面是原图,咱们会在原图上添加一些噪声,一向加到人眼能看到差异停止。中间是SOTA成果,右边是咱们的试验成果。可以看到咱们的成果在PSNR上已经很低了,可是从片面上看的话,和原始图还比较挨近。
根据ROI的处理+紧缩
ROI编码是针对人眼感兴趣的区域,将更多的码率分配到这些区域上,从而增强片面质量。ROI编码的难点有以下几个方面:1. 核算本钱。2. 怎么确定ROI的区域。3. 关于ROI和非ROI的区域,怎么分配更适宜的码率,既能确保ROI区域的质量提高,又要确保非ROI的区域的片面不下降。4. 怎么确保时域上的接连性,使得最终在接连观看时不会呈现闪耀。
一个低本钱的ROI计划是人脸区域的增强,人脸区域一般都是人眼感兴趣的区域,经过自适应决议计划的检测加上人脸跟踪算法,能完成相对低本钱的ROI计划。
进一步的,ROI还需求与编码器和JND算法结合,确保ROI区域的时域接连共同性,和确保ROI区域和非ROI区域片面均衡。
细节增强
细节增强的中心在于细节增强算法自身的设计和与编码相结合的方法。其间细节增强算法需首先精细化的提取图画纹路,根据不同尺寸,不同特征提取纹路结构,才能使得增强作用更优。然后再根据纹路复杂度的区域进行自适应的增强。在与编码结合上,咱们做了根据编码反馈的增强方法,关于点播场景,会运用2pass方法,关于直播场景,会将细节增强加入lookahead里边。
窄带高清2.0是复杂度更高、本钱更高的修正增强作用。上图是咱们在BesTV上的一个实例,用于NBA直播场景。其间左面是蓝光流,右边是修正流,可以看到右边的修正流在强边际的保存上作用更好,运动区域的模糊也会更少。
窄带高清2.0是复杂度更高、本钱更高的修正增强作用。上图是咱们在BesTV上的一个实例,用于NBA直播场景。其间左面是蓝光流,右边是修正流,可以看到右边的修正流在强边际的保存上作用更好,运动区域的模糊也会更少。
最终,关于窄带高清在未来的持续发展方向。
一是视频编码持续沉淀
从传统编码的视点,无论是在形式决议计划,码控上都还有许多功能空间可以发掘。在限定码率和复杂度的情况下不断地优化视频质量,是团队长时间投入的方向。
二是视频编码与处理联合优化
让增强部分与编码可以更好地结合,对编码更友爱,从人眼的视点去尽量确保在极低码率上不出块,尽量减少细节纹路的时域不接连。
三是视频处理的自适应才能和生成才能
编码的自适应才能包含了内容自适应,码率的自适应,还有负载的自适应,这都是咱们未来会要点研讨的方向。