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

用于参考图片重采样的分数样本插值的制作方法

2022-07-24 03:45:06 来源:中国专利 TAG:

1.本技术涉及视频编码概念,并且特别涉及用于运动补偿的插值滤波器。


背景技术:

2.诸如多功能视频译码(vvc)的当前视频译码标准允许依赖于运动向量(mv)分辨率来切换用于运动补偿的插值滤波器,运动向量(mv)分辨率可以在块级别上被发信号通知。在mv(或mv差值mvd)以特定分辨率(例如,半采样精度)译码的情况下,不同的插值滤波器可以用来插值某些分数样本位置。
3.另一个新特征是参考图片重采样,其允许在具有不同于当前图片的分辨率/大小的运动补偿图片间预测中参考先前译码的图片。为了做到这一点,所参考的图片区被重采样成具有与当前块相同大小的块。这可能导致其中通过使用插值滤波器的不同相位来获得若干分数位置的情况。
4.例如,当16x16块参考在每个维度中具有四分之一(quarter)大小的图片时,所参考的图片中对应的4x4块需要被上采样到16x16,这可能涉及针对特定分数位置/相位的不同插值滤波器。例如,当以与平滑(smoothing)插值滤波器相关联的精度发信号通知mv时,该滤波器应用于该平滑滤波器在参考图片上采样中与之相关联的相位,而锐化(sharpening)插值滤波器可应用于其他相位。
5.该混合会产生可见的伪影,并且因此导致更差的运动补偿帧间预测器,这又增加了预测误差和译码预测残差以实现相等的质量所需的码率。


技术实现要素:

6.本技术寻求得到支持参考图片重采样的更有效的视频译码概念。该目的是通过独立权利要求的主题来实现的。
附图说明
7.下面参照附图描述本技术的优选实施例,其中:图1示出了用于将图片预测地编码到数据流中的装置;图2示出了用于从数据流预测地解码图片的装置;图3说明了重构信号与预测残差信号和预测信号的组合之间的关系;图4a说明了空间覆盖的当前图片和参考图片的样本;图4b说明了具有相同分辨率和以半像素分辨率限定的运动向量的参考图片和当前图片的样本;图4c说明了根据本发明实施例的视频解码器;图4d说明了对于参考图片中的不同类型的样本(即在相位上不同的样本)的插值滤波器的选择(这里示例性地使用图9的表);关于半像素分辨率位置的选择具有两个选项,实施例以有利的方式在该两个选项之间;此外,对于一个示例样本(这里是四分之一像素样
本),讨论了所选插值滤波器的应用;两个半像素插值滤波器之间的滤波器选择可以分别针对水平方向和垂直方向进行,从而可以使用一个半像素插值滤波器针对半像素样本而对参考图片进行垂直插值,而可以针对在半像素位置上的差值而水平地使用另一个半像素插值滤波器,或者依赖于当前图片和参考图片的分辨率是否垂直且水平重合而对两个方向进行全局选择,以便水平和垂直地使用一个或另一个半像素插值滤波器;图5说明了根据本发明实施例的视频编码器;图6示出了用于具有变化吞吐量的视频会议的参考图片重采样码率自适应的示例;图7示出了用于dash和开放gop分辨率切换的参考图片重采样码率自适应的示例;图8示出了执行第二图片的一部分中的roi缩放(zooming)的第三图片的示例;图9示出了用于自适应运动向量分辨率的平滑滤波器的示例,其中运动向量差是处于半采样分辨率,其中,该图还示出了在表中收集的要用于半像素相位以外的其他相位的样本的另外的插值滤波器;以及图10示出了用于使用等于1的syntax amvr_flag和等于0的amvr_precision_idx来在位流中发信号通知的示例。
具体实施方式
8.以下对附图的描述以对基于块的预测编解码器的编码器和解码器的描述的呈现开始,所述编解码器用于对视频的图片进行译码,以便形成可将本发明的实施例构建到其中的译码框架的示例。关于图1到图3描述了相应的编码器和解码器。此后,对本发明的概念的实施例的描述连同关于如何能够使这些概念分别构建到图1和图2的编码器和解码器中的描述一起呈现,尽管用随后的图4和下文描述的实施例也可用于形成不根据构成图1和图2的编码器和解码器(诸如在一个图片内没有与帧间编码块竞争的帧内编码块,和/或诸如没有基于变换的残余译码等)的基础的译码框架操作的编码器和解码器。
9.图1示出了一种用于示例性地使用基于变换的残差译码将图片12预测性地译码成数据流14的装置。该装置或编码器用参考标号10表示。图2示出了对应的解码器20,即,配置成也使用基于变换的残差解码对来自数据流14的图片12'进行预测性解码的装置20,其中撇号已用于指示由解码器20重构的图片12'在由预测残差信号的量化引入的译码损失方面偏离由装置10最初编码的图片12。图1和图2示例性地使用基于变换的预测残差译码,尽管本技术的实施例不限于这种类型的预测残差译码。关于图1和图2而描述的其他细节也是如此,如将在下文中所概述的。
10.编码器10被配置成对预测残差信号进行空间到频谱(spatial-to-spectral)变换,并将由此获得的预测残差信号编码到数据流14中。同样,解码器20被配置成对来自数据流14的预测残差信号进行解码,并对由此获得的预测残差信号进行频谱到空间变换。
11.在内部,编码器10可以包括预测残差信号形成器22,其产生预测残差24,以便测量预测信号26与原始信号的偏差,即与图片12的偏差。预测残差信号形成器22例如可以是从原始信号(即,从图片12)中减去预测信号的减法器。然后,编码器10还包括变换器28,变换器28对预测残差信号24进行空间到频谱变换,以获得频谱域预测残差信号24',然后由也由编码器10包括的量化器32对频谱域预测残差信号24'进行量化。因此量化的预测残差信号
24''被译码到位流14中。为此,编码器10可以可选地包括熵译码器34,熵译码器34对变换和量化到数据流14中的预测残差信号进行熵译码。预测信号26由编码器10的预测级36基于编码到数据流14中并可从数据流14解码的预测残差信号24而产生。为此,如图1中所示,预测级36可在内部包括解量化器38,解量化器38对预测残差信号24''进行解量化,以获得对应于除量化损失外的信号24'的频谱域预测残差信号24''',接着是逆变换器40,逆变换器40对后一预测残差信号24'''进行逆变换(即,频谱到空间变换)以获得对应于除量化损失外的原始预测残差信号24的预测残差信号24''''。然后,预测级36的组合器42诸如通过相加而将预测信号26和预测残差信号24''''重新组合,以获得重构信号46,即,原始信号12的重构。重构信号46可以对应于信号12'。然后,预测级36的预测模块44通过使用例如空间预测(即,图片内预测)和/或时间预测(即,图片间预测)而基于信号46生成预测信号26。
12.同样,如图2中所示的,解码器20可以在内部由对应于预测级36的部件组成,并以对应于预测级36的方式互连。特别地,解码器20的熵解码器50可以对来自数据流的量化的频谱域预测残差信号24''进行熵解码,于是以上文关于预测级36的模块而描述的方式相互连接和协作的解量化器52、逆变换器54、组合器56和预测模块58基于预测残差信号24''而恢复重构信号,从而如图2中所示,组合器56的输出导致重构信号,即图片12'。
13.尽管上面没有具体描述,但很容易清楚的是,编码器10可以根据一些优化方案(诸如例如以优化某种速率和失真相关准则(即,译码成本)的方式)来设置一些译码参数,包括例如预测模式、运动参数等。例如,编码器10和解码器20以及对应的模块44、58可以分别支持不同的预测模式,诸如帧内译码模式和帧间译码模式。编码器和解码器以其在这些预测模式类型之间切换的粒度可分别对应于将图片12和12'细分为译码分段或译码块。例如,以这些译码分段为单位,图片可以细分为被帧内译码的块和被帧间译码的块。如下面更详细地概述的,基于相应块的空间的、已经译码/解码的邻域来预测帧内译码块。可以存在若干帧内译码模式,并为包括方向或角度的帧内译码模式的相应帧内译码分段而选择该若干帧内译码模式,根据这些模式,通过沿着特定于相应方向的帧内译码模式的特定方向将邻域的样本值外推到相应帧内译码分段中来填充相应分段。帧内译码模式可以例如还包括一个或多个其他模式,诸如dc译码模式(根据该dc译码模式,相应的帧内译码块的预测将dc值分配给相应的帧内译码分段内的所有样本),和/或平面帧内译码模式(根据该平面帧内译码模式,相应块的预测被近似或确定为在相应的帧内译码块的样本位置上由二维线性函数描述的样本值的空间分布,具有基于相邻样本而由所述二维线性函数定义的平面的驱动倾斜和偏移)。与之相比,可以例如在时间上预测帧间译码块。对于帧间译码块,可以在数据流内发信号通知运动向量,运动向量指示图片12所属的视频的先前译码的图片的部分的空间位移,在所述部分,对先前译码/解码的图片进行采样,以便获得相应帧间译码块的预测信号。这意味着,除了由数据流14包括的残差信号译码(诸如表示量化的频谱域预测残差信号24''的熵译码变换系数级别)之外,数据流14还可以将以下编码到其中:用于将译码模式分配给各个块的译码模式参数;用于块中的一些的预测参数(诸如用于帧间编码分段的运动参数)以及可选的其他参数(诸如用于控制和发信号通知分别将图片12和12'细分到分段中的参数)。解码器20使用这些参数以与编码器做过的相同的方式细分图片,以将相同的预测模式分配给分段,并执行相同的预测以导致相同的预测信号。
14.图3说明了一方面的重构信号(即重构图片12')与另一方面的如在数据流14中发
信号通知的预测残差信号24''''和预测信号26的组合之间的关系。如已经在上文表示的,该组合可以是相加。预测信号26在图3中被说明为将图片区域细分为使用阴影而说明性地指示的帧内译码块和非阴影而说明性地指示的帧间译码块。该细分可以是任何细分,诸如将图片区域规则地细分为正方形块或非正方形块的行和列,或者将图片12从树根块多叉树(multi-tree)细分为多个大小不同的叶块,诸如四叉树细分等,其中,在图3中说明了它们的混合,其中图片区域首先细分为树根块的行和列,然后根据递归的多叉树细分进一步细分为一个或多个叶块。
15.同样,针对帧内译码块80,数据流14可以具有译码到其中的帧内译码模式,该帧内译码模式将若干支持的帧内译码模式中的一个分配给相应的帧内译码块80。对于帧间译码块82,数据流14可以具有编码到其中的一个或多个运动参数。一般说来,帧间译码块82不限于在时间上被译码。备选地,帧间译码块82可以是从当前图片12本身之外的先前译码的部分预测的任何块,诸如图片12所属的视频的先前译码的图片,或者在编码器和解码器分别是可扩展编码器和解码器的情况下的另一视图或在分层上更低层的图片。
16.图3中的预测残差信号24''''还被说明为将图片区域细分为块84。这些块可以被称为变换块,以便与译码块80和82相区别。实际上,图3说明了编码器10和解码器20可以使用分别将图片12和图片12'细分为块的两种不同的细分,即一种分别细分为译码块80和82,并且另一种分别细分为变换块84。这两个细分可以是相同的,即,每个译码块80和82可以同时形成变换块84,但是图3说明了这样的情况:其中,例如,细分为变换块84的细分形成细分为译码块80、82的细分的扩展,使得块80和82的两个块之间的任何边界覆盖两个块84之间的边界,或者备选地来说,每个块80、82要么与变换块84之一重合,要么与变换块84的集群重合。然而,也可以相互独立地确定或选择细分,以便变换块84能够备选地跨越块80、82之间的块边界。就细分为变换块84的细分而言,由于关于细分为块80、82的细分而提出过的那些陈述,因此类似的陈述是正确的,即,块84可以是将图片区域规则细分为块(有或没有排列成行和列)的结果、图片区域的递归多叉树细分的结果、或其组合或任何其他类型的块化(blockation)。顺便说一句,注意,块80、82和84不限于二次型(quadratic)、矩形或任何其他形状。
17.图3进一步说明了预测信号26和预测残差信号24''''的组合直接导致重构信号12'。然而,应当注意,根据备选实施例,可以将一个以上的预测信号26与预测残差信号24''''组合以导致图片12'。
18.在图3中,变换块84应具有以下意义。变换器28和逆变换器54以这些变换块84为单位执行它们的变换。例如,许多编解码器将某种dst或dct用于所有变换块84。一些编解码器允许跳过变换,以便针对变换块84中的一些而直接在空间域中译码预测残差信号。然而,根据下面描述的实施例,编码器10和解码器20以其支持若干变换的方式配置。例如,由编码器10和解码器20支持的变换可以包括:odct-ii(或dct-iii),其中dct代表离散余弦变换odst-iv,其中dst代表离散正弦变换odct-ivodst-viio恒等变换(it)
自然地,虽然变换器28将支持这些变换的所有前向变换版本,但解码器20或逆变换器54将支持其对应的后向或逆版本:o逆dct-ii(或逆dct-iii)o逆dst-ivo逆dct-ivo逆dst-viio恒等变换(it)应当注意的是,所支持的变换的集合可以仅包括一个变换,诸如一个频谱到空间或空间到频谱变换。
19.如上已经概述的,图1至图3已经作为示例呈现,其中可以实现下面进一步描述的本发明的概念,以便形成针对根据本技术的编码器和解码器的特定示例。到目前为止,图1和27的编码器和解码器分别可以表示下文中描述的编码器和解码器的可能实现。然而,图1和图2只是示例。然而,根据本技术的实施例的编码器可以使用下面更详细概述的概念来执行图片12的基于块的编码,并且与图1的编码器的不同之处诸如例如在于其不支持帧内预测、或者在于以不同于图3中举例说明的方式执行对块80的细分。同样,根据本技术的实施例的解码器可以使用下面进一步概述的译码概念对来自数据流14的图片12'执行基于块的解码,但是可能例如与图2的解码器20的不同之处在于其不支持帧内预测、或者其以不同于关于图3所描述的方式来将图片12'分成块和/或其例如不在变换域中而是在空间域中从数据流14导出预测残差。
20.存在出于若干目的利用分辨率自适应的若干应用,例如,针对吞吐量变化或针对感兴趣区域(roi)用例的码率自适应。
21.当前的vvc草案指定了通常被称为参考图片重采样的过程,该过程允许在roi编码过程的视频序列内具有变化的图片大小,如图6至图8所示的示例中。为此,vvc规范草案包括序列参数集(sps)中的最大图片大小、图片参数集(pps)中的实际图片大小和允许导出当前图片和参考图片之间需要使用的扩展比率(scalingratio)的pps中的扩展窗口偏移(例如图8中的红边)。
22.在已经描述了可将本技术的实施例内置于其中的编码器和解码器框架的可能实现之后,本说明书首先再次参考当前的vvc开发,并为后面概述的实施例的具体内容提供动机。
23.在vvc中,考虑ppss中为当前图片(picoutputwidthl)和参考图片(frefwidth)定义的扩展窗口,使用图片宽度到处扩展比率,如下:picoutputwidth和picoutputheight在下文中有时也被称为currpicscalwinwidth和currpicscalwinheight。
24.扩展比率《1-即refpicscale值《(1《《14)-表示当前图片比参考图片大,以及扩展
比率》1-即refpicscale值》(1《《14)表示当前图片比参考图片小。
25.当前的vvc草案规定了4个插值滤波器,用于使用分数样本差值进行最多1/16的样本的运动补偿。第一个插值滤波器曾是针对当没有参考图片rpr重采样时d常规运动补偿情况设计的,并且不是仿射(affine)模式。针对使用仿射模式的情况,设计了第二个插值滤波器。剩下的两个插值滤波器用于用因子1.5和2进行下采样。
26.扩展比率允许从1/8(8x上采样)到2(2x下采样)。根据是否使用仿射模式和扩展比率,使用四个滤波器中的一个。条件如下:
·
使用仿射模式=》用于仿射的插值滤波器
·
扩展比率》1.75=》使用2x下采样的插值滤波器
·
1.25《扩展比率《=1.75=》使用1.5x下采样插值滤波器
·
扩展比率《=1.25=》如同曾没有rpr的常规插值滤波器对于其中当前图片大于参考图片的分辨率变化,或者当当前图片小于参考图片时对于非常小的比率值(扩展比率《=1.25x下采样因子),使用常规插值滤波器。
27.用于其中不使用仿射模式、或不存在rpr(扩展比率=1)或扩展比率小于或等于1.25的情况的常规插值滤波器可以应用特定的平滑滤波器。
28.1/16采样常规插值滤波器在vvc中定义为8抽头(tab)滤波器。但是,vvc规范定义了特殊的6抽头平滑滤波器,用于以下情况中:
·
无块内复制(ibc)模式
·
以1/2亮度样本分辨率发信号通知运动向量差值分辨率。
29.当使用自适应运动向量分辨率并且运动向量差值处于半采样分辨率时,使用该6抽头平滑滤波器。该滤波器在图9中被复制。
30.在vvc中给定1/16小数采样精度,小数采样位置p=8对应于半采样位置(8/16=1/2)。变量hpelifidx等于1指示是否对半采样位置使用6抽头平滑滤波器(突出显示的)。当amvrshift等于3时,hpelifidx设置为1,如果不使用ibc模式,则表示半采样mvd分辨率。这是在位流中使用等于1的语法amvr_flag和等于0的语法amvr_precision_idx而发信号通知的。还参见图10。
31.当不使用rpr时,在上述情况下,平滑滤波器用于生成参考块中的每个样本,因为块中的每个样本参考相同的分数(半采样)插值位置。然而,当使用rpr时,每个样本可能参考不同的分数插值位置。
32.在下面的文本中注意,当前块中的n-样本差值(或)受到扩展比率的影响。
33.–
对于预测亮度样本阵列predsampleslx内的每个亮度样本位置,对应的预测亮度样本值predsampleslx[x
l
][y
l
]导出如下:

设(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)是以1/16样本单位给出的运动向量(refmvlx[0],refmvlx[1])所指向的亮度位置。变量refxsb
l
、refx
l
、refysb
l
和refy
l
导出如下:
其中,scaling_win_left_offset可以计算为subwidthc x pps_scaling_win_left_offset,并且scaling_win_top_offset可以计算为subheightc x pps_scaling_win_top_offset。
[0034]
例如,让我们假设当前图片比参考图片大2倍。这在图4a中描绘,其中用表示参考(d)图片的样本的叉号和表示当前图片的样本的块圈在空间上叠加示出参考图片和当前图片的样本。示出了当前图片的当前4x4块。该块的运动向量用箭头表示。它以相对于当前图片的样本的像素网格而以半像素分辨率定义。使用白圈示出所得到的块样本在参考图片内的位置,参考图片要在该位置被插值以产生当前图片中的块的预测器。示例性地选择运动向量,使得样本x’l = 0(4x4块的左上样本)指向半采样位置,并且样本x’l = 1(其右侧的样本)将指向整数或全采样位置,这两个位置相对于参考图片被指示为半像素或全像素。如图4b中所示,对于具有相同分辨率的参考图片和当前图片以及以半像素分辨率定义的运动矢量,不会出现导致与不同像素位置(或换句话说,不同相位)相关联的像素的这种情况。类似地,如果扩展将是4x而不是2x,并且样本x’l = 0将指向半采样位置,则样本x’l = 1将指向四分之一样本位置,并且样本x’l = 2将指向整数样本位置。
[0035]
这意味着在单个块内,一些样本将使用平滑滤波器,而一些不使用,这将导致不愉快的视觉效果和可见的伪影。
[0036]
在一个实施例中,修改运动补偿步骤中的变量hpelifidx的导出,以包括当前图片和参考图片之间的扩展比率,如下:如果amvrshift等于3并且扩展比率==1,则hpelifidx=1,即,refpicscale等于16384。
[0037]
图4c示出了根据本发明的视频解码器。视频解码器410使用运动补偿预测从数据流420解码视频450。运动预测可以在运动预测部分440中执行,并且基于在数据流420中传送的第一运动向量423和第二运动向量424。
[0038]
第一运动向量423以为半采样分辨率的第一分辨率在数据流420中传送,第二运动向量423以不同于第一分辨率的第二分辨率在数据流420中传送。
[0039]
运动补偿在相等图片分辨率的第一图片421和不同图片分辨率的第二图片422之间执行,即,支持rpr,或者换句话说,运动向量可以从当前图片指向与当前图片相同分辨率的参考图片,然后两者形成第一图片,并且运动向量可以从当前图片指向与当前图片不同
分辨率的参考图片,然后两者形成第二图片。因此,图片大小和/或分辨率可以变化,并且在数据流中被发信号通知。使用插值滤波器431和432执行运动补偿,以获得参考图片内(即参考样本阵列内)的子样本值。
[0040]
视频解码器410例如在选择部分430中从第一插值滤波器版本431和第二插值滤波器版本432中选择用于预定第一运动向量的插值滤波器。第二插值滤波器版本432具有比第一插值滤波器版本431更高的边缘保持(edge preserving)特性。如将在下面更详细地示出的,该选择可以特定于特定相位的样本,或者不同地说,在诸如半像素位置的特定子像素位置处。
[0041]
该插值滤波器的选择正依赖于所述预定第一运动向量所属的当前图片在图片分辨率上是否与所述预定第一运动向量相关的参考样本阵列相等。该选择和对相等性的检查可以分别针对维度(即水平和/或垂直维度)进行。附加地或备选地,所述选择还可以依赖于在数据流中传送的约束信息425,如下面将更详细地概述的。
[0042]
在图4c中未示出约束信息425的依赖性。
[0043]
此外,编码器和解码器可以在不使用插值滤波器的情况下获得用于预定第一运动向量的参考样本阵列内的全采样值。例如,在图4a和4b中,如果以诸如使用amvrshift =3的半像素分辨率在数据流中传送运动向量,则其中所示的运动向量是“第一运动向量”。在图4和4b中通过圆圈示出了预测块的样本根据各自的运动向量移位到的位置。那些落在叉号上的圆圈是“全采样值”。它们可以在没有任何插值的情况下直接从参考图片(叉号)的并置样本中确定。即,帧间预测块的样本的移位位置直接落在其上的参考图片的样本的样本值被直接用作移位位置落在它们之上的帧间预测块的样本的预测器。自然地,对于具有第二运动向量(即以半像素以外的分辨率在数据流中传送的运动向量)的帧间预测块的移位样本位置,也可以适用相同的方法。
[0044]
此外,解码器可以通过使用另外的插值滤波器(例如使用具有比第一插值滤波器版本更高的边缘保持特性的滤波器)来获得非半采样子样本值。再次参见图4a和4b。“非半采样子样本值”是指既不落在任何参考图片样本上,也不放在参考图片的两个水平、垂直或对角线紧邻样本之间的那些圆圈,即,既不落在任何叉号上,也不放在两个水平的、垂直的或对角线紧邻叉号之间的中间。为此,使用了更高边缘保持特性的插值滤波器。参见图4d,其中针对四分之一像素位置示出:块的最上面和第二个从左开始的样本的移动位置是四分之一像素位置。它是从参考图片样本(图4d中的左上叉号)向右离开整个样本间距的第12/16的样本位置。要被用于确定所述移位样本的值的插值滤波器(即,最上面和从左起第二个白色圆圈)因此在图9的表格的对应条目(即,第12/16位置的条目)中被定义。这是fir滤波器。该表包括将应用于参考图片的样本的滤波器系数,待插值的样本位置位于该参考图片样本之间。图4d突出显示了其中定义插值滤波器的条目,并根据该滤波器说明了参考图片样本中加权的一些参考图片样本,以产生插值的四分之一像素样本。注意,可以首先应用水平插值,以便在参考图片的样本之间的子像素位置处获得样本值,然后使用这些插值的中间样本执行垂直插值,以便获得实际所需的子像素样本,如果所需的子像素样本以子像素精度垂直地又水平地(或者反之亦然,即,先垂直地再水平地)偏离(offset)参考图片样本。同样,在两个半像素样本位置插值滤波器版本之间的选择可以针对水平和垂直方向分别进行,也可以针对两个方向全局进行,这依赖于图片分辨率在两个维度上的相等性。
[0045]
如上所述,可以针对水平插值和垂直插值分别执行选择。在图4d中,在关于半像素位置8/16的两个条目处说明了选择:采用哪个滤波器依赖于hpelifidx。后一个变量的设置依赖于,例如,参考图片和当前图片是否具有相同的分辨率。后一种对相等性的检查可以针对a和y分别执行,如下通过使用术语hpelhorifidx和hpelverifidx所说明的。特别地,如果当前图片和参考样本阵列在水平图片分辨率上不相等,则可以选择第二插值滤波器(即具有更高边缘保持特性的滤波器)来进行水平插值。这是在表中hpelifidx=0的行中定义的滤波器。同样,例如,如果当前图片和参考样本阵列在垂直图片分辨率上不相等,则可以选择第二插值滤波器(即具有更高边缘保持特性的滤波器)用于垂直插值。并且,如果当前图片和参考样本阵列在水平和垂直图片分辨率上不相等,则可以选择第二插值滤波器(即具有更高边缘保持特性的滤波器)进行水平和垂直插值。对于不使用第二插值滤波器的任何方向,使用第一插值滤波器,即,表中hpelifidx=1的行中的那个。
[0046]
在两个半像素位置插值滤波器中选择哪个滤波器自然可以解释为对所有运动向量执行,而不仅仅是为半像素运动向量的那些运动向量。以此宽广的角度来看,两者之间的选择也依赖于运动向量是否具有半采样分辨率。如果是,则依赖于参考图片和当前图片之间的的分辨率相等性来进行选择,如果不是,则不可避免地采用具有更高边缘保持特性的第二插值滤波器来进行选择。
[0047]
从上面的描述可以清楚地看出,解码器可以使用数据流中的一个或多个语法元素的字母表,以便确定在数据流中传送某个运动向量所处于的分辨率。例如,自适应运动向量分辨率可以由amvr_flag指示,并且如果设置了amvr_flag,则由此与从某些默认运动向量分辨率的偏差一致,并且自适应运动向量分辨率精度可以由索引amvr_precision_idx指示。该语法被解码器解码后用于导出在数据流中传送特定的帧间预测块的运动向量所处于的分辨率,并且该语法被编码器相应地译码以指示运动向量的分辨率。
[0048]
解码器和编码器可以将半像素分辨率从运动向量分辨率的可发信号通知的(signalable)设置的集合中排除。如果满足以下条件之一,则它们可以将所述一个或多个语法元素的字母表映射到不包括半采样分辨率的第一组向量分辨率上(否则,将执行到包括半采样分辨率的第二组向量分辨率上的映射):
·
约束信息指示具有更低的边缘保持特性的滤波器版本例如针对当前图片被禁用,这可以例如在图片或切片标头中指示,并且可以例如通过约束等于1的ph_disable_hpel_smoothing_filter或sh_disable_hpel_smoothing_filter。
[0049]
·
预定第一运动向量所属的当前图片和预定第一运动向量相关的参考样本阵列至少在图片分辨率的一个维度上不同。
[0050]
·
约束信息指示启用参考样本阵列的重采样。这可以例如在序列参数集sps中的序列级别上指示。这类指示的示例是等于1的sps_ref_picture_resample_enable_flag。因此,当启用参考样本阵列重采样时,使用具有更高边缘保持特性的滤波器版本。
[0051]
如果上述条件都没有一个满足,则解码器将把字母表映射到包括半采样分辨率的第二组向量分辨率上。
[0052]
还注意到,数据流可以包括时间性连续图片是否具有相同或不同的水平和/或垂直图片分辨率维度的信息。
[0053]
此外,如上所述,当前图片尤其可以在水平和垂直维度上与参考样本阵列在图片
分辨率上相等。
[0054]
并且参考样本阵列可以是区域、子图片或图片。
[0055]
解码器还可以以每图片序列地、逐图片地或逐切片地中的一个从所述数据流导出所述约束信息。
[0056]
图5说明了根据本发明的视频编码器。其中同样的原理适用于该解码器。总之,视频编码器510使用运动补偿预测将视频550编码到数据流520中。可以在运动预测部分540中执行该运动预测。编码器510以通过在数据流520中传送第一运动向量523和第二运动向量524指示。
[0057]
第一运动向量523以为半采样分辨率的第一分辨率在数据流520中传送,第二运动向量523以不同于第一分辨率的第二分辨率在数据流520中传送。
[0058]
使用插值滤波器531和532在具有相等的图片分辨率的第一图片521和具有不同图片分辨率的第二图片522之间执行运动补偿,以获得参考图片内(即参考阵列内)的子样本值。
[0059]
视频编码器510例如在选择部分530中从第一插值滤波器版本531和第二插值滤波器版本532中选择用于预定第一运动向量的插值滤波器。第二插值滤波器版本532具有比第一插值滤波器版本531更高的边缘保持特性。
[0060]
所述插值滤波器的选择依赖于所述预定第一运动向量所属的当前图片在水平和/或垂直维度上是否与所述预定第一运动向量相关的参考样本阵列在图片分辨率上相等。附加地或备选地,选择还可以依赖于要在数据流中传输的约束信息525。
[0061]
如前所述,可以由解码器体现的相同原理也可以由编码器体现。
[0062]
因此,编码器也可以在不使用插值滤波器的情况下获得用于预定第一运动向量的参考样本阵列内的全采样值。
[0063]
此外,编码器可以通过使用另外的插值滤波器(例如使用具有比第一插值滤波器版本更高的边缘保持特性的滤波器)来获得非半采样子采样值。
[0064]
如上所述,可以针对水平插值和垂直插值分别执行选择。
[0065]
特别地,如果当前图片和参考样本阵列在水平图片分辨率上不相等,则可以选择第二插值滤波器(即具有更高边缘保持特性的滤波器)进行水平插值。
[0066]
同样,例如,如果当前图片和参考样本阵列在垂直图片分辨率上不相等,则可以选择第二插值滤波器(即具有更高边缘保持特性的滤波器)进行垂直插值。
[0067]
并且,如果当前图片和参考样本阵列在水平和垂直图片分辨率上不相等,则可以选择第二插值滤波器(即具有更高边缘保持特性的滤波器)进行水平和垂直插值。
[0068]
还可以依赖于预定的第一运动向量是否具有半采样分辨率来执行选择。
[0069]
此外,为了选择运动向量的分辨率,如果当前图片在水平和/或垂直维度上与参考样本阵列在图片分辨率上相等,则编码器可以制止对一个或多个向量使用半采样分辨率。
[0070]
为了选择,编码器可以映射数据流中的指示预定第一运动向量的分辨率的一个或多个语法元素的字母表。例如,自适应运动向量分辨率可以由amvr_flag指示,自适应运动向量分辨率精度可以由amvr_precision_idx指示,如果满足以下条件之一,编码器可以将字母表映射到不包括半采样分辨率的第一组向量分辨率上:
·
约束信息指示具有更低的边缘保持特性的滤波器版本例如针对当前图片被禁用,这可以例如在图片或切片标头中指示,并且可以例如通过约束等于1的ph_disable_hpel_smoothing_filter或sh_disable_hpel_smoothing_filter。
[0071]
·
预定第一运动向量所属的当前图片和预定第一运动向量相关的参考样本阵列至少在图片分辨率的一个维度上不同。
[0072]
·
约束信息指示启用参考样本阵列的重采样。这可以例如在序列参数集sps中的序列级别上指示。这类指示的示例是等于1的sps_ref_picture_resample_enable_flag。因此,当启用参考样本阵列重采样时,使用具有更高边缘保持特性的滤波器版本。
[0073]
如果上述条件没有一个满足,编码器可以将字母表映射到包括半采样分辨率第二组向量分辨率上。
[0074]
还注意到,数据流可以包括时间性连续图片是否具有相同或不同的水平和/或垂直图片分辨率维度的信息。
[0075]
此外,如上所述,当前图片尤其可以在水平和垂直维度上与参考样本阵列在图片分辨率上相等。
[0076]
并且参考样本阵列可以是区域、子图片或图片。
[0077]
编码器还可以以每图片序列地、逐图片地或逐切片地中的一个从所述数据流导出约束信息。
[0078]
最后,当具有用于采用上述原理的软件代码部分的程序在处理设备上运行时,上述原理还可以用包括该程序的计算机程序产品来实现。此外,该计算机程序产品还可以被体现为其上存储软件代码部分的计算机可读介质。
[0079]
上面和下面列出的原理也可以体现为通过编码或由编码器产生的数据流,如本文档中所描述的。
[0080]
让我们回到对修改当前vvc草案的实施例的描述。例如,在图5中未示出约束信息的依赖性。
[0081]
在一个实施例中,修改运动补偿步骤中的变量hpelifidx的导出,以在sps中的序列级别上并入用于参考图片信令的启用标志,并且仅当参考图片重采样被禁止时才使用平滑滤波器系数,如下:如果amvrshift等于3并且sps_ref_picture_resample_enable_flag == 0,则hpelifidx = 1,即,参考图片重采样被禁用。
[0082]
在另一个实施例中,控制语法标志被添加到图片或切片标头,以指示是否对当前图片禁用平滑滤波器。然后hpelifidx导出如下:如果amvrshift等于3,并且控制标志等于0(例如,ph_disable_hpel_smoothing_filter或sh_disable_hpel_smoothing_filter),则hpelifidx=1。
[0083]
在另一实施例中,在以下情况时,变量amvrshift的推导被修改以包括关于参考图片重采样的信息,诸如以及等于3的避免值(avoid value)
·
ph_disable_hpel_smoothing_filter或sh_disable_hpel_smoothing_filter等于1,或
·
扩展比率!=1(scaling ratio != 1),即,refpicscale 不等于16384,或
·
sps_ref_picture_resample_enable_flag == 1
在另一实施例中,当rpr用于参考图片时,即,如果当前图片和参考图片的大小不相等,或者从扩展窗口导出的扩展比率不等于1,即,refpicscale 不等于16384,则位流约束的一种是amvrshift不等于3。
[0084]
因此,水平和垂直半采样插值滤波器索引hpelhorifidx和hpelverifidx导出如下:尽管已在装置的情境下描述一些方面,但显然这些方面也表示对应的方法的描述,其中,块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤的情境下描述的方面也表示对应的装置的对应的块或项目或特征的描述。方法步骤的一些或全部可以通过(或使用)如例如微处理器、可编程计算机或电子电路那样的硬件装置来执行。在一些实施例中,最重要的方法步骤中的一个或多个可以由这样的装置执行。
[0085]
本发明的数据流可以存储在数字存储介质上,或者可以在诸如无线传输介质的传输介质或诸如因特网的有线传输介质上传送。
[0086]
依赖于某些实现方式要求,本发明的实施例能够以硬件实现或以软件实现。实现方式能够使用数字存储介质(例如,软盘、dvd、蓝光、cd、rom、prom、eprom、eeprom或闪速存储器)来实行,该数字存储介质具有存储于其上的电子可读的控制信号,该控制信号与可编程计算机系统合作(或能够与其合作),使得实行相应的方法。因此,数字存储介质可以是计算机可读的。
[0087]
根据本发明的一些实施例包括数据载体,该数据载体具有电子可读的控制信号,该控制信号能够与可编程计算机系统合作,使得实行本文中所描述的方法之一。
[0088]
一般而言,本发明的实施例能够实现为具有程序代码的计算机程序产品,程序代码是操作性的,以便当计算机程序产品在计算机上运行时,实行方法之一。程序代码可以例如存储于机器可读载体上。
[0089]
其它实施例包括存储于机器可读载体上的用于实行本文中所描述的方法之一的计算机程序。
[0090]
换而言之,因此,本发明的方法的实施例是一种计算机程序,该计算机程序具有用于当计算机程序在计算机上运行时实行本文中所描述的方法之一的程序代码。
[0091]
因此,本发明的方法的另外的实施例是一种数据载体(或数字存储介质或计算机可读介质),该数据载体包括记录于其上的用于实行本文中所描述的方法之一的计算机程序。数据载体、数字存储介质或所记录的介质典型地是有形和/或非暂时性的。
[0092]
因此,本发明的方法的另外的实施例是一种数据流或信号序列,该数据流或信号序列表示用于实行本文中所描述的方法之一的计算机程序。该数据流或信号序列可以例如配置成经由数据通信连接(例如,经由互联网)转移。
[0093]
另外的实施例包括配置成或适于实行本文中所描述的方法之一的处理部件,例如计算机或可编程逻辑设备。
[0094]
另外的实施例包括一种计算机,该计算机具有安装于其上的用于实行本文中所描
述的方法之一的计算机程序。
[0095]
根据本发明的另外的实施例包括配置成将用于实行本文中所描述的方法之一的计算机程序转移(例如,电子地或光学地)到接收器的装置或系统。接收器可以例如是计算机、移动设备、存储器设备等等。该装置或系统可以例如包括用于将计算机程序转移到接收器的文件服务器。
[0096]
在一些实施例中,可编程逻辑设备(例如,现场可编程门阵列)可以用于实行本文中所描述的方法的功能性中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器合作,以便实行本文中所描述的方法之一。一般而言,该方法优选地通过任何硬件装置来实行。
[0097]
本文中所描述的装置可以使用硬件装置或使用计算机或使用硬件装置和计算机的组合来实现。
[0098]
本文中描述的装置或本文中描述的装置的任何组件可以至少部分地在硬件和/或软件中实现。
[0099]
本文中所描述的方法可以使用硬件装置或使用计算机或使用硬件装置和计算机的组合来实行。
[0100]
本文中描述的方法或本文种描述的装合作的任何组件可以至少部分地通过硬件和/或软件来执行。
[0101]
上述实施例仅说明本发明的原理。理解的是,对于本领域的其他技术人员来说,本文中所描述的布置和细节的修改和变化将是显而易见的。因此,本发明的意图仅由即将提出的专利权利要求的范围所限制,而不由以描述和解释本文中实施例的方式而呈现的具体细节所限制。
再多了解一些

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

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

相关文献