郑唯
【摘要】视频编码技术是当今电视节目制作中比较重要的技术之一,是随着视频技术,计算机技术和通信技术的发展而不断发展的。本文介绍了视频编码技术的发展历程和最新面向SDR和HDR标准的视频编码技术和主要编码工具。
【关键词】视频 ;压缩 ;SDR视频编码;HDR视频编码
中图分类号:TN929 文献标识码:A DOI:10.12246/j.issn.1673-0348.2021.09..008
视频编码技术在当今电视节目制作中占据着不可或缺的地位。最初的电视节目制作,都是采用的模拟信号,即包含亮度和色度信息的复合模拟信号,用磁带进行线性编辑制作后直接重放播出。随着计算机技术的飞速发展,出现了基于计算机系统的非线性编辑软件,开始有了视频图像的压缩编码技术,并以此技术将前期摄像设备上实录的原始节目素材上载采集到计算机系统中存储,然后在计算机网络上进行非线性编辑制作,最后再依托计算机网络进行传输并解码后播出。这其中的视频编码技术已经成为现今节目制作中比较重要的技术之一。
视频编码首先需要有一个国际通用的标准,国际电信联盟ITU是比较著名的制定视频编码国际标准的组织,另外还有国际标准化组织ISO和国际电工委员会IEC。1988年,ISO和IEC联合成立了动态图像专家组MPEG(Moving Picture Expert Group),当时世界上主流的视频编码标准基本上都是他们提出来的。而ITU提出了H.261、H.262、H.263等编码标准,统称为H.26X系列,主要应用于实时视频通信领域。2001年ITU和ISO/IEC成立了一个联合小组JVT(Joint Video Team),即联合视频工作组。JVT致力于制定新一代视频编码标准,推出了包括H.264在内的一系列的视频编码标准,压缩率可以达到300到400比1。其最新推出的HEVC编码,也就是现在开始流行的H.265,相比H.264有着极大的性能提升。H.265所占带宽要比H.264減少一半,占用的存储量也可以节省一半,同时画质却能够更加细腻,并可以完美向下兼容H.264。
随着SDR和HDR视频的出现,在HEVC的基础上又出现了一种新型的视频编码机制,即面向标准动态范围SDR和高动态范围HDR的视频编码技术。这就是刚刚问世的H.266/VVC的雏形。
JVET(the joint video exploration team)联合视频开发团队从2015年起就开始开发比HEVC更加节省带宽而又不降低画面质量的视频编码技术。2017年正式开始开发HEVC后的下一代视频编码技术,其范畴包含SDR视频,HDR视频以及360度视频编码技术。其中SDR编码解码技术的底层核心设计理念就是基于JVET联合视频开发团队开发的相关软件的JEM模型。通过对JEM模型的一些关键编码工具的大幅简化,从而达到可以凭借可忽略的编码性能损失来降低硬件在平均和最坏情况下的设计复杂度。同时,还采用了两种编码技术来进一步提高编码效率,一个称做多类型树技术(MTT),另一个称做解码器侧内部模式推导(DIMD)。
对于HDR视频编码这方面,除了有SDR视频编码所用的工具外,还用了另外两种编码工具来进一步提高HDR视频的编码效率。这两种工具就是:环路内重整形工具和基于亮度的QP预测模块。
实测结果表明,和HEVC相比较,在普通编码复杂度的情况下,新的视频编解码有着更高的编码效率。在随机获取方式下,对于SDR视频序列,可以分别比上一代HEVC的HM模型和JVET的JEM模型的锚点平均节省35.7%和4.00%的比特率,解码时间分别降低了263%和33%。对于HDR视频序列,通过配置环内重整形工具来尽可能地提高HDR的客观指标,从而使HDR PQ内容的wPSNRY指标比HM模型和JEM模型分别平均节省31.3%和4.6%的比特率。
下面就来介绍一下面向SDR和HDR的新型视频编码技术。
1. 序言
应用当时最先进的视频编码标准的HEVC(High Efficency Video Coding),在同等视频质量下可以比上一代视频编码标准MPEG-4和H.264节省50%的比特率。尽管HEVC标准已经可以提供更大的压缩能力,但由于SDR和HDR视频的出现,并且还有很多专门的用户需求,需要在不降低用户视觉体验的前提下,进一步降低视频带宽和编解码时间,由此开始了对下一代视频编码技术的开发。本文介绍的就是面对最近刚刚出现的SDR和HDR视频的最新型的视频编码技术。
SDR的核心编码解码是建立在JEM模型上的。JEM模型能够相比于HEVC显著地提高编码效率,但是也会大大地增加了编码的复杂性。在随机获取的情况下,JEM的锚点要比HEVC的锚点降低了33%的带宽传输率,但是它的编码时间几乎是后者的8倍,解码时间几乎是后者的7.6倍。解码端的复杂性是否增加是十分重要的一点,因为许多的视频流应用,视频内容的编码只需一次或有限几次,但在不同的终端设备上解码则是需要许多次的。因此我们的目的应该是在不降低性能的前提下尽可能地降低解码的复杂度。为此,SDR的编解码工具力求大幅简化JEM模型中的编解码工具,具体工具包括:帧率上变换FRUC,解码器侧运动矢量细化DMVR,双向光流BIO,重叠块运动补偿OBMC,局部亮度补偿LIC,高级时域运动矢量预测ATMVP,空时运动矢量预测STMVP以及自适应环路滤波器ALF。此外,还有另外两种编码技术被应用在SDR核心编码中来进一步提高编码效率,即多类型树(MTT)技术和解码器侧内部模式推导(DIMD)。
对于HDR视频编码,SDR编解码技术是它的核心编码引擎。在这之上,还增加了两个主要编码工具:环路内重整形工具和基于亮度的QP预测工具,用以进一步提高HDR视频编码效率。
2. SDR专用編码工具
SDR的编码解码机制是基于JEM-7.0模型的相关软件。并且,对JEM模型的一些关键解码技术做了很大的简化,其中包括简化的FRUC,简化的DMVR,简化的BIO,简化的OBMC,简化的LIC,简化的ATMVP和STMVP以及简化的ALF。这些简化同时考虑到了降低平均复杂度和最坏情况下的复杂度。除此之外还有另外两项编码技术即MTT和DIMD,用以进一步提高编码效率。下面简要说一下简化的FRUC和简化的OBMC,以及简化的LIC。
2.1简化的帧率上变换FRUC
为了节省标注运动信息的一些开销,JEM-7.0模型中的内部编码块可以支持FRUC模式。当FRUC模式生效时,编码块的运动矢量(MVs)部分是不被标注的,这些运动矢量会在解码的时候经特定的方式推导出来。JEM-7.0中有两种FRUC模式。当在模板匹配模式下时,这些运动矢量信息是从一系列的待选MV表得出,这些MV表信息是通过把一个编码单元CU的相邻重建样本信息和实时参照图像的参照块相邻的重建样本信息的差异做最小化来得出。当在双向匹配模式下时,这些运动矢量信息是通过把两个不同时序参照图像中的不同运动轨迹的两个参照块的差异做最小化而得出。因此,SDR编码机制为了简化这个过程,减少待选的运动矢量的个数,使用了一个运动矢量聚类的方法来降低FRUC模式的检索复杂度。这个运动矢量聚类的方法包括三个步骤:(1)参照图像的选取;(2)MV的适配和修正;(3)MV的聚类。
2.1.1.参照图像的选取
JEM-7.0的FRUC运动搜索可以拥有多个参照图像。但是参照图像的增多却又会增加对存储器访问的带宽的占用。为了解决这个问题,可以采取在FRUC运动搜索中的参照图像序列中选取一个最频繁的作为参照图像的办法来达到上述目的。
2.1.2. MV的适配和修正
参照图像选好以后,就可以把最初的候选MV适配到所选择的参考图像中去来更新初始候选MV列表。由于MV适配后可能会有多个候选MV的值是相同的,因此在这里我们可以对MV进行修正来去除冗余的候选MV,从而保证只保留互不相同的候选MV,进一步进行简化。
2.1.3. MV的聚类
为了降低FRUC运动搜索的运算复杂度,我们还采用了一个称作MV聚类的方法来减少被测试的候选MV数量。具体是在进行FRUC运动搜索时,通过按照相似的原则对候选MV进行分组,然后只使用每组中最靠近中间值的那个候选MV来实现,从而达到对FRUC的简化。
2.2. 简化的重叠块运动补偿OBMC
JEM-7.0模型使用OBMC来提高编码效率和去除块失真。OBMC可以适用于所有内部编码单元(CU)以及除去右面和底部边界以外的所有边界。而且,当一个CU在子块模式下(如FRUC,ATMVP和STMVP)被编码时,OBMC适用于子块的所有四个边界。不同于JEM-7.0中OBMC是以光栅扫描顺序来处理CU内部子块的方式,这里的OBMC采用分两步的方法。第一步,被称作“边缘OBMC”,使用与当前CU相邻CU的MV来调整当前CU顶部/左面边缘的样本。如果CU不是在子块模式下编码,OBMC进行完第一步操作就结束了。否则继续进行第二步,即执行“内部OBMC”操作。在第二步操作中,样本中的每个子块,除了在第一步已经调整过的CU边界样本,子块中的顶部,左部,底部和右部边界的样本,都要用同一CU中相邻子块的MV进行调整。这种OBMC方式,相邻子块的MV很可能是相同的,因此,使用这些MV的OBMC可以用一个大型块的方式合并为一个MC(运动补偿),从而降低操作的复杂度。基于这种考虑,使用了块编组的方法来减少OBMC中所包含的MC数量。具体的说,就是在OBMC的边界处理过程中,位于沿着同一个CU边界(顶或底),并有同样的运动方式的相邻的4x4个相连块,即被编组为一个块组;对于每一个块组,只执行一个MC过程。对于内部OBMC的处理,子块的大小要与用于子块级运动推导中所使用的大小相一致。下图即这种简化的OBMC处理过程,箭头和阴影分别表示所用的MV和每一步进行调整的样本区域。
2.3. 简化的局部亮度补偿LIC
LIC是当JEM模型中出现局部亮度变化时进行亮度补偿所用的一种编码工具。在LIC模式启动时,一个CU(编码单元)的各个样本将根据当时它相邻图像的重建样本进行预测。对于双向预测CU,在JEM-7.0模型中,LIC的参数值是按两个方向分别进行估算和使用。然后,合并这两个LIC并修正预测信号从而得出双向预测信号。因而JEM-7.0模型是需要两个独立的LIC处理过程来进行CU的双向预测的。SDR编码机制为了降低这种复杂性,对LIC进行了简化,具体办法是首先生成双向预测信号,然后在这个双向预测信号上只进行一次的LIC参数估算。最后,把这个LIC参数值应用到双向预测信号上。下图是双向预测过程在JEM-7.0和简化的LIC下的对比示意图。
3. HDR特定编码工具
3.1. 环内亮度重整形
环内重映射(重整形)采用重新修正编码环路内的亮度编码值来获得更好的HDR编码效率。环内亮度重整形工具是以一对LUT表的形式来工作。只需对这一对LUT表中的一个作为参考值,另一个就可以依据这个参考值,通过计算来获得。
每个LUT表都是个一维,10位,1024个入口的映射表,即1D-LUT表。其中的一个LUT表是一个正向LUT表,即FwdLUT,它把输入的亮度编码值Yi转换为值Yr。另一个LUT表是反向LUT表,InvLUT,它把转换后的编码值Yr映射为输入值Yi的最终重建值。经过这种配置的LUT表可以更好地优化视频的主观质量或客观指标。
对于帧内片重映射,只使用反向LUT表InvLUT,而对于帧间片重映射,则正向LUT表和反向LUT表都要使用,具体做法是在帧内片和帧间片循环过滤之前,使用尽可能低的复杂度配置的LUT表来进行这个重映射。
3.2. 基于亮度的QP预测
使用空间亮度相关QP适配器(LumaDQP)的同时,我们使用基于亮度的QP预测来有效地减少deltaQP句法比特率的过度增长。这是基于CU平均预测亮度值与原始亮度值十分接近的假设前提之下的。在这种情况下,当接收到deltaQP句法后,解码器就可以按照一个特定的流程得出那个CU实际编码的QP值。
参考文献:
[1]周芸胡潇郭晓强.H.266/VVC视频编码图像划分技术研究.《广播与电视技术》2019-11.
[2]陈璐俊郁梅等.面向多用户的高动态范围视频动态范围可分级编码.《光电子激光》2018-08.