使用帧内子分区编码模式的视频编码

文档序号:1820081 发布日期:2021-11-09 浏览:20次 >En<

阅读说明:本技术 使用帧内子分区编码模式的视频编码 (Video coding using intra sub-partition coding modes ) 是由 陈漪纹 修晓宇 王祥林 马宗全 于 2020-02-05 设计创作,主要内容包括:使用帧内子分区编码模式的视频编码。一种视频解码方法,包括:将当前编码块划分为多个子分区;以第一预测模式为所述当前编码块的所述多个子分区生成预测值,在所述第一预测模式中,使用用于所述当前编码块的参考样本来预测所述多个子分区的所述预测值。(Video coding using intra sub-partition coding mode. A video decoding method, comprising: dividing a current coding block into a plurality of sub-partitions; generating prediction values for the plurality of sub-partitions of the current coding block in a first prediction mode in which the prediction values for the plurality of sub-partitions are predicted using reference samples for the current coding block.)

使用帧内子分区编码模式的视频编码

本申请是申请号为“202080010728.6”,申请日为“2020年2月5日”,发明名称为“使用帧内子分区编码模式的视频编码”的分案申请。

交叉引用的相关申请

本申请要求2019年2月5日递交的美国临时专利申请62/801,214。该申请的全部内容通过引用合并到本申请中。

技术领域

本申请实施例总体上涉及视频编码与压缩。更具体地,本申请涉及使用帧内子分区编码模式进行视频编码的系统和方法。

背景技术

本部分提供与本申请相关的背景信息。本节中包含的信息不一定被解释为现有技术。

可以使用各种视频编码技术中的任一种来压缩视频数据。可以根据一种或多种视频编码标准来进行视频编码。一些说明性视频编码标准包括通用视频编码(VVC)、联合探索测试模型(JEM)编码、高效视频编码(H.265/HEVC)、高级视频编码(H.264/AVC)和运动图像专家组(MPEG)编码。

视频编码通常采用利用视频图像或序列中固有冗余的预测方法(如帧间预测、帧内预测等)。视频编码技术的一个目标是将视频数据压缩成一种使用低比特率的形式,同时避免或减少视频质量的下降。

与上一代视频编码标准(H.264/MPEG AVC)相比,2013年10月最终确定的HEVC标准的第一版本提供了大约50%的比特率节省或等效的感知质量。尽管HEVC标准与之前的标准相比提供了显著的编码改进,但有证据表明,通过使用额外的编码工具可以实现优于HEVC的编码效率。基于这一证据,视频编码专家组(VCEG)和运动图像专家组(MPEG)开始探索性工作,为未来的视频编码标准化开发新的编码技术。联合视频探索团队(JVET)于2015年10月由ITU-T VECG和ISO/IEC MPEG组成,开始对能够显著提高编码效率的先进技术进行重要研究。JVET通过在HEVC测试模型(HM)之上集成若干附加编码工具来维护一种称为联合探索模型(JEM)的参考软件模型。

2017年10月,ITU-T和ISO/IEC发布了关于具有超越HEVC能力的视频压缩的联合提案(CfP)。2018年4月,第10次JVET会议收到并评估了23份CfP回复。这些回复表明压缩效率增益比HEVC标准提高了大约40%。基于这样的评估结果,JVET启动了一个新项目,以开发名为通用视频编码(VVC)的下一代视频编码标准。同样在2018年4月期间,建立了一个称为VVC测试模型(VTM)的参考软件代码库,用于演示VVC标准的参考实现。

发明内容

本节提供了本申请的一般概述,并不是对其全部范围或所有特征的全面公开。

根据本申请的第一方面,提供一种视频编码方法,该方法在计算设备实现,该计算设备具有一个或多个处理器和存储器,该存储器存储由所述一个或多个处理器执行的多个程序。该方法包括:为多个相应子分区中的每一个子分区独立地生成各自的帧内预测,其中,使用来自当前编码块的多个参考样本生成每个子分区各自的帧内预测。

根据本申请的第二方面,提供一种视频编码方法,该方法在计算设备实现,该计算设备具有一个或多个处理器和存储器,该存储器存储由所述一个或多个处理器执行的多个程序。该方法包括:针对帧内子分区(ISP)编码块的亮度分量,仅使用M个可能的帧内预测模式中的N个模式为多个相应子分区中的每个子分区生成各自的帧内预测,其中,M和N是正整数,且N小于M。

根据本申请的第三方面,提供一种视频编码方法,该方法在计算设备实现,该计算设备具有一个或多个处理器和存储器,该存储器存储由所述一个或多个处理器执行的多个程序。该方法包括:针对帧内子分区(ISP)编码块的色度分量,仅使用M个可能的帧内预测模式中的N个模式生成帧内预测,其中,M和N是正整数,且N小于M。

根据本申请的第四方面,提供一种视频编码方法,该方法在计算设备实现,该计算设备具有一个或多个处理器和存储器,该存储器存储由所述一个或多个处理器执行的多个程序。该方法包括:对于亮度分量,为整个帧内子分区(ISP)编码块的多个相应子分区中的每一个子分区生成各自的亮度帧内预测,以及对于色度分量,为整个帧内子分区(ISP)编码块生成色度帧内预测。

根据本申请的第五方面,提供一种视频编码方法,该方法在计算设备实现,该计算设备具有一个或多个处理器和存储器,该存储器存储由所述一个或多个处理器执行的多个程序。该方法包括:使用帧内子分区模式生成第一预测;使用帧间预测模式生成第二预测;以及合并该第一预测和该第二预测以通过将加权平均应用于该第一预测和该第二预测来生成最终预测。

根据本申请的第六方面,提供一种视频解码方法,所述方法包括:

将当前编码块划分为多个子分区;

以第一预测模式为所述当前编码块的所述多个子分区生成预测值,在所述第一预测模式中,使用用于所述当前编码块的参考样本来预测所述多个子分区的所述预测值。

根据本申请的第七方面,提供一种视频解码装置,包括:

一个或多个处理器;

存储可由所述一个或多个处理器执行的指令的非暂时性计算机可读存储器,

其中,所述指令在被执行时,使得所述一个或多个处理器被配置为:

将当前编码块划分为多个子分区;

以第一预测模式为所述当前编码块的所述多个子分区生成预测值,在所述第一预测模式中,使用用于所述当前编码块的参考样本来预测所述多个子分区的所述预测值。

根据本申请的第八方面,提供一种非暂时性计算机可读存储介质,用于存储多个程序,以便由具有一个或多个处理器的视频解码装置执行,其中,当所述多个程序由所述一个或多个处理器执行时,使得所述视频解码装置执行前述第六方面所述的方法。

根据本申请的第九方面,提供一种计算机程序产品,包括多个程序,所述多个程序由具有一个或多个处理器的视频解码装置执行,其中,当所述多个程序由所述一个或多个处理器执行时,使得所述视频解码装置执行前述第六方面所述的方法。

附图说明

在下文中,将结合附图描述本申请的说明性、非限制性实施例的集合。相关领域的普通技术人员可以基于本文中给出的示例来进行结构、方法或功能的变化,并且这些变化均包含在本申请的范围之内。在不存在冲突的情况下,不同实施例的教导可以相互组合但不必相互组合。

图1是示出了可与多种视频编码标准结合使用的示意性编码器的框图。

图2是示出了可与多种视频编码标准结合使用的示意性解码器的框图。

图3示出了用于多类型树结构的五种示例性块分区。

图4示出了用于与VVC标准一起使用的示例性帧内模式集合。

图5示出了用于进行帧内预测的多条参考线的集合。

图6A示出了用于进行第一矩形块的帧内预测的第一组参考样本和角度方向。

图6B示出了用于进行第二矩形块的帧内预测的第二组参考样本和角度方向。

图6C示出了用于进行正方形块的帧内预测的第三组参考样本和角度方向。

图7示出了用于一个编码块的位置相关帧内预测组合(PDPC)的相邻重构样本的示例性位置集合。

图8A示出了用于8×4块的示例性短距离帧内预测(SDIP)分区的集合。

图8B示出了用于4×8块的示例性短距离帧内预测(SDIP)分区的集合。

图8C示出了用于任意大小块的示例性短距离帧内预测(SDIP)分区的集合。

图9A是作为亮度值的函数的色度值的视图,其中该视图用于导出线性模型参数的集合。

图9B示出了用于导出图9A的线性模型参数的样本的位置。

图10示出了仅使用当前编码块之外的参考样本来生成用于所有子分区的帧内预测的参考样本。

图11示出了图10的第一子分区的帧间预测样本和帧内预测样本的组合。

图12示出了图10的第二子分区的帧间预测样本和帧内预测样本的组合。

具体实施方式

本申请中使用的术语旨在说明具体示例,而不是对本申请进行限制。本申请以及所附权利要求中使用的单数形式“一个”和“该”也指复数形式,除非上下文中明确包含其它含义。应当理解,这里使用的术语“和/或”是指一个或多个相关联的所列项目的任何或所有可能的组合。

应当理解,虽然这里可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应受这些术语的限制。这些术语仅用于区分一类信息与另一类信息。例如,在不脱离本发明范围的情况下,第一信息可以称为第二信息;同理,第二信息也可以称为第一信息。如本文所用,根据上下文,术语“如果”可被理解为表示“何时”或“基于”或“响应于”。

在整个说明书中以单数或复数形式提及“一个实施例”、“实施例”、“另一个实施例”等意味着结合实施例描述的一个或多个特定特征、结构或特性是包括在本申请的至少一个实施例中。因此,在整个说明书的各个部分以单数或复数形式出现的短语“在一个实施例中”或“在实施例中”、“在另一个实施例中”等不一定都指代相同的实施例。此外,一个或多个实施例中的特定特征、结构或特性可以以任何合适的方式组合。

从概念上讲,许多视频编码标准是相似的,包括先前在背景技术部分中提到的那些。例如,几乎所有视频编码标准都使用基于块的处理,并且共享相似的视频编码框图来实现视频压缩。与HEVC一样,VVC标准建立在基于块的混合视频编码框架之上。

图1示出了可与多种视频编码标准结合使用的示意性编码器100的框图。在编码器100中,视频帧被划分为多个视频块以进行处理。对于每个给定的视频块,基于帧间预测方法(inter prediction approach)或帧内预测方法(intra prediction approach)形成预测(prediction)。在帧间预测中,基于来自先前重构帧的像素通过运动估计和运动补偿来形成一个或多个预测值(predictor)。在帧内预测中,预测值是基于当前帧中重构的像素形成的。通过模式决策,可以选择最佳预测值来预测当前块。

表示当前视频块与其预测值之间的差异的预测残差被发送到变换电路102。然后变换系数被从变换电路102发送到量化电路104以用于熵减。量化系数然后被馈送到熵编码电路106以生成压缩视频比特流。如图1所示,来自帧间预测电路和/或帧内预测电路112的预测相关信息110,如视频块分区信息、运动矢量、参考图片索引和帧内预测模式,也通过熵编码电路106馈送并且保存到压缩视频比特流114中。

在编码器100中,还需要与解码器相关的电路以便为了预测的目的重构像素。首先,通过逆量化电路116和逆变换电路118重构预测残差。该重构的预测残差与块预测值120组合以生成用于当前视频块的未滤波的重构像素。

为了提高编码效率和视觉质量,通常使用环内滤波器115。例如,解块滤波器(deblocking filter)在AVC、HEVC以及当前版本的VVC中可用。在HEVC中,定义了一个额外的环内滤波器,称为SAO(样本自适应偏移),以进一步提高编码效率。在VVC标准的最新版本中,正在积极研究另一种称为ALF(自适应环路滤波器)的环内滤波器,它很有可能被包含在最终标准中。

这些环内滤波器操作是可选的。执行这些操作有助于提高编码效率和视觉质量。它们也可以作为由编码器100做出的决策而被关闭,以降低计算复杂度。

应当注意,帧内预测通常基于未滤波的重构像素,而如果这些滤波器选项被编码器100打开,则帧间预测基于滤波了的重构像素。

图2是示出了可与多种视频编码标准结合使用的示意性解码器200的框图。该解码器200类似于驻留在图1的编码器100中与重构相关的部分。在解码器200(图2)中,首先通过熵解码电路202对输入的视频比特流201进行解码,以导出量化系数级别和与预测相关的信息。这些量化系数级别通过逆量化电路204和逆变换电路206进行处理以获得重构的预测残差。在帧内/帧间模式选择器212中实现的块预测值机制被配置为基于解码的预测信息进行帧内预测过程208或运动补偿过程210。通过使用加法器214将来自逆变换电路206的重构预测残差和该块预测值机制生成的预测输出相加来获得未滤波的重构像素集合。在被存储在用作参考图片存储的图片缓存器213中之前,该重构块还可以通过环内滤波器209。然后图片缓存器213中的重构视频可以被发送出去以驱动显示设备,并且用于预测未来的视频块。在环内滤波器209开启的情况下,对这些重构像素执行滤波操作以导出最终的重构视频输出222。

再次参看图1,输入到编码器100的视频信号被逐块处理。每个块被称为编码单元(CU)。在VTM-1.0中,CU可以达到128×128像素。在高效视频编码(HEVC)、联合探索测试模型(JEM)和通用视频编码(VVC)中,用于压缩的基本单元被称为编码树单元(CTU)。然而,与仅基于四叉树划分块的HEVC标准相比,在VVC标准中,一个编码树单元(CTU)被拆分为CU以适应基于四叉树/二叉树/三叉树结构的不同局部特征(local characteristics)。另外,VVC标准中不存在HEVC标准中多分区单元类型的概念,即VVC标准中不存在CU、预测单元(PU)和变换单元(TU)的分离;相反,每个CU始终用作预测和变换的基本单元而无需进一步分区。对于4:2:0色度格式,HEVC和JEM的最大CTU大小(size)定义为最多64×64亮度像素和两个32×32色度像素块。CTU中允许的最大亮度块大小规定为128×128(虽然亮度变换块的最大大小为64×64)。

图3示出了用于多类型树结构的五种示例性块分区。这五种类型的示例性块分区包括四元分区301、水平二元分区302、垂直二元分区303、水平三元分区304和垂直三元分区305。在使用多类型树结构的情况下,首先采用四叉树结构对一个CTU进行分区。然后,可以通过二叉树和三叉树结构进一步划分每个四叉树的叶子节点。

使用图3的示例性块划分301、302、303、304和305中的一个或多个,可以使用图1中所示的配置来进行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自同一视频图片/切片中已编码相邻块(称为参考样本)的样本的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。

时间预测(也称为“帧间预测”或“运动补偿预测”)使用来自已编码视频图片的重构像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。用于给定CU的时间预测信号通常由一个或多个运动矢量(MV)发送(signaled),该一个或多个运动矢量指示当前CU与其时间参考之间的运动量和运动方向。此外,如果支持多个参考图片,则额外发送一个参考图片索引,用于标识时间预测信号来自参考图片存储中的哪个参考图片。

在进行了空间和/或时间预测之后,编码器100中的帧内/帧间模式判决电路121例如基于率失真优化方法来选择最佳预测模式。然后从当前视频块中减去块预测值120;并且使用变换电路102和量化电路104对得到的预测残差进行去相关。得到的量化残差系数由逆量化电路116逆量化并由逆变换电路118逆变换以形成该重构残差,然后将其加回到该预测块以形成该CU的重构信号。进一步的,环内滤波115,例如去块滤波器、样本自适应偏移(SAO)和/或自适应环内滤波器(ALF),在被放入图片缓存器117的参考图片存储并用于对未来的视频块进行编码之前可以被应用于该重构的CU。为了形成输出视频比特流114,(帧间或帧内)编码模式、预测模式信息、运动信息和量化残差系数都被发送到熵编码单元106以被进一步压缩和打包以形成该比特流。

VVC标准中应用的基本帧内预测方案与HEVC标准的基本帧内预测方案基本保持相同,不同之处在于VVC标准中进一步扩展和/或改进了若干模块,如帧内子分区(ISP)编码模式、具有广角帧内方向的扩展帧内预测、位置相关帧内预测组合(PDPC)和4抽头帧内插值。本申请的一个广泛方面针对VVC标准中的现有ISP设计的改进。此外,包括在VVC标准中并且与本申请中所提出的技术密切相关的其它编码工具(如帧内预测和变换编码过程中的工具)将在下面进行详细讨论。

具有广角帧内方向的帧内预测模式

在HEVC标准的情况下,VVC标准使用与一个当前CU相邻(即在上方或左侧)的先前解码了的样本的集合来预测该CU的样本。然而,为了捕捉自然视频(特别是对于具有高分辨率的视频内容,例如4K)中存在的更精细的边缘方向,角度帧内模式的数量从HEVC标准中的33种模式扩展到VVC标准中的93种模式。除了角度方向之外,HEVC标准和VVC标准都提供了平面模式(假设表面是具有从边界导出的水平和垂直斜率的渐变表面)和DC模式(假设表面是平坦的)。

图4示出了用于与VVC标准一起使用的示例性帧内模式集合400,图5示出了用于进行帧内预测的多条参考线的集合。参照图4,该示例性帧内模式集合400包括模式0,1,-14,-12,-10,-8,-6,-4,-2,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78和80。模式0对应该平面模式,模式1对应该DC模式。与HEVC标准的帧内预测过程类似,VVC标准中所有定义的帧内模式(即平面、DC和角度方向模式)都利用在预测块上方和左侧的相邻重构样本的集合作为帧内预测的参考。然而,与仅使用重构样本的最近的行/列(图5中的第0行,501)来作为参考的HEVC标准不同,在VVC中引入了多参考行(MRL),其中两个额外的行/列(即图5中的第1行503和第3行505)用于帧内预测过程。所选参考行/列的索引从编码器100(图1)发送到(signaled)解码器200(图2)。当在图5中选择了非最近的行/列时,例如第1行503或第3行505,图4的平面和DC模式从可用于预测当前块的帧内模式集合中排除。

图6A示出了用于进行矩形块(宽度W除以高度H等于2)的帧内预测的第一组参考样本和角度方向602、604。该第一组参考样本包括第一样本601的第二样本603。图6B示出了用于进行高矩形块(W/H=1/2)的帧内预测的第二组参考样本和角度方向606、608。该第二组参考样本包括第三样本605和第四样本607。图6C示出了用于进行正方形块(W=H)的帧内预测的第三组参考样本和角度方向610、612。该第三组参考样本包括第五样本609和第六样本610。假设利用最近的邻居,图6C示出了可在VVC标准中使用以导出一个帧内块的预测样本的第三参考样本的位置。如图6C所示,由于应用了四叉/二叉/三叉树分区结构,所以在VVC标准的上下文中,除了正方形的编码块之外,还存在矩形编码块用于帧内预测过程。

由于一个给定块的宽度和高度不相等,因此针对不同的块形状选择不同的角度方向(angular direction)集合,这也称为广角帧内预测。具体而言,对于正方形和矩形编码块,除了平面和DC模式外,对于每种块形状,还支持93个角度方向中的65个,如表1所示。这样的设计不仅能够有效地捕捉通常情况下出现在视频中的定向结构(directionalstructures)(通过根据块形状自适应地选择角度方向),而且还能够确保为每个编码块启用总共67个帧内模式(即平面、DC模式和65个角度方向)。这可以实现信令帧内模式(signaling intra modes)的良好效率,同时提供跨不同块大小的一致设计。

表1 VVC中选择的用于不同块形状的帧内预测的角度方向

位置相关的帧内预测组合

如上所述,这些帧内预测样本是从未滤波或滤波了的相邻参考样本集合中生成的,这可能会导致沿当前编码块与其相邻块之间的块边界的不连续性。为了解决这些问题,利用2抽头滤波器(对于DC模式)或基于梯度的平滑滤波器(对于水平和垂直预测模式),通过将DC、水平(即图4的模式18)和垂直(即模式50)预测模式的预测样本的第一行/列与未滤波的参考样本进行组合,在HEVC标准中应用边界滤波。

VVC标准中的位置相关帧内预测组合(PDPC)工具通过采用帧内预测样本与未滤波参考样本的加权组合来扩展前述概念。在当前的VVC工作草案中,PDPC在以下无信令帧内模式下启用:平面、DC、水平(即模式18)、垂直(即模式50)、接近左下角对角线方向的角度方向(即模式2,3,4,...,10)和接近右上角对角线方向的角度方向(即模式58,59,60,..,66)。假设位于坐标(x,y)的预测样本为pred(x,y),其对应的PDPC之后的值计算如下:

pred(x,y)=(wL×R-1,y+wT×Rx,-1–wTL×R-1,-1+(64–wL–wT+wTL)×pred(x,y)+32)>>6 (1);

其中,Rx,-1,R-1,y分别表示位于当前样本(x,y)顶部和左侧的参考样本,R-1,-1表示位于当前块的左上角的参考样本。

图7示出了用于一个编码块的位置相关帧内预测组合(PDPC)的相邻重构样本的示例性位置集合。第一参考样本701(Rx,-1)表示位于当前预测样本(x,y)顶部的参考样本。第二参考样本703(R-1,y)表示位于当前预测样本(x,y)左侧的参考样本。第三参考样本705(R-1,-1)表示位于当前预测样本(x,y)左上角的参考样本。

包括第一、第二和第三参考样本701、703和705的参考样本在PDPC过程中与当前预测样本(x,y)组合。等式(1)中的权重wL、wT和wTL是根据预测模式和样本位置自适应选择的,如下所述,其中假设该当前编码块的大小为W×H:

·对于DC模式,

wT=32>>((y<<1)>>shift),wL=32>>((x<<1)>>shift),wTL=(wL>>4)+(wT>>4) (2);

·对于平面模式,

wT=32>>((y<<1)>>shift),wL=32>>((x<<1)>>shift),wTL=0 (3);

·对于水平模式:

wT=32>>((y<<1)>>shift),wL=32>>((x<<1)>>shift),wTL=wT (4);

·对于垂直模式:

wT=32>>((y<<1)>>shift),wL=32>>((x<<1)>>shift),wTL=wL (5);

·对于左下角对角线方向:

wT=16>>((y<<1)>>shift),wL=16>>((x<<1)>>shift),wTL=0 (6);

·对于右上角的对角线方向:

wT=16>>((y<<1)>>shift),wL=16>>((x<<1)>>shift),wTL=0 (7);

其中,shift=(log2(W)–2+log2(H)–2+2)>>2。

多重变换选择和形状自适应变换选择

除了在HEVC标准中使用的DCT-II变换之外,通过引入DCT-VIII和DST-VII的附加核心变换,在VVC标准中启用了多重变换选择(MTS)工具。在VVC标准中,通过向比特流用信号发送(signal)一个MTS标志,在编码块级别启用这些变换的自适应选择。具体地,当一个块的MTS标志等于0时,在水平和垂直方向上应用一对固定变换(如DCT-II)。否则(当该MTS标志等于1时),将进一步发送(signal)该块的两个附加标志,以指示用于每个方向的变换类型(DCT-VIII或DST-VII)。

另一方面,由于在VVC标准中引入了基于四叉/二叉/三叉树的块分区结构,帧内预测的残差分布与块形状高度相关。因此,当MTS被禁用时(即,对于一个编码块,MTS标志等于0),一种形状自适应变换选择方法被应用于所有的帧内编码块,根据当前块的宽度和高度,在这些块中隐式地启用DCT-II和DST-VII变换。更具体地来讲,对于每个矩形块,该方法在与一个块的较短边相关的方向上使用DST-VII变换,在与该块的较长边相关的方向上使用DCT-II变换。对于每个方形块,在两个方向上均应用DST-VII。此外,为了避免在不同的块大小(block size)中引入新的变换,在一个帧内编码块的较短边等于或小于16时仅启用DST-VII变换。否则,始终应用DCT-II变换。

表2例示了基于VVC中的形状自适应变换选择方法的用于帧内编码块的启用的水平和垂直变换。

表2 VVC中用于帧内块的形状自适应变换选择

帧内子分区编码方式

传统的帧内模式仅利用与一个编码块相邻的重构样本来生成该块的帧内预测样本。基于这种方法,这些预测样本与参考样本之间的空间相关性与这些预测样本与参考样本之间的距离大致成正比。因此,内部的样本(尤其是位于该块右下角的样本)通常比靠近块边界的样本具有更低的预测质量。为了进一步提高帧内预测效率,提出了短距离帧内预测(SDIP)并得到了很好的研究。该方法将一个帧内编码块水平或垂直划分为多个子块用于进行预测。通常将正方形块分成四个子块。例如,可将8×8的块划分为四个2×8或四个8×2的子块。这种基于子块的帧内预测的一种极端情况被称为基于行(line-based)的预测,其中一个块被划分为一维行/列以用于进行预测。例如,一个W×H(宽×高)的块可以被分成大小为W×1的H个子块或大小为1×H的W个子块以用于进行帧内预测。得到的每一行/列都以与正常二维(2-D)块相同的方式被编码(如图6A、6B、6C和7所示),即,它由可用的帧内模式中的一种进行预测,并且预测误差基于变换和量化被去相关并被发送到解码器200(图2)以用于重构。因此,一个子块(例如行/列)中的重构样本可以用作预测下一个子块中的样本的参考。重复上述过程,直到当前块内的所有子块都被预测和编码。另外,为了减少信令开销,一个编码块内的所有子块共享相同的帧内模式。

利用SDIP,不同的子块分区可以提供不同的编码效率。一般来说,因为基于行的预测提供了不同分区之间的“最短预测距离”,所以基于行的预测提供最佳的编码效率;另一方面,基于行的预测对于编解码器硬件实现也具有最差的编码/解码吞吐量。例如,考虑具有4×4子块的块与同样的具有4×1或1×4子块的块,后一种情况仅为前一种情况的吞吐量的四分之一。在HEVC中,用于亮度的最小帧内预测块大小为4×4。

图8A示出了用于8×4块801的示例性短距离帧内预测(SDIP)分区的集合,图8B示出了用于4×8块803的示例性短距离帧内预测(SDIP)分区的集合,图8C示出了用于任意大小块805的示例性短距离帧内预测(SDIP)分区的集合。最近,VVC标准中引入了一种称为子分区预测(ISP)的视频编码工具。从概念上来讲,ISP与SDIP非常相似。具体来讲,根据块大小,ISP将当前编码块在水平或垂直方向上分为2个或4个子块,每个子块包含至少16个样本。

结合在一起,图8A、8B和8C示出了用于不同编码块大小的所有可能的分区情况。此外,当前ISP设计还包括以下主要方面,以处理其与VVC标准中其他编码工具的交互:

与广角帧内方向的交互:ISP与广角帧内方向相结合。在目前的设计中,用于确定是否应用正常帧内方向或其对应的广角帧内方向的块大小(即宽度/高度比)是原始编码块之一,即子块分区之前的块。

与多条参考线的交互:ISP不能与多条参考线共同开启。具体来讲,在当前的VVC信令设计中,ISP启用/禁用标志是在MRL索引之后发送的(signaled)。当一个帧内块具有一个非零MRL索引(即,指的是非最近的相邻样本)时,ISP启用/禁用标志不会被发送而是推断为0,即在这种情况下,对于该编码块ISP被自动禁用。

与最可能模式的交互:类似于正常的帧内模式,用于一个ISP块的帧内模式通过最可能模式(MPM)机制发送(signaled)。但是,与正常的帧内模式相比,对ISP的MPM方式做了如下修改:1)每个ISP块只启用MPM列表中包含的帧内模式并且禁用不在MPM列表中的所有其他帧内模式;2)对于每个ISP块,其MPM列表排除DC模式,并分别优先考虑ISP水平分区的水平帧内模式和ISP垂直分区的垂直模式。

至少一个非零系数块标志(CBF):在当前VVC中,为每个变换单元(TU)发送CBF标志以规定该变换块包含一个或多个不等于0的变换系数级别。给定使用ISP的某个块,解码器假定子分区中的至少一个子分区具有非零CBF。为此,如果n是子分区的数量且前n-1个子分区已经生成零CBF,那么第n个子分区的CBF将被推断为1。因此,不必传输和解码该子分区。

与多重变换选择的交互:ISP专门与该MTS一起应用,即,当一个编码块使用ISP时,它的MTS标志不会被发送但总是被推断为0,即被禁用。然而,并非总是使用DCT-II变换,而是基于块大小将核心变换(包括DST-VII和DCT-II)的固定集合隐式应用于ISP编码块。具体来讲,假设W和H为一个ISP子分区的宽度和高度,按照以下规则选择其水平和垂直变换,如表3所述。

表3 用于ISP块的选择的水平和垂直变换

交叉分量线性模型预测

图9A是作为亮度值的函数的色度值的视图,其中该视图用于导出线性模型参数的集合。更具体地来讲,色度值和亮度值之间的直线关系901用于导出如下线性模型参数α和β的集合。为了减少交叉分量冗余,在VVC中采用交叉分量线性模型(CCLM)预测模式,使用如下线性模型基于同一CU的重构亮度样本对用于该预测模式的色度样本进行预测:

predC(i,j)=α·recL′(i,j)+β (8);

其中,predC(i,j)表示CU中的预测色度样本,recL′(i,j)表示同一CU的下采样重构亮度样本。线性模型参数α和β从两个样本的亮度值和色度值之间的直线关系901导出,这两个样本是相邻亮度样本的集合内的最小亮度样本A(XA,YA)和最大亮度样本B(XB,YB),如图9A所示。这里的XA、YA为样本A的x坐标值(即亮度值)和y坐标值(即色度值),XB、YB为样本B的x坐标值和y坐标值。线性模型参数α和β是根据以下等式获得的。

β=yA-αxA

这种方法也称为min-Max方法。上面等式中的除法可以避免并且可用乘法和移位代替。

图9B示出了用于导出图9A的线性模型参数的样本的位置。对于正方形的编码块,直接应用上述线性模型参数α和β的两个等式。对于非方形编码块,首先对较长边界的相邻样本进行子采样以具有与较短边界相同数量的样本。图9B示出了CCLM模式中涉及的左侧样本和上方样本以及当前块的样本的位置,包括色度样本903的N×N集合和亮度样本905的2N×2N集合。除了利用上模板和左侧模板一起计算线性模型系数之外,这些模板还可以在其它2种LM模式中交替使用,这2种LM模式称为LM_A和LM_L模式。

在LM_A模式中,仅使用上模板中的像素样本来计算线性模型系数。为了得到更多的样本,将上模板扩展为(W+W)。在LM_L模式中,仅使用左侧模板中的像素样本来计算线性模型系数。为了得到更多的样本,左侧模板被扩展为(H+H)。应注意,当上参考线位于CTU边界时,仅使用一条亮度线(帧内预测中的通用线缓冲区)来形成下采样的亮度样本。

对于色度帧内模式编码,允许总共8种帧内模式用于色度帧内模式编码。这些模式包括五种传统的帧内模式和三种交叉分量线性模型模式(CCLM、LM_A和LM_L)。色度模式信令和推导过程如表4所示。色度模式编码直接取决于相应亮度块的帧内预测模式。由于在I个切片中启用了用于亮度和色度分量的单独块分区结构,因此一个色度块可以对应多个亮度块。因此,对于色度DM模式,直接沿用覆盖当前色度块中心位置的相应亮度块的帧内预测模式。

表4 CCLM开启时从亮度模式推导色度预测模式

虽然VVC中的ISP工具能够提高帧内预测效率,但仍有空间进一步提升VVC的性能。同时,现有ISP的某些部分将受益于进一步简化以提供更有效的编解码器硬件实现,和/或提供改进的编码效率。在本申请中,提出了若干方法来进一步提高ISP编码效率、简化现有ISP设计和/或促进改进的硬件实现。

ISP的独立的(或并行的)子分区预测值生成

图10示出了仅使用当前编码块1000之外的参考样本来生成用于所有子分区的帧内预测1007的参考样本。当前编码块1000包括第一子分区1 1001、第二子分区2 1002、第三子分区3 1003和第四子分区4 1004。在本申请中,提出独立地为每个子分区1001、1002、1003和1004生成帧内预测。换句话说,可以用并行方式生成用于子分区1001、1002、1003和1004的所有预测值。在一个实施例中,使用与在传统非子分区帧内模式中使用的方法相同的方法来生成用于所有子分区的预测值。具体来讲,不使用一个子分区的重构样本为同一编码单元中的任何其他子分区生成帧内预测样本;每个子分区1001、1002、1003、1004的所有预测值都是使用当前编码块1000的参考样本生成的,如图10所示。

对于VVC标准中的ISP模式,每个子分区的宽度可以小于或等于2。详细示例如下。根据VVC标准中的ISP模式,不允许2×N(宽度×高度)子块预测依赖于该编码块的先前解码的2×N子块的重构值,以使子块预测的最小宽度变为四个样本。例如,使用垂直分割的ISP编码的8×8编码块被分割成4个大小为2×8的预测区域,将左边的两个2×8预测区域合并为第一个4×8预测区域进行帧内预测。变换电路102(图1)应用于每个2×8分区。

根据该示例,将右侧的两个2×8预测区域合并为第二个4×8预测区域进行帧内预测。变换电路102应用于每个2×8分区。应注意,第一个4×8预测区域使用当前编码块的相邻像素来生成帧内预测值,而第二个4×8区域使用来自第一个4×8区域(位于第二个4×8区域的左侧)的重构像素或来自当前编码块的相邻像素(位于第二个4×8的顶部)。

在另一个实施例中,仅水平(HOR)预测模式(如图4中的模式18所示)以及模式索引小于18的预测模式(如图4所示)可用于形成水平子分区的帧内预测;并且只有垂直(VER)预测模式(即图4中的模式50)以及模式索引大于50的预测模式(如图4所示)可以用于形成垂直子分区的帧内预测。因此,通过HOR预测模式(如图4中的模式18)以及模式小于18的所有角度预测模式,用于每个水平子分区的帧内预测都可以独立并行地进行。同样,通过VER预测模式(图4中的模式50)以及模式大于50的所有角度预测模式,用于每个垂直子分区的帧内预测可以独立并行地进行。

用于ISP的亮度分量的帧内预测模式编码

在本申请中,提出仅允许所有可能帧内预测模式中的N个模式(N是正整数)用于ISP编码块的亮度分量。在一个实施例中,仅允许一种模式用于ISP编码块的亮度分量。例如,这个单一的允许模式可以是平面模式。在另一个示例中,该单一允许模式可以是DC模式。在再一个示例中,该单一的允许模式可以是HOR预测模式、VER预测模式和对角线(DIA)模式(图4中的模式34)帧内预测模式中的一种。

在另一个实施例中,仅允许一种模式用于ISP编码块的亮度分量,并且根据子分区的方向(orientation),即是水平子分区还是垂直子分区,这种模式可能不同。例如,对于水平子分区,仅允许HOR预测模式;而对于垂直子分区,仅允许VER预测模式。在又一个示例中,对于水平子分区,仅允许VER预测模式,而对于垂直子分区,仅允许该HOR预测模式。

在又一个示例中,仅允许两种模式用于ISP编码块的亮度分量。可以响应于相应的子分区方向,即子分区的方向是水平的还是垂直的,来选择各个模式中的每一个。例如,对于水平子分区,仅允许PLANAR和HOR预测模式,而对于垂直子分区,仅允许PLANAR和VER预测模式。

为了发送允许用于ISP编码块的亮度分量的N个模式,不使用传统的最可能模式(MPM)机制。相反,我们提出使用为每个帧内模式确定的二进制码字来发送(signal)用于ISP编码块的帧内模式。可以使用多种不同过程中的任何一种来生成该码字,包括截断二进制(TB)二值化过程、固定长度二值化过程、截断Rice(TR)二值化过程、k阶Exp-Golumb二值化过程、有限EGk二值化过程等。这些二进制码字生成过程在HEVC规范中得到了很好的定义。Rice参数等于零的截断Rice也称为截断一元二值化。表5中给出了使用不同二值化方法的码字的示例的集合。

表5 使用不同的二值化方法生成的二进制码字

用于ISP的独立(或并行)子分区预测值生成

在又一个实施例中,用于常规帧内模式的MPM推导过程直接重用于ISP模式,并且MPM标志和MPM索引的信令方法保持与现有ISP设计中的相同。

用于ISP的色度分量的帧内预测模式编码

在本申请中,提出仅允许所有可能的色度帧内预测模式中的Nc个模式(Nc是正整数)用于ISP编码块的色度分量。在一个实施例中,仅允许一种模式用于ISP编码块的色度分量。例如,该单一允许模式可以是直接模式(DM)。在另一示例中,该单一允许模式可以是LM模式。在再一个示例中,该单一允许模式可以是HOR预测模式或VER预测模式之一。直接模式(DM)被配置为将相应亮度块所使用的相同帧内预测模式应用于色度块。

在另一个实施例中,仅允许两种模式用于ISP编码块的色度分量。在一个示例中,仅允许DM和LM用于ISP编码块的色度分量。

在又一个实施例中,仅允许四种模式用于ISP编码块的色度分量。在一个示例中,仅允许DM、LM、LM_L和LM_A用于ISP编码块的色度分量。

为了发送用于ISP编码块的色度分量的Nc个模式,不使用传统的MPM机制。相反,使用固定的二进制码字指示比特流中选择的色度模式。例如,可以使用确定的二进制码字发送用于ISP编码块的色度帧内预测模式。可以使用不同的过程来生成该码字,包括截断二进制(TB)二值化过程、固定长度二值化过程、截断Rice(TR)二值化过程、k阶Exp-Golumb二值化过程、有限EGk二值化过程等。

用于ISP编码块的色度分量的编码块大小

在本申请中,提出不允许对ISP编码块的色度分量进行子分区编码。相反,正常的基于整个块的帧内预测用于ISP编码块的色度分量。换句话说,对于一个ISP编码块,只对其亮度分量进行子分区,而对其色度分量不进行子分区。

ISP与帧间预测的组合

图11示出了图10的第一子分区1001的帧间预测样本和帧内预测样本的组合。同样,图12示出了图10的第二子分区1002的帧间预测样本和帧内预测样本的组合。更具体地来讲,为了进一步提高编码效率,提供了一种新的预测模式,在这种新的预测模式中,将预测生成为ISP模式和帧间预测模式的加权组合(例如加权平均)。用于ISP模式的帧内预测值生成与前面结合图10所示的相同。帧间预测值可以通过合并模式或间模式的过程生成。

在图11的说明性示例中,通过使用由合并索引所指示的合并候选进行运动补偿来生成用于当前块(包括所有子分区)的帧间预测样本1101。通过使用发送的(signaled)帧内模式进行帧内预测来生成帧内预测样本1103。应注意,该过程可以使用先前子分区的重构样本来生成非第一子分区(即,第二子分区1002)的帧内预测值样本,如图12所示。在生成帧间和帧内预测值样本之后,对它们进行加权平均以生成用于该子分区的最终预测样本。组合的模式能够被视为帧内模式。或者,组合的模式可以被视为帧间模式或合并模式,而不是帧内模式。

用于ISP编码块的CBF信令

为了简化ISP的设计,在本申请中提出对于最后一个子分区总是发送CBF。

在本申请的另一个实施例中,提出对于最后一个子分区不发送CBF,而是在解码器侧推断它的值。例如,用于最后一个子分区的CBF的值总是被推断为1。在另一个示例中,用于最后一个子分区的CBF的值总是被推断为零。

根据本申请的实施例,提供一种视频编码方法,包括为多个对应子分区中的每一个独立生成相应的帧内预测,其中,使用来自当前编码块的多个参考样本生成每个相应的帧内预测。

在一些示例中,不使用来自多个对应子分区的第一子分区的重构样本来为多个对应子分区的其它任何子分区生成相应的帧内预测。

在一些示例中,多个相应子分区中的每一个子分区的宽度小于或等于2。

在一些示例中,多个相应子分区包括多个垂直子分区和多个水平子分区,且该方法还包括仅使用水平预测模式来为多个水平子分区生成第一帧内预测集合,并且仅使用垂直预测模式来为多个垂直子分区生成第二帧内预测集合。

在一些示例中,使用小于18的模式索引来进行该水平预测模式。

在一些示例中,使用大于50的模式索引来进行所述垂直预测模式。

在一些示例中,独立且并行地为多个水平子分区中的每一个水平子分区进行该水平预测模式。

在一些示例中,独立且并行地为多个垂直子分区中的每一个垂直子分区进行个垂直预测模式。

在一些示例中,多个相应子分区包括最后一个子分区,并且该方法还包括为该最后一个子分区发送(signal)系数块标志(CBF)值。

在一些示例中,多个相应子分区包括最后一个子分区,并且该方法还包括在解码器处为该最后一个子分区推断(infer)系数块标志(CBF)值。

在一些示例中,该系数块标志(CBF)值总是被推断为1。

在一些示例中,该系数块标志(CBF)值总是被推断为零。

根据本申请的另一个实施例,提供一种视频编码方法,包括:针对帧内子分区(ISP)编码块的亮度分量,仅使用M个可能的帧内预测模式中的N个模式为多个相应子分区中的每个子分区生成各自的帧内预测,其中,M和N是正整数,且N小于M。

在一些示例中,多个相应子分区中的每一个子分区的宽度小于或等于2。

在一些示例中,N等于1,以使对于该亮度分量仅允许单一模式。

在一些示例中,该单一模式是平面模式。

在一些示例中,该单一模式是DC模式。

在一些示例中,该单一模式是水平(HOR)预测模式、垂直(VER)预测模式和对角线(DIA)预测模式中的任一种。

在一些示例中,响应于子分区方向选择该单一模式,其中,响应于该子分区方向为水平,选择该水平(HOR)预测模式,并且响应于该子分区方向为垂直,选择该垂直(VER)预测模式。

在一些示例中,响应于子分区方向选择该单一模式,其中,响应于子分区方向为垂直,选择该水平(HOR)预测模式,并且响应于该子分区方向为水平,选择该垂直(VER)预测模式。

在一些示例中,N等于2,以使对于该亮度分量允许两个模式。

在一些示例中,响应于第一子分区方向选择第一组两种模式,并且响应于第二子分区方向选择第二组两种模式。

在一些示例中,该第一组两种模式包括平面模式和水平(HOR)预测模式,该第一子分区方向包括水平子分区,该第二组两种模式包括平面模式和垂直(VER)预测模式,该第二子分区方向包括垂直子分区。

在一些示例中,使用来自预先确定的二进制码字集合的相应二进制码字发送(signal)N个模式中的每个相应模式。

在一些示例中,使用截断二进制(TB)二值化过程、固定长度二值化过程、截断Rice(TR)二值化过程、截断一元二值化过程、k阶Exp-Golumb二值化过程和有限EGk二值化过程中的至少一个生成该预先确定的二进制码字集合。

根据本申请的再一个实施例,提供一种视频编码方法,包括:针对帧内子分区(ISP)编码块的色度分量,仅使用M个可能的帧内预测模式中的N个模式生成帧内预测,其中,M和N是正整数,且N小于M。

在一些示例中,N等于1,以使对于该色度分量仅允许单一模式。

在一些示例中,该单一模式是直接模式(DM)、线性模型(LM)模式、水平(HOR)预测模式或垂直(VER)预测模式。

在一些示例中,N等于2,以使对于该色度分量允许两个模式。

在一些示例中,N等于4,以使对于个色度分量允许四个模式。

在一些示例中,使用来自预先确定的二进制码字集合的相应二进制码字发送(signal)N个模式中的每个相应模式。

在一些示例中,使用截断二进制(TB)二值化过程、固定长度二值化过程、截断Rice(TR)二值化过程、截断一元二值化过程、k阶Exp-Golumb二值化过程和有限EGk二值化过程中的至少一个生成该预先确定的二进制码字集合。

根据本申请的再一个实施例,提供一种视频编码方法,包括:对于亮度分量,为整个帧内子分区(ISP)编码块的多个相应子分区中的每一个子分区生成各自的亮度帧内预测,以及对于色度分量,为整个帧内子分区(ISP)编码块生成色度帧内预测。

在一些示例中,多个相应子分区中的每一个子分区的宽度小于或等于2。

根据本申请的再一个实施例,提供一种视频编码方法,包括使用帧内子分区模式生成第一预测;使用帧间预测模式生成第二预测;以及合并该第一预测和该第二预测以通过将加权平均应用于该第一预测和该第二预测来生成最终预测。

在一些示例中,使用合并模式和帧间模式中的至少一种来生成该第二预测。

在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于诸如数据存储介质之类的有形介质,或者通信介质,包括便于将计算机程序从一个地方转移到另一个地方的任何介质,如根据通信协议。在这种方式中,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是可由一台或多台计算机或一个或多个处理器访问以检索指令、代码和/或数据结构以实现本申请中描述的实施方式的任何可用介质。计算机程序产品可以包括计算机可读介质。

此外,可以使用包括一个或多个电路的装置来实现上述方法,该电路包括专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件。该装置可以使用与其他硬件或软件(DSPD)、可编程逻辑装置(PLD)、现场可编程的门阵列(FPGA)、控制器、微控制器、微处理器或其它电子部件。该装置可以使用与其他硬件或软件组件结合的电路来执行上述方法。上面公开的每个模块、子模块、单元或子单元可以至少部分地使用一个或多个电路来实现。

考虑到这里公开的本发明的说明书和实践,本发明的其他实施例对于本领域技术人员来说将是显而易见的。本申请旨在涵盖本发明遵循其一般原理的任何变化、用途或修改,并且包括在本领域已知或习惯实践中与本申请内容的偏离。说明书和实施例仅被认为是示例性的,本申请的真实范围和精神由下面的权利要求指示。

应当理解,本申请不限于上述和附图中所示的确切示例,并且可以在不脱离其范围的情况下进行各种修改和改变。本发明的范围旨在仅由所附权利要求来限制。

31页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种频域去噪滤波的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类