HEVC-SCC快速算法研究分析

2022-02-17 12:16:34陈杰林琪张璐卢荣辉阮文斗
电子制作 2022年3期
关键词:像素编码深度

陈杰,林琪,张璐,卢荣辉,阮文斗

(1.武夷学院 信息技术与实验室管理中心,福建武夷山,354300;2.华侨大学 信息科学与工程学院,福建厦门,361021)

0 引言

随着社会的发展,视频通信的应用也越来越普及,如远程视频教育、远程视频会议、无线投屏等技术在教育领域流行起来,受新冠病毒的影响,在2019-2020学年第二学期,全国各地高校、中小学大部分都停课,各地高校、中学乃至小学遵循教育部停课不停学的指导思想,基本上都采用线上教学的方式进行授课,课堂上教师大多数采用教学材料PPT与个人视频相结合的形式,将知识传授给学生们。这种教学方式对视频编码工具的实时能力有着较高的要求,编码性能越高、编码速度越快则线上课程的效果越好,线上教学已成为一种趋势,未来线上教学在教学中的比重一定会越来越大,这使视频编码技术优化成为了一大热点。

现在所使用的主流编码标准HEVC[1-3](High Emciency video Coding)于2013年由国际标准化组织(ISO)和国际电工委员会(IEC)以及国际电信联盟(ITU-T)联合颁布,这是第一版HEVC,也称为H.265。在随后的两年内,HEVC的第二版和第三版也相继发布,2014年10发布第二版,包括了范围扩展、可分级扩展以及多视点扩展,2015年4月发布了第三版[4],这一版本包含了3D扩展附件的应用,进一步扩大了HEVC的应用范围。

但HEVC本身是基于摄像机拍摄的自然图像和视频特性所设计的,现在的视频常包含着如计算机图形、动画、文本等由计算机产生的屏幕内容图像,自然视频图像与屏幕内容图像特性不同,屏幕内容视频一般画面有很多边缘锐利的图像块、颜色种类少、存在大量重复的图像块等,所以ITU-T和ISO/IEC在HEVC标准上提出了屏幕内容编码[5](Screen Content Coding,SCC)扩展标准,其主要用于提高对屏幕内容视频的压缩性能。SCC极大地减少了对屏幕内容视频的码率且提高了视频质量,但新增的编码工具却增加了编码复杂度,从而增多了编码时间,这不利于视频编码工具的实时应用能力,所以对HEVC-SCC的快速算法研究有极其深远的意义。本文通过对HEVC-SCC新增的几种编码工具及当前的研究现状进行分析,针对HEVC-SCC的快速算法提出相应的建议及对策。

1 HEVC-SCC技术概括

2014年1月,JCT-VC开始制定屏幕内容标准(SCC),并于2016年基本完成,HEVC-SCC编码框架如图1所示,其仍采用HEVC的基于递归四叉树编码框架,并提出了新的编码工具:帧内块数据复制技术[6-7](Intra Block Copy,IBC)、调色板模式(Palette Mode,PLT)[8-9]、自适应颜色空间变换技术(Adaptive Color Transform,ACT)[10-11]、自适应运动矢量决策技术(Adaptive Motion Vector Resolution,AMVR)[12-14]。

图1 HEVC—SCC编码框架

1.1 HEVC编码技术

1.1.1 CTU到CU的四叉树划分

HEVC-SCC采用的编码方式依旧基于块,图像首先被分为大小相等、紧密相邻不重复的编码树单元CTU,CTU的尺寸为64×64,CTU并不是最终的编码单元,其可以通过自适应进一步划分为32×32、16×16、8×8的编码单元CU[15]。当CTU不进行划分时,一个CTU仅包含一个CU,CU的大小为64×64。当CTU进行划分时,一定遵循同一尺寸的4方块等分,以CTU为树根,划分后的CU为树叶,根据CTU划分的规则,称其为四叉树划分,如图2所示。将划分层次分为4层,层数0到3分别对应不划分、划分一次、划分两次、划分三次,编码时按照深度优先的光栅扫描顺序处理各个CU。

图2 CU划分图及对应四叉数结构图[2]

1.1.2 CU中的PU划分

当CU不再进行划分确定为最终尺寸时,需要进行预测运算,HEVC-SCC的预测运算是在PU级上进行的,最底层的CU需要划分成预测单元PU,且只允许一层划分。CU决定了预测模式,PU携带了CU的预测信息,包含了帧内的预测方向、帧间的运动参数等。图3是CU到PU所有的划分情况,帧内预测PU划分只能为2N×2N、N×N,帧间预测PU划分则可以为图3中的所有方式,值得注意的是,N×N的划分方式只能为最小尺寸8×8的CU所用。

图3 PU的划分方式

1.1.3 变换单元TU划分

对残差信号进行编码时,需要将CU划分为变换单元TU,TU是编码器进行变换和量换的基本单元,从CU到TU的划分也是四叉树划分。与CTU到CU的四叉树划分不同的是,此时的树根是CU树叶是TU,TU的尺寸最大为32×32,最小为4×4。在HEVC-SCC中对尺寸为32×32、16×16、8×8、4×4的TU用的是离散余弦变换(DCT),对于4×4大小的TU亮度帧内预测的残差,也可以使用离散正弦变换(DST)。

1.1.4 帧内预测

HEVC为帧内编码定义了33种角度预测模式,加上平面(Planar)模式和直流(DC)模式共计35种帧内预测模式[16],其预测模式和方向见图4,模式编号由像素的个数表示。在进行帧内编码时,首先准备亮度预测块周围的参考像素,如出现参考像素不可用的情况,根据参考像素填充规则进行填充,其次判断参考像素是否需要平滑滤波,对需要滤波的参考块进行相应的滤波处理,最后再遍历不同深度下的CU的预测模式,利用Hadamard变化计算预测残差绝对值和(SATD),选取STAD值较小的几种PU模式加入候选集中,对候选集中的残差信号进行熵编码,计算率失真代价(RDO)[17],选取RDO最小的为最优模式。当亮度块的最优模式确定后,再将此模式与DC、Planar、模式10、模式26作为色度块的候选集进行计算RDO,从而确定色度块的最优模式。

图4 帧内预测模式和角度[2]

1.1.5 帧间预测

视频的相邻帧相关性很强,在完整的视频序列中,相邻帧之间存在很多相同图像,只是相对位移发生了变化,如果对这些图像进行重复的编码显然浪费码字。帧间预测时在相邻的图像帧内通过运动估计为当前编码块找到最匹配的已编码块,得到运动矢量MV,通过MV与匹配块得到当前编码块的预测值,预测值与原始值的差为残差,编码时只需对MV、参考帧索引等运动参数与残差进行编码即可。

1.2 HEVC-SCC新增编码技术

1.2.1 帧内块数据复制技术

屏幕内容视频有一特点,其每一帧图像中有大量重复的文字和图案,如图5所示,两个方框内的内容是完全一样的。当第一个方框编码完成后,编码器处理到第二个方框时,显然不需要再次进行编码,只需要借助第一个方框进行预测即可,这就是IBC模式的设计思路,这一过程与帧间预测类似,差别在于帧间预测的参考块在不同帧,而IBC的参考块为同一帧内的已编码块。IBC模式为屏幕内容序列带来了2%~44%的比特流节省,在IBC模式下最关键的是匹配快的寻找,匹配快与编码块一定是同一条或片内,块匹配这一过程是IBC模式中计算量最复杂的,增加了HEVC-SCC的编码时间。

图5 屏幕内容图像中的IBC模式

1.2.2 调色板模式

PLT模式是HEVC-SCC中新增的编码工具,其对提升屏幕内容视频的编码效率的作用是很大的。1个编码单元CU含有1个亮度块与2个色度块,对屏幕内容图像而言,其局部常包含着大量颜色相同的背景,这些背景被其它颜色分开形成锐利的边缘,这样的特性导致HEVC标准编码效率不高,也是PLT模式设计的来源。区别于帧内编码先预测再变化的过程,PLT首先统计编码块上出现频率较高的颜色,将较为接近的颜色合并只留下几种代表性的颜色,对这几种代表性的颜色进行编码形成调色板。调色板生成之后编码器遍历CU中的像素点,为每个像素点找到调色板中最接近的代表色并分配指向代表色的索引值,当出现某一像素点无法在调色板中找到接近值时,对其标记为escape(逃脱像素),编码时对其直接进行量化编码。当编码器遍历完所有像素点时生成索引图,最后对索引图进行游程编码。

1.2.3 自适应颜色空间变换技术

屏幕内容图像能够获得超高清视觉感知的基础是支持4:4:4颜色格式,HEVC标准采用的RGB颜色空间对屏幕内容进行采样,但RGB不同颜色分量冗余度高。所以HEVCSCC标准中提出了ACT变化,将4:4:4格式的RGB颜色空间自适应地转换为颜色分量相关性小的YCoCg颜色空间,其转换公式如式(1)所示:

由上式可以看出其颜色空间的转换是线性的,并不会增加解码时间。HEVC-SCC为了降低复杂度,ACT转换应用在残差信号,且对于帧内预测模式,只有亮度块与色度块预测模式相同的编码单元才应用ACT变换。

1.2.4 自适应运动矢量决策技术

自然内容视频是相机所捕捉的连续的画面,屏幕内容视频中包含着大量计算机直接产生的图像,这些图像由计算机直接生成在各个整像素点上,其运动是离散的,所以并不需要像自然内容一样进行分像素的运动补偿。AMVR技术能够在条级别上自适应地进行分像素和整像素的切换,将分像素的小数部分舍去成为整像素,有效地降低了编码的复杂度。

2 HEVC-SCC的研究现状及分析

HEVC-SCC新增的编码工具提升了编码能力,全帧内模式时(AI模式),在无损情况下,HEVC-SCC相比HEVC压缩效率提升36%,而在有损情况下,HEVC-SCC相比HEVC压缩效率提升更是高达56%。但也使编码器的计算复杂度急剧地增加,其还是采用遍历四叉树结构使用率失真优化(RDO)的方法选取最佳预测模式,新增的编码工具能够使屏幕内容图像得到最精准的预测且产生的码字最少,但是在遍历不同深度CU最佳模式时,也带来了十分巨大的运算量。换句话说,HEVC-SCC为了降低码率而增加了编码复杂度,如何在不影响图像视频质量的情况下,不增加码率且缩短编码时间就成了当下研究的热点。从JCT-VC启动基于HEVC标准的屏幕内容标准(SCC)的扩展工作至今,越来越多的算法被提出来用于降低编码复杂度,而且许多快速算法被JCT-VC采纳并成为标准的一部分,不断有国内外专家学者提出基于屏幕内容的快速编码算法,以下对HEVC-SCC的快速算法做一系列的综述。

2.1 帧内预测快速算法

国内外学者提出的帧内快速算法主要以HEVC-SCC帧内编码过程复杂度高为出发点,根据自然内容与屏幕内容的特性,针对性地跳过CU深度、PU模式的遍历过程,从而减少率失真代价计算以降低编码复杂度。

欧健珊[18]根据SCC中的IBC及PLT于传统自然图像以及屏幕内容图像有着不同编码效率提出的,IBC与PLT对于较复杂的屏幕内容有着较强的编码能力,但对于自然图像的效率并不高。通过自然内容图像与屏幕内容图像经DCT变换后能量分布不同的特性,以DCT系数值引出了整帧图像预测值PS与CTU预测值S。通过PS将每一帧图像分为自然内容图像、屏幕内容图像、混合图像。针对自然图像当中的CTU,跳过IBC与PLT模式,直接采用传统帧内预测模式。针对屏幕内容图像,以预测值S将CTU区分为简单屏幕内容CTU和复杂屏幕内容CTU,简单屏幕内容CTU跳过IBC与PLT模式直接采用DC、PLANAR、水平、垂直模式的模式预测,复杂屏幕内容CTU采用IBC、PLT模式进行预测。针对混合图像,遍历每个CTU计算预测值S,将CTU分为自然内容CTU、简单屏幕内容CTU、复杂屏幕内容CTU,对每个CTU的编码处理方法与之前的CTU一致。该文所提算法与SCM8.3标准编码器相比,可以节省38.55%的编码时间,只增加了1.82%的平均比特率差(BDBR)。

司朋涛[19]从快速CU划分、快速PU选择方面提出了优化算法。文中先提出利用CU像素值的方差(CUD)、平均非零梯度(AveGDN)、CU信息熵(ent)及像素种类值(CNum)来进行CU快速划分的快速算法。在CU划分计算率失真代价之前,根据每个特征对不同深度CU划分的影响:如深度为0时划分和纹理信息有较大关系,则用CUD判断是否划分或快速终止的决策;深度为1时颜色数等相关信息对划分结果影响较大,则加上CNum来进行决策;深度为2时用CNUM与CUD进行决策。其次又根据不同深度下预测模式的分布,新增了CU像素信息熵(Pixen)、梯度信息熵(GDen)进行不同深度下的PU模式跳过决策。在不同深度下进行对应特征值的计算,将编码块分为自然图像块或屏幕内容块,自然图像块跳过IBC与PLT模式,屏幕内容块则根据特征值判断是否直接使用IBC或PLT模式。文中所提的两种算法进行联合仿真,较标准编码器SCM7.0,节省了34.33的编码时间,BDBR增加1.36%。

2.2 帧间预测快速算法

帧间快速算法主要通过图像特性进行参考帧的选取、模式快速跳过、搜索范围的自适应调整,利用帧间编码过程中图像特性的关联度,以达到缩短编码时间的目的。

肖傲[20]首先根据当前CU紧密相邻的前两帧相同位置CU的深度之和以及平均率失真代价RD和基于QP的函数f(QP)作为判断依据,提出一种帧间的CU快速决策算法。当满足条件相邻帧的最大深度与最小深度之和小于2,且RD小于门阀值1000×f(QP)时,则跳过深度2、3的遍历过程,在深度0、1之间选择。当紧密相邻的前两帧相同位置CU的深度之和大于4,且RD大于2500×f(QP)时,跳过深度0、1的遍历过程,在深度2、3之间选择。其次,论文中还提出了基于Merge模式的PU快速选择算法。在相同深度下,选择20个编码为最优预测模式Merge的CU,计算它们的平均率失真代价代价RDMerged,对当前CU,当RD小于0.5×RDMerged时,选择预测模式Merg跳过其它PU预测模式以减少RD计算,否则进行下一步,当进行到AMP模式选择时,如果RD小于1.5×RDMerged,再判断其父是否为AMP模式,如果满足公式且其父为非AMP模式,则跳过AMP模式从大小对称的PU模式中选择。文中的联合算法与标准编码器SCM6.0相比,节省了35.4%的编码时间,BDBR仅增加1.59%。

霍肖梅[21]则根据不同深度下最佳运动估计方法与最佳预测模式模式的关系提出了优化算法。首先根据各类视频序列里预测模式的最佳运动估计方法概率分析得出结论:当帧间2N×2N的PU采用Merge时,非对称划分的PU采用传统运动估计的概率非常小,可跳过传统运动估计,直接使用父PU采用的运动估计技术。其次再对各个深度下的最佳预测模式比例进行分析得出结论:当父CU的最佳预测模式为SKIP时,父CU所处的深度越深,则子CU采用SKIP为最佳预测模式的概率越大,所以当父CU确定使用SKIP模式时,如父CU深度为1则深度为2时只从SKIP、2N×2N、N×2N、2N×N中选择最优预测模式,如果父CU深度为2则深度为3时只选择SKIP模式。将两者结论结合后的联合算法与SCM16.0相比,在随机接入配置下可减少39.95%的编码时间,BD-PSNR减少0.0318dB。

3 展望

HEVC-SCC能够对屏幕内容视频进行高效率压缩,但其复杂度高的特性为实时应用能力带来了困难,研究在不增加失真度的情况下降低编码复杂度,能够提高实时应用能力,让HEVC-SCC更好地为教育行业提供更高效的服务,能更好地保障各学校应对突发情况时做到不停学的能力,优化算法还具有可提升空间,本文对未来的研究工作提出几点展望:

(1)屏幕内容帧内编码部分。大部分帧内快速算法通过提取图像的特征如CUD、AveGDN、Cnum等以区分自然内容和屏幕内容,缩短了编码时间,但有些特征值本身的计算也提高了复杂度,人为取值也降低了准确度,未来可以选取计算量小且关联度大的特征值并且结合机器学习、模式识别等技术手段选取门阀值,以便带来更高的编码收益。

(2)屏幕内容帧间编码部分。帧间算法的复杂度主要体现在参考帧选取、运动块搜索上,由与运动物体与周围背景的变化相关性较强,可以更大程度上借助背景来快速确定运动物体的搜索范围,如背景的某两处突变而其余背景不变时优先进行突变区域的搜索,以达到运动块的快速确定。

(3)HEVC-SCC的应用。目前提出的大部分算法在特定序列内都有效缩短了编码时间,但都有一定偏向性,这是由图像的特性所决定的。如果在编码之前就对视频序列有一定程度上的分类,由不同的优化算法来针对不同的视频序列,能够使编码优化达到最大化。

猜你喜欢
像素编码深度
赵运哲作品
艺术家(2023年8期)2023-11-02 02:05:28
像素前线之“幻影”2000
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
深度理解一元一次方程
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
电子制作(2019年22期)2020-01-14 03:16:24
“像素”仙人掌
深度观察
深度观察
Genome and healthcare