一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于针对视频编解码的预测相关残差缩放的方法和设备与流程

2022-02-22 03:25:54 来源:中国专利 TAG:

用于针对视频编解码的预测相关残差缩放的方法和设备
1.相关应用的交叉引用本技术要求于2019年6月21日提交的序列号为62/865,142的美国临时专利申请的权益。上述申请的全部公开内容通过引用整体地并入本文中。
技术领域
2.本公开总体上涉及视频编解码和压缩。更具体地,本公开涉及用于使用对编码单元的预测相关残差缩放来执行视频编解码的系统和方法。


背景技术:

3.本部分提供了与本公开相关的背景信息。本部分中包含的信息不一定被解释为现有技术。
4.可以使用各种视频编解码技术中的任一个来压缩视频数据。视频编解码可以根据一个或多个视频编解码标准来执行。一些说明性视频编解码标准包括:通用视频编解码(vvc)、联合探测测试模型(jem)编解码、高效视频编解码(h.265/hevc)、高级视频编解码(h.264/avc)和运动图像专家组(mpeg)编解码。
5.视频编解码通常利用预测方法(例如,帧间预测、帧内预测等),该预测方法利用视频图像或序列中固有的冗余。视频编解码技术的一个目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的退化。
6.hevc标准的第一个版本于2013年10月最终确定,与上一代视频编解码标准h.264/mpeg avc相比,该hevc标准的第一个版本节省了约50%的比特率或同等的感知质量。尽管hevc标准与其前身(predecessor)相比提供了显著的编码改进,但是存在如下证据:即,利用附加的编解码工具相比于hevc可以实现更优越的编解码效率。基于此,vceg和mpeg两者开始了对未来视频编解码标准化的新编解码技术的探索工作。itu-t vecg和iso/iec mpeg于2015年10月成立了一个联合视频探索团队(jvet),以开始对可以使得能够大幅增强编解码效率的高级技术进行重要研究。jvet通过在hevc测试模型(hm)之上集成若干个附加编解码工具来维护被称为联合探索模型(jem)的一个参考软件。
7.2017年10月,itu-t和iso/iec发布了关于具有超越hevc的能力的视频压缩的联合征求建议书(cfp)。2018年4月,在第10次jvet会议上接收到并评估了23份cfp回复,这些回复展示了相比于hevc大约40%的压缩效率增益。基于这种评估结果,jvet启动了新项目来开发新一代视频编解码标准,其被命名为通用视频编解码(vvc)。在同一月,名为vvc测试模型(vtm)的一个参考软件被建立,以用于展示vvc标准的参考实现。
8.视频编解码中利用的预测方法通常包括:执行空间(帧内)预测和/或时间(帧间)预测以减少或移除视频数据中固有的冗余,并且通常与基于块的视频编解码相关联。如hevc那样,vvc构建在基于块的混合视频编解码框架之上。
9.在基于块的视频编解码中,输入视频信号被逐块地处理。针对每个块(也称为编码单元(cu)),可以执行空间预测和/或时间预测。在较新的视频编解码标准(诸如,当前的vvc
设计)中,可以基于多类型树结构来进一步对块进行分区,该多类型树结构不仅包括四叉树,而且还包括二叉树和/或三叉树。这允许更好地适应变化的局部特性。
10.空间预测(也称为“帧内预测”)使用来自相同视频图片/切片中的已编码的邻近块的样本(被称为参考样本)的像素来预测当前块。空间预测减少了视频信号中固有的空间冗余。
11.在解码过程期间,视频比特流首先在熵解码单元处被熵解码。编码模式和预测信息被发送到空间预测单元(当帧内编码时)或时间预测单元(当帧间编码时),以形成预测块。残差变换系数被发送到逆向量化单元和逆向变换单元,以重构残差块。然后,预测块和残差块被相加在一起。所重构的块在被存储在参考图片存储库中之前可以进一步经过环路内滤波。参考图片存储库中的所重构的视频然后被发送出去,以驱动显示设备,以及用于预测未来视频块。
12.在较新的视频编解码标准(诸如,当前的vvc设计)中,具有色度缩放的亮度映射(lmcs)的编码工具可以在环路内滤波之前应用。lmcs旨在调整输入信号的动态范围,以改进编码效率。
13.然而,lmcs的当前设计引起了对计算复杂性和片上存储器的额外要求,这是因为它在不同的解码模块处使用不同的域映射。此外,lmcs的当前设计使用不同的亮度预测样本值来导出亮度和色度缩放因子,这引入了额外的复杂性。此外,lmcs的当前设计增加了色度残差样本重构的时延,这是因为它需要将色度残差样本重构推迟直到成功完成亮度预测样本之后,这进而需要成功完成对复杂帧间模式编码工具的顺序应用,该复杂帧间模式编码工具诸如解码器侧运动矢量导出(dmvr)、双向光流(bdof)以及联合帧间帧内预测(ciip)。


技术实现要素:

14.本部分提供了本公开的一般概述,而不是对其全部范围或所有特征的全面公开。
15.根据本公开的第一方面,在具有一个或多个处理器以及存储要由一个或多个处理器执行的多个程序的存储器的计算设备处执行一种视频编解码方法。所述方法包括:获得亮度预测样本以用于解码亮度残差样本。所述方法进一步包括:使用亮度预测样本来导出缩放因子。所述方法进一步包括:使用所述缩放因子来缩放亮度残差样本。所述方法进一步包括:通过将亮度预测样本和经缩放的亮度残差样本相加来计算所重构的亮度样本。
16.根据本公开的第二方面,在具有一个或多个处理器以及存储要由一个或多个处理器执行的多个程序的存储器的计算设备处执行一种视频编解码方法。所述方法包括:获得亮度预测样本值,所述预测样本值用于解码输入位置处的亮度残差样本和色度残差样本两者。所述方法进一步包括:获得与亮度残差样本相关联的亮度预测样本。所述方法进一步包括:获得与色度残差样本相关联的色度预测样本。所述方法进一步包括:使用亮度预测样本来导出亮度残差样本的第一缩放因子和色度残差样本的第二缩放因子。所述方法进一步包括:使用第一缩放因子来缩放亮度残差样本。所述方法进一步包括:使用第二缩放因子来缩放色度残差样本。所述方法进一步包括:通过将亮度预测样本和经缩放的亮度残差样本相加来计算所重构的亮度样本。所述方法进一步包括:通过将色度预测样本和经缩放的色度残差样本相加来计算所重构的色度样本。
17.根据本公开的第三方面,在具有一个或多个处理器以及存储要由一个或多个处理器执行的多个程序的存储器的计算设备处执行一种视频编解码方法。所述方法包括:通过在编码单元(cu)的亮度预测过程期间跳过多个预定义的中间亮度预测阶段来获得多个亮度预测样本。所述方法进一步包括:使用所获得的多个亮度预测样本来导出cu中的色度残差样本的缩放因子。所述方法进一步包括:使用所述缩放因子来缩放cu中的色度残差样本。所述方法进一步包括:通过在cu中将色度预测样本和经缩放的色度残差样本相加来计算所重构的色度样本。
18.根据本技术的第四方面,从解码器侧运动矢量导出dmvr的双线性滤波器的输出中选择一个或多个亮度预测样本值,将所选择的一个或多个亮度预测样本值调整成具有与输入视频的原始编码位深度相同的位深度的另一个或多个亮度预测样本值,使用具有与输入视频的原始编码位深度相同的位深度的亮度预测样本值来导出用于解码一个或多个色度残差样本的缩放因子,使用所述缩放因子来缩放一个或多个色度残差样本,并且通过将经缩放的一个或多个色度残差样本与其对应的色度预测样本相加来重构一个或多个色度残差样本。
19.根据本技术的第五方面,从参考图片选择一个或多个亮度参考样本值,将所选择的一个或多个亮度参考样本值变换成亮度样本值,使用所述亮度样本值来导出缩放因子,使用所述缩放因子来缩放一个或多个色度残差样本,并且通过将经缩放的一个或多个色度残差样本与其对应的色度预测样本相加来重构一个或多个色度残差样本。
20.根据本技术的第六方面,一种计算设备包括一个或多个处理器、存储器、以及存储在存储器中的多个程序。所述程序在由一个或多个处理器执行时使得所述计算设备执行如上面在本技术的前五个方面中所描述的操作。
21.根据本技术的第七方面,一种非暂时性计算机可读存储介质存储用于由具有一个或多个处理器的计算设备执行的多个程序。所述程序在由一个或多个处理器执行时使得所述计算设备执行如上面在本技术的前五个方面中所描述的操作。
附图说明
22.在下文中,将结合附图来描述本公开的说明性、非限制性实施例的集合。相关领域的普通技术人员可以基于本文中给出的示例来实现结构、方法或功能的变型,并且这种变型被包含在本公开的范围内。在不存在冲突的情况下,不同实施例的教导可以但不需要彼此组合。
23.图1是阐述了可以结合许多视频编解码标准使用的说明性基于块的混合视频编码器的框图。
24.图2是阐述了可以结合许多视频编解码标准使用的说明性视频解码器的框图。
25.图3是可以结合许多视频编解码标准使用的多类型树结构中的块分区的图示。
26.图4是图示了其中应用了lmcs的解码过程的流程图。
27.图5是bdof过程的图示。
28.图6是图示了当启用所有dmvr、bdof和ciip时lmcs中的色度残差缩放的工作流程的流程图。
29.图7是图示了本公开的第一方面的步骤的流程图。
30.图8是图示了当本公开的第一方面被应用在lmcs过程中时的解码过程的工作流程的流程图。
31.图9是仅使用预测样本来导出缩放因子所导致的残差映射误差的图示。
32.图10是图示了本公开的第二方面的步骤的流程图。
33.图11是图示了本公开的第三方面的步骤的流程图。
34.图12是图示了本公开的第三方面的一个示例中的lmcs解码过程的工作流程的流程图,其中没有应用dmvr、bdof和ciip来生成用于色度缩放的亮度预测样本。
35.图13是图示了本公开的第三方面的第二示例中的lmcs解码过程的工作流程的流程图,其中应用了初始单向预测信号来生成用于色度缩放的亮度预测样本。
36.图14是图示了本公开的第四方面的步骤的流程图。
37.图15是图示了本公开的第四方面的一个或多个实施例中的lmcs解码过程的工作流程的流程图。
38.图16是图示了本公开的第四方面的另一个实施例中的lmcs解码过程的工作流程的流程图。
39.图17是图示了本公开的第五方面的步骤的流程图。
具体实施方式
40.本公开中使用的术语旨在说明特定示例,而不是限制本公开。本公开以及所附权利要求中使用的单数形式“一”和“该”也指代复数形式,除非上下文中明确包含其他含义。应当领会的是,本文中使用的术语“和/或”指代一个或多个相关联的所列项目的任何或所有可能的组合。
41.应当理解的是,尽管术语“第一”、“第二”、“第三”等在本文中可以用于描述各种信息,但是该信息不应当被这些术语所限制。这些术语仅用于区分一个类别的信息与另一类别的信息。例如,在不脱离本公开的范围的情况下,第一信息可以被视为第二信息;并且类似地,第二信息也可以被视为第一信息。如本文中所使用的,取决于上下文,术语“如果”可以被理解为意味着“当
……
时”或“在
……
时”或“响应于
……”

42.遍及本说明书对采用单数或复数形式的“一个实施例”、“实施例”、“另一个实施例”等的引用意味着:结合实施例描述的一个或多个特定特征、结构或特性被包括在本公开的至少一个实施例中。因此,遍及本说明书的各个地方采用单数或复数形式的短语“在一个实施例中”或“在实施例中”、“在另一个实施例中”等的出现不一定全部指代相同实施例。此外,一个或多个实施例中的特定特征、结构或特性可以以任何合适的方式来组合。
43.从概念上讲,许多视频编解码标准是类似的,包括前面在背景技术部分中提到的那些标准。例如,几乎所有视频编解码标准都使用基于块的处理,并且共享类似的视频编解码框图来实现视频压缩。
44.图1示出了可以与许多视频编解码标准结合使用的说明性基于块的混合视频编码器100的框图。在编码器100中,视频帧被分区成多个视频块以用于处理。针对每个给定的视频块,基于帧间预测方法或帧内预测方法来形成预测。在帧间预测中,基于来自先前重构的帧的像素,通过运动估计和运动补偿来形成一个或多个预测器。在帧内预测中,基于当前帧中的重构像素来形成预测器。通过模式决策,可以选择最佳预测器来预测当前块。
45.表示当前视频块与其预测器之间的差的预测残差被发送到变换电路102。变换系数然后从变换电路102被发送到量化电路104,以用于熵减少。量化系数然后被馈送到熵编码电路106,以生成压缩的视频比特流。如图1中所示,来自帧间预测电路和/或帧内预测电路112的预测相关信息110(诸如,视频块分区信息、运动矢量、参考图片索引和帧内预测模式)也通过熵编码电路106被馈送并保存到压缩的视频比特流114中。
46.在编码器100中,还需要解码器相关电路,以便出于预测的目的来重构像素。首先,通过逆向量化116和逆向变换电路118来重构预测残差。将该重构的预测残差与块预测器120进行组合,以生成当前视频块的未经滤波的重构像素。
47.时间预测(也称为“帧间预测”或“运动补偿预测”)使用来自已经编码的视频图片的重构像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。通常由一个或多个运动矢量(mv)来信令发送用于给定cu的时间预测信号,这些运动矢量指示当前cu与其时间参考之间的运动量和运动方向。此外,如果支持多个参考图片,则附加地发送一个参考图片索引,该参考图片索引用于标识该时间预测信号来自参考图片存储库中的哪个参考图片。
48.在执行空间和/或时间预测之后,编码器100中的帧内/帧间模式决策电路121例如基于速率失真优化方法来选择最佳预测模式。然后,从当前视频块中减去块预测器120;并且使用变换电路102和量化电路104对所得的预测残差进行去相关。由逆向量化电路116对所得的量化残差系数进行逆向量化,并且由逆向变换电路118进行逆向变换,以形成重构的残差,该重构的残差然后被添加回到预测块,以形成cu的重构信号。在将重构的cu放入图片缓冲器117的参考图片存储库中并用于编码未来的视频块之前,可以在重构的cu上应用进一步的环路内滤波器115,诸如去块滤波器、采样自适应偏移(sao)和/或自适应环路内滤波器(alf)。为了形成输出视频比特流114,编码模式(帧间或帧内)、预测模式信息、运动信息、以及量化残差系数全部被发送到熵编码单元106,以被进一步压缩和打包以形成比特流。
49.例如,去块滤波器在avc、hevc、以及vvc的当前版本中是可用的。在hevc中,定义了被称为sao(样本自适应偏移)的附加环路内滤波器,以进一步提高编码效率。在vvc标准的当前版本中,正在积极研究被称为alf(自适应环路滤波器)的又一种环路内滤波器,并且其具有很大机会被纳入最终标准中。
50.这些环路内滤波器操作是可选的。执行这些操作帮助提高编码效率和视觉质量。作为编码器100做出的决策,它们也可以被关闭,以节省计算复杂性。
51.应当注意的是,帧内预测通常基于未经滤波的重构像素,而如果编码器100打开了这些滤波器选项,则帧间预测基于经滤波的重构像素。
52.图2是阐述了可以结合许多视频编解码标准使用的说明性视频解码器200的框图。该解码器200类似于图1的编码器100中存在的重构相关部分。在解码器200(图2)中,首先通过熵解码202对传入视频比特流201进行解码,以导出量化系数级别和预测相关信息。然后,通过逆向量化204和逆向变换206来处理量化系数级别,以获得所重构的预测残差。在帧内/帧间模式选择器212中实现的块预测器机制被配置成基于所解码的预测信息来执行帧内预测208或运动补偿210。使用求和器214,通过对来自逆向变换206的所重构的预测残差和块预测器机制所生成的预测输出进行求和,来获得未经滤波的重构像素的集合。
53.所重构的块在它被存储在充当参考图片存储库的图片缓冲器213中之前,可以进
一步经过环路内滤波器209。图片缓冲器213中的所重构的视频然后可以被发送出去,以驱动显示设备,以及用于预测未来的视频块。在其中环路内滤波器209被打开的情形下,对这些重构像素执行滤波操作,以导出最终的重构视频输出222。
54.在诸如hevc之类的视频编解码标准中,可以基于四叉树来对块进行分区。在较新的视频编解码标准(诸如,当前vvc)中,采用了更多的分区方法,并且一个编码树单元(ctu)可以基于四叉树、二叉树或三叉树被划分成cu,以适应变化的局部特性。在当前vvc中,大多数编码模式中不存在cu、预测单元(pu)和变换单元(tu)的分离,并且每个cu始终被用作用于预测和变换两者的基本单元,而没有进一步的分区。然而,在某些特定编码模式(诸如,子分区内编码模式)中,每个cu可能仍然包含多个tu。在多类型树结构中,首先通过四叉树结构对一个ctu进行分区。然后,可以通过二叉和三叉树结构对每个四叉树叶节点进行进一步分区。
55.图3示出了当前vvc中采用的五种划分类型,即四元分区301、水平二元分区302、垂直二元分区303、水平三元分区304和垂直三元分区305。在其中利用多类型树结构的情形下,首先通过四叉树结构对一个ctu进行分区。然后,可以通过二叉和三叉树结构对每个四叉树叶节点进行进一步分区。
56.使用图3的示例性块分区301、302、303、304或305中的一个或多个,可以使用图1中所示的配置来执行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自相同视频图片/切片中的已编码的邻近块的样本(被称为参考样本)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。
57.在较新的视频编解码标准(诸如,当前vvc)中,已经添加了一种新的编码工具——具有色度缩放的亮度映射(lmcs)。lmcs被添加作为一种新的编码工具,它在环路内滤波器(例如,去块滤波器、sao和alf)之前被应用。
58.一般而言,lmcs具有两个主要模块:第一个,基于自适应逐段线性模型的亮度分量的环路内映射;第二个,亮度相关的色度残差缩放。
59.图4示出了其中应用了lmcs的经修改的解码过程。在图4中,某些块表示在映射域中实施的解码模块,这些解码模块包括熵解码401、逆向量化402、逆向变换403、亮度帧内预测404和亮度样本重构405(即,亮度预测样本y’pred
和亮度残差样本y’res
相加以产生所重构的亮度样本y’recon
)。某些其他块指示在原始(即,非映射)域中实施的解码模块,这些解码模块包括运动补偿预测409、色度帧内预测412、色度样本重构413(即,色度预测样本c
pred
和色度残差样本c
res
相加以产生所重构的色度样本c
recon
)和环路内滤波器过程407(涵盖了去块、sao和alf)。另外一组块表示由lmcs引入的新操作模块,包括亮度样本的正向映射410和逆向(或反向)映射406、以及色度残差缩放411。此外,如图4中所示,存储在解码图片缓冲器(dpb)408(用于亮度)和415(用于色度)中的所有参考图片都在原始域中。
60.lmcs的环路内映射旨在调整输入信号的动态范围,以提高编码效率。现有lmcs设计中的亮度样本的环路内映射基于两个映射函数,一个正向映射函数fwdmap和一个对应的逆向映射函数invmap。使用具有16个等大小段的一个逐段线性模型,从编码器向解码器信令发送正向映射函数。可以直接从正向映射函数中导出逆向映射函数,并且因此不需要信令发送该逆向映射函数。
61.在切片级别信令发送亮度映射模型的参数。首先信令发送存在标识,以指示是否
要针对当前切片来信令发送亮度映射模型。如果当前切片中存在亮度映射模型,则进一步信令发送对应的逐段线性模型参数。基于逐段线性模型,将输入信号的动态范围分区成原始域中的16个大小相等的段,并且将每个段映射到对应的段。针对原始域中的给定段,其在映射域中的对应段可以具有相同或不同的大小。映射域中的每个段的大小由该段的码字(即,映射样本值)的数量来指示。针对原始域中的每个段,可以基于其在映射域中的对应段中的码字数量来导出线性映射参数。例如,当输入在10位深度内时,原始域中的16个段中的每一个具有64个像素值,如果映射域中的每一个段也具有指派给它的64个码字,则它指示简单的一对一映射(即,其每个样本值都不改变的映射)。映射域中的每个段的所信令发送的码字数量用于计算缩放因子,并且相应地针对该段来调整映射函数。附加地,在切片级别,信令发送另一个lmcs控制标识以启用/禁用针对该切片的lmcs。
62.针对每个段,定义对应的逐段线性模型,如紧随本段落之后的框中所描述的那样:。
63.如图4中所图示,在lmcs过程期间,需要在两个不同的域中进行操作。对于通过帧间预测模式编码的每个cu(“帧间cu”),在原始域中执行其运动补偿预测。然而,因为亮度分量的重构(即,亮度预测样本和亮度残差样本的相加)是在映射域中执行的,所以在y’pred 被用于像素重构405之前,需要通过前向映射函数410将经运动补偿的亮度预测y
pred
从原始域映射到映射域中的值y’pred
,即y’pred = fwdmap(y
pred
)。另一方面,对于通过帧内预测模式编码的每个cu(“帧内cu”),在y’pred
用于像素重构405之前,在给定了在映射域(如图4中所示)中执行帧内预测404的情况下,不需要对预测样本的映射。最后,在生成所重构的亮度样本y’recon
之后,应用反向映射函数406以在进行到亮度dpb 408之前将所重构的亮度样本y’recon
转换回原始域中的值y
recon
,即,y
recon = invmap(y’recon
)。与仅需要针对帧间cu应用的对预测样本的前向映射410不同,对所重构的样本的反向映射406需要被应用于帧间cu和帧内cu两者。
64.总之,在解码器侧,当前lmcs的环路内亮度映射是以如下方式实施的:如果需要,首先将亮度预测样本y
pred
转换到映射域:y’pred = fwdmap(ypred)。然后,将所映射的预测样本与所解码的亮度残差进行相加,以在映射域中形成所重构的亮度样本:y’recon = y’pred y’res。最后,应用逆向映射以将所重构的亮度样本y’recon转换回原始域:yrecon = invmap(y’recon)。在编码器侧,因为亮度残差是在映射域中被编码的,所以它们是作为
所映射的亮度原始样本与所映射的亮度预测样本之间的差而生成的:y’res = fwdmap(yorg)
ꢀ‑ꢀ
fwdmap(ypred)。
65.lmcs滤波的第二步骤——亮度相关的色度残差缩放——被设计成:当对亮度信号应用环路内映射时,补偿亮度信号与其对应的色度信号之间的量化精度的相互影响。色度残差缩放是启用还是禁用也在切片头部中被信令发送。如果启用了亮度映射,并且针对当前切片禁用了亮度和色度分量的双树分区,则信令发送附加标识,以指示是否应用了亮度相关的色度残差缩放。当不使用亮度映射或针对当前切片启用了双树分区时,亮度相关的色度残差缩放始终被禁用。附加地,针对包含小于或等于四个色度样本的cu始终禁用色度残差缩放。
66.对于帧内和帧间cu两者而言,用于缩放色度残差的缩放参数取决于对应的映射亮度预测样本的平均值。导出缩放参数,如紧随本段落之后的框中所描述的那样:。
67.图4还图示了用于亮度相关的色度残差缩放的亮度预测样本的平均值的计算。针对帧间cu,将经前向映射的亮度预测y’pred
与经缩放的色度残差c
resscale
一起馈送到色度残差缩放411中,以导出色度残差c
res
,色度残差c
res
与色度预测c
pred
一起被馈送到色度重构413中,以便导出所重构的色度值c
recon
。针对帧内cu,帧内预测404产生已经在映射域中的y’pred
,并且它以与针对帧间cu类似的方式被馈送到色度残差缩放411中。
68.与基于样本执行的亮度映射不同,c
scaleinv
对于整个色度cu是固定的。在给定c
scaleinv
的情况下,应用色度残差缩放,如紧随本段落之后的框中所描述的那样。
69.在较新的视频编解码标准(诸如,当前vvc)中,引入了新的编码工具,并且新的编码工具的一些示例是:双向光流(bdof)、解码器侧运动矢量修正(dmvr)、联合帧间帧内预测(ciip)、仿射模式、以及针对仿射模式的光流预测修正(prof)。
70.在当前vvc中,应用双向光流(bdof)来修正双向预测编码块的预测样本。
71.图5是bdof过程的图示。bdof是当使用双向预测时在基于块的运动补偿预测之上执行的逐样本运动修正。在子块周围的一个6
×
6窗口ω内应用bdof之后,通过最小化参考图片列表0(l0)和参考图片列表1(l1)预测样本502和503之间的差来计算每个4
×
4子块501的运动修正(v
x
, vy)。
72.具体地,导出运动修正(v
x
, vy)的值,如紧随本段落之后的框中所描述的那样。
73.进一步计算上面紧随的框中的值s1、s2、s3、s5和s6,如紧随本段落之后的框中所描述的那样。
74.上面紧随的框中的值是列表k中预测信号的坐标(i,j)处的样本值,k=0,1,其是以中间高精度(即,16位)来生成的;并且值和是通过直接计算其两个相邻样本之间的差而获得的样本的水平和垂直梯度。值和是如紧随本段落之后的框中所描述的那样被计算的。
75.基于如紧随以上段落[0072]之后的框中所描述的那样导出的运动修正,通过基于光流模型沿着运动轨迹来内插l0/l1预测样本从而计算出cu的最终双向预测样本,如紧随本段落之后的框中所指示的那样。
[0076]
基于上面描述的位深度控制方法,保证了整个bdof过程的中间参数的最大位深度不超过32位,并且去往乘法的最大输入在15位内,即,一个15位乘法器对于bdof实现是足够的。
[0077]
dmvr是一种双向预测技术,该技术用于合并具有两个初始信令发送的mv的块,这两个mv可以通过使用双边匹配预测来进一步修正。
[0078]
具体地,在dmvr中,双边匹配用于通过在两个不同参考图片中沿着当前cu的运动轨迹的两个块之间找到最佳匹配来导出当前cu的运动信息。匹配过程中使用的成本函数是行子采样的sad(绝对差的总和)。在匹配过程完成之后,在预测阶段中将经修正的mv用于运动补偿,将后续图片的时间运动矢量预测和未经修正的mv用于当前cu的运动矢量与其空间邻域的运动矢量之间的运动矢量预测。
[0079]
在连续运动轨迹的假设下,指向两个参考块的运动矢量mv0和mv1应与当前图片与两个参考图片之间的时间距离(即td0和td1)成比例。作为特殊情况,当当前图片在时间上处于两个参考图片之间并且从当前图片到两个参考图片的时间距离相同时,双边匹配变成基于镜像的双向mv。
[0080]
在当前vvc,帧间和帧内预测方法被用在混合视频编解码方案中,其中每个pu仅被允许选择帧间预测或帧内预测以用于利用时间域或空间域中的相关性,而从不在两者中进行选择。然而,如先前文献中所指出的,由帧间预测块和帧内预测块生成的残差信号可能呈现彼此非常不同的特性。因此,如果这两种预测能够以高效的方式来组合,则可以预期一种更准确的预测,以用于减少预测残差的能量,并且从而提高编码效率。附加地,在自然视频内容中,运动对象的运动可能是复杂的。例如,可能存在既包含旧内容(例如,被包括在先前编码的图片中的对象)又包含出现的新内容(例如,在先前编码的图片中被排除的对象)的区域。在这种场景中,帧间预测或帧内预测都不能够提供对当前块的准确预测。
[0081]
为了进一步提高预测效率,在vvc标准中采用了联合帧间帧内预测(ciip),联合帧间帧内预测(ciip)组合了通过合并模式被编码的一个cu的帧内预测和帧间预测。具体地,针对每个合并cu,信令发送一个附加标识以指示是否针对当前cu启用ciip。当该标识等于1时,ciip仅应用平面模式来生成亮度和色度分量的帧内预测样本。附加地,应用相等的权重(即,0.5)来对帧间预测样本和帧内预测样本求平均,作为ciip cu的最终预测样本。
[0082]
vvc还支持用于运动补偿预测的仿射模式。在hevc中,仅平移运动模型被应用于运动补偿预测。而在现实世界中,存在许多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在vvc中,通过如下方式来应用仿射运动补偿预测:为每个帧间编码块信令发送一个标识,以指示针对帧间预测是应用平移运动还是仿射运动模型。在当前的vvc设计中,针对一个仿射编码块支持两种仿射模式,包括4参数仿射模式和6参数仿射模式。
[0083]
4参数仿射模型具有以下参数:分别用于水平和垂直方向上的平移移动的两个参数、针对两个方向的用于缩放运动的一个参数和用于旋转运动的一个参数。水平缩放参数等于垂直缩放参数。水平旋转参数等于垂直旋转参数。为了实现运动矢量和仿射参数的更好适应,在vvc中,这些仿射参数被转变成位于当前块的左上角和右上角处的两个mv(也被称为控制点运动矢量(cpmv))。块的仿射运动场由两个控制点mv(v0, v1)来描述。
[0084]
基于控制点运动,计算一个仿射编码块的运动场(v
x
, vy),如紧随本段落之后的框中所描述的那样。
[0085]
6参数仿射模式具有以下参数:分别用于水平和垂直方向上的平移移动的两个参数、水平方向上的用于缩放运动的一个参数和用于旋转运动的一个参数、垂直方向上的用于缩放运动的一个参数和用于旋转运动的一个参数。6参数仿射运动模型在3个cpmv处利用3个mv来编码。
[0086]
一个6参数仿射块的三个控制点位于该块的左上角、右上角和左下角处。左上角控制点处的运动与平移运动相关,并且右上角控制点处的运动与水平方向上的旋转和缩放运动相关,并且左下角控制点处的运动与垂直方向上的旋转和缩放运动相关。与4参数仿射运动模型相比,6参数的在水平方向上的旋转和缩放运动与在垂直方向上的旋转和缩放运动
可能不同。
[0087]
假设(v0, v1, v2)是当前块的左上角、右上角和左下角处的mv,则每个子块(v
x
, vy)的运动矢量是在控制点处使用三个mv导出的,如紧随本段落之后的框中所描述的那样。
[0088]
为了提高仿射运动补偿精度,在当前vvc中正在研究光流预测修正(prof),光流预测修正基于光流模型来修正基于子块的仿射运动补偿。具体地,在执行基于子块的仿射运动补偿之后,通过基于光流等式导出的一个样本修正值来修改一个仿射块的亮度预测样本。prof的操作可以详细地总结为以下四个步骤。
[0089]
在步骤一中,使用在紧随上面针对4参数仿射模型的段落[0084]之后的框中以及紧随上面针对6参数仿射模型的段落[0087]之后的框中导出的子块mv,来执行基于子块的仿射运动补偿以生成子块预测i(i,j)。
[0090]
在步骤二中,计算每个预测样本的空间梯度g
x
(i,j)和gy(i,j),如紧随本段落之后的框中所描述的那样。
[0091]
仍在步骤二中,为了计算梯度,需要在一个子块的每一侧上生成预测样本的一个附加行/列。为了降低存储器带宽和复杂性,从参考图片中最近的整数像素位置来复制扩展边界上的样本,以避免附加的内插过程。
[0092]
在步骤三中,计算亮度预测修正值,如紧随本段落之后的框中所描述的那样。
[0093]
附加地,在当前prof设计中,在将预测修正添加到原始预测样本之后,执行一个裁剪操作作为第四步骤,以将经修正的预测样本的值裁剪到15位内,如紧随本段落之后的框中所描述的那样。
[0094]
因为仿射模型参数以及相对于子块中心的像素位置不从子块到子块而改变,所以可以针对第一个子块来计算δv(i,j),并且将其重新用于相同cu中的其他子块。假设δx和δy是从样本位置(i,j)到样本所属子块的中心的水平和垂直偏移量,则可以导出δv(i,j),如紧随本段落之后的框中所描述的那样。
[0095]
基于紧随上面的段落[0084]和段落[0087]之后的框中的仿射子块mv导出等式,可以导出mv差δv(i,j),如紧随本段落之后的框中所描述的那样。
[0096]
根据当前的lmcs设计,色度残差样本基于其对应的亮度预测样本被缩放。当针对帧间cu启用较新的编码工具时,在这些较新的编码工具的顺序应用结束时,获得用于在该帧间cu中通过lmcs来缩放色度残差样本的亮度预测样本。
[0097]
图6是图示了当启用所有dmvr、bdof和ciip时lmcs中的色度残差缩放的工作流程的流程图。来自亮度l0预测值601和l1预测值602的输出被顺序地馈送到dmvr 603和bdof 604,并且所得的亮度帧间预测值621与来自亮度帧内预测605的亮度帧内预测值622一起被
馈送到求平均606,以产生平均亮度预测值623,平均亮度预测值623与色度残差608一起被馈送到色度残差缩放607,使得色度残差缩放607、色度预测610和色度重构609可以一起工作以产生最终结果。
[0098]
当前的lmcs设计对视频解码过程提出了三个挑战。首先,不同域之间的映射需要额外的计算复杂性和片上存储器。其次,亮度和色度缩放因子导出使用不同的亮度预测值这一事实引入了额外的复杂性。再次,lmcs与较新的编码工具之间的交互将时延引入到解码过程中。
[0099]
首先,在当前的lmcs设计中,原始域和映射域两者中的重构样本在各种解码模块处都被使用。因此,这些样本通常需要在不同解码模块之间从一个域转换到另一个域,这可能会引起更高的计算复杂性和更多的片上存储器两者。
[0100]
具体地,对于帧内模式——ciip模式和ibc模式,来自一个当前cu的邻近重构区域的映射域参考样本被用于生成预测样本。但是对于帧间模式,使用时间参考图片的原始域重构样本作为参考来执行运动补偿预测。存储在dpb的重构样本也在原始域中。
[0101]
例如,对于帧间cu,因为亮度重构操作(即,将预测样本和残差样本相加在一起)是在映射域中执行的,所以在原始域中生成的帧间预测亮度样本需要在被用于亮度样本重构之前被转换到映射域中。在另一个示例中,对于帧内和帧间cu两者,在将所重构的亮度样本存储在dpb中之前,始终应用逆向(或反向)映射来将所重构的亮度样本从映射域转换到原始域。这种设计不仅由于附加的正向/逆向映射操作而增加了计算复杂性,而且还需要更多的片上存储器来维护重构样本的多个版本。
[0102]
在实际硬件实现方式中,正向和逆向(或反向)映射函数fwdmap和invmap可以使用查找表(lut)来实现、或者在运行中计算。使用基于lut的技术方案时,函数fwdmap、invmap和cscaleinv的可能输出元素可以被预先计算,并且被预先存储为lut,然后lut可以用于当前切片中的所有cu的亮度映射和色度残差缩放操作。假设输入视频是10位,针对fwdmap和invmap的每一个lut中有2
10 = 1024个元素,并且lut中的每个元素具有10位。因此,用于正向和逆向亮度映射的lut的总存储等于2 * 1024 *10 = 20480位= 2560字节。另一方面,为了导出色度缩放参数c
scaleinv
,在编码器和解码器处需要维持一个16条目的lut表cscaleinv,并且每个色度缩放参数以32位来存储。相应地,用于存储lut cscaleinv的存储器大小等于16 * 32 = 512位= 64字节。2560与64之间的差示出了正向和逆向(反向)映射操作所需的额外片上存储器的规模。
[0103]
此外,在较新的视频编解码标准(诸如,当前vvc)中,帧内预测和去块滤波器两者都使用上述邻近块的重构样本。因此,当前图片/切片的宽度中的一个额外行的重构样本需要维持在缓冲器中,该缓冲器在视频编码中也被称为“行缓冲器”。行缓冲器中的重构样本至少被用作针对位于一个ctu内部的第一行中的cu的帧内预测和去块操作的参考。根据现有的lmcs设计,帧内预测和去块滤波器使用不同域中的重构样本。因此,为了存储原始和映射域重构样本,附加的片上存储器可能变得必要,这可能近似地使行缓冲器大小加倍。
[0104]
避免行缓冲器大小加倍的一个实现选择是在运行中执行域映射操作。然而,这是以不可忽略的计算复杂性增加为代价的。
[0105]
因此,由于不同域之间的所需映射,lmcs的当前设计将需要额外的计算复杂性和片上存储器。
[0106]
其次,尽管lmcs的当前设计中的亮度和色度缩放因子导出方法这二者都使用亮度预测样本值来导出对应的缩放因子,但是它们的对应操作之间存在差异。
[0107]
对于亮度残差缩放,可以通过允许每个亮度残差样本具有自己的缩放因子来按每个样本导出缩放因子。然而,对于色度残差缩放,缩放因子对于整个cu是固定的,即cu内的所有色度残差样本共享相同的缩放因子,该相同的缩放因子是基于映射的亮度预测样本的平均值来计算的。
[0108]
而且,两个不同的lut用于计算亮度和色度残差的缩放因子。具体地,去往亮度lut的输入是原始亮度预测样本值的映射模型段索引,而去往色度lut的输入是映射亮度预测样本平均值的映射模型段索引。
[0109]
这种差异会将额外的复杂性引入到编码过程中,并且用于亮度和色度缩放因子导出的协调的方法是让人期望的。
[0110]
再次,对于lmcs的当前设计的色度残差缩放,可以顺序地调用较新的编码工具,诸如dmvr、bdof和ciip的所有三个模块,以生成亮度预测样本,亮度预测样本然后用于确定色度残差的缩放因子。在给定这三个模块的高计算复杂性的情况下,在执行lmcs的色度残差缩放之前进行等待直到它们成功完成为止可能会引起色度样本解码的严重时延。对于仿射cu,prof过程也可能具有时延问题,这是因为每个仿射cu可能执行prof过程,接着是lmcs过程,这也可能引起色度样本解码的时延问题。
[0111]
本公开旨在解决或减轻由lmcs的当前设计提出的这些挑战,更具体地,本公开讨论了可以在维持编码增益的同时降低硬件编解码器实现的lmcs的复杂性的方案。
[0112]
代替于使用通过映射操作来转换预测/重构样本的现有lmcs框架,在本公开中提出了被称为预测相关残差缩放(pdrs)的一种新方法,作为在没有样本映射的情况下直接缩放预测残差的第一方面。所提出的方法可以实现与lmcs类似的效果和编码效率,但是具有低得多的实现复杂性。
[0113]
根据主要涉及pdrs的本发明的第一方面,如图7中所图示,获得亮度预测样本以用于解码亮度残差样本(701),使用亮度预测样本来导出缩放因子(702),使用该缩放因子来缩放亮度残差样本(703),以及通过将亮度预测样本和经缩放的亮度残差样本相加来计算所重构的亮度样本(704)。
[0114]
与在计算亮度预测残差之前将所预测/重构的亮度样本直接转换到映射域中的现有lmcs方法不同,在本公开的该第一方面的所提出的方法中,在没有任何映射操作的情况下以与原始域中的常规预测过程中的方式相同的方式来导出亮度预测残差样本,随后是对亮度预测残差的缩放操作。对亮度预测残差的缩放取决于对应的亮度预测样本值和逐段线性模型。因此,当前lmcs设计中的正向和逆向亮度映射操作可以被完全丢弃,其中在解码过程期间涉及的所有预测和重构样本被维持在原始样本域中。基于上述特征,所提出的方法被称为预测相关残差缩放。
[0115]
图8是图示了当本公开的第一方面被应用在lmcs过程中时的解码过程的工作流程的流程图。它说明了去除对不同域之间的映射的需要。现在,除了残差解码模块(例如,熵解码801、逆向量化802和逆向变换803)之外,所有其他解码模块(包括帧内和帧间预测804、809、812和816、重构806和813、以及所有环路内滤波器807和814)都在原始域中操作。具体地,为了重构亮度样本,本公开的第一方面中提出的方法仅需要将亮度预测残差样本y
res

缩放(de-scale)回到其原始幅度水平,然后将它们添加到亮度预测样本y
pred
上。
[0116]
利用本公开的第一方面中提出的方法,现有lmcs设计中的正向和逆向亮度采样映射操作被完全去除。这不仅节省/降低了计算复杂性,而且还减少了用于保存lmcs参数的潜在存储装置的大小。例如,当使用基于lut的技术方案来实现亮度映射时,在所提出的方法中不再需要先前被用于存储两个映射lut fwdmap[] and invmap[](约2560字节)的存储装置。此外,与需要在原始域和映射域两者中存储重构亮度样本的现有亮度映射方法不同,本公开的第一方面中提出的方法仅在原始域中生成并维护所有预测和重构样本。相应地,与现有的亮度映射相比,本公开的第一方面中提出的方法可以高效地将用于存储帧内预测和去块的重构样本的行缓冲器大小减少一半。
[0117]
根据本公开的第一方面的一个或多个实施例,亮度预测样本和亮度残差样本来自亮度预测块及其相关联的残差块中的一个相同的并置位置(collocated position)。
[0118]
根据本公开的第一方面的一个或多个实施例,使用亮度预测样本来导出缩放因子包括:将可能的亮度预测样本值的整个范围划分成多个亮度预测样本段;基于预定义的逐段线性模型来计算多个亮度预测样本段中的每一个的一个缩放因子;以及基于多个亮度预测样本段的缩放因子来确定亮度预测样本的缩放因子。
[0119]
在一个示例中,基于多个亮度预测样本段的缩放因子来确定亮度预测样本的缩放因子包括:将亮度预测样本分配到多个亮度预测样本段当中的一个段中,并且计算亮度预测样本的缩放因子作为所分配的亮度预测样本段的缩放因子。
[0120]
在该示例中,多个亮度预测样本段包括预定义的16段lut表scaleforward中的16个段,并且用于计算多个亮度预测样本段中的每一个的一个缩放因子的预定义段线性模型包括对应于预定义的lut表scaleforward中的16个段的16个值。
[0121]
在相同的示例中,基于所分配的亮度预测样本段来计算缩放因子,如紧随本段落之后的框中所描述的那样。
[0122]
在相同的示例中,在给定亮度缩放因子scaley的情况下,可以应用亮度残差样本缩放方法,如紧随本段落之后的框中所描述的那样。
[0123]
该示例背后的动机是:当前lmcs的正向映射基于一个逐段线性模型。如果原始亮度样本和亮度预测样本位于相同的段(即,由两个枢轴点inputpivot[i]和inputpivot[i 1]定义的相同的段),则原始和预测亮度样本的两个正向映射函数将变得完全相同。相应地,它导致了y’res=fwdmap(yorg)-fwdmap(ypred)=fwdmap(yorg
ꢀ‑ꢀ
ypred)==fwdmap(yres)。通过在该等式的两侧上应用逆向映射,对应的解码器侧重构操作可以表达为:yrecon=ypred invmap(y’res)。
[0124]
换句话说,在其中原始亮度样本和亮度预测样本两者位于相同的段的情况下,lmcs中的亮度映射方法可以通过解码过程中的一个残差缩放操作来实现,如在该可能的实现方式中所实现的那样。
[0125]
尽管这种结论是基于原始亮度样本和亮度预测样本两者都位于由两个枢轴点inputpivot[i]和inputpivot[i 1]定义的相同的段中的假设而得出的,但是即使当原始亮度样本和亮度预测样本位于逐段线性模型的不同段中时,该示例的这种可能实现方式在任何情况下仍然可以用作针对vvc中的现有亮度映射操作的简化和/或近似。实验结果示出,这种简化和/或近似几乎没有招致对编码性能的影响。
[0126]
再次重申,该示例基于以下假设:即,原始和预测亮度样本值两者位于逐段线性模式的相同的段中。在这种情况下,被应用于原始和预测亮度样本的正向/逆向映射函数是相同的;因此,仅取决于亮度预测样本来计算对应的残差缩放因子是安全的。
[0127]
然而,当cu的所预测的样本不足够准确时(例如,对于帧内预测的cu,其中远离参考样本的样本通常被不太准确地预测),预测样本和原始样本通常位于逐段线性模型的不同段中。在这种情况下,基于预测样本值导出的缩放因子在反映原始(即,未映射)域中的残差样本与映射域中的残差样本之间的原始映射关系时可能是不可靠的。
[0128]
图9是仅使用预测样本来导出缩放因子所导致的残差映射误差的图示。在图9中,三角形实心点表示逐段线性函数中的不同段的枢轴控制点,并且圆形实心点表示原始和预测样本值;y
org
和y
pred
是原始(即,非映射)域中的原始样本和预测样本;y’org
和y’pred
分别是y
org
和y
pred
的映射样本。当应用vvc中的现有的基于样本的亮度映射方法时,y
res
和y’res
是原始域和映射域中的对应残差;y’resscale
是基于所提出的亮度残差缩放方案而导出的映射残差样本。如图9中所示,因为原始样本和预测样本不在逐段线性模型的相同的段中,所以基于预测样本导出的缩放因子可能不足够准确以产生近似映射域中的原始残差(即,y’res
)的经缩放的残差(即,y’resscale
)。
[0129]
在第二示例中,不需要假设原始和预测亮度样本值两者都位于逐段线性模式的相同的段中。
[0130]
在该第二示例中,代替于直接从亮度预测样本所位于的逐段线性模型的段中导出缩放因子,而是将缩放因子计算为n个(n是正整数)邻近段的缩放因子的平均值。
[0131]
在该第二示例中,基于多个亮度预测样本段的缩放因子来确定亮度预测样本的缩放因子包括:将亮度预测样本分配到多个亮度预测样本段当中的一个段中,并且将亮度预
测样本的缩放因子计算为与所分配的亮度预测样本段邻近的多个亮度预测样本段的缩放因子的平均值。
[0132]
更具体地,在该第二示例的一个可能的实现方式中,可以基于所分配的亮度预测样本段来计算缩放因子,如以下步骤中所描述的那样:1)在原始域中找到或获得predy所属的逐段线性模型的对应段索引idxy,2)如果,则将亮度残差缩放因子计算为:3)否则(即,),将亮度残差缩放因子计算为:,其中scaleforward[i]是预定义的16段lut,i=0

15,其被计算为:scaleforward[i] = (orgcw 《《 scale_fp_prec)/signaledcw[i]其中orgcw和signaledcw[i]分别是原始域和映射域中的第i段的码字数量,并且scale_fp_prec是缩放因子的精度。
[0133]
在该第二实例的第二可能实现方式中(该实现方式在其他方面与上面描述的实现方式相同),可以基于所分配的亮度预测样本段来计算缩放因子,如紧随本段落之后的框中所描述的那样:。
[0134]
该第二示例的上述两个可能的实现方式的不同之处仅在于基于所分配的段来选择n个亮度预测样本域值段。
[0135]
根据本公开的第二方面,如图10中所图示,获得亮度预测样本值,以用于解码输入位置处的亮度残差样本和色度残差样本两者(1001),然后获得与亮度残差样本相关联的亮度预测样本(1002),然后获得与色度残差样本相关联的色度预测样本(1003),使用亮度预测样本来导出亮度残差样本的第一缩放因子和色度残差样本的第二缩放因子(1004),使用第一缩放因子来缩放亮度残差样本(1005),使用第二缩放因子来缩放色度残差样本(1006),通过将亮度预测样本和经缩放的亮度残差样本相加来计算所重构的亮度样本(1007),以及通过将色度预测样本和经缩放的色度残差样本相加来计算所重构的色度样本(1008)。
[0136]
本公开的第二方面旨在协调亮度和色度残差的缩放方法,以便实现更统一的设计。
[0137]
根据本公开的第二方面的一个或多个实施例,亮度预测样本值是包含输入位置的编码单元(cu)中的所有亮度预测样本的平均值。在这些实施例中,色度缩放导出方法用于计算针对亮度残差的缩放因子,更具体地,代替于单独地导出每个亮度残差样本的一个缩放因子,而是使用基于亮度预测样本的平均值所计算的一个共享缩放因子来缩放整个cu的亮度残差样本。
[0138]
根据本公开的第二方面的另一个实施例,亮度预测样本值是从包含输入位置的编码单元(cu)再划分的预定义子块中的所有亮度预测样本的平均值。在该实施例中,一个cu首先被相等地分区成多个m
×
n子块;然后,针对每个子块,使用所有或部分亮度预测样本来导出对应的缩放因子,该缩放因子用于缩放子块的亮度和色度残差这二者。与第一种方法相比,第二种方法可以提高所估计的缩放因子的空间精度,这是因为会从计算子块的缩放因子中排除子块外部的较低相关性的亮度预测样本。同时,在给定一个子块中的亮度和色度残差的缩放可以在该子块的亮度预测完成之后立即开始的情况下(即,无需等待整个cu的亮度预测样本的完全生成),第二种方法也可以减少亮度和色度残差重构的时延。
[0139]
根据本公开的第二方面的第三实施例,亮度预测样本域值包括并置的亮度预测样本。在该实施例中,亮度残差缩放方法被扩展成缩放色度残差,并且每个色度残差样本的不同缩放因子是基于其并置的亮度预测样本值来导出的。
[0140]
在本公开的第二方面的上述实施例中,提出了使用用于计算亮度缩放因子的相同lut来进行色度残差的缩放。在一个示例中,为了导出色度残差的cu级别的缩放因子scalec,可以遵循以下步骤:1)计算cu内的亮度预测样本(其在原始域中表示)的平均值,标示为avgy;2)查找或获取avgy所属的逐段线性模型的对应段索引idxy;3)将scalec的值计算为:scalec=scaleforward[idxy]其中scaleforward[i]是一个预定义的16段lut,i=0

15,其被计算为:scaleforward[i]=(orgcw《《scale_fp_prec)/signaledcw[i]其中orgcw和signaledcw[i]分别是原始域和映射域中的第i个段的码字数量,并且scale_fp_prec是缩放因子的精度。
[0141]
上述示例可以容易地扩展到其中按当前cu的每个子块来导出色度残差的缩放因子的情况。在这种情况下,在上面的第一步骤中,avgy将被计算为子块的原始域中的亮度预测样本的平均值,同时第2步和第3步保持不变。
[0142]
根据本公开的第三方面,如图11中所图示,通过在编码单元(cu)的亮度预测过程期间跳过多个预定义的中间亮度预测阶段来获得多个亮度预测样本(1101),使用所获得的多个亮度预测样本来导出cu中的色度残差样本的缩放因子(1102),使用该缩放因子来缩放cu中的色度残差样本(1103),以及通过将cu中的色度预测样本和经缩放的色度残差样本相加来计算所重构的色度样本(1104)。
[0143]
根据本公开的第三方面的一个或多个实施例,预定义的中间亮度预测阶段包含:解码器侧运动矢量导出(dmvr)、双向光流(bdof)和联合帧间帧内预测(ciip)的一个或多个双向预测模块。在这些实施例中,在dmvr、bdof/prof、ciip帧内/帧间组合过程之前导出的帧间预测样本用于导出色度残差的缩放因子。
[0144]
图12是图示了本公开的第三方面的该实施例的一个示例中的lmcs解码过程的工作流程的流程图,其中没有应用dmvr、bdof和ciip来生成用于色度缩放的亮度预测样本。这里,代替于等待dmvr 1203、bdof 1204和/或ciip的亮度帧内预测部分1205完全完成,而是一旦基于初始l0和l1亮度预测1201和1202的预测样本1221和1222变得可用,就可以开始色度残差缩放过程1208。
[0145]
在图12中,在dmvr 1203、bdof 1204和/或ciip 1205之前,除了原始求平均操作1206之外,还需要一个附加的求平均操作1211来组合初始l0和l1预测样本1221和1222。
[0146]
为了降低复杂性,在本公开的第三方面的该实施例的第二示例中,初始l0预测样本可以用于导出色度残差的缩放因子。
[0147]
图13是图示了本公开的第三方面的该实施例的第二示例中的lmcs解码过程的工作流程的流程图,其中应用了初始单向预测信号来生成用于色度缩放的亮度预测样本。除了原始求平均操作1306之外,不需要附加的求平均操作。初始l0预测样本1321用于在dmvr 1303、bdof 1304和/或ciip 1305之前导出色度残差的缩放因子。
[0148]
在本公开的第三方面的该实施例的第三示例中,以自适应方式来选择一个初始预测信号(l0或l1)作为用于导出色度残差缩放因子的亮度预测样本。在该示例的一个可能实现方式中,在初始预测信号(l0或l1)之间,选择其参考图片相对于当前图片具有较小图片次序计数(poc)距离的信号,以用于导出色度残差缩放因子。
[0149]
在本公开的第三方面的另一个实施例中,提出了仅禁用dmvr、bdof/prof,同时启用ciip,以用于生成用于确定色度残差缩放因子的帧间预测样本。具体地,在该方法中,首先对在dmvr和bdof/prof之前导出的帧间预测样本求平均,然后将其与用于ciip的帧内预测样本进行组合;最后,组合的预测样本被用作用于确定色度残差缩放因子的预测样本。
[0150]
在本发明的第三方面的又一实施例中,提出了仅禁用bdof/prof,同时保持dmvr和ciip,以用于生成用于确定色度残差缩放因子的预测样本。
[0151]
在本公开的第三方面的仍另一个实施例中,提出了保持bdof/prof和ciip,同时禁用dmvr,以导出用于确定色度残差缩放因子的亮度预测样本。
[0152]
此外,值得一提的是,尽管本公开的第三方面的上述实施例中的方法被说明为它们被设计成用于减少色度预测残差缩放的时延,但是这些方法也可以用于减少亮度预测残差缩放的时延。例如,所有这些方法也可以被应用于“基于预测相关残差缩放的亮度映射”部分中解释的pdrs方法。
[0153]
根据现有的dmvr设计,为了节省计算复杂性,使用2抽头双线性滤波器而不是默认的8抽头内插来生成用于dmvr运动修正的预测样本。在确定经修正的运动之后,将应用默认的8抽头滤波器来生成当前cu的最终预测样本。因此,为了减少由dmvr引起的色度残差解码时延,提出了使用由双线性滤波器所生成的亮度预测样本(如果当前cu是双向预测的,则是l0和l1预测样本的平均值)来确定色度残差的缩放因子。
[0154]
根据本技术的第四方面,如图14中所图示,从解码器侧运动矢量导出dmvr的双线性滤波器的输出中选择一个或多个亮度预测样本值(1401),将所选择的一个或多个亮度预测样本值调整成具有与输入视频的原始编码位深度相同的位深度的另一个或多个亮度预测样本值(1402),使用具有与输入视频的原始编码位深度相同的位深度的亮度预测样本值来导出用于解码一个或多个色度残差样本的缩放因子(1403),使用所述缩放因子来缩放一
个或多个色度残差样本(1404),以及通过将经缩放的一个或多个色度残差样本与其对应的色度预测样本相加来重构一个或多个色度残差样本(1405)。
[0155]
在本公开的第四方面的一个或多个实施例中,从dmvr的双线性滤波器的输出中选择一个或多个亮度预测样本值包括:从所述dmvr的双线性滤波器的输出中选择l0和l1亮度预测样本。
[0156]
图15是图示了本公开的第四方面的一个这种实施例中的lmcs解码过程的工作流程的流程图。将来自dmvr 1503的双线性滤波器1512组件的输出的l0和l1预测样本1521和1522馈送到求平均1511中,以便导出将在色度残差缩放1507中使用的色度残差缩放输入1523,以用于解码一个或多个色度残差样本。
[0157]
在这些实施例中,存在位代码深度的问题。为了节省dmvr使用的内部存储大小,由dmvr的双线性滤波器生成的中间l0和l1预测样本是10位精度。这不同于常规双向预测的直接预测样本的表示位深度,该表示位深度等于14位。因此,由于其不同的精度,来自双线性滤波器输出的中间预测样本不能够被直接应用以确定色度残差缩放因子。
[0158]
为了解决该问题,提出了首先将dmvr中间位深度与用于常规运动补偿内插的中间双深度对齐,即将位深度从10位增加到14位。在此之后,被应用以生成常规双向预测信号的现有求平均过程可以被重新使用,以生成用于确定色度残差缩放因子的对应预测样本。
[0159]
在这些实施例的一个示例中,将所选择的一个或多个亮度预测样本值调整成具有与输入视频的原始编码位深度相同的位深度的另一个或多个亮度预测样本值包括:通过向左移位将来自所述dmvr的双线性滤波器的输出的l0和l1亮度预测样本的内部位深度增加到14位,通过对经移位的14位l0和l1亮度预测样本值求平均来获得所述14位平均亮度预测样本值,以及通过经由向右移位将所述14位平均亮度预测样本值的内部位深度改变成所述输入视频的原始编码位深度来转换所述14位平均亮度预测样本值。
[0160]
更具体地,在该示例中,由紧随本段落之后的框中所描述的步骤来确定色度缩放因子。
[0161]
在本公开的第四方面的其他实施例中,从dmvr的双线性滤波器的输出中选择一个或多个亮度预测样本值、以及将所选择的一个或多个亮度预测样本值调整成具有与输入视频的原始编码位深度相同的位深度的另一个或多个亮度预测样本值包括:从所述dmvr的双线性滤波器的输出中的l0和l1亮度预测样本中选择一个亮度预测样本,通过经由移位将所选择的一个亮度预测值的内部位深度改变成输入视频的原始编码位深度来调整所选择的一个亮度预测样本,以及使用经调整的亮度预测样本作为具有与输入视频的原始编码位深度相同的位深度的亮度预测样本。
[0162]
图16是图示了本公开的第四方面的一个这种其他实施例中的lmcs解码过程的工作流程的流程图。来自dmvr 1603的双线性滤波器1612组件的输出的l0预测样本1621被用于色度残差缩放1607中,以用于解码一个或多个色度残差样本。
[0163]
在本发明的第四方面的一个这种其他实施例的一个示例中,通过将从双线性滤波器输出的亮度样本移位到输入视频的原始编码位深度来确定色度缩放因子,如紧随本段落之后的框中所描述的那样。
[0164]
根据本技术的第五方面,如图17中所图示,从参考图片选择一个或多个亮度参考样本值(1701),将所选择的一个或多个亮度参考样本值变换成亮度样本值(1702),使用该亮度样本值来导出缩放因子(1703),使用该缩放因子来缩放一个或多个色度残差样本(1704),以及通过将经缩放的一个或多个色度残差样本与其对应的色度预测样本相加来重构一个或多个色度残差样本(1705)。
[0165]
在本公开的第五方面的一个或多个实施例中,从参考图片选择一个或多个亮度参考样本值以及将所选择的一个或多个亮度参考样本值变换成亮度样本值包括:从l0和l1参考图片中获得l0和l1亮度参考样本值这二者,并且对l0和l1亮度参考样本值求平均作为亮度样本值。
[0166]
在本公开的第五方面的其他实施例中,从参考图片选择一个或多个亮度参考样本以及将所选择的一个或多个亮度参考样本变换成亮度样本值包括:从l0和l1参考图片的l0和l1亮度参考样本值中选择一个亮度参考样本值,并且使用所选择的一个亮度参考样本值作为亮度样本值。
[0167]
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合来实现。如果以软件来实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传输,并且由基于硬件的处理单元来执行。计算机可读介质可以包括:计算机可读存储介质,其对应于诸如数据存储介质之类的有形介质;或通信介质,其包括便于例如根据通信协议将计算机程序从一个地方传送到另一个地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质、或者(2)诸如信号或载波之类的通信介质。数据存储介质可以是一个或多个计算机或一个或多个处理器可以访问的任何可用介质,以检索用于实现本技术中描述的实现方式的指令、代码和/或数据结构。计算机程序产品可以包括计算机可读介质。
[0168]
此外,上述方法可以使用包括一个或多个电路的装置来实现,这些电路包括专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子组件。该装置可以将这些电路与用于执行上面描述的方法的其他硬件或软件组件结合地使用。上面公开的每个模块、子模块、单元或子单元可以至少部分地使用一个或多个电路来实现。
[0169]
本公开可以包括专用硬件实现方式,诸如专用集成电路、可编程逻辑阵列和其他硬件设备。硬件实现方式可以被构造成实现本文中描述的一个或多个方法。可以包括各种实现方式的装置和系统的示例可以宽泛地包括各种电子和计算系统。本文中描述的一个或
多个示例可以使用具有相关控制和数据信号的两个或更多个特定互连硬件模块或设备来实现功能,或者作为专用集成电路的一部分来实现功能,这些相关控制和数据信号可以在模块之间以及通过模块被传送。因此,所公开的装置或系统可以包括软件、固件和硬件实现方式。术语“模块”、“子模块”、“电路”、“子电路”、“电路系统”、“子电路系统”、“单元”或“子单元”可以包括存储器(共享的、专用的或组),该存储器存储可以由一个或多个处理器执行的代码或指令。本文中所指的模块可以包括具有或不具有所存储的代码或指令的一个或多个电路。模块或电路可以包括一个或多个被连接的组件。
[0170]
考虑到本文中公开的本发明的说明书和实践,本发明的其他实施例对于本领域技术人员来说将是明显的。本技术意图覆盖本发明的任何变型、使用或适配,这些变型、使用或适配遵循本发明的一般原理,并且包括如落入本领域的已知或常规实践内的与本公开的偏离。所意图的是,本说明书和示例被认为仅仅是示例性的,其中本发明的真实范围和精神由所附权利要求来指示。
[0171]
将领会的是,本发明不限于上面描述以及附图中所图示的确切示例,并且在不脱离其范围的情况下,可以进行各种修改和改变。所意图的是,本发明的范围仅由所附权利要求来限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献