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

用于自适应分辨率视频编码的帧间编码的制作方法

2021-11-03 20:42:00 来源:中国专利 TAG:

用于自适应分辨率视频编码的帧间编码


背景技术:

1.在诸如h.264/avc(高级视频编码)和h.265/hevc(高效率视频编码)标准之类的常规视频编码格式中,序列中的视频帧的大小和分辨率以序列级被记录在头部中。因此,为了改变帧的分辨率,必须从帧内编码帧开始生成新的视频序列,与帧间编码帧相比,帧内编码帧要传输的带宽成本要大得多。因此,尽管期望当网络带宽变低、减小或节流时在网络上自适应地发送下采样的低分辨率视频,但是在使用常规视频编码格式时难以实现带宽节省,因为自适应地下采样的带宽成本抵消了带宽增益。
2.已经进行了研究以支持在发送帧间编码帧时改变分辨率。在由aom开发的av1编解码器的实现中,提供了一种称为切换帧(switch_frame)的新帧类型,其可以以与以前的帧不同的分辨率进行传输。但是,由于switch_frame的运动矢量编码无法参考先前帧的运动矢量,因此switch_frame的使用受到限制。此类参考通常提供降低带宽成本的另一种方法,因此使用switch_frames仍会维持更大的带宽消耗,从而抵消了带宽增益。
3.此外,现有的运动编码工具仅基于平移运动模型执行运动补偿预测(mcp)。
4.在下一代视频编解码器规范vvc/h.266的开发中,提供了几种新的运动预测编码工具,以进一步支持参考先前帧的运动矢量编码以及基于除了平移运动的不规则运动类型的mcp。需要新技术以便针对这些新编码工具在比特流中实现分辨率变化。
附图说明
5.详细描述参照附图得以阐述。在附图中,附图标记的最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记表示相似或相同的项目或特征。
6.图1a和1b分别示出了用于4参数仿射运动模型和6参数仿射运动模型的多个cmpv的配置。
7.图2示出了获得块的亮度分量的运动信息的示意图。
8.图3示出了根据仿射运动预测编码选择帧的cu的运动候选的示例。
9.图4示出了获得继承的仿射合并候选的示例。
10.图5示出了获得构造的仿射合并候选的示例。
11.图6示出了基于模板匹配的dmvr双向预测过程的示意图。
12.图7示出了视频编码过程的示例性框图。
13.图8a、图8b和图8c示出了实现分辨率自适应视频编码的视频编码方法的示例流程图。
14.图9a、图9b和图9c示出了实现分辨率自适应视频编码的视频编码方法的其他示例流程图。
15.图10示出了用于以运动预测编码格式实现用于实现分辨率自适应视频编码的过程和方法的示例系统。
16.图11示出了用于以运动预测编码格式实现用于实现分辨率自适应视频编码的过程和方法的示例系统。
具体实施例
17.本文讨论的系统和方法旨在实现视频编码中的自适应分辨率,更具体地,涉及基于vvc/h.266标准提供的运动预测编码工具的对重建帧进行上采样和下采样以实现帧间自适应分辨率变化。
18.根据本公开的示例实施例,运动预测编码格式可以指通过包含对运动信息和一个或更多个其他帧的预测单元(prediction unit,pu)的一个或更多个参考来对帧的运动信息和pu进行编码的数据格式。运动信息可以指的是描述帧或其单元或子单元的块结构的运动的数据,诸如运动矢量以及对当前帧或另一帧的块的参考。pu可指代帧的多个块结构中的与块结构相对应的一单元或多个子单元,例如编码单元(cu),其中,基于帧数据对块进行划分,并根据已建立的视频编解码器对块进行编码。对应于预测单元的运动信息可以描述由任何运动矢量编码工具编码的运动预测,包括但不限于本文所述的那些。
19.根据本公开的示例实施例,运动预测编码格式可以包括仿射运动预测编码和解码器侧运动矢量细化(decoder

side motion vector refinement dmvr)。这里将描述与本公开的示例实施例有关的这些运动预测编码格式的特征。
20.根据仿射运动预测编码的解码器可以获得比特流(该比特流根据采用仿射运动模型的编码格式编码)的当前帧,并且获得重建帧(“仿射运动预测编码的重建帧”)。当前帧可以被帧间编码。
21.可以通过仿射运动补偿预测来预测仿射运动预测编码的重建帧的cu的运动信息。运动信息可以包括多个运动矢量,包括多个控制点运动矢量(control point motion vector,cpmv)和获得的运动矢量。如图1a和图1b所示,多个cpmv可包括用作两个控制点的cu的两个运动矢量和v1或作为三个控制点的cu的三个运动矢量和其中是cu左上角的控制点,是cu右上角的控制点,是cu左下角的控制点。可以通过仿射运动模型从控制点和cu的采样位置(x,y)像素中获得获得的运动矢量,其可以是两个控制点的4参数仿射运动模型,也可以是三个控制点的6参数仿射运动模型。
22.采用位置(x,y)处的运动矢量可以通过以下操作从两个控制点得出:
23.采用位置(x,y)处的运动矢量可以通过以下操作从三个控制点得出:
24.可以通过获得块的亮度分量的运动信息,以及通过对块的运动信息应用基于块的仿射变换来获得块的色度分量的运动信息,来进一步预测运动信息。
25.如图2所示,可以将块的亮度分量划分为4
×
4像素的亮度子块,其中对于每个亮度
子块,可以根据上述的操作,从整个cu控制点获得亮度子块的中心在采样位置处的亮度运动矢量。从整个cu的控制点进行上述操作。获得的亮度子块的亮度运动矢量可以被精确到1/16的精度。
26.所述块的色度分量可以被划分为4
×
4像素的色度子块,其中每个色度子块可以具有四个相邻的亮度子块。例如,相邻的亮度子块可以是色度子块下方、左侧、右侧或上方的亮度子块。对于每个色度子块,可以从相邻亮度子块的亮度运动矢量的平均值得出运动矢量。
27.运动补偿插值滤波器可以被应用于每个子块的获得的运动矢量以生成每个子块的运动预测。
28.仿射运动预测编码重建帧的cu的运动信息可以包括运动候选列表。运动候选列表可以是包含对多个运动候选的参考的数据结构。运动候选可以是块结构或其子单元,例如像素或当前帧的块结构的任何其他合适的细分,或者可以是对另一帧的运动候选的参考。运动候选可以是空间运动候选或时间运动候选。通过应用运动矢量补偿(motion vector compensation,mvc),解码器可以从运动候选列表中选择运动候选,并获得运动候选的运动矢量作为重建帧的cu的运动矢量。
29.图3示出了根据本公开的示例实施例的根据仿射运动预测编码的用于帧的cu的运动候选的示例选择。
30.根据本公开的示例实施例,其中,仿射运动预测编码重建帧的仿射运动预测模式是仿射合并模式,帧的cu的宽度和高度均大于或等于8个像素。运动候选列表可以是仿射合并候选列表,并且可以包括多达五个cpmvp候选。cu的编码可包含合并索引。合并索引可以指仿射合并的cpmvp候选。
31.可以基于从当前cu的空间相邻块或时间相邻块的运动信息获得的控制点运动矢量预测值(control point motion vector predictor,cpmvp)候选来生成当前cu的cpmv。
32.如图3所示,存在帧的当前cu的多个空间上相邻的块。当前cu的空间上邻近的块可以是邻近当前cu的左侧的块和邻近当前cu的顶部的块。空间上相邻的块具有与图3的左右方向和上下方向相对应的左右关系和上下关系。通过图3的示例,根据作为仿射合并模式的仿射运动预测模式编码的帧的仿射合并候选列表可以包括多达以下cpmvp候选:
33.左侧空间相邻块(a0);
34.上方空间相邻块(b0);
35.右上空间相邻块(b1);
36.左下空间相邻块(a1);和
37.左上空间相邻块(b2)。
38.在本文中示出的在空间上相邻的块中,块a0可以是当前cu302的左侧的块;块a1可以是当前cu 302的左侧的块;块b0可以是当前cu 302上方的块;块b1可以是当前cu 302上方的块;b2可以是当前cu 302上方的块;每个空间上的相邻块相对于当前cu 302或相邻块相对于彼此的相对位置将不被进一步限制。关于每个空间相邻块与当前cu 302或相邻块彼此的相对大小也将不被限制。
39.根据作为仿射合并模式的仿射运动预测模式编码的帧的cu的仿射合并候选列表可以包括以下cpmvp候选:
40.至多两个继承的仿射合并候选;
41.构造的仿射合并候选;和
42.零运动矢量。
43.继承的仿射合并候选可以从具有仿射运动信息的空间上邻近的块获得。即,空间上相邻的块属于具有cpmv的cu。
44.可以从不具有仿射运动信息的空间上相邻块和时间上相邻块中获得构造的仿射合并候选,即,可以从属于仅具有平移运动信息的cu的空间上相邻块和时间上相邻块中获得cpmv。
45.零运动矢量可具有(0,0)的运动偏移。
46.最多一个继承的仿射合并候选可以通过搜索当前cu的左侧空间相邻的块而得到,并且最多一个继承的仿射合并候选可以通过搜索当前cu上方的空间相邻的块而得到。在每种情况下,对于具有仿射运动信息的第一空间相邻块,可以以a0和a1的顺序搜索左空间相邻块,并且可以以b0、b1和b2的顺序搜索上方空间相邻块。在左空间相邻块中找到这样的第一空间相邻块的情况下,从第一空间相邻块的cpmv获得cpmvp候选,并将其添加到仿射合并候选列表。在上方空间相邻块中找到这样的第一空间相邻块的情况下,从第一空间相邻块的cpmv获得cpmvp候选,并将其添加到仿射合并候选列表。在以这种方式获得两个cpmvp候选的情况下,在获得的cpmvp候选中不执行修剪检查,即,不检查两个获得的cpmvp候选是否为相同的cpmvp候选。
47.图4示出了获得继承的仿射合并候选的示例。当前cu 402具有在空间上左侧相邻的块a。该块a属于cu 404。当根据4参数仿射模型对块a进行编码时,cu 404可具有以下仿射运动信息:是cu 404左上角的cpmv,是cu 404右上角的cpmv。在找到块a时,可以获得cpmv的和并且可以根据cpmv的和来计算用于采样位置的当前cu 402的cpmv和从而得到4参数仿射合并候选。
48.当根据6参数仿射模型对块a进行编码时,cu 404可另外具有以下仿射运动信息:是在cu的左下角处的cpmv。在找到块a时,可以获得cpmv和并且可以根据cpmv和来计算用于采样位置的当前cu 402的cpmv和从而得到6参数仿射合并候选。
49.图5示出了获得构造的仿射合并候选的示例。可以从当前cu502的四个cpmv中获得仿射合并候选,其中当前cu 502的每个cpmv可以对从当前cu 502的空间相邻块或从当前cu 502的时间相邻块中搜索而获得。
50.推导cpmv时可以参考以下块:
51.左侧空间相邻块(a1);
52.左侧空间相邻块(a2);
53.上方空间相邻块(b1);
54.右上空间相邻块(b0);
55.左下空间相邻块(a0);
56.左上空间相邻块(b2);
57.上方空间相邻块(b3);和
58.时间相邻块(t)。
59.可以为当前cu 502获得以下cpmv:
60.左上方的cpmv(cpmv1);
61.右上方的cpmv(cpmv2);
62.左下cpmv(cpmv3);和
63.右下方的cpmv(cpmv4)。
64.可以通过按照b2、b3和a2的顺序搜索空间上的相邻块并根据相关技术中发现的标准选择第一可用的空间上相邻的块来获得cpmv1,在此不再赘述。
65.可以通过按照b1和b0的顺序搜索空间相邻块并且同样选择第一可用空间相邻块来获得cpmv2。
66.可以通过按照a1和a0的顺序搜索空间相邻块并且同样选择第一可用空间相邻的块来获得cpmv3。
67.可以从时间相邻块t(如果有)获得cpmv4。
68.构造的仿射合并候选可以使用以下组合中的当前cu 502的cpmv的给定顺序的第一个可用组合来构造:
69.{cpmv1,cpmv2,cpmv3};
70.{cpmv1,cpmv2,cpmv4};
71.{cpmv1,cpmv3,cpmv4};
72.{cpmv2,cpmv3,cpmv4};
73.{cpmv1,cpmv2};和
74.{cpmv1,cpmv3}。
75.在使用三个cpmv的组合的情况下,将生成6参数仿射合并候选。如果使用两个cpmv的组合,则会生成4参数仿射合并候选对象。然后将构造的仿射合并候选添加到仿射合并候选列表。
76.对于不具有仿射运动信息的块,例如属于根据时间运动矢量预测器(temporal motion vector predictor,tmvp)编码格式编码的cu的块,cu的编码可以包括帧间预测指示器。帧间预测指示器可以参考被称为列表0的第一参考图片列表来指示列表0预测,参考被称为列表1的第二参考图片列表来指示列表1预测或参考分别被称为列表0和列表1两个参考图片来指示双向预测。在帧间预测指示器指示列表0预测或列表1预测的情况下,cu的编码可以包括参考索引,该参考索引参考分别由列表0或列表1参考的参考帧缓存的参考图片。在帧间预测指示器指示双向预测的情况下,cu的编码可以包括参考由列表0参考的参考帧缓存的第一参考图片的第一参考索引,以及参考由列表1参考的参考帧缓存的第二参考图片的第二参考索引。
77.帧间预测指示器可以被编码为帧间编码的帧的切片头中的标志。一个或更多个参考索引可以被编码在帧间编码的帧的切片头中。可以进一步分别对相应于一个或更多个参考索引的一个或两个运动矢量差(motion vector difference,mvd)进行编码。
78.在如上所述的cpmv的特定组合中,cpmv的多个参考索引不同的情况下,即cmpv可以从参考具有不同分辨率的不同参考图片的cu派生而来,cpmv的特定组合可以被丢弃而不
被使用。
79.在将任何获得的继承的仿射合并候选和任何构造的仿射合并候选添加到cu的仿射合并候选列表之后,将零运动矢量,即,指示(0,0)的运动偏移的运动矢量添加到仿射合并候选列表的所有剩余空白位置。
80.根据本公开的示例实施例,其中,仿射运动预测编码重建帧的仿射运动预测模式是仿射自适应运动矢量预测(amvp)模式,帧的cu的宽度和高度均大于或等于16像素。无论使用4参数仿射运动模型还是6参数仿射运动模型,amvp模式的适用性都可以通过携带编码帧数据的视频比特流中携带的比特级标志来标识。运动候选列表可以是amvp候选列表,并且可以包括最多两个amvp候选。
81.可以基于从与当前cu的空间相邻块的运动信息中得出的amvp候选来生成当前cu的cpmv。
82.根据amvp模式的仿射运动预测模式编码的帧的cu的amvp候选列表可以包括以下cpmvp候选:
83.继承的amvp候选;
84.构造的amvp候选;
85.来自相邻cu的平移运动矢量;和
86.零运动矢量。
87.可以按照与用于获得继承的仿射合并候选的方式相同的方式来获得继承的amvp候选,不同的是,搜索用于获得继承的amvp候选的每个空间相邻块都属于参考与当前cu相同参考图片的cu。将继承的amvp候选添加到amvp候选列表时,不会在继承的amvp候选和amvp候选列表之间执行修剪检查。
88.除了根据帧间编码的第一可用空间邻近块的标准进一步选择第一可用空间邻近块,以及选择具有参考与当前cu相同的参考图片的参考索引,可以以与用于获得构造的仿射合并候选相同的方式来获得构造的amvp候选。而且,根据其中不支持时间控制点的amvp的实现,可以不搜索时间上相邻的块。
89.在通过4参数仿射运动模型对当前cu进行编码并且当前cu的cpmv1和cpmv2可用的情况下,将cpmv1和cpmv2作为一个候选添加到amvp候选列表中。如果当前cu通过6参数仿射运动模型编码,并且当前cu的cpmv1、cpmv2和cpmv3可用,则将cpmv1、cpmv2和cpmv3作为一个候选添加到amvp候选列表中。否则,无法将构造的amvp候选添加到amvp候选列表中。
90.平移运动矢量可以是来自空间相邻块的运动矢量,该空间相邻块属于仅具有平移运动信息的cu。
91.零运动矢量可具有(0,0)的运动偏移。
92.在将任何获得的继承的仿射合并候选和任何构造的仿射合并候选添加到cu的仿射合并候选列表之后,根据各自的可用性,将cpmv1、cpmv2和cpmv3以给定的顺序添加到amvp候选列表中,作为平移运动矢量来预测当前cu的所有cpmv。然后,将零运动矢量,即指示运动偏移为(0,0)的运动矢量添加到amvp候选列表的任何剩余空白位置。
93.可以通过双向预测来预测根据dmvr预测的运动信息。可以对当前帧执行双预测,使得重建帧的块的运动信息可以包括对第一参考块的第一运动矢量和第二参考块的第二运动矢量的参考,所述第一参考块与当前帧具有第一时间距离,所述第二参考块与当前帧
具有第二时间距离。所述第一时间距离和第二时间距离可以在与当前块不同的时间方向上。
94.第一运动矢量可以是被称为列表0的第一参考图片列表的第一参考图片的块的运动矢量,并且第二运动矢量可以是被称为列表1的第二参考图片列表的第二参考图片的块的运动矢量。当前块所属的cu的编码可以包括参考由列表0参考的参考帧的第一参考图片的第一参考索引,以及由列表1参考的参考帧的第二参考图片的第二参考索引。
95.图6示出了基于模板匹配的dmvr双向预测过程的示意图。在dmvr双向预测过程的第一步中,平均由初始第一运动矢量mv0所参考的列表0的第一参考图片604的初始第一块602,和由第二运动矢量mv1所参考的列表1的第二参考图片608的初始第二块606,以生成所述初始第一块602和初始第二块606的加权组合。将所述加权组合作为模板610。可以使用参考所述初始第一块602的初始第一运动矢量和参考所述初始第一块606的初始第二运动矢量来执行对当前块612的运动预测。
96.在dmvr双向预测过程的第二步骤中,通过成本测量将模板610与第一参考图片604的接近所述初始第一块602的第一采样区域和第二参考图片608的接近所述初始第二块606的第二采样区域进行比较。成本测量可以使用图像相似性的适合的方法,例如绝对差值和(sum of absolute differences)或去除的绝对差值和的平均(mean removed sum of absolute differences)。在第一样本区域内,如果后续的第一块614具有针对模板测量的最小成本,则参考后续的第一块614的后续第一运动矢量mv0'可以代替初始第一运动矢量mv0。在第二样本区域内,如果后续的第二块616具有针对模板测量的最小成本,则参考后续的第二块616的随后的第二运动矢量mv1′
可以代替初始的第二运动矢量mv1。然后可以使用mv0′
和mv1′
对当前块612执行双预测。
97.图7示出了根据本公开的示例实施例的视频编码过程700的示例性框图。
98.视频编码过程700可以从诸如比特流710之类的源获得编码帧。根据本公开的示例实施例,给定当前帧712在比特流中具有位置n,在比特流中具有位置n

1的前一帧714可以具有大于或小于当前帧的分辨率的分辨率,并且比特流中位置为n 1的下一帧716可以具有大于或小于当前帧的分辨率的分辨率。
99.视频编码过程700可以解码当前帧712以生成重建帧718,并且在诸如参考帧缓存790或显示缓存792的目的地输出重建帧718。可以将当前帧712输入一编码循环720,其可以包括重复以下步骤:将当前帧712输入到视频解码器722中;基于参考帧缓存790的先前重建帧794生成重建帧718;将重建帧718输入循环中的上采样器或下采样器724,生成上采样或下采样的重建帧796,并将上采样或下采样的重建帧796输出到参考帧缓存790。可替代地,重建帧718可以从循环中输出,其可以包括将重建帧输入到循环后上采样器或下采样器726中,生成上采样或下采样的重建帧798,将上采样或下采样的重建帧798输出到显示缓存792。
100.根据本公开的示例实施例,视频解码器722可以是实现运动预测编码格式的任何解码器,包括但不限于本文描述的那些编码格式。基于参考帧缓存790的先前重建帧来生成重建帧可以包括如本文所述的帧间编码运动预测,其中先前重建帧可以是由先前编码循环期间的循环中的上采样器或下采样器722输出的上采样或下采样的重建帧。并且如前所述,先前重建帧用作帧间编码运动预测中的参考图片。
101.根据本公开的示例实施例,循环中上采样器或下采样器724和循环后上采样器或下采样器726可以各自实现分别适合于至少上采样或下采样以运动预测编码格式编码的帧的编码像素信息的上采样或下采样算法。循环中上采样器或下采样器724和循环后上采样器或下采样器726的每一个可以实现进一步分别适合于按比例放大和按比例缩小运动信息(例如运动矢量)的上采样或下采样算法。
102.与循环后上采样器或下采样器426所利用的算法相比,循环内上采样器或下采样器724可以使用相对更简单的上采样或下采样算法,并且具有更高的计算速度,足以使得由循环内上采样器或下采样器724输出的上采样或下采样的重建帧796可以在该上采样或下采样的重建帧796需要在将来的编码循环迭代中作为先前重建帧之前输入至参考帧缓存790中,而循环后上采样器或下采样器726输出的上采样或下采样的重建帧798在如上需要的上采样或下采样的重建帧796之前可能不会被及时输出。例如,循环内上采样器可以利用不依赖训练的差值、平均或双线性上采样算法,而循环后上采样器可以利用训练的上采样算法。
103.因此,可以根据当前帧712相对于前一帧714和下一帧716的分辨率,对在为当前帧712生成重建帧718(例如先前的重建帧794)时用作参考图片的帧进行上采样或下采样。例如,在当前帧712的分辨率大于前一帧714和下一帧716中的任何一个或大于两者的分辨率的情况下,可以对用作参考图片的帧进行上采样。在当前帧712的分辨率小于前一帧714和下一帧716之一或大于两者的分辨率的情况下,可以对用作参考图片的帧进行下采样。
104.图8a、图8b和图8c示出了根据本公开的示例性实施例的实现分辨率自适应视频编码的视频编码方法800的示例流程图,其中,帧通过仿射运动预测编码来编码。
105.在步骤802,视频解码器可以获得通过仿射运动预测编码而编码的比特流的当前帧,其中可以根据比特流信号进一步启用仿射合并模式或amvp模式。当前帧可以具有位置n。在比特流中具有位置n

1的前一帧的分辨率可以大于或小于当前帧的分辨率,而在比特流中具有位置n 1的下一帧可以具有大于或小于当前帧分辨率的分辨率。
106.在步骤804,视频解码器可从参考帧缓存中获得一个或更多个参考图片,并将一个或更多个参考图片的分辨率与当前帧的分辨率进行比较。
107.在步骤806,在视频解码器确定一个或更多个参考图片的一个或更多个分辨率不同于当前帧的分辨率时,视频解码器可以从参考帧缓存中选择具有与当前帧分辨率相同的分辨率的帧(如果有)。
108.根据本公开的示例实施例,具有与当前帧的分辨率相同的分辨率的帧可以是参考帧缓存中具有与当前帧的分辨率相同的分辨率的很新的帧,其可以不是参考帧缓冲区的最新帧。
109.在步骤808中,循环内上采样器或下采样器可以确定当前帧的分辨率与一个或更多个参考图片的分辨率的比率;并根据该比率缩放一个或更多个参考图片的运动矢量。
110.根据本公开的示例实施例,缩放运动矢量可以包括增加或减小运动矢量的大小。
111.在步骤810a,循环内上采样器或下采样器可以根据所述比率进一步调整一个或更多个参考图片的帧间预测器的大小。
112.根据本公开的示例实施例,帧间预测器可以是例如参考可能具有不同分辨率的其他参考图片的用于运动预测的运动信息。
113.在步骤810b,可选地,循环内上采样器或下采样器可以检测在当前帧的帧头或图片头中标识的上采样或下采样的滤波器系数,并将所述标识的滤波器系数与当前帧的滤波器系数的差值发送到视频解码器。滤波器系数可以被认为是帧间预测器的系数。因此,帧间预测器的滤波器系数与当前帧的滤波器系数之间的差值使得预测运动信息能够被应用于当前帧的滤波器。
114.在步骤812,视频解码器可获得当前帧的块的仿射合并候选列表或amvp候选列表。仿射合并候选列表或amvp候选列表的推导可以根据本文所述的上述步骤来执行。可以根据本文所述上述步骤在仿射合并候选列表或amvp候选列表的推导中分别推导cpmvp候选或amvp候选。
115.在步骤814,根据本文所述的前述步骤,视频解码器可以从仿射合并候选列表或amvp候选列表中选择cpmvp候选或amvp候选,并获得cpmvp候选或amvp候选的运动矢量作为重建帧的块的运动矢量。
116.在步骤816,视频解码器可基于一个或更多个参考图片以及所选择的cpmvp或amvp候选从当前帧生成重建帧。
117.可以通过参考具有与当前帧相同的分辨率的所选参考图片,通过根据与当前帧的相同分辨率分别缩放或调整参考帧缓存的其他帧的运动矢量或帧间预测器,或者通过在编码滤波器时将由循环内上采样器或下采样器发送的标识的滤波器系数和当前帧的滤波器系数的差值应用于所述当前帧的滤波器。
118.在步骤818,可将重建帧输入到循环内上采样器或下采样器和循环后上采样器或下采样器中的至少一个中。
119.在步骤820,循环内上采样器或下采样器或循环后上采样器或下采样器中的至少一个可基于重建帧生成上采样或下采样的重建帧。
120.可以根据比特流所支持的多个分辨率的不同分辨率来分别生成多个上采样或下采样的重建帧。
121.在步骤822,可以将重建帧和一个或更多个上采样或下采样的重建帧中的至少一个输入到参考帧缓存和显示缓存中的至少一个中。
122.在将重建帧输入到参考帧缓存的情况下,可以将重建帧作为参考图片获得,并随后如上文关于步骤806所描述的在后续编码循环迭代中进行上采样或下采样。在将一个或更多个上采样或下采样的重建帧输入到参考帧缓存的情况下,可以选择一个或更多个上采样或下采样帧中的一个作为在编码循环的后续迭代中具有与当前帧分辨率相同的分辨率的帧。
123.图9a、9b和9c示出了根据本公开的示例实施例的实现分辨率自适应视频编码的视频编码方法900的示例流程图,其中运动信息由dmvr预测。
124.在步骤902,视频解码器可以获得比特流的当前帧。当前帧可以具有位置n。在比特流中具有位置n

1的前一帧的分辨率可以大于或小于当前帧的分辨率,而在比特流中具有位置n 1的下一帧的分辨率可以大于或小于当前帧的分辨率。
125.在步骤904,视频解码器可从参考帧缓存获得一个或更多个参考图片,并将所述一个或更多参考图片的分辨率与当前帧的分辨率相比较。
126.在步骤906,在视频解码器确定一个或更多个参考图片的一个或更多个分辨率与
当前帧的分辨率不同时,循环内上采样器或下采样器可以从参考帧缓存中选择与当前帧的分辨率相同分辨率的帧(如果有)。
127.根据本公开的示例实施例,视频解码器可以从参考帧缓存中选择具有与当前帧的分辨率相同的分辨率的帧。具有与当前帧的分辨率相同的分辨率的帧可以是参考帧缓存的具有与当前帧的分辨率相同的分辨率的很新的帧,其可以不是参考帧缓存的最新帧。
128.在步骤908,循环内上采样器或下采样器可以确定当前帧的分辨率与一个或更多个参考图片的分辨率之比率;并根据所述比率调整所述一个或更多参考图片的像素图案的大小。
129.根据本公开的示例实施例,根据dmvr,调整一个或更多个参考图片的像素图案的大小可以便于在不同分辨率下的矢量细化处理,例如,上述的步骤中通过成本测量将模板与第一参考图片的靠近初始的第一块的第一采样区域,以及与第二参考图片的靠近初始第二块的第二采样区域进行比较。
130.在步骤910,根据本文所述的前述步骤,视频解码器可基于参考帧缓存的第一参考帧和第二参考帧对当前帧执行双向预测和矢量细化。
131.在步骤912,视频解码器可以基于第一参考帧和第二参考帧从当前帧生成重建帧。
132.可以通过参考具有与当前帧相同的分辨率的所选参考图片或者通过根据与当前帧相同的分辨率来调整参考帧缓存的其他帧的像素图案的尺寸来预测重建帧。
133.在步骤914,可以将重建帧输入到循环内上采样器或下采样器以及循环后上采样器或下采样器中的至少一个中。
134.在步骤916,循环内上采样器或下采样器或循环后上采样器或下采样器中的至少一个可基于重建帧生成上采样或下采样的重建帧。
135.可以根据比特流所支持的多个分辨率的不同分辨率来分别生成多个上采样或下采样的重建帧。
136.在步骤918,可以将重建帧和一个或更多个上采样或下采样的重建帧中的至少一个输入到参考帧缓存和显示缓存中的至少一个中。
137.在将重建帧输入到参考帧缓存中的情况下,可以将重建帧作为参考图片获得,并随后如上文关于步骤906所描述的在后续编码循环迭代中进行上采样或下采样。在将一个或更多个上采样或下采样的重建帧输入到参考帧缓存的情况下,编码循环的后续迭代中,可以选择一个或更多个上采样或下采样帧中的一个作为具有与当前帧分辨率相同的分辨率的帧。
138.图10示出了用于实现上述用于以运动预测编码格式来实现分辨率自适应视频编码的过程和方法的示例性系统1000。
139.本文描述的技术和机制可以由系统1000的多个实例以及由任何其他计算设备、系统和/或环境来实现。图10所示的系统1000仅是系统的一个示例,并且无意于暗示对用于执行上述过程和/或程序的任何计算设备的使用范围或功能的任何限制。适用于实施例的其他众所周知的计算设备、系统、环境和/或配置包括但不限于:个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、游戏机、可编程消费电子产品、网络pc、小型计算机、大型计算机、包括上述任何系统或设备的分布式计算环境、使用现场可编程门阵列(“fpga”)的实现以及专用集成电路(“asic”)等。
140.系统1000可以包括一个或更多个处理器1002和可通信地连接到所述一个或更多个处理器1002的系统存储器1004。一个或更多个处理器1002可以执行一个或更多个模块和/或处理以使一个或更多个处理器1002执行各种功能。在一些实施例中,处理器1002可以包括中央处理单元(cpu)、图形处理单元(gpu)、cpu和gpu两者均包括,或者本领域已知的其他处理单元或组件。另外,每个处理器1002可以拥有其自己的本地存储器,该本地存储器还可以存储程序模块、程序数据和/或一个或更多个操作系统。
141.取决于系统1000的确切配置和类型,系统存储器1004可以是易失性的,例如ram,或者是非易失性的,例如rom、闪存、微型硬盘驱动器、存储卡等,或者它们的某种组合。系统存储器1004可以包括一个或更多个可由处理器1002执行的计算机可执行模块1006。
142.模块1006可以包括但不限于解码器模块1008和上采样器或下采样器模块1010。解码器模块1008可以包括帧获得模块1012、参考图片获得模块1014、帧选择模块1016、候选列表获得模块1018、运动预测模块1020、重建帧生成模块1022以及上采样器或下采样器输入模块1024。上采样器或下采样器模块1010可以包括比率确定模块1026、缩放模块1030、帧间预测器大小调整模块1032、滤波器系数检测和差值发送模块1034、上采样或下采样的重建帧生成模块1036以及缓存输入模块1038。
143.帧获得模块1012可以被配置为获得以仿射运动预测编码格式编码的比特流的当前帧,参考如上图8所述。
144.参考图片获得模块1014可以被配置为从参考帧缓存获得一个或更多个参考图片,并且将一个或更多个参考图片的分辨率与当前帧的分辨率进行比较,参考如上图8所述。
145.帧选择模块1016可以被配置为在参考图片获得模块1014确定一个或更多个参考图片的一个或更多个分辨率与当前帧的分辨率不同后,从参考帧缓存中选择具有与当前帧的分辨率相同的分辨率的帧。参考图8如上所述。
146.候选列表获得模块1018可以被配置为针对当前帧的块获得仿射合并候选列表或amvp候选列表,参考如上图8所述。
147.运动预测模块1020可以被配置为从获得的仿射合并候选列表或amvp候选列表中选择cpmvp或amvp候选,并获得cpmvp或amvp候选的运动矢量作为重建帧的块的运动矢量,参考图8如上所述。
148.重建帧生成模块1022可以被配置为基于一个或更多个参考图片和所选择的运动候选从当前帧生成重建帧。
149.上采样器或下采样器输入模块1024可以被配置为将重建帧输入到上采样器或下采样器模块1010中。
150.比率确定模块1026可以被配置为确定当前帧的分辨率与一个或更多个参考图片的分辨率的比率。
151.缩放模块1030可以被配置为根据所述比率来缩放一个或更多个参考图片的运动矢量。
152.帧间预测器调整大小模块1032可以被配置为根据该比率来调整一个或更多个参考图片的帧间预测器的大小。
153.滤波器系数检测和差值发送模块1034可以被配置为检测在当前帧的序列头或图片头中标识的上采样或下采样滤波器系数,并将标识的滤波器系数和当前帧的滤波器系数
的差值发送至视频解码器。
154.上采样或下采样的重建帧生成模块1036可以被配置为基于重建帧来生成上采样或下采样的重建帧。
155.缓存输入模块1038可以被配置为将上采样或下采样的重建帧输入到参考帧缓存和显示缓存中的至少一个中,参考图8如上所述。
156.系统1000可以另外包括输入/输出(i/o)接口1040,所述输入/输出(i/o)接口1040用于接收要处理的比特流数据,并且用于将重建帧输出到参考帧缓存和/或显示缓存中。系统1000还可以包括通信模块1050,其允许系统1000通过网络(未示出)与其他设备(未示出)通信。该网络可以包括互联网、诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(rf)、红外和其他无线介质之类的无线介质。
157.图11示出了用于实现上述用于以运动预测编码格式来实现分辨率自适应视频编码的过程和方法的示例性系统1100。
158.本文描述的技术和机制可以由系统1100的多个实例以及由任何其他计算设备、系统和/或环境来实现。图11中所示的系统1100仅是系统的一个示例,并且无意于暗示对用于执行上述过程和/或程序的任何计算设备的使用范围或功能的任何限制。适用于实施例的其他众所周知的计算设备、系统、环境和/或配置包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、游戏机、可编程消费电子产品、网络pc、小型计算机、大型计算机、包括上述任何系统或设备的分布式计算环境、使用现场可编程门阵列(“fpga”)的实现以及专用集成电路(“asic”)等。
159.系统1100可以包括一个或更多个处理器1102和可通信地连接到所述一个或更多个处理器1102的系统存储器1104。一个或更多个处理器1102可以执行一个或更多个模块和/或处理以使一个或更多个处理器1102执行各种功能。在一些实施例中,一个或更多个处理器1102可以包括中央处理单元(cpu)、图形处理单元(gpu)cpu和gpu两者都包括,或者本领域已知的其他处理单元或组件。另外,每个处理器1102可拥有其自己的本地存储器,该本地存储器还可存储程序模块,程序数据和/或一个或更多个操作系统。
160.取决于系统1100的确切配置和类型,系统存储器1104可以是易失性的,例如ram,或者是非易失性的,例如rom、闪存、微型硬盘驱动器、存储卡等,或者它们的某种组合。系统存储器1104可以包括可由一个或更多个处理器1102执行的一个或更多个计算机可执行模块1106。
161.模块1106可以包括但不限于解码器模块1108和上采样器或下采样器模块1110。解码器模块1108可以包括帧获得模块1112、参考图片获得模块1114、双向预测模块1116、矢量细化模块1118、上采样或下采样的重建帧生成模块1120以及上采样器或下采样器输入模块1122。上采样器或下采样器模块1110可以包括比率确定模块1124、像素图案调整大小模块1128、上采样或下采样的重建帧生成模块1130以及缓存输入模块1132。
162.帧获得模块1112可以被配置为获得以bio编码格式编码的比特流的当前帧,参考如上图9所述。
163.参考图片获得模块1114可以被配置为从参考帧缓存获得一个或更多个参考图片,并且将一个或更多个参考图片的分辨率与当前帧的分辨率进行比较,参考如上图9所述。
164.双预测模块1116可以被配置为基于参考帧缓存的第一参考帧和第二参考帧,对当
前帧执行双预测。参考如上图9所述。
165.矢量细化模块1118可以被配置为在双向预测处理期间基于参考帧缓存的第一参考帧和第二参考帧来执行矢量细化,参考如上图6所述。
166.重建帧生成模块1120可以被配置为基于第一参考帧和第二参考帧从当前帧生成重建帧。
167.上采样器或下采样器输入模块1122可以被配置为将重建帧输入到上采样器或下采样器模块1110中。
168.比率确定模块1124可以被配置为确定当前帧的分辨率与一个或更多个参考图片的分辨率的比率。
169.像素图案调整大小模块1128可以被配置为根据所述比率调整一个或更多个参考图片的像素图案的大小。
170.上采样或下采样的重建帧生成模块1130可以被配置为基于重建帧来生成上采样或下采样的重建帧。
171.缓存输入模块1132可以被配置为将上采样或下采样的重建帧输入到参考帧缓存和显示缓存中的至少一个中,参照如上图9所述。
172.系统1100可以另外包括输入/输出(i/o)接口1140,输入/输出(i/o)接口1140用于接收要处理的比特流数据,并且用于将重建帧输出到参考帧缓存和/或显示缓存中。系统1100还可包括通信模块1150,其允许系统1100通过网络(未示出)与其他设备(未示出)通信。该网络可以包括互联网,诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(rf)、红外和其他无线介质之类的无线介质。
173.如下所述,可以通过执行存储在计算机可读存储介质上的计算机可读指令来执行上述方法的部分或全部操作。在说明书和权利要求书中使用的术语“计算机可读指令”包括例程、应用程序、应用程序模块、程序模块、程序、组件、数据结构、算法等。可以在各种系统配置上实现计算机可读指令,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的设备、可编程消费电子产品、及其组合等。
174.计算机可读存储介质可以包括易失性存储器(例如,随机存取存储器(ram))和/或非易失性存储器(例如,只读存储器(rom)、闪存等)。计算机可读存储介质还可包括其他可移动存储器和/或不可移动存储器,包括但不限于可提供计算机的可读指令、数据结构、程序模块等的非易失性存储的闪存、磁存储、光存储和/或磁带存储。
175.非暂时性计算机可读存储介质是计算机可读介质的示例。计算机可读介质包括至少两种类型的计算机可读介质,即计算机可读存储介质和通信介质。计算机可读存储介质包括以任何处理或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的易失性和非易失性、可移动和不可移动介质。计算机可读存储介质包括但不限于相变存储器(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦可编程只读存储器(eeprom)、闪存或其他存储技术、光盘只读存储器(cd

rom)、数字通用光盘(dvd)或其他光学存储器、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于存储信息以供计算设备访问的任何其他非传输介质。相反,通信介质可以在诸如载波的调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义,计算机可读存储介质不包
括通信介质。
176.存储在一个或更多个非暂时性计算机可读存储介质上的计算机可读指令,当由一个或更多个处理器执行时,该计算机可读指令可以执行以上参考图1至图11所描述的操作。通常,计算机可读指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被理解为限制,并且可以以任何顺序和/或并行地组合任意数量的所描述的操作以实现处理。
177.通过上述技术方案,本公开提供了运动预测编码格式所支持的帧间编码分辨率视频编码,通过允许在要编码的帧之间改变分辨率的同时允许运动矢量参考先前帧,从而改进了多运动预测编码格式下的视频编码处理。因此,保持了帧间编码的带宽节省,实现了运动预测编码的带宽节省,从而允许使用参考帧来预测后续帧的运动矢量,并且实现了根据可用带宽的自适应地下采样和上采样的带宽节省。同时,从而在视频编码和内容交付期间实现了网络成本的显着改善,同时减少了可抵消或损害这些节省的额外数据的传输。条款示例
178.a.一种方法,包括:获得比特流的当前帧;以及从参考帧缓存中获得分辨率不同于当前帧的分辨率的一个或更多个参考图片;调整所述一个或更多个参考图片的帧间预测器的大小;基于所述一个或更多个参考图片和当前帧的一个或更多个块的运动信息,从当前帧生成重建帧,该运动信息包括至少一个帧间预测器。
179.b.如段落a所述的方法,还包括:将所述一个或更多个参考图片的分辨率与当前帧的分辨率进行比较;以及在确定一个或更多个参考图片的一个或更多个分辨率与当前帧的分辨率不同时,从参考帧缓存中选择具有与当前帧的分辨率相同的分辨率的帧;确定所述当前帧的分辨率与所述一个或更多个参考图片的分辨率的比率;根据所述比率调整所述一个或多个参考图片的大小以匹配所述当前帧的分辨率;根据所述比率,对所述一个或更多个参考图片的帧间预测器进行上采样或下采样;根据所述比率缩放所述一个或更多个参考图片的运动矢量。
180.c.如段落a所述的方法,还包括:获得当前帧的仿射合并候选列表或amvp候选列表;从所述仿射合并候选列表或amvp候选列表中分别选择cpmvp候选或amvp候选;获得所述候选候选的运动矢量作为所述重建帧的块的运动矢量。
181.d.如段落c所述的方法,其进一步包括:获得继承的仿射合并候选和构造的仿射合并候选中的至少一个,以及将继承的仿射合并候选和构造的仿射合并候选中的至少一个添加到仿射合并候选列表或amvp候选列表。
182.e.如段落a所述的方法,还包括:基于所述一个或更多个参考图片和至少一个帧间预测器,从所述当前帧生成重建帧;将所述重建帧输入到循环内上采样器或下采样器和循环后上采样器或下采样器中的至少一个中;基于所述重建帧生成上采样或下采样的重建帧;将所述上采样或下采样的重建帧输入到参考帧缓存和显示缓存的至少其中一个中。
183.f.一种方法,包括:获得比特流的当前帧;以及从参考帧缓存中获得一个或更多个参考图片,并将所述一个或更多个参考图片的分辨率与当前帧的分辨率进行比较;当确定所述一个或更多个参考图片的一个或更多个分辨率与所述当前帧的分辨率不同时,根据当前帧的分辨率调整所述一个或更多个参考图片的像素图案的大小。
184.g.如段落f所述的方法,还包括:基于参考帧缓存的第一参考帧和第二参考帧,对
当前帧执行双向预测。
185.h.如段g所述,其中对当前帧执行双向预测还包括基于参考帧缓存的第一参考帧和第二参考帧对当前帧执行矢量细化。
186.i.如段落h所述的方法,还包括:基于所述第一参考帧和第二参考帧,从当前帧生成重建帧;将所述重建帧输入到循环内上采样器或下采样器和循环后上采样器或下采样器中的至少一个中;基于所述重建帧生成上采样或下采样的重建帧;将所述上采样或下采样的重建帧输入参考帧缓存和显示缓存的至少其中之一中。
187.j.一种方法,包括:获得比特流的当前帧,所述比特流包括具有多个分辨率的帧;从参考帧缓存中获得一个或更多个参考图片;基于所述一个或更多个参考图片和当前帧的一个或更多个块的运动信息从当前帧生成重建帧,该运动信息包括至少一个帧间预测器;针对多个分辨率中的每个分辨率对当前重建帧进行上采样或下采样,以生成与各个分辨率匹配的上采样或下采样的重建帧。
188.k.如段落j所述的方法,其进一步包括检测检测用于标识所述一个或更多个参考图片中的至少一个的上采样或下采样滤波器系数。
189.l.如段落k所述的方法,还包括:将帧间预测器的滤波器系数与当前帧的滤波器系数之间的差值应用于编码当前帧的滤波器。
190.m.如段落j所述的方法,还包括将重建帧和每个上采样或下采样的重建帧输入到参考帧缓存中。
191.n.一种系统,包括:一个或更多个处理器和可通信地连接到所述一个或更多个处理器的存储器,该存储器存储可由所述一个或更多个处理器执行的计算机可执行模块,该模块在由所述一个或更多个处理器执行时,执行相关操作,所述计算机可执行模块包括:帧获得模块,所述帧获得模块被配置为获得比特流的当前帧;以及参考图片获得模块,所述参考图片获得模块用于从参考帧缓存中获得一个或更多个参考图片,并将所述一个或更多个参考图片的分辨率与当前帧的分辨率进行比较。
192.o.如段落n所述的系统,还包括:帧选择模块,所述帧选择模块被配置为在参考图片获得模块确定所述一个或更多个参考图片的一个或更多个分辨率与当前帧的分辨率不同的情况下,从参考帧缓存中选择帧与当前帧的分辨率具有相同分辨率的帧。
193.p.如段落o所述的系统,其进一步包括:候选列表获得模块,所述候选列表获得模块被配置为获得当前帧的块的仿射合并候选列表或amvp候选列表。
194.q.如段落p所述的系统,还包括运动预测模块,该运动预测模块被配置为分别从获得的仿射合并候选列表或amvp候选列表中分别选择cpmvp或amvp候选。
195.r.如段落q所述的系统,其中,运动预测模块还被配置为获得cpmvp或amvp候选的运动矢量作为重建帧的块的运动矢量。
196.s.如段落n所述的系统,还包括:重建帧生成模块,所述重建帧生成模块被配置为基于所述一个或更多个参考图片和所选择的运动候选从当前帧生成重建帧;上采样器或下采样器输入模块,所述上采样器或下采样器输入模块用于将所述重建帧输入到上采样器或下采样器模块;比率确定模块,所述比率确定模块用于确定当前帧的分辨率与所述一个或更多个参考图片的分辨率的比率;帧间预测器调整大小模块,所述帧间预测器调整大小模块被配置为根据所述比率调整所述一个或更多个参考图片的帧间预测器的大小;滤波器系
数检测和差值发送模块,所述滤波器系数检测和差值发送模块用于检测在当前帧的序列头或图片头中标识的上采样或下采样滤波器系数,并将标识的滤波器系数和当前帧滤波器系数之间的差值帧到视频解码器;缩放模块,所述缩放模块用于根据所述比率缩放所述一个或更多个参考图片的运动矢量;上采样或下采样的重建帧生成模块,所述上采样或下采样的重建帧生成模块用于根据所述重建帧生成上采样或下采样的重建帧;缓存输入模块,所述缓存输入模块用于将所述上采样或下采样的重建帧输入到参考帧缓存和显示缓存中的至少一个中。
197.t.一种系统,包括:一个或更多个处理器和可通信地连接到所述一个或更多个处理器的存储器,该存储器存储可由所述一个或更多个处理器执行的计算机可执行模块,该模块在由一个或更多个处理器执行时,执行相关操作,所述计算机可执行模块包括:帧获得模块,所述帧获得模块被配置为获得比特流的当前帧;以及参考图片获得模块,所述参考图片获得模块用于从参考帧缓存中获得一个或更多个参考图片,并将所述一个或更多个参考图片的分辨率与当前帧的分辨率进行比较。
198.u.如段落t所述的系统,还包括:双向预测模块,所述双向预测模块被配置为基于参考帧缓存的第一参考帧和第二参考帧对当前帧执行双向预测。
199.v.如段落u所述的系统,其进一步包括:矢量细化模块,所述矢量细化模块被配置为基于所述参考帧缓存的第一参考帧和第二参考帧在双向预测过程期间执行矢量细化。
200.w.如段落v所述的系统,还包括:重建帧生成模块,所述重建帧生成模块被配置为基于第一参考帧和第二参考帧从当前帧生成重建帧;上采样器或下采样器输入模块,所述上采样器或下采样器输入模块被配置为将重建帧输入到上采样器或下采样器模块;上采样或下采样的重建帧生成模块,所述上采样或下采样的重建帧生成模块被配置为根据所述重建帧生成上采样或下采样的重建帧;以及缓存输入模块,所述缓存输入模块用于将上采样或下采样的重建帧输入到参考帧缓存和显示缓存中的至少一个中。
201.尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应该理解,所附权利要求书中定义的主题不必限于所描述的特定特征或动作。而是,将特定特征和动作公开为实现权利要求的示例性形式。
再多了解一些

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

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

相关文献