首页 / 专利库 / 视听技术与设备 / 运动补偿预测 / 用于运动补偿的多个预测器候选

用于运动补偿的多个预测器候选

阅读:595发布:2020-05-13

专利汇可以提供用于运动补偿的多个预测器候选专利检索,专利查询,专利分析的服务。并且描述了不同的实现方式,特别是用于基于运动模型从多个预测器候选的集合中选择预测器候选用于画面 块 的 运动补偿 的实现方式。该运动模型可以是例如用于视频内容 编码器 或 解码器 的合并模式中的仿射模型。在 实施例 中,基于针对多个预测器候选的每一个的运动模型,并且可以基于诸如速率失真成本之类的标准,从集合中选择预测器候选。基于例如用于正编码或解码的块的一个或多个对应的控制点运动向量,来确定对应的运动场。实施例的对应运动场标识用于正编码或解码的块的子块的预测的运动向量。,下面是用于运动补偿的多个预测器候选专利的具体信息内容。

1.一种用于视频编码的方法,包括:
对于画面中正编码的访问具有多个预测器候选的预测器候选的集合,其中预测器候选对应于已编码的空间或时间相邻块;
从预测器候选的集合中选择预测器候选;
使用与从预测器候选的集合中所选择的预测器候选相关联的多个运动向量,来获得该块的控制点运动向量的集合;
基于控制点运动向量的集合,获得基于运动模型的运动场,其中该运动场标识用于正编码的块的子块的预测的运动向量;
基于运动场对块进行编码;和
编码用于从预测器候选的集合中所选择的预测器候选的索引。
2.一种用于视频解码的方法,包括:
对于画面中正解码的块,访问与预测器候选对应的索引,其中该预测器候选对应于已解码的空间或时间相邻块;
使用与所述预测器候选相关联的多个运动向量,获得用于所述正解码的块的控制点运动向量的集合;
基于控制点运动向量的集合,获得基于运动模型的运动场,其中该运动场标识用于正解码的块的子块的预测的运动向量;和
基于该运动场对块进行解码。
3.一种用于视频编码的设备,包括:
用于对于画面中正编码的块、访问具有多个预测器候选的预测器候选的集合的部件,其中预测器候选对应于已编码的空间或时间相邻块;
用于从预测器候选的集合中选择预测器候选的部件;
用于使用与从预测器候选的集合中所选择的预测器候选相关联的多个运动向量、来获得该块的控制点运动向量的集合的部件;
用于基于控制点运动向量的集合、来获得基于运动模型的运动场的部件,其中该运动场标识用于正编码的块的子块的预测的运动向量;
用于基于运动场对块进行编码的部件;和
用于编码用于从预测器候选的集合中所选择的预测器候选的索引的部件。
4.一种用于视频解码的设备,包括:
用于对于画面中正解码的块、访问与预测器候选对应的索引的部件,其中该预测器候选对应于已解码的空间或时间相邻块;
用于使用与所述预测器候选相关联的多个运动向量、来获得用于所述正解码的块的控制点运动向量的集合的部件;
用于基于控制点运动向量的集合、来获得基于运动模型的运动场的部件,其中该运动场标识用于正解码的块的子块的预测的运动向量;和
用于基于该运动场对块进行解码的部件。
5.根据权利要求1所述的编码方法,还包括:
根据一个或多个标准并基于多个预测器候选中的每一个的运动场,来评估所述多个预测器候选;和
基于所述评估,从所述多个预测器候选中选择预测器候选。
6.根据权利要求3所述的编码设备,还包括:
用于根据一个或多个标准并基于多个预测器候选中的每一个的运动场、来评估所述多个预测器候选的部件;和
用于基于所述评估、从所述多个预测器候选中选择预测器候选的部件。
7.根据权利要求5至6所述的方法或设备,其中,所述一个或多个标准基于与所述预测器候选集合中的多个预测器候选中的一个或多个对应的速率失真确定。
8.根据权利要求1、2和5-7中任一项所述的方法,或者根据权利要求3-7中任一项所述的设备,其中基于运动场对块进行解码或编码包括:基于子块的预测器,分别解码或编码由运动向量指示的预测器。
9.根据权利要求1、2和5-8中任一项所述的方法,或根据权利要求3-8中任一项所述的设备,其中所述预测器候选的集合包括正编码或解码的块的空间候选和/或时间候选。
10.根据权利要求1、2和5-9中任一项所述的方法,或者根据权利要求3-9中任一项所述的设备,其中所述运动模型是仿射模型。
11.根据权利要求1、2和5-10中任一项所述的方法,或者根据权利要求3-10中任一项所述的设备,其中用于正编码或解码的块内部的每个位置(x,y)的运动场通过以下公式确定:
其中(v0x,v0y)和(v1x,v1y)是用于生成运动场的控制点运动向量,(v0x,v0y)对应于正编码或解码的块的左上的控制点运动向量,(v1x,v1y)对应于正编码或解码的块的右上角的控制点运动向量,并且w是正编码或解码的块的宽度。
12.根据权利要求1、2和5-11中任一项所述的方法,或根据权利要求3-11中任一项所述的设备,其中选择一个或多个附加预测器候选,其中对应于所述一个或多个附加预测器候选,来获得控制点运动向量的一个或多个附加集合,并且其中进一步基于所述控制点运动向量的一个或多个附加集合,来获得运动场。
13.一种非瞬时计算机可读介质,包含根据权利要求1、2和5-12中任一项所述的方法生成的数据内容。
14.一种信号,包括根据权利要求1、2和5-12中任一项的方法生成的视频数据。
15.一种计算机程序产品,包括用于在由多个处理器之一运行时、用于执行权利要求1、
2和5-12中任一项的方法的指令。

说明书全文

用于运动补偿的多个预测器候选

技术领域

[0001] 当前实施例中的至少一个一般涉及例如用于视频编码或解码的方法或设备,并且更具体地,涉及用于基于用于视频编码器或视频解码器的运动模型(例如仿射模型)、从多个预测器候选的集合中选择预测器候选用于运动补偿的方法或设备。

背景技术

[0002] 为了实现高压缩效率,图像和视频编码方案通常采用包括运动向量预测在内的预测,并进行变换以利用(leverage)视频内容中的空间和时间冗余。通常,使用内或帧间预测来开发(exploit)帧内或帧间相关性,然后对原始图像和预测图像之间的差异(通常表示为预测误差或预测残差)进行变换、量化和熵编码。为了重构视频,通过与熵编码、量化、变换和预测对应的逆过程,来对压缩数据进行解码。
[0003] 高压缩技术的最近添加包括使用基于仿射建模的运动模型。特别地,使用仿射建模用于对于视频画面的编码和解码的运动补偿。一般而言,仿射建模是使用至少两个参数的模型,例如,表示画面的的各个的运动的两个控制点运动向量(CPMV),其允许导出画面的整个块模拟例如旋转和相似扩大(homothety)(缩放)的运动场。发明内容
[0004] 根据至少一个实施例的一般方面,呈现了一种用于视频编码的方法,包括:对于画面中正编码的块,确定具有多个预测器候选的预测器候选的集合;从预测器候选的集合中选择预测器候选;对于从预测器候选的集合中所选择的预测器候选,确定用于该块的一个或多个对应控制点运动向量;对于所选择的预测器候选,基于所述一个或多个对应控制点运动向量,确定基于用于选择的预测器候选的运动模型的对应运动场,其中对应运动场标识用于正编码的块的子块的预测的运动向量;基于用于从预测器候选的集合中所选择的预测器候选的对应运动场,对块进行编码;和编码用于从预测器候选的集合中所选择的预测器候选的索引。
[0005] 根据至少一个实施例的另一一般方面,呈现了一种用于视频解码的方法,包括:对于画面中正解码的块,接收与特定预测器候选对应的索引;对于特定预测器候选,确定用于所述正解码的块的一个或多个对应控制点运动向量;对于特定预测器候选,基于所述一个或多个对应控制点运动向量,确定基于运动模型的对应运动场,其中对应运动场标识用于正解码的块的子块的预测的运动向量;和基于对应运动场对块进行解码。
[0006] 根据至少一个实施例的另一一般方面,呈现了一种用于视频编码的设备,包括:用于对于画面中正编码的块、确定具有多个预测器候选的预测器候选的集合的部件;用于从预测器候选的集合中选择预测器候选的部件;用于对于所选择的预测器候选、基于一个或多个对应控制点运动向量、确定基于用于选择的预测器候选的运动模型的对应运动场的部件,其中对应运动场标识用于正编码的块的子块的预测的运动向量;用于基于用于从预测器候选的集合中所选择的预测器候选的对应运动场、对块进行编码的部件;和用于编码用于从预测器候选的集合中所选择的预测器候选的索引的部件。
[0007] 根据至少一个实施例的另一一般方面,呈现了一种用于视频解码的设备,包括:用于对于画面中正解码的块、接收与特定预测器候选对应的索引的部件;用于对于特定预测器候选、确定用于所述正解码的块的一个或多个对应控制点运动向量的部件;用于对于特定预测器候选、基于所述一个或多个对应控制点运动向量、确定基于运动模型的对应运动场的部件,其中对应运动场标识用于正解码的块的子块的预测的运动向量;和用于基于对应运动场对块进行解码的部件。
[0008] 根据至少一个实施例的另一一般方面,提供了一种用于视频编码的设备,包括:一个或多个处理器、和至少一个存储器。其中所述一个或多个处理器被配置为:对于画面中正编码的块,确定具有多个预测器候选的预测器候选的集合;从预测器候选的集合中选择预测器候选;对于从预测器候选的集合中所选择的预测器候选,确定用于该块的一个或多个对应控制点运动向量;对于所选择的预测器候选,基于所述一个或多个对应控制点运动向量,确定基于用于选择的预测器候选的运动模型的对应运动场,其中对应运动场标识用于正编码的块的子块的预测的运动向量;基于用于从预测器候选的集合中所选择的预测器候选的对应运动场,对块进行编码;和编码用于从预测器候选的集合中所选择的预测器候选的索引。所述至少一个存储器用于至少暂时存储所编码的块和/或所编码的索引。
[0009] 根据至少一个实施例的另一一般方面,提供了一种用于视频解码的设备,包括:一个或多个处理器和至少一个存储器。其中所述一个或多个处理器被配置为:对于画面中正解码的块,接收与特定预测器候选对应的索引;对于特定预测器候选,确定用于所述正解码的块的一个或多个对应控制点运动向量;对于特定预测器候选,基于所述一个或多个对应控制点运动向量,确定基于运动模型的对应运动场,其中对应运动场标识用于正解码的块的子块的预测的运动向量;和基于对应运动场对块进行解码。所述至少一个存储器用于至少暂时存储所解码的块。
[0010] 根据至少一个实施例的一般方面,呈现了一种用于视频编码的方法,包括:对于画面中正编码的块,确定预测器候选的集合;对于从预测器候选的集合中所选择的多个预测器候选中的每一个,确定用于该块的一个或多个对应控制点运动向量;对于所述多个预测器候选中的每一个,基于所述一个或多个对应控制点运动向量,确定基于用于从预测器候选的集合中所选择的多个预测器候选中的每一个的运动模型的对应运动场;根据一个或多个标准并基于对应运动场,来评估所述多个预测器候选;基于所述评估,从所述多个预测器候选中选择预测器候选;和基于从预测器候选的集合中所选择的预测器候选,对块进行编码。
[0011] 根据至少一个实施例的另一一般方面,呈现了一种用于视频解码的方法,包括:对于画面中正解码的块,检索与选择的预测器候选对应的索引。其中通过以下步骤在编码器处选择所选择的预测器候选:对于画面中正编码的块,确定预测器候选的集合;对于从预测器候选的集合中所选择的多个预测器候选中的每一个,确定用于正编码的块的一个或多个对应控制点运动向量;对于所述多个预测器候选中的每一个,基于所述一个或多个对应控制点运动向量,确定基于用于来自预测器候选的集合的多个预测器候选中的每一个的运动模型的对应运动场;根据一个或多个标准并基于对应运动场,来评估所述多个预测器候选;基于所述评估,从所述多个预测器候选中选择预测器候选;和编码用于从预测器候选的集合中所选择的预测器候选的索引。该方法进一步包括基于与选择的预测器候选对应的索引,对块进行解码。
[0012] 根据至少一个实施例的另一一般方面,方法可进一步包括:根据一个或多个标准并基于用于多个预测器候选的每一个的对应运动场,来评估所述多个预测器候选;和基于所述评估,从所述多个预测器候选中选择预测器候选。
[0013] 根据至少一个实施例的另一一般方面,设备可进一步包括:用于根据一个或多个标准并基于多个预测器候选中的每一个的运动场、来评估所述多个预测器候选的部件;和用于基于所述评估、从所述多个预测器候选中选择预测器候选的部件。
[0014] 根据至少一个实施例的另一一般方面,所述一个或多个标准基于与所述预测器候选集合中的多个预测器候选中的一个或多个对应的速率失真确定。
[0015] 根据至少一个实施例的另一一般方面,基于对应运动场对块进行解码或编码包括:基于子块的预测器,分别解码或编码由运动向量指示的预测器。
[0016] 根据至少一个实施例的另一一般方面,所述预测器候选的集合包括正编码或解码的块的空间候选和/或时间候选。
[0017] 根据至少一个实施例的另一一般方面,所述运动模型是仿射模型。
[0018] 根据至少一个实施例的另一一般方面,用于正编码或解码的块内部的每一位置(x,y)的对应运动场通过以下公式确定:
[0019]
[0020] 其中(v0x,v0y)和(v1x,v1y)是用于生成对应运动场的控制点运动向量,(v0x,v0y)对应于正编码或解码的块的左上角的控制点运动向量,(v1x,v1y)对应于正编码或解码的块的右上角的控制点运动向量,并且w是正编码或解码的块的宽度。
[0021] 根据至少一个实施例的另一一般方面,所述空间候选的数目至少是5。
[0022] 根据至少一个实施例的另一一般方面,添加一个或多个附加控制点运动向量,用于基于所确定的一个或多个对应控制点运动向量的函数来确定对应运动场。
[0023] 根据至少一个实施例的另一一般方面,该函数包括所确定的一个或多个对应控制点运动向量的以下一个或多个:1)均值、2)加权均值、3)唯一均值、4)算术平均值、5)中值、或6)以上1)到6)之一的单向部分。
[0024] 根据至少一个实施例的另一一般方面,呈现了一种非瞬时计算机可读介质,包含根据前面任意描述的方法或设备生成的数据内容。
[0025] 根据至少一个实施例的另一一般方面,提供了一种信号,包括根据前面任意描述的方法或设备生成的视频数据。
[0026] 当前实施例的一个或多个还提供了一种计算机可读储存介质,其上存储了根据上述任意方法的用于编码或解码视频数据的指令。当前实施例还提供了一种计算机可读储存介质,其上存储了根据上述方法生成的比特流。当前实施例还提供了用于传送根据上述方法生成的比特流的方法和设备。当前实施例还提供了一种计算机程序产品,包括用于执行所述任意方法的指令。附图说明
[0027] 图1图示了HEVC(高效视频编码)视频编码器的实施例的框图
[0028] 图2A是描绘HEVC参考样本生成的图示示例。
[0029] 图2B是描绘HEVC中的帧内预测方向的图示示例。
[0030] 图3图示了HEVC视频解码器的实施例的框图。
[0031] 图4图示了编码树单元(CTU)和编码树(CT)概念的示例,以表示压缩的HEVC画面。
[0032] 图5图示了将编码树单元(CTU)划分为编码单元(CU)、预测单元(PU)、和变换单元(TU)的示例。
[0033] 图6图示了作为在联合探索模型(JEM)中使用的运动模型的仿射模型的示例。
[0034] 图7图示了在联合探索模型(JEM)中使用的基于4x4子CU的仿射运动向量场的示例。
[0035] 图8A图示了用于仿射帧间CU的运动向量预测候选的示例。
[0036] 图8B图示了在仿射合并模式下的运动向量预测候选的示例。
[0037] 图9图示了在仿射合并模式运动模型的情况下、仿射控制点运动向量的空间求导(spatial derivation)的示例。
[0038] 图10图示了根据至少一个实施例的一般方面的示例方法。
[0039] 图11图示了根据至少一个实施例的一般方面的另一示例方法。
[0040] 图12还图示了根据至少一个实施例的一般方面的另一示例方法。
[0041] 图13还图示了根据至少一个实施例的一般方面的另一示例方法。
[0042] 图14图示了用于评估JEM中的CU间的仿射合并模式的已知过程的示例。
[0043] 图15图示了用于在JEM中的仿射合并模式下选择预测器候选的过程的示例。
[0044] 图16图示了通过位于正被编码或解码的当前块的左边的仿射合并预测器候选传播的仿射运动场的示例。
[0045] 图17图示了通过位于正被编码或解码的当前块的上边和右边的仿射合并预测器候选传播的仿射运动场的示例。
[0046] 图18图示了根据至少一个实施例的一般方面的预测器候选选择过程的示例。
[0047] 图19图示了根据至少一个实施例的一般方面的构建多个预测器候选的集合的过程的示例。
[0048] 图20图示了根据至少一个实施例的一般方面的用于每个预测器候选的左上角CPMV和右上角CPMV的导出过程的示例。
[0049] 图21图示了根据至少一个实施例的一般方面的空间预测器候选的增强集合(augmented set)的示例。
[0050] 图22图示了根据至少一个实施例的一般方面的构建多个预测器候选的集合的过程的另一示例。
[0051] 图23还图示了根据至少一个实施例的一般方面的用于构建多个预测器候选的集合的过程的另一示例。
[0052] 图24图示了根据至少一个实施例的一般方面的可以如何将时间候选可用于预测器候选的示例。
[0053] 图25图示了根据至少一个实施例的一般方面的将所存储的CPMV候选计算出的平均CPMV运动向量与最终CPMV候选集合相加的过程的示例。
[0054] 图26图示了其中可以实现实施例的各个方面的示例设备的框图。

具体实施方式

[0055] 图1图示了示例性高效视频编码(HEVC)编码器100。HEVC是由视频编码联合协作团队(JCT-VC)开发的压缩标准(例如,参见“ITU-T  H.265TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(10/2014),SERIES H:AUDIOVISUAL AND MULTIMEDIA SYSTEMS,Infrastructure of audiovisual services—Coding of moving video,High efficiency video coding,Recommendation ITU-T H.265”)。
[0056] 在HEVC中,为了编码具有一个或多个画面的视频序列,将画面分割成一个或多个切片,其中每个切片可包括一个或多个切片片段。切片片段被组织为编码单元、预测单元、和变换单元。
[0057] 在本申请中,术语“重构”和“解码”可以互换使用,术语“编码”或“编码”可以互换使用,并且术语“画面”和“帧”可以互换使用。通常,但并非必须,在编码器侧术语“重构”而在解码器侧使用术语“解码”。
[0058] HEVC规范区分“块”和“单元”,其中“块”寻址样本阵列中的特定区域(例如luma、Y),并且“单元”包括与这些块相关联的所有编码的颜色分量(Y、Cb、Cr、或单色)的并置块、语法元素、和预测数据(例如,运动向量)。
[0059] 为了编码,将画面分割为具有可配置大小的正方形形状的编码树块(CTB),并将编码树块的连续集分组为切片。编码树单元(CTU)包含已编码颜色分量的CTB。CTB是分割为编码块(CB)的四叉树的根,并且可将编码块分割为一个或多个预测块(PB),并且编码块形成分割为变换块(TB)的四叉树的根。对应于编码块、预测块和变换块,编码单元(CU)包括预测单元(PU)和变换单元(TU)的树形结构的集合,PU包括所有颜色分量的预测信息,并且TU包括每个颜色分量的残差编码语法结构。亮度分量的CB、PB和TB的大小适用于对应的CU、PU和TU。在本申请中,术语“块”可以用于指代例如CTU、CU、PU、TU、CB、PB和TB中的任一个。另外,“块”还可用于指代H.264/AVC或其他视频编码标准中指定的宏块和分区,并且更一般地指代各种大小的数据的阵列。
[0060] 在示例性编码器100中,如下所述,通过编码器元件对画面进行编码。以CU为单位处理要编码的画面。使用帧内或帧间模式对每个CU进行编码。当按照帧内模式对CU进行编码时,其执行帧内预测(160)。在帧间模式下,执行运动估计(175)和补偿(170)。编码器判断(105)使用帧内模式或帧间模式中的哪一个来对CU进行编码,并且通过预测模式标志指示帧内/帧间判断。通过从原始图像块中减去(110)预测块,来计算预测残差。
[0061] 根据同一切片内的重构相邻样本,来预测帧内模式下的CU。35种帧内预测模式的集合在HEVC中可用,包括DC、平面和33种角度预测模式。从与当前块相邻的行和列重构帧内预测参考。使用来自先前重构块的可用样本,参考在平和垂直方向上扩展超出块尺寸的两倍。当使用角度预测模式用于帧内预测时,可以沿着由角度预测模式指示的方向拷贝参考样本。
[0062] 当前块的适用亮度帧内预测模式可以使用两个不同的选项进行编码。如果适用的模式包含在三个最可能的模式(MPM)的构造列表中,则由MPM列表中的索引用信号通知该模式。否则,通过模式索引的固定长度二进制化用信号通知该模式。从上边和左边相邻块的帧内预测模式导出三种最可能的模式。
[0063] 对于帧间CU,将对应的编码块进一步分割为一个或多个预测块。在PB级别上执行帧间预测,并且对应的PU包含关于如何执行帧间预测的信息。运动信息(即运动向量和参考画面索引)可以通过两种方法来用信号通知,即“合并模式”和“高级运动向量预测(AMVP)”。
[0064] 在合并模式中,视频编码器或解码器基于已经编码的块来聚合(assemble)候选列表,并且视频编码器用信号通知候选列表中候选之一的索引。在解码器侧,基于用信号通知的候选,来重构运动向量(MV)和参考画面索引。
[0065] 合并模式下的可能候选的集合包括空间邻近候选、时间候选、和生成的候选。图2A示出了当前块210的五个空间候选{a1,b1,b0,a0,b2}的位置,其中,a0和a1在当前块的左边,而b1、b0、b2在当前块的上边。对于每个候选位置,根据a1、b1、b0、a0、b2的顺序检查可用性,并然后去除候选中的冗余。
[0066] 参考画面中的并置位置的运动向量可以用于时间候选的导出。在切片的基础上选择适用的参考画面,并在切片报头中进行指示,并将时间候选的参考索引设置为iref=0。如果并置PU的画面与根据其预测并置PU的参考画面之间的POC距离(td)与从当前画面到包含并置PU的参考画面之间的距离(tb)相同,则可以将并置的运动向量mvcol直接用作时间候选。否则,将缩放的运动向量tb/td*mvcol用作时间候选。取决于当前PU位于哪里,通过当前PU的右下或中心的采样位置来确定并置PU。
[0067] 在切片报头中指定了合并候选的最大数目N。如果合并候选的数目大于N,则仅使用前N-1个空间候选和时间候选。否则,如果合并候选的数目小于N,则将候选的集合填充为至多最大数目N,其中具有已生成的候选作为已经存在的候选或空候选的组合。在本申请中,在合并模式下使用的候选可以被称为“合并候选”。
[0068] 如果CU指示跳过模式,则仅在合并候选的列表大于1的情况下指示用于合并候选的适用索引,并且不会对于CU编码进一步信息。在跳过模式下,无需残差更新即可应用运动向量。
[0069] 在AMVP中,视频编码器或解码器基于从已编码的块中确定的运动向量,来聚合候选列表。然后,视频编码器发信号通知候选列表中的索引以标识运动向量预测器(MVP),并发信号通知运动向量差(MVD)。在解码器侧,运动向量(MV)被重构为MVP+MVD。适用参考画面索引还在用于AMVP的PU语法中显式编码。
[0070] 在AMVP中仅选择两个空间运动候选。从左边位置{a0,a1}选择第一空间运动候选,并从上方位置{b0,b1,b2}选择第二空间运动候选,同时保持两个集合中指示的搜索顺序。如果运动向量候选的数目不等于二,则可以包括时间MV候选。如果候选的集合仍未被完全填充,则使用零运动向量。
[0071] 如果空间候选的参考画面索引对应于当前PU的参考画面索引(即,使用相同的参考画面索引或两者使用长期参考画面,与参考画面列表无关),则直接使用空间候选运动向量。否则,如果两个参考画面都是短期参考画面,则根据当前PU的当前画面与参考画面之间的距离(tb)以及空间候选的当前画面与参考画面之间的距离(td),来缩放候选运动向量。在本申请中,在AMVP模式下使用的候选可以被称为“AMVP候选”。
[0072] 为便于注释,在编码器侧使用“合并”模式测试的块或在解码器侧使用“合并”模式解码的块表示为“合并”块,并且在编码器侧以AMVP模式测试的块或在解码器侧以AMVP模式解码的块表示为“AMVP”块。
[0073] 图2B图示了使用AMVP的示例性运动向量表示。对于要被编码的当前块240,可以通过运动估计来获得运动向量(MVcurrent)。使用来自左边块230的运动向量(MVleft)和来自上边块220的运动向量(MVabove),可以从MVleft和MVabove中选择运动向量预测器作为MVPcurrent。然后可以将运动向量差计算为MVDcurrent=MVcurrent-MVPcurrent。
[0074] 可以使用用于预测的一个或多个参考画面,来执行运动补偿预测。在P个切片中,仅单个预测参考可以用于帧间预测,这使能预测块的单向预测。在B个切片中,两个参考画面列表可用,并且可以使用单向预测或双向预测。在双向预测中,使用来自每个参考画面列表的一个参考画面。
[0075] 在HEVC中,用于运动补偿的运动信息的精度是用于亮度分量的四分之一样本(也称为四分之一像素或1/4像素)、以及用于示4:2:0配置的色度分量的八分之一样本(也称为1/8像素)。7抽头或8抽头内插滤波器用于分数采样位置的内插,即可以针对亮度寻址沿着水平和垂直方向的完整采样位置的1/4、1/2和3/4。
[0076] 然后对预测残差进行变换(125)和量化(130)。对量化的变换系数、以及运动向量和其他语法元素进行熵编码(145)以输出比特流。编码器还可以跳过该变换,并以4x4 TU为基础将量化直接应用于未变换的残差信号。编码器还可以绕过变换和量化两者,即,在不应用变换或量化过程的情况下直接对残差进行编码。在直接PCM编码中,不应用任何预测,并且将编码单位样本直接编码到比特流中。
[0077] 编码器对编码块进行解码,以为进一步的预测提供参考。对量化的变换系数进行反量化(140)并进行逆变换(150)以解码预测残差。在组合(155)解码的预测残差和预测块的情况下,重构图像块。环内滤波器(165)应用于重构的画面,例如执行解块/SAO(样本自适应偏移)过滤以减少编码伪像。滤波后的图像被存储在参考画面缓冲器(180)中。
[0078] 图3图示了示例性HEVC视频解码器300的框图。在示例性解码器300中,如下所述,由解码器元件对比特流进行解码。视频解码器300通常执行与图1中所述的编码路径(pass)相反的解码路径,其执行视频解码作为编码视频数据的一部分。
[0079] 特别地,解码器的输入包括可由视频编码器100生成的视频比特流。首先对比特流进行熵解码(330)以获得变换系数、运动向量和其他编码信息。对变换系数进行反量化(340)并进行逆变换(350)以解码预测残差。在组合(355)解码的预测残差和预测块的情况下,重构图像块。可以从帧内预测(360)或运动补偿预测(即帧间预测)(375)获得(370)预测块。如上所述,可以使用AMVP和合并模式技术,以导出用于运动补偿的运动向量,其可使用内插滤波器来计算用于参考块的子整数样本的内插值。环内滤波器(365)被应用于重构的图像。滤波后的图像被存储在参考画面缓冲器(380)中。
[0080] 如上所述,在HEVC中,采用运动补偿的时间预测,来开发在视频的连续画面之间存在的冗余。为此,将运动向量与每个预测单元(PU)关联。如上所述,每个CTU由压缩域中的编码树表示。这是CTU的四叉树划分,其中每个叶子被称为编码单元(CU),并在图4中针对CTU 410和420进行了图示。然后,向每个CU给予一些帧内或帧间预测参数作为预测信息。为此,CU可以在空间上分割为一个或多个预测单元(PU),每个PU被分配一些预测信息。帧内或帧间编码模式在CU级别分配。这些概念在图5中针对示例性CTU 500和CU 510进一步图示。
[0081] 在HEVC中,一个运动向量被分配给每个PU。使用该运动向量用于所考虑的PU的运动补偿的时间预测。因此,在HEVC中,链接预测块及其参考块的运动模型仅包含基于参考块和对应运动向量的平移或计算。
[0082] 为了改进HEVC,联合视频探索小组(JVET)正在开发参考软件和/或文档JEM(联合探索模型)。在一个JEM版本中(例如,“Algorithm Description of Joint Exploration Test Model 5”,5Document JVET-E1001_v2,Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11,5th meeting,12-20January 2017,Geneva,CH),支持一些进一步的运动模型以改进时间预测。为此,可以在空间上将PU划分为子PU,并且可以使用模型为每个子PU分配专用运动向量。
[0083] 在JEM的最新版本中(例如,“Algorithm Description of Joint Exploration 10 Test Model 2”,Document JVET-B1001_v3,Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11,2nd meeting,20-26 February 2016,San Diego,USA”),不再指定将CU划分为PU或TU。取而代之,可以使用更灵活的CU尺寸,并将一些运动数据直接分配到每个CU。在较新版本的JEM下的此新编解码器设计中,可以将CU划分为子CU,并可以为划分的CU的每个子CU计算运动向量。
[0084] JEM中引入的新运动模型之一是使用仿射模型作为运动模型来表示CU中的运动向量。所使用的运动模型由图6图示,并且由如下所示等式1表示。仿射运动场包括图6中考虑的块600中的每个位置(x,y)的以下运动向量分量值:
[0085]
[0086] 等式1:在用于预测的CU内部生成运动场所使用的仿射运动模型,其中(v0x,v0y)和(v1x,v1y)是用于生成运动场的控制点运动向量,(v0x,v0y)对应于正编码或解码的块的左上角的控制点运动向量,(v1x,v1y)对应于正编码或解码的块的右上角的控制点运动向量,并且w是正编码或解码的块的宽度。
[0087] 为了降低复杂度,如图7所示,为所考虑的CU 700的每个4×4子块(sub-CU)计算运动向量。针对每个子块的每个中心位置,根据控制点运动向量来计算仿射运动向量。所获得的MV以1/16像素精度表示。结果,仿射模式下的编码单元的补偿在于:利用其自身的运动向量对每个子块进行运动补偿的预测。子块的这些运动向量在图7中分别被示出为每个子块的箭头。
[0088] 由于在JEM中种子被保存在对应的4x4子块中,因此仿射模式只能用于宽度和高度大于4的CU(以具有用于每个种子的独立子块)。例如,在64x4 CU中,仅存在一个左子块来保存左上和左下的种子,而在4x32 CU中,仅存在一个上子块用于左上和右上的种子;在JEM中,不可能将种子正确保存在如此薄的CU中。根据我们的建议,由于种子是分开保存的,因此我们能够处理宽度或高度等于4的这种薄CU。
[0089] 返回参照图7的示例,仿射CU由其相关联的仿射模型定义,该仿射模型由三个运动向量组成,称为仿射模型种子,作为来自CU的左上角、右上角和左下角的运动向量(图7中的v0、vl和v2)。然后,该仿射模型允许计算CU内的仿射运动向量场,其以4x4子块为基础执行(图7上的黑色运动向量)。在JEM中,这些种子被附加到所考虑的CU中的左上、右上和左下4x4子块。在提出的解决方案中,仿射模型种子作为与整个CU相关联的运动信息(例如,类似于IC标志)分开存储。因此,运动模型与用于4x4块级别的实际运动补偿的运动向量解耦。该新存储可以允许将完整的运动向量场保存在4x4子块级别。它还允许对宽度或高度具有尺寸4的块使用仿射运动补偿。
[0090] 在JEM中可以以2种方式使用仿射运动补偿:仿射帧间(AF_INTER)模式和仿射合并模式。以下各节将介绍它们。
[0091] 仿射帧间(AF_INTER)模式:可以在仿射帧间模式中预测AMVP模式下的CU,其尺寸大于8x8。这是通过比特流中的标志发信号通知的。针对该帧间CU的仿射运动场的生成包括确定控制点运动向量(CPMV),所述控制点运动向量(CPMV)由解码器通过将运动向量微分和控制点运动向量预测(CPMVP)相加而获得。CPMVP是一对运动向量候选,分别从用于正被编码或解码的当前CU 800的图8A所示的集合(A,B,C)和(D,E)中获取
[0092] 仿射合并模式:在仿射合并模式中,CU级别标志指示合并CU是否采用仿射运动补偿。如果是这样,则在用于正被编码或解码的当前CU 800的图8B的候选位置A、B、C、D、E的有序集合之中,选择已经以仿射模式编码的第一可用相邻CU。注意,如图2A所示并且如前所述,JEM中的该候选位置的有序集合与HEVC中的合并模式中的空间相邻候选相同。
[0093] 一旦获得了仿射模式下的第一相邻CU,则检索或计算来自相邻仿射CU的左上角、右上角和左下角的3个CPMV 例如,图9示出了对于正被编码或解码的当前CU 900、处于图8B的A位置的在仿射模式下的该第一确定的相邻CU 910。基于相邻CU 910的这三个CPMV,如下导出当前CU 900的左上角和右上角的两个CPMV:
[0094]
[0095] 等式2:基于所选相邻CU的三个控制点运动向量导出当前CU的CPMV
[0096] 当获得当前CU的控制点运动向量 时,通过结合图4如上所述的等式1的模型,在4x4子CU的基础上,计算正被编码或解码的当前CU内部的运动场。
[0097] 因此,至少一个实施例的一般方面旨在改进JEM中的仿射合并模式的性能,从而可以改进所考虑的视频编解码器的压缩性能。因此,在至少一个实施例中,呈现了一种增强和改进的仿射运动补偿设备和方法,例如,针对以仿射合并模式编码的编码单元。所提出的增强和改进的仿射模式包括在仿射合并模式下评估多个预测器候选。
[0098] 如前所述,在当前JEM中,在周围CU之中选择以仿射合并模式编码的第一相邻CU,以预测与正被编码或解码的当前CU相关联的仿射运动模型。即,选择以仿射模式编码的图8B的有序集合(A,B,C,D,E)之中的第一相邻CU候选,以预测当前CU的仿射运动模型。
[0099] 因此,至少一个实施例选择当以仿射合并模式对当前CU进行编码时提供最佳编码效率的仿射合并预测候选,而不是如上所述仅使用有序集合中的第一个。因此,在总体级别,此实施例的改进包括例如:
[0100] ·构造很可能为CU的仿射运动模型的预测提供很好的候选集合的、多个仿射合并预测器候选的集合(用于编码器/解码器);
[0101] ·在构造的集合之中为当前CU的控制点运动向量选择一个预测器(用于编码器/解码器);和/或
[0102] ·发信号通知/解码当前CU的控制点运动向量预测器的索引(用于编码器/解码器)。
[0103] 因此,图10图示了根据至少一个实施例的一般方面的示例性编码方法1000。在1010,方法1000针对在画面中正被编码的块确定具有多个预测器候选的预测器候选的集合。在1020,方法1000从预测器候选的集合中选择预测器候选。在1030,方法1000对于从预测器候选的集合中所选择的预测器候选,确定用于该块的一个或多个对应的控制点运动向量。在1040,方法1000针对所选择的预测器候选,基于一个或多个对应的控制点运动向量,确定基于用于所选择的预测器候选的运动模型的对应运动场,其中对应运动场标识用于预测正编码的块的子块的运动向量。在1050,方法1000基于用于从预测器候选的集合中选择的预测器候选的对应运动场,对块进行编码。在1060,方法1000对从预测器候选的集合中选择的预测器候选的索引进行编码。
[0104] 图11图示了根据至少一个实施例的一般方面的另一示例性编码方法1100。在1110,方法1100对于正在画面中编码的块、确定预测器候选的集合。在1120,方法1100对于来自预测值候选的集合的多个预测值候选中的每一个,确定用于该块的一个或多个对应的控制点运动向量。在1130,方法1100对于多个预测器候选中的每一个,基于一个或多个对应控制点运动向量,确定基于来自预测器候选的集合的多个预测器候选中的每一个的运动模型的对应运动场。在1140,方法1100根据一个或多个标准并基于对应的运动场,来评估多个预测器候选。在1150,方法1100基于评估从多个预测器候选中选择预测器候选。在1160,方法1100编码用于从预测器候选的集合中选择的预测器候选的索引。
[0105] 图12图示了根据至少一个实施例的一般方面的示例性解码方法1200。在1210,方法1200针对画面中正被解码的块,接收与特定预测器候选相对应的索引。在各种实施例中,已经在编码器处选择了该特定预测器候选,并且索引允许选择多个预测器候选之一。在1220,方法1200为该特定预测器候选确定用于正被解码的块的一个或多个对应的控制点运动向量。在1230,方法1200对于该特定预测器候选,基于一个或多个对应的控制点运动向量,确定对应的运动场。在各个实施例中,运动场基于运动模型,其中对应运动场标识用于预测正被解码的块的子块的运动向量。在1240,方法1200基于对应的运动场对块进行解码。
[0106] 图13图示了根据至少一个实施例的一般方面的另一示例性解码方法1300。在1310,方法1300针对画面中正被解码的块,检索与所选择的预测器候选相对应的索引。还如在1310处所示,已通过以下方式在编码器处选择了所选择的预测器候选:对于画面中正被编码的块,确定预测器候选的集合;对于来自预测器候选的集合的多个预测器候选的每一个,确定正被编码的块的一个或多个对应的控制点运动向量;对于所述多个预测器候选中的每一个,基于所述一个或多个对应控制点运动向量,确定基于用于来自预测器候选的集合的多个预测器候选中的每一个的运动模型的对应运动场;根据一个或多个标准并基于对应运动场,来评估所述多个预测器候选;基于所述评估,从所述多个预测器候选中选择预测器候选;和编码用于从预测器候选的集合中所选择的预测器候选的索引。在1320,该方法
1300基于与选择的预测器候选对应的索引,对块进行解码。
[0107] 图14图示了用来预测在JEM中的现有仿射合并模式下正被编码或解码的当前CU的仿射运动场的处理1400的实施例的细节。该处理1400的输入1401是当前编码单元,人们想为其生成子块的仿射运动场,如图7所示。在1410,利用选择的预测器候选,获得用于当前块的仿射合并CPMV,如上面结合例如图6、图7、图8B和图9所解释的那样。稍后还将针对图15更详细地解释该预测器候选的导出。
[0108] 结果,在1420,左上和右上控制点运动向量 然后被用于计算与当前CU相关联的仿射运动场。如前所述,这包括根据等式1为每个4×4子块计算运动向量。在1430和1440,一旦获得用于当前CU的运动场,就发生当前CU的时间预测,涉及基于4×4子块的运动补偿,然后是OBMC(重叠块运动补偿)。在1450和1460,在具有和没有残差数据的情况下,相继对当前CU进行编码和重构。基于RD竞争来选择模式,并且该模式用来编码当前CU,并且在各种实施例中还对该模式的索引进行编码。
[0109] 在至少一种实施方式中,使用残差标志。在1450,激活标志(noResidual=0),该标志指示使用残差数据完成编码。在1460,对当前CU进行完全编码和重构(具有残差),这给出对应的RD成本。然后,该标志被停用(1480、1485、noResidual=1),指示在没有残差数据的情况下完成编码,并且处理返回到1460,其中对CU进行编码(没有残差),这给出对应的RD成本。前两个之间的最低RD成本(1470,1475)指示是否必须对残差进行编码(正常或跳过)。方法1400在1499处结束。然后,将该最佳RD成本与其他编码模式竞争。下面将更详细地解释速率失真确定。
[0110] 图15示出了用来预测当前CU的仿射运动场的一个或多个控制点的处理1500的实施例的细节。这在于在图8B的空间位置(A,B,C,D,E)之中搜索(1510、1520、1530、1540、1550)已经以仿射模式编码/解码的CU。8B。如果在仿射模式下未对搜索到的空间位置进行编码,则将指示候选位置的数目的变量(例如numValidMergeCand)设置(1560)为0。否则,选择(1515、1525、1535、1545、1555)与仿射模式下的CU相对应的第一位置。然后,处理1500包括计算控制点运动向量,该控制点运动向量稍后将用来生成分配给当前CU的仿射运动场,并将numValidMergeCand设置(1580)为1。该控制点计算如下进行。确定包含所选位置的CU。
如前所述,它是当前CU的相邻CU之一。接下来,如先前结合图9解释的那样检索(或确定)来自所选择的相邻CU内部的左上角、右上角和左下角的这3个CPMV 最后,如先前
结合图6所解释的,根据等式1,导出(1570)当前CU的左上和右上CPMV 方法1500在
1599处结束。
[0111] 本发明的发明人已经认识到,上述现有仿射合并处理的一方面在于,它系统地采用一个且只有一个运动向量预测器,从周围因果关系的(即,已经编码或解码)并且相邻的CU向当前CU传播仿射运动场。在各种情况下,本发明人还认识到该方面可能是不利的,因为例如它没有选择最佳运动向量预测器。此外,如前所述,该预测器的选择仅包括在有序集合(A,B,C,D,E)中在仿射模式下编码的第一个因果关系和相邻CU。在各种情况下,本发明人进一步认识到,这种有限的选择可能是不利的,因为例如更好的预测器可能是可用的。因此,当前JEM中的现有处理并未考虑以下事实:当前CU周围的几个潜在因果关系和相邻CU也可能已使用仿射运动,并且发现已使用仿射运动的与第一个不同的CU可能是用于当前CU的运动信息的更好的预测器。
[0112] 因此,本发明人已经认识到改进现有的JEM编解码器未开发的当前CU仿射运动向量的预测的几种方式的潜在优点。根据至少一个实施例的总体方面,本运动模型中提供的这种优点可以看到并在图16和图17中图示,如下所述。
[0113] 在图16和图17两者中,正被编码或解码的当前CU分别是图16的中间1610和图17的中间1710处的较大CU。这两个潜在的预测器候选对应于图8B的位置A和C,并且分别示出为图16中的预测器候选1620和图17中的预测器候选1720。特别是,图16图示了如果所选择的预测器候选位于左边位置(图8B的位置A)而正被编码或解码的当前块1610的潜在运动场。同样,图17图示了如果所选择的预测器候选位于右边和上边位置(即,图8B的位置C)而正被编码或解码的当前块1710的潜在运动场。如说明性附图中所示,取决于选择哪个仿射合并预测器,可为当前CU生成用于子块的运动向量的不同集合。因此,本发明人认识到,诸如这两个候选之间的速率失真(RD)优化选择之类的一个或多个标准可以帮助改进在仿射合并模式下的当前CU的编码/解码性能。
[0114] 因此,至少一个实施例的一个总体方面在于,在多个候选的集合之中选择更好的运动预测者候选,以导出正被编码或解码的当前CU的CPMV。在编码器侧,根据一个示例性实施例的一方面,根据速率失真成本标准来选择用来预测当前CPMV的候选。根据另一示例性实施例的另一方面,然后将其索引在用于解码器的输出比特流中编码。
[0115] 根据另一示例性实施例的另一方面,在解码器中,可以以与在编码器侧相同的方式来构建候选集合,并且可以从该集合中选择预测器。在这样的实施例中,不需要在输出比特流中编码索引。解码器的另一实施例避免构建候选集合,或者至少避免如在编码器中那样从该集合中选择预测器,并且仅对与来自比特流的所选候选对应的索引进行解码,以导出对应的相关数据。
[0116] 根据另一示例性实施例的另一方面,如图6所示,由此使用的CPMV不限于正被编码或解码的当前CU的右上和左上位置处的两个。其他实施例包括例如仅一个向量或两个以上向量,并且这些CPMV的位置例如在其他角落位置,或在当前块内部或外部的任何位置,只要有可能导出运动场,例如,在角落4x4子块的中心或角落4x4子块的阴角的(多个)位置。
[0117] 在示例性实施例中,正被调查的潜在候选预测器的集合与用于在JEM中的现有仿射合并模式下检索CPMV预测器的位置的集合(A,B,C,D,E)相同,如图8B所示。图18图示了根据该实施例的一般方面的用于选择最佳候选以预测当前CU的仿射运动模型的一个示例性选择处理1800的细节。然而,其他实施例使用这样的预测器位置的集合,其与A、B、C、D、E不同并且可以在该集合中包括更少或更多的元素。
[0118] 如在1801处所示,到该示例性实施例1800的输入也是正被编码或解码的当前CU的信息。在1810,根据之前解释的图15的算法1500,构建多个仿射合并预测器候选的集合。图15的算法1500包括将与已在仿射模式中编码的因果CU对应的图8A所示的所有相邻位置(A,B,C,D,E)收集到用于预测当前CU仿射运动的候选集合中。因此,代替在找到因果仿射CU时停止,对于集合中的所有多个运动预测器候选,处理1800存储用于从因果CU到当前CU的仿射运动模型传播的所有可能候选。
[0119] 一旦如图18的1810所示完成了图15的处理,则图18的处理1800在1820处计算从在1810处提供的集合的每个候选所预测的左上角和右上角CPMV。1820的该处理被进一步详细描述并如图19所示。
[0120] 再次,图19示出了图18中的1820的细节,并且包括从先前步骤(图18的1810)确定和发现的每个候选上的循环。对于每个仿射合并预测器候选,确定包含该候选的空间位置的CU。然后,针对每个参考列表L0和L1(在B切片的底部),根据等式2导出对于产生当前CU的运动场有用的控制点运动向量 用于每个候选的这两个CPMV被存储在候选CPMV的集合中。
[0121] 一旦图19的处理完成并且处理返回到图18,就执行每个仿射合并预测器候选上的循环1830。它可以选择例如导致最低速率失真成本的CPMV候选。在每个候选上的循环1830内部,使用与图14所示的处理相似的另一循环1840,以用每个CPMV候选对当前CU进行编码,如前所述。当已经评估了所有候选时,图14的算法结束,并且其输出可以包括最佳预测器的索引。如前所述,作为示例,可以选择具有最小速率失真成本的候选作为最佳预测器。各种实施例使用最佳预测器来编码当前CU,并且某些实施例还编码用于该最佳预测器的索引。
[0122] 确定速率失真成本的一个示例如下定义,这是本领域技术人员公知的:
[0123] RDcost=D+λ×R
[0124] 其中D表示原始块与通过使用考虑的候选对当前CU进行编码和解码而获得的重构块之间的失真(通常为L2距离);R代表速率成本,例如通过用考虑的候选对当前块进行编码而生成的比特的数目;λ是拉格朗日参数,其代表正编码视频序列的速率目标。
[0125] 下面描述另一示例性实施例。该示例性实施例旨在通过与现有JEM相比扩展仿射合并候选的集合,来进一步改进仿射合并模式的编码性能。该示例性实施例可以以类似的方式在编码器和解码器侧上执行,以扩展候选集合。因此,在一个非限制性方面,可以一些附加预测器候选,来构建多个仿射合并候选的集合。可以从图21所示环绕当前CU 2100的诸如A’2110和B’2120的附加空间位置取得附加候选。其他实施例还使用沿着或靠近当前CU 2100的边缘之一的另外的空间位置。
[0126] 图22图示了示例性算法2200,其对应于使用图21所示并且如上所述的附加空间位置A’2110和B’2120的实施例。例如,算法2200包括:如果在图22的2210至2230处位置A不是有效的仿射合并预测器候选(例如,不在仿射模式下编码的CU中),则测试新的候选位置A’。同样,例如,如果在图22的2240至2260处位置B不提供任何有效候选(例如,不在仿射模式下编码的CU中),则其也测试新的候选位置B’。构建仿射合并候选的集合的示例性处理2200的其余方面与前面示出和解释的图19相比基本上没有变化。
[0127] 在另一示例性实施例中,在评估新添加的位置之前首先考虑现有的合并候选位置。仅当候选集合包含比合并候选的最大数目(例如5或7)更少的候选时,才评估添加的位置。该最大数目可以是预定的,或者可以是变量。通过图23的示例性算法2300详细描述了该示例性实施例。
[0128] 根据另一示例性实施例,将称为时间候选的附加候选添加到预测器候选的集合中。例如,如果如上所述没有找到空间候选,或者在变体中,如果如前所述仿射合并候选集合的大小还没有达到最大值,则可以使用这些时间候选。其他实施例在将空间候选添加到集合之前使用时间候选。举例来说,可从可用于当前画面或用于当前画面的参考画面中的一个或多个中检索预测当前CU的控制点运动向量的时间候选。可以例如在每个参考画面中的与当前CU的右下相邻CU对应的位置处取得时间候选。这对应于图24所示正被编码或解码的当前CU 2400的候选位置F 2410。
[0129] 在实施例中,例如,对于每个参考画面列表的每个参考画面,测试与考虑的参考画面中的图24的位置F 2410处的块相关联的仿射标志。如果为真,则将包含在该参考画面中的对应CU添加到仿射合并候选的当前集合。
[0130] 在另一变体中,从与当前CU 2400的左上角相对应的空间位置处的参考画面检索时间候选。该位置对应于图24的候选位置G 2420。
[0131] 在另一变体中,从与右下相邻CU相对应的空间位置处的参考画面检索时间候选。然后,如果候选集合包含比合并候选的加前缀的最大数目更少的候选时,例如5或7,则检索与当前CU的左上角G 2420相对应的时间候选。在其他实施例中,从一个或多个参考画面中与当前CU 2400的不同部分(除了G 2420)对应的、或与当前CU 2400的另一相邻CU(除了F 
2410)对应的位置获得时间候选。
[0132] 此外,基于时间候选的控制点运动向量的示例性导出处理如下进行。对于包含在构造集中的每个时间候选,标识其参考画面中包含时间候选的块(tempCU)。然后对位于标识的时间CU的左上、右上和左下角的三个CPMV 进行缩放。该缩放考虑tempCU的POC(画面顺序计数)、tempCU的参考画面的POC(差异被表示为tempDist)、当前CU的POC、和当前CU的参考画面的POC(差异表示为curDist)之间的关系。例如,CPMV可以通过距离之间的比率(tempDist/curDist)进行缩放。一旦获得这三个缩放的CPMV,如前所述,就根据等式2导出当前CU的两个控制点运动向量。
[0133] 另一示例性实施例包括添加作为从每个候选导出的控制点运动向量的函数而计算出的平均控制点运动向量对。这里的示例性处理由图25所示的示例性算法2500详细描述。对于为考虑的参考画面列表构造的集合中的每个仿射合并预测器候选,使用循环2510。
[0134] 然后在2520,对于每个参考画面列表Lx,如果当前候选具有针对列表Lx的有效CPMV,则依次等于L0,然后等于L1(如果在B切片中):
[0135] ·将运动向量对 初始化为
[0136] ·对于每个候选
[0137] -根据等式2从当前候选CPMV中导出CPMV
[0138] -向该对 添加
[0139] ·将运动向量对 除以列表Lx的候选的数目;
[0140] ·将参考画面索引分配给分别等于每个列表的所有候选之中的最小参考画面索引的运动向量 和 (向量 引用list0,并将其关联的参考索引设置为在列表0中的所有候选之中的观察到的最小参考索引。向量
相同,除了应用于列表1。);
[0141] ·将获得的运动向量的平均对 添加到候选CPMV的集合中,以生成用于列表Lx的当前CU的仿射运动场。
[0142] 根据前面部分描述的先前的实施例,使用算法2500和/或其他实施例,仿射合并候选的集合被进一步丰富,并且包含从针对插入候选集合中的每个候选导出的CPMV计算出的平均运动信息。
[0143] 因为有可能多个候选导致当前CU的相同CPMV,所以上述平均候选可能导致CPMV运动向量的加权平均对。实际上,上述处理将计算到目前为止收集的CPMV的平均值,而不管其在CPMV的完全集中的唯一性。因此,该实施例的变型在于将另一个候选再次添加到CPMV预测候选的集合中。它包括将唯一收集的CPMV的集合的平均CPMV相加(除上述加权平均CPMV之外)。这在预测器候选集合中提供了另一候选CPMV,以产生当前CU的仿射运动场。
[0144] 例如,考虑其中以下五个空间候选均可用且仿射(L,T,TR,BL,TL)的情况。但是,3个左边位置(L,BL,TL)在同一相邻CU内。在每个空间位置,我们都可以获取候选CPMV。然后,第一均值等于这5个CPMV的总和除以5(即使有几个相同)。在第二均值中,仅考虑不同的CPMV,因此3个左边位置(L,BL,TL)仅被考虑一次,并且第二均值等于3个不同的CPMV(L,T,TR)除以3。在第一均值中,冗余CPMV被相加3次,这给予冗余CPMV更大的权重。使用等式,我们可以书写meanl=(L+T+TR+BL+TL)/5,其中L=BL=TL,使得meanl=(3*L+T+TL)/5,而mean2=(L+T+TL)/3。
[0145] 一旦所考虑的候选保持列表0中的参考图像的运动向量和列表1中的另一参考图像的运动向量,则两个先前描述的候选均值双向的。在另一变体中,可能添加单向均值。根据加权均值和唯一均值,可以通过独立地从列表0和列表1中选取运动向量,来构造四个单向候选。
[0146] 在该申请中描述的示例性候选集合扩展方法的一个优点是增加候选控制点运动向量集合的多样性,该候选控制点运动向量可用于构建与给定CU关联的仿射运动场。因此,本实施例在视频内容编码和解码的计算技术中提供了技术进步。例如,本实施例改进由JEM中的仿射合并编码模式提供的速率失真性能。这样,已改进了所考虑的视频编解码器的整体速率失真性能。
[0147] 可以提供另一示例性实施例以修改图18的过程。该实施例包括通过以下近似失真和速率计算来快速评估每个CPMV候选的性能。因此,对于CPMV集合中的每个候选,计算当前CU的运动场,并且执行当前CU的基于4x4子块的时间预测。接下来,将失真计算为预测CU与原始CU之间的SATD。获得速率成本作为链接到考虑的候选的合并索引的信令的近似比特数。然后,为每个候选获得大致(近似)RD成本。在一个实施例中,最终选择是基于近似的RD成本。在另一实施例中,候选的子集经历完整的RD搜索,即,具有最低近似RD成本的候选然后经历完整的RD搜索。这些实施例的优点在于,它们限制了由于寻找最佳仿射合并预测器候选而引起的编码器侧复杂度的增加。
[0148] 此外,根据至少一个实施例的另一一般方面,通过具有仿射预测器候选的扩展列表,还可以利用本文呈现的所有当前教导来改进如前所述的仿射帧间模式。如以上结合图8A所描述的,仿射帧间CU的一个或多个CPMVP是从相邻运动向量导出的,而不管其编码模式如何。因此,如前所述的仿射合并模式那样,然后可能利用仿射邻居,使用其仿射模型来构造当前仿射帧间CU的一个或多个CPMVP。在那种情况下,所考虑的仿射候选可以是与以上针对仿射合并模式所描述的列表相同的列表(例如,不仅限于空间候选)。
[0149] 因此,提供了多个预测器候选的集合,以通过使用更好的预测器候选,来改进由当前HEVC和JEM提供的压缩/解压缩。该处理将更加高效,并且即使可能需要传输补充索引,也将观察到编码增益。
[0150] 根据至少一个实施例的一般方面,仿射合并候选的组合(如在合并模式下具有至少7个候选)包括例如:
[0151] ·来自(A,B,C,D,E)的空间候选,
[0152] ·如果列表中少于5个候选,则位于右下并置位置的时间候选,
[0153] ·如果列表中少于5个候选,则位于并置位置的时间候选,
[0154] ·加权均值
[0155] ·唯一均值
[0156] ·如果加权均值是双向的,并且列表中的候选少于7个,则来自加权均值的单向均值,
[0157] ·如果唯一均值是双向的,并且列表中的候选少于7个,则来自唯一均值的单向均值。
[0158] 而且,在AMVP情况下,预测器候选可来自于例如:
[0159] ·来自集合(A,B,C,D,E)的空间候选,
[0160] ·来自(A’,B’)的补充空间候选,
[0161] ·右下并置位置的时间候选。
[0162] 下面的表1和表2示出了使用某些提出的解决方案的示例性实施例对JEM 4.0(并行)的改进。每个表示出了如上所述的示例性实施例之一的速率降低量的结果。具体地,表1示出了当图8B所示的5个空间候选(A,B,C,D,E)被用作根据上述示例性实施例的多个预测器候选的集合时的改进。表2示出了当如上所述使用预测器候选的以下顺序时的示例性实施例的改进:首先是空间候选,然后如果候选的数目仍然小于5则是时间候选,然后均值,最后如果候选的数目仍然小于7则是单向均值。因此,例如,表2示出了,对于该实施例,Y、U、V样本的速率降低分别是0.22%、0.26%和0.12%BD 的D类速率降低,而编码和解码运行时间几乎没有增加(即,分别为100%和101%)。因此,本示例性实施例改进了压缩/解压缩效率,同时相对于现有的JEM实现,保持了计算复杂度成本。
[0163]
[0164] 表1.在JEM4.0上使用空间候选的最佳CPMV的RDO选择结果
[0165]
[0166] 表2.在JEM 4.0上使用空间、时间、均值、以及然后单向均值候选的最佳CPMV的RDO选择结果
[0167] 图26图示了其中可以实现示例性实施例的各个方面的示例性系统2600的框图。系统2600可以实施为包括以下描述的各种组件的装置,并且被配置为执行上述处理。这种装置的示例包括但不限于个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收机、个人视频记录系统、连接的家用电器、和服务器。系统2600可以可通信地耦合到其他类似的系统,并且经由通信信道耦合到显示器,如图26所示,并且如本领域技术人员已知的,以实现上述示例性视频系统的全部或部分。
[0168] 系统2600的各种实施例包括至少一个处理器2610,所述至少一个处理器2610被配置为执行其中加载的指令,用于实现如上所述的各种处理。处理器2610可以包括嵌入式存储器、输入输出接口、以及本领域已知的各种其他电路。系统2600还可包括至少一个存储器2620(例如,易失性存储器件、非易失性存储器件)。系统2600可以另外包括储存装置2640,其可以包括非易失性存储器,包括但不限于EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、磁盘驱动器、和/或光盘驱动器。作为非限制性示例,储存装置2640可以包括内部储存装置、附接的储存装置和/或网络可访问的储存装置。系统2600还可包括配置为处理数据以提供编码视频和/或解码视频的编码器/解码器模块2630,并且所述编码器/解码器模块2630可以包括其自己的处理器和存储器。
[0169] 编码器/解码器模块2630代表可以被包括在装置中以执行编码和/或解码功能的(多个)模块。众所周知,这样的装置可以包括编码和解码模块之一或两者。另外,编码器/解码器模块2630可以被实现为系统2600的单独元件,或者可以作为本领域技术人员已知的硬件和软件的组合并入一个或多个处理器2610内。
[0170] 要加载到一个或多个处理器2610上以执行上述各种处理的程序代码可以存储在储存装置2640中,并随后加载到存储器2620上用于由处理器2610执行。(多个)处理器2610、存储器2620、储存装置2640、和编码器/解码器模块2630中的一个或多个可以在执行本文上面讨论的处理期间存储各种项目中的一个或多个,包括但不限于输入视频、解码视频、比特流、等式、公式、矩阵、变量、运算、和运算逻辑。
[0171] 系统2600还可以包括通信接口2650,该通信接口2650使能经由通信信道2660与其他装置的通信。通信接口2650可以包括但不限于配置为从通信信道2660传送和接收数据的收发器。通信接口2650可以包括但不限于调制解调器或网卡,并且通信信道2650可以在有线和/或无线介质内实现。系统2600的各种组件可以使用各种合适的连接而连接或通信耦合在一起(图26中未示出),包括但不限于内部总线、电线、和印刷电路板
[0172] 示例性实施例可以由处理器2610实现的计算机软件或硬件、或者由硬件和软件的组合执行。作为非限制性示例,示例性实施例可以由一个或多个集成电路实现。存储器2620可以是适合于技术环境的任何类型,并且可以使用任何适当的数据储存技术来实现,例如光储存装置、磁储存装置、基于半导体的储存装置、固定存储器、和可移除存储器,作为非限制性示例。处理器2610可以是适合于技术环境的任何类型,并且可以包括微处理器、通用计算机、专用计算机、和基于多核架构的处理器中的一个或多个,作为非限制性示例。
[0173] 本文描述的实现方式可以例如以方法或处理、设备、软件程序、数据流或信号来实现。即使仅在单一形式的实现方式的上下文中进行讨论(例如,仅作为方法讨论),所讨论的特征的实现也可以以其他形式(例如,设备或程序)来实现。设备可以以例如适当的硬件、软件和固件来实现。方法可以在例如诸如处理器之类的设备中实现,该设备通常指的是处理装置,包括例如计算机、微处理器、集成电路、或可编程逻辑装置。处理器还包括通信装置,例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”)、以及有助于最终用户之间的信息通信的其他装置。
[0174] 此外,本领域的技术人员可以容易地理解,图1所示的示例性HEVC编码器100和图3所示的示例性HEVC解码器可以根据本公开的以上教义修改,以便对现有的HEVC标准实现所公开的改进,用于实现更好的压缩/解压缩。例如,图1的示例性编码器100中的熵编码145、运动补偿170、和运动估计175、以及图3的示例性解码器中的熵解码330和运动补偿375可以根据公开的教义修改,以实现本公开的一个或多个示范方面,包括提供对现有JEM的增强仿射合并预测。
[0175] 提及“一个实施例或“实施例”或“一个实现方式”或“实现方式”以及其其他变型,是指结合该实施例描述的特定特征、结构、特性等被包括在至少一个实施例中。因此,在整个说明书中各处出现的短语“在一个实施例中”或“在实施例中”或“在一个实现方式中”或“在实现方式中”以及任何其他变体的出现不一定都指代同一实施例。
[0176] 另外,本申请或其权利要求可以涉及“确定”各条信息。确定信息可以包括以下一项或多项:例如,估计信息、计算信息、预测信息、或从存储器中检索信息。
[0177] 此外,本申请或其权利要求可以涉及“访问”各条信息。访问信息可包括以下一项或多项:例如,接收信息、(例如从存储器中)检索信息、存储信息、处理信息、传送信息、移动信息、拷贝信息、擦除信息、计算信息、确定信息、预测信息、或估计信息。
[0178] 另外,本申请或其权利要求可以涉及“接收”各条信息,接收与“访问”一样,意欲是广义的术语,例如,接收信息可以包括以下一项或多项:访问信息、或(例如从存储器中)检索信息。此外,“接收”通常按照一种方式或另一种方式在诸如以下的操作中涉及:例如,存储信息、处理信息、传送信息、移动信息、拷贝信息、擦除信息、计算信息、确定信息、预测信息、或估计信息。
[0179] 对于本领域的技术人员将显而易见的是,实现方式可以产生各种信号,这些信号被格式化以携带例如可以被存储或传送的信息。该信息可以包括例如用于执行方法的指令、或由所描述的实现方式之一产生的数据。例如,信号可以被格式化为携带所描述的实施例的比特流。这样的信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或格式化为基带信号。格式化可以包括例如对数据流进行编码并且利用编码的数据流来调制载波。信号携带的信息可以是例如模拟或数字信息。众所周知,该信号可以通过各种不同的有线或无线链路传送。信号可以存储在处理器可读介质上。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈