背景技术:
1、视频编码器通常应用运动估计和补偿进行帧间预测,以利用时间冗余。运动向量描述的是为了获取当前帧中像素的预测而必须移动参考帧中像素的方式。这通常按块执行,即将相同的运动向量分配给块中的每个像素。
2、图1a示出了当前帧在时间点t处的预测。当前帧中的当前块10根据时间点t–1处的参考帧中的预测块12进行预测,预测块12所在的位置与并置块11的位置不同。并置块11在参考帧内的位置与当前块在当前帧内的位置相同。表示从并置块的位置移动到预测块12的位置的箭头是运动向量。运动向量可以作为边信息从编码器发送到解码器。
3、图1b示出了前向运动和后向运动。前向运动是指所有像素都从按照显示顺序在当前图像之前的参考图像运动到当前图像。后向运动是指所有像素都从按照显示顺序在当前图像之后的参考图像运动到当前图像。在后向运动估计的情况下,编码和解码的顺序与显示顺序不对应。
4、为了使基于块的预测可扩展,通常使用分层块划分,如图2a所示。在图2a中,像素(样本)栅格与8×8样本块一起显示,该块划分成3个4×4子块和4个2×2子块。对每个子块执行运动估计,获取到相应的运动向量,如指示相对于参考帧移动的方向的对应箭头所示。运动向量通常在经编码视频的码流中直接指示或进行差分编码。一些编解码标准中使用运动向量的隐式推导,这种推导是根据编码端和解码端的经过重建和解码的图像执行的。
5、通过分层块划分,视频编解码标准通过基于块的运动估计和补偿来执行隐式子采样。hevc或vvc等现代编解码标准在某种程度上使用不同的块大小执行内容自适应采样。这些编解码标准显式地将块划分指示为四叉树和三叉树。可以确定的是,越来越自适应的划分有利于提高相应编解码标准的译码效率。
6、然而,只要待传输的运动向量很少,这些过程通常是不准确的,而且会产生块效应。
技术实现思路
1、本发明涉及用于提供运动向量的方法和装置。
2、本发明实施例由独立权利要求的范围限定。一些进一步有利的实施例在从属权利要求中提供。
3、具体地,本发明实施例提供了一种重建运动向量的高效方法,包括使用根据图像片段选择的至少两种不同的运动向量插值方法。
4、根据一个实施例,提供了一种用于重建包括多个样本的图像的运动向量场的方法。所述方法包括:根据码流获取两个或两个以上运动向量,其中,所述两个或两个以上运动向量中的每个向量指定所述多个样本的第一子集内的样本的运动;根据所述获取到的两个或两个以上运动向量和与所述两个或两个以上运动向量相关的一个或多个参考图像,推导多个插值片段;从所述码流中获取运动插值信息,其中,所述运动插值信息为所述多个插值片段中的每个片段指示用于重建所述片段中的运动的插值方法;对于一个插值片段中的样本,通过应用由所述片段的运动插值信息指示的插值方法并且使用所述两个或两个以上运动向量中的至少一个向量,重建所述运动向量场。
5、这种推导片段来获取插值信息不需要额外指示,并且可以改进运动场重建。
6、例如,所述运动插值信息为所述多个插值片段中的每个片段指示至少两个预定义插值方法中的一种插值方法。
7、从预定义集合中选择插值方法可以在使用有限比特的情况下高效指示插值方法。
8、具体地,所述运动插值信息是二进制标志,所述二进制标志为所述多个插值片段中的每个片段指示第一插值方法和第二插值方法中的一种插值方法。
9、通过标志的1比特指示不会增加太多速率,而选择插值方法可以提高重建质量。
10、例如,所述至少两种预定义插值方法彼此不同,包括最邻近插值、双线性插值、基于窗口sinc函数的插值和多项式插值,等等。
11、提供质量和复杂性不同的插值方法能够实现内容自适应插值选择。使用合适的插值方法可以更精确地表示特定区域内的运动模型,从而产生更好的预测信号质量。
12、在一种示例性实现方式中,所述推导多个插值片段包括:通过对所述两个或两个以上运动向量应用所述第一插值方法,重建第一运动场;通过对所述两个或两个以上运动向量应用所述第二插值方法,重建第二运动场;通过使用所述第一运动场的运动补偿重建第一中间图像;通过使用第二运动场的运动补偿重建第二中间图像;根据第一预定规则,至少在所述图像的所述第一中间图像和所述第二中间图像不同的区域中确定所述多个插值片段的中心;对于所述确定的片段中心中的每个中心,根据第二规则确定所述图像中属于所述片段的样本。
13、以这种方式确定片段在编码器和解码器侧是相同,这样就不需要额外信令。根据通过不同插值方法进行插值的图像之间的差值进行确定可能是非常高效的,因为重点关注运动场的不同插值导致大不相同的结果的各个部分。
14、例如,所述第一中间图像和所述第二中间图像之间的差值是根据相异性度量按样本计算的。
15、按样本执行的差异度量能够准确确定片段。
16、具体地,所述确定所述多个插值片段的中心是根据所述第一预定规则,在所述图像的所述第一中间图像和所述第二中间图像相差超过预定量的区域中执行的。
17、通过仅对具有一些非0或不可忽略差值的部分执行划分,可以进一步降低计算复杂性。需要说明的是,术语“预定义”可以对应于固定设置,例如,通过标准设置为相差大于0或大于某些其它非0值的任何值。然而,在一些实施例中,编码器可以定义这样的阈值并在码流中指示,或者可以根据其它一个或多个编码参数(例如,量化值、位深等)设置该阈值。编码器可以根据一些用户设置和/或根据速率、失真和/或复杂性函数等某个成本函数预定义上述值。
18、在一种示例性实现中,所述第一预定规则指定所述图像中的样本的非均匀采样,所述图像中待成为片段中心的样本使用预定随机数(seed)伪随机地选取,选取样本的概率与所述第一中间图像和所述第二中间图像之间的绝对差成正比。
19、基于差值和随机化的非均匀采样可以很好地猜测片段中心。随机化可以避免第一中间图像和第二中间图像之间绝对差相对较小的区域中缺少片段中心带来不好影响。
20、在一种示例性实现方式中,所述第一预定规则包括:生成伪随机噪声样本,并且通过将所述伪随机样本与使用所述第一中间图像和所述第二中间图像之间的差值获取到的差分图像中的相应样本相乘,获取噪声差分图像;选择所述噪声差分图像中超过预定阈值的样本作为所述多个插值片段的中心。
21、这种替代的差值随机化和选择中心可以并行处理,还可以很好地猜测片段中心。
22、例如,对于所述确定的插值片段中心中的每个中心,所述图像中属于所述片段的样本被确定为使用所述第一中间图像和所述第二中间图像之间的差值获取到的差分图像中的沃罗诺伊(voronoi)区;分别为所述差分图像中带有正号的区域和所述差分图像中带有负号的区域确定所述沃罗诺伊区。
23、沃罗诺伊区是片段重建的高效方式,可能会形成宽敞的片段。
24、例如,在所述图像的所述第一中间图像和所述第二中间图像满足相似性准则的区域中不确定所述多个插值片段的中心。
25、这样能够降低一些计算复杂性。可以存在对这些区域进行插值的默认方法。此外,这种方法可以减小码流大小,因为这些中被认为不重要的补充信息不用指示。
26、作为上述示例和实现方式的替代或补充,所述运动插值信息包括与所述多个插值片段中的每个片段相关联的一条运动插值信息;所述运动插值信息中的多条信息与所述多个插值片段中的每个相应插值片段的关联关系通过以下内容提供:所述运动插值信息中的多条信息在码流语法中的排序;所述确定的多个插值片段的预定排序。
27、这种关联关系避免了在解码器侧正确解映射插值信息的额外信令。为多个插值片段中的每个片段指示额外一条运动信息可以更精确地描述特定区域的运动模型,从而提高预测信号质量。
28、作为上述示例和实现方式的替代或补充,所述方法还包括:根据所述图像中的每个样本所在的片段,确定所述样本的插值方法,以获取在每个掩码图像样本中指示所述插值方法的掩码图像;将默认插值方法分配不属于任何片段的掩码图像样本;通过应用由所述掩码图像中的对应样本指定的插值方法,确定所述图像中的每个样本的运动向量。
29、这样可以为每个图像样本重建和提供插值方法,从而可以进一步处理这种掩码,例如,考虑图像点之间的2d空间关系。
30、例如,所述方法还可以包括以下步骤:在确定所述运动向量之前对所述掩码图像进行平滑处理。
31、对掩码进行平滑处理可以,例如,通过将重建候选图像按照平滑滤波器的权重进行加权,进一步改善插值结果和图像重建结果。当使用残差译码时,这个特征是有用的,因为对于大多数已知的残差译码方法而言,残差信号中存在锐边会大大增加码率,这反过又会使整个压缩效率降低,即使该方法提高了预测信号质量。
32、例如,平滑通过高斯滤波或导向图像滤波执行。
33、这些滤波器可以很好地执行,尤其是在运动图像重建的上下文中。高斯滤波的复杂性相对较低,而导向图像滤波提供了平滑处理,这在压缩效率方面表现更好。导向图像滤波的另一个好处是,在执行残差译码的场景下,其参数与高斯滤波器的参数相比更稳定。
34、根据一个实施例,提供了一种用于对包括多个样本的图像的运动向量场进行编码的方法。所述方法包括:将两个或两个以上运动向量包括在码流中,其中,所述两个或两个以上运动向量中的每个向量指定所述多个样本的第一子集内的样本的运动;根据所述两个或两个以上运动向量和与所述两个或两个以上运动向量相关的一个或多个参考图像,推导多个插值片段;将运动插值信息编码到所述码流中,其中,所述运动插值信息为所述多个插值片段中的每个片段指示用于重建所述片段中的运动的插值方法;对于一个插值片段中的样本,通过应用由所述片段的运动插值信息指示的插值方法并且使用所述两个或两个以上运动向量中的至少一个向量,确定所述运动向量场。
35、这种编码不需要发送任何片段信息,通过提供插值信息能够实现准确重建。
36、在一种示例性实现中,所述方法还包括以下步骤:通过应用德洛涅(delauney,也称为delone)三角形划分进行运动场的稀疏化,确定所述两个或两个以上运动向量。
37、通过德洛涅三角形划分进行稀疏化可能是有利的,因为它不需要指示运动向量的原点,而且相比于矩形划分部分的一些内容,可能还是更适合于内容。
38、可选地或另外,所述方法还包括以下步骤:根据成本函数,为所述多个插值片段中的每个片段选择插值方法,其中,所述成本函数包括速率、失真和复杂性中的一个或多个。
39、速率、失真和/或复杂性优化能够考虑到应用或用户偏好。
40、例如,运动插值信息为多个插值片段中的每个片段指示至少两个预定义插值方法中的一种插值方法。
41、从预定义集合中选择插值方法可以在使用有限比特的情况下高效指示插值方法。
42、例如,所述运动插值信息是二进制标志,所述二进制标志为所述多个插值片段中的每个片段指示第一插值方法和第二插值方法中的一种插值方法。
43、通过标志的1比特指示不会增加太多速率,而选择插值方法可以提高重建质量。
44、例如,所述至少两种预定义插值方法彼此不同,包括最邻近插值、双线性插值、基于窗口sinc函数的插值和多项式插值。
45、提供质量和复杂性不同的插值方法能够实现内容自适应插值选择。使用合适的插值方法可以更精确地表示特定区域内的运动模型,从而产生更好的预测信号质量。
46、根据一种示例性实现方式,所述推导多个插值片段包括:通过对所述两个或两个以上运动向量应用所述第一插值方法,重建第一运动场;通过对所述两个或两个以上运动向量应用所述第二插值方法,重建第二运动场;通过使用所述第一运动场的运动补偿重建第一中间图像;通过使用第二运动场的运动补偿重建第二中间图像;根据第一预定规则,至少在所述图像的所述第一中间图像和所述第二中间图像不同的区域中确定所述多个插值片段的中心;对于所述确定的片段中心中的每个中心,根据第二规则确定所述图像中属于所述片段的样本。
47、以这种方式确定片段在编码器和解码器侧是相同,这样就不需要额外信令。根据通过不同插值方法进行插值的图像之间的差值进行确定可能是非常高效的,因为重点关注运动场的不同插值导致大不相同的结果的各个部分。
48、例如,所述第一中间图像和所述第二中间图像之间的差值是根据相异性度量按样本计算的。
49、按样本执行的差异度量能够准确确定片段。
50、例如,所述确定所述多个插值片段的中心是根据所述第一预定规则,在所述图像的所述第一中间图像和所述第二中间图像相差超过预定量的区域中执行的。
51、通过仅对具有一些非0或不可忽略差值的部分执行划分,可以进一步降低计算复杂性。
52、例如,所述第一预定规则指定所述图像中的样本的非均匀采样,所述图像中待成为片段中心的样本使用预定随机数(seed)伪随机地选取,选取样本的概率与所述第一中间图像和所述第二中间图像之间的绝对差成正比。
53、基于差值和随机化的非均匀采样可以很好地猜测片段中心。随机化可以避免第一中间图像和第二中间图像之间绝对差相对较小的区域中缺少片段中心带来不好影响。
54、根据一种示例性实现方式,所述第一预定规则包括:生成伪随机噪声样本,并且通过将所述伪随机样本与使用所述第一中间图像和所述第二中间图像之间的差值获取到的差分图像中的相应样本相乘,获取噪声差分图像;选择所述噪声差分图像中超过预定阈值的样本作为所述多个插值片段的中心。
55、这种替代的差值随机化和选择中心可以并行处理,还可以很好地猜测片段中心。
56、在一些示例性实现方式中,对于所述确定的插值片段中心中的每个中心,所述图像中属于所述片段的样本被确定为使用所述第一中间图像和所述第二中间图像之间的差值获取到的差分图像中的沃罗诺伊区;分别为所述差分图像中带有正号的区域和所述差分图像中带有负号的区域确定所述沃罗诺伊区。
57、沃罗诺伊区是片段重建的高效方式,可能会形成宽敞的片段。
58、例如,在所述图像的所述第一中间图像和所述第二中间图像满足相似性准则的区域中不确定所述多个插值片段的中心。
59、这样能够降低一些计算复杂性。可以存在对这些区域进行插值的默认方法。此外,这种方法可以减小码流大小,因为这些中被认为不重要的补充信息不用指示。
60、在一些示例性实现方式中,所述运动插值信息包括与所述多个插值片段中的每个片段相关联的一条运动插值信息;所述运动插值信息中的多条信息与所述多个插值片段中的每个相应插值片段的关联关系通过以下内容提供:所述运动插值信息中的多条信息在码流语法中的排序;所述确定的多个插值片段的预定排序。
61、这种关联关系避免了在解码器侧正确解映射插值信息的额外信令。为多个插值片段中的每个片段指示额外一条运动信息可以更精确地描述特定区域的运动模型,从而提高预测信号质量。
62、在一些示例性实现中,所述方法还包括以下步骤:根据所述图像中的每个样本所在的片段,确定所述样本的插值方法,以获取在每个掩码图像样本中指示所述插值方法的掩码图像;将默认插值方法分配不属于任何片段的掩码图像样本;通过应用由所述掩码图像中的对应样本指定的插值方法,确定所述图像中的每个样本的运动向量。
63、这样可以为每个图像样本重建插值方法。
64、例如,所述方法还可以包括以下步骤:在确定所述运动向量之前对所述掩码图像进行平滑处理。
65、对掩码进行平滑处理可以,例如,通过将重建候选图像按照平滑滤波器的权重进行加权,进一步改善插值结果和图像重建结果。当使用残差译码时,这个特征是有用的,因为对于大多数已知的残差译码方法而言,残差信号中存在锐边会大大增加码率,这反过又会使整个压缩效率降低,即使该方法提高了预测信号质量。
66、例如,平滑通过高斯滤波或导向图像滤波执行。
67、这些滤波器可以很好地执行,尤其是在运动图像重建的上下文中。高斯滤波的复杂性相对较低,而导向图像滤波提供了平滑处理,这在压缩效率方面表现更好。导向图像滤波的另一个好处是,在执行残差译码的场景下,其参数与高斯滤波器的参数相比更稳定。
68、根据一个实施例,提供了一种存储在非瞬时性计算机可读介质中的计算机程序。所述计算机程序包括指令,所述指令在一个或多个处理器上执行时,执行任一上述方法的步骤。
69、根据一个实施例,提供了一种用于重建包括多个样本的图像的运动向量场的装置。所述装置包括处理电路,所述处理电路用于:根据码流获取两个或两个以上运动向量,其中,所述两个或两个以上运动向量中的每个向量指定所述多个样本的第一子集内的样本的运动;根据所述获取到的两个或两个以上运动向量和与所述两个或两个以上运动向量相关的一个或多个参考图像,推导多个插值片段;从所述码流中获取运动插值信息,其中,所述运动插值信息为所述多个插值片段中的每个片段指示用于重建所述片段中的运动的插值方法;对于一个插值片段中的样本,通过应用由所述片段的运动插值信息指示的插值方法并且使用所述两个或两个以上运动向量中的至少一个向量,重建所述运动向量场。
70、根据一个实施例,提供了一种用于对包括多个样本的图像的运动向量场进行编码的装置。所述装置包括处理电路,所述处理电路用于:将两个或两个以上运动向量包括在码流中,其中,所述两个或两个以上运动向量中的每个向量指定所述多个样本的第一子集内的样本的运动;根据所述两个或两个以上运动向量和与所述两个或两个以上运动向量相关的一个或多个参考图像,推导多个插值片段;将运动插值信息编码到所述码流中,其中,所述运动插值信息为所述多个插值片段中的每个片段指示用于重建所述片段中的运动的插值方法;对于一个插值片段中的样本,通过应用由所述片段的运动插值信息指示的插值方法并且使用所述两个或两个以上运动向量中的至少一个向量,确定所述运动向量场。
71、这些装置和程序具有与上述相应方法相同的优点。上述与方法相关的示例性实施例和实施例也适用于装置的功能。
72、此外,本发明还提供了与上述处理电路执行的步骤相对应的方法。
73、根据一方面,提供了一种存储程序代码的计算机可读介质。所述程序代码用于执行上述方法。具体地,所述程序代码包括指令,所述指令在一个或多个处理器上执行时,执行所述方法的步骤。
74、根据一方面,提供了一种包括处理电路的装置。所述处理电路用于执行任一上述方法。此外,任一上述运动向量编码方法都可以作为视频编码的一部分执行。此外,任一上述运动向量解码方法都可以作为视频解码的一部分执行。相应地,上述用于对运动向量进行编码和解码的装置可以是用于视频编码和解码的相应装置的一部分。
75、上述装置可以在集成芯片上实现。
76、任一上述实施例和示例性实施方式都可以进行组合。