CN118020301A - 视频编码和解码 - Google Patents
视频编码和解码 Download PDFInfo
- Publication number
- CN118020301A CN118020301A CN202280066055.5A CN202280066055A CN118020301A CN 118020301 A CN118020301 A CN 118020301A CN 202280066055 A CN202280066055 A CN 202280066055A CN 118020301 A CN118020301 A CN 118020301A
- Authority
- CN
- China
- Prior art keywords
- candidates
- list
- motion vector
- vector predictor
- candidate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 claims abstract description 406
- 239000013598 vector Substances 0.000 claims abstract description 293
- 238000000034 method Methods 0.000 claims description 217
- 230000008569 process Effects 0.000 claims description 52
- 238000005286 illumination Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 5
- 230000000717 retained effect Effects 0.000 claims 1
- 238000009795 derivation Methods 0.000 abstract description 21
- 230000006872 improvement Effects 0.000 abstract description 9
- 238000004891 communication Methods 0.000 description 37
- 238000012545 processing Methods 0.000 description 20
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 19
- 230000002123 temporal effect Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000012937 correction Methods 0.000 description 9
- 238000005192 partition Methods 0.000 description 9
- 238000001914 filtration Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 239000010410 layer Substances 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000000153 supplemental effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- IESVDEZGAHUQJU-ZLBXKVHBSA-N 1-hexadecanoyl-2-(4Z,7Z,10Z,13Z,16Z,19Z-docosahexaenoyl)-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCC(=O)OC[C@H](COP([O-])(=O)OCC[N+](C)(C)C)OC(=O)CC\C=C/C\C=C/C\C=C/C\C=C/C\C=C/C\C=C/CC IESVDEZGAHUQJU-ZLBXKVHBSA-N 0.000 description 1
- 241000219764 Dolichos Species 0.000 description 1
- 229920000291 Poly(9,9-dioctylfluorene) Polymers 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000005266 circulating tumour cell Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公开了对运动矢量预测器候选的列表中的一个或多于一个成对的运动矢量预测器候选的导出和排序的改进。生成运动矢量预测器候选的初始列表以用于对图像的一部分进行解码,并且在针对该图像部分选择候选重新排序时,对所述初始列表的至少一部分进行重新排序以生成重新排序后的运动矢量预测器候选列表;以及将成对的运动矢量预测器候选添加到重新排序后的所述列表中。
Description
技术领域
本发明涉及视频编码和解码。
背景技术
联合视频专家组(JVET)(由MPEG和ITU-T第16研究组的VCEG组成的合作团队)发布了称为多功能视频编码(VVC)的新视频编码标准。VVC的目标是在现有HEVC标准上提供压缩性能的显著改进(即,通常是以前的两倍)。主要目标应用和服务包括但不限于360度和高动态范围(HDR)视频。在超高清(UHD)视频测试材料上示出了特定的效果。因此,针对最终标准,我们可以预期压缩效率的提高将远超过作为目标的50%。
自VVC v1标准结束以来,JVET通过建立探索软件(ECM)启动了探索阶段。JVET收集了附加工具并且改进了VVC标准的基础上的现有工具,以实现更好的编码效率。
与HEVC相比,除了其他修改,VVC具有修改的用于运动矢量预测的“合并模式”的集合,这以更大的复杂性为代价实现了更好的编码效率。运动矢量预测是通过导出“运动矢量预测器候选”的列表来实现的,其中所选择的候选的索引在位流中被用信号通知。针对各个编码单元(CU)生成合并候选列表。但是CU可以被拆分成更小的块,以用于解码器侧运动矢量修正(Decoder-side Motion Vector Refinement(DMVR))或其他方法。
该列表的组成和顺序可能对编码效率产生显著影响,因为准确的运动矢量预测器减小了块预测器的残差或失真的大小,并且在列表的顶端具有这样的候选减少了用信号通知所选择的候选所需的位的数量。本发明旨在改进这些方面中的至少一个。
修改被并入VVC v1和ECM中意味着可以有多达10个运动矢量预测器候选;这实现了候选的多样性,但是如果选择了列表中较低的候选,位率可能增加。本发明广泛涉及对运动矢量预测器候选的列表中的一个或多于一个“成对的”运动矢量预测器候选的导出和排序的改进。“成对的”运动矢量预测器候选是从候选列表中的两个或多于两个其他候选所组合或平均的候选。
根据本发明的一个方面,提供一种生成用于对使用合并模式编码的图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:确定要用于对所述图像的一部分进行编码的合并模式;根据所述确定,将成对的运动矢量预测器候选添加到运动矢量预测器候选的列表。
该方法通过针对可能选择该候选的合并模式启用成对的候选来改进编码性能。
可选地,在所述合并模式是模板匹配或GEO的情况下,不添加成对的运动矢量候选。
可选地,在成对的候选是平均候选的情况下,不添加成对的运动矢量候选。
可选地,在所述合并模式是常规或CIIP合并模式的情况下,添加成对的运动矢量候选。
可选地,为了改进位率降低,该方法还包括:在与底端相比更靠近所述列表的顶端的位置处,添加成对的运动矢量候选
根据本发明的另一方面,提供一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:生成成对的运动矢量预测器候选;将所述成对的运动矢量预测器候选添加到候选运动矢量预测器候选的列表,其中,与底端相比,所述候选的位置更靠近所述列表的顶端。
以这种方式,可以降低位率,因为令人惊讶地发现成对的候选被共同地选择,并且可以使用更少的位来编码更靠近列表顶端而不是底端的位置。
可选地,该方法还包括:在所述运动矢量预测器候选的列表中的紧跟在用于生成所述成对的运动矢量预测器候选的运动预测器候选之后的位置,添加成对的运动矢量候选。
可选地,为了改进编码效率,该方法还包括:在所述运动矢量预测器候选的列表中的紧跟在前两个空间运动预测器候选之后的位置,添加成对的运动矢量候选。
可选地,该方法还包括:在所述运动矢量预测器候选的列表中的第二位置,添加成对的运动矢量候选。
根据本发明的另一方面,提供一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:生成运动矢量预测器候选的初始列表;以及在针对所述图像的一部分选择候选重新排序的情况下,对所述初始列表的至少一部分进行重新排序以生成重新排序后的运动矢量预测器候选列表;以及将成对的运动矢量预测器候选添加到重新排序后的所述列表中。
该方法通过以最高效的顺序放置候选(包括成对的候选)来改进编码性能。
可选地,为了改进编码效率,该方法还包括:从重新排序后的列表中的顶端的两个候选,确定所述成对的运动矢量预测器候选。
可选地,为了改进编码效率,该方法还包括:对所确定的成对的候选应用重新排序处理。
可选地,所述初始列表的被重新排序的部分最多是顶端的N-1个候选。
可选地,将成对的候选重新排序为第N候选。
可选地,为了改进编码效率,该方法还包括:在添加所述成对的运动矢量预测器候选之后,从重新排序后的列表中移除最低的候选。
可选地,将所述初始列表中的所有候选重新排序以生成所述重新排序后的运动矢量预测器候选列表。
可选地,该方法还包括:使用重新排序的列表中的第一候选和第i候选来确定所述成对的候选,其中i是运动矢量预测器候选的初始列表的索引。
可选地,在重新排序后的列表中,在预定位置处包括一个或多于一个附加的成对的运动矢量预测器候选。
可选地,所述预定位置是重新排序后的列表中的第5位置。
可选地,所述预定位置位于重新排序后的列表的后半部分的开始处。
可选地,所述初始列表包括第一成对的运动矢量候选,并且在重新排序后的列表中的紧跟在所述第一成对的运动矢量候选之后的位置处,添加附加的成对的运动矢量候选。
根据本发明的另一方面,提供一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:生成运动矢量预测器候选的初始列表;从所述初始列表中的两个候选,导出至少一个成对的候选;所述两个候选包括所述列表中的第一候选和第i候选。
该方法通过将第i候选与最可能的候选进行组合来改进第i候选的相关性,从而改进编码性能。
可选地,为了改进编码效率,所述第i候选来自尚未被重新排序的初始候选列表。
可选地,该方法还包括:利用所确定的成对的候选来代替所述列表中的第i候选。
可选地,成对的候选的数量被限制为4。
可选地,为了改进编码效率,该方法还包括:在将成对的候选添加到所述列表之前,确定所述成对的运动矢量预测器候选是否与所述列表中的现有候选类似。优选地,确定所述成对的运动矢量预测器候选是否与所述列表中的现有候选类似包括确定阈值运动矢量差。
根据本发明的另一方面,提供一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:生成运动矢量预测器候选的初始列表;从所述初始列表中的两个候选,导出成对的候选;在将成对的候选添加到所述列表之前,确定成对的运动矢量预测器候选是否与所述列表中的现有候选类似,其中,确定成对的运动矢量预测器候选是否与所述列表中的现有候选类似包括确定阈值运动矢量差。
该方法通过确保列表中运动矢量预测器候选的多样性,并且在适当的情况下朝向理想候选进行修正来改进编码性能。
可选地,该方法还包括:所述阈值运动矢量差取决于解码器侧运动矢量方法的搜索范围。
可选地,所述阈值运动矢量差取决于解码器侧运动矢量方法的启用或禁用。
可选地,所述阈值运动矢量差取决于POC距离或绝对POC值。
可选地,所述阈值运动矢量差取决于用于构建成对的候选的候选在列表中的位置。
可选地,在用于构建成对的候选的候选是所述列表中的前两个候选的情况下,将所述阈值运动矢量差设置为大于或等于零的第一值,以及在用于构建成对的候选的候选不是所述列表中的前两个候选的情况下,将所述阈值运动矢量差设置为第二值,所述第二值大于所述第一值。
可选地,所述阈值运动矢量差取决于成对的候选是否被插入到列表,或者成对的候选是否代替现有候选。
可选地,所述阈值运动矢量差取决于成对的候选的参考帧或当前帧的参考帧是否具有不同的方向。
可选地,所述阈值运动矢量差取决于成对的候选的参考帧或当前帧的参考帧是否具有相同的POC距离或绝对值。
根据本发明的另一方面,一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述列表包括从其他运动矢量预测器候选构建的成对的运动矢量预测器候选,所述方法包括:基于至少一个其他候选的特性,确定用于成对的所述候选的至少一个非运动参数。
该方法通过增加成对的候选的非运动参数的相关性来改进编码性能。
可选地,为了改进编码效率,所述确定包括从列表中的第一候选,优选地从列表中的第一候选和第二候选,继承至少一个非运动参数。
可选地,所述至少一个其他候选包括用于构建成对的候选的候选中的一者或这两者。
可选地,所述非运动参数或各个非运动参数继承自用于构建成对的候选的候选中的一者或这两者。
可选地,在针对成对所考虑的候选的候选具有相同的参考帧和/或列表的情况下,所述非运动参数或各个非运动参数继承自用于构建成对的候选的候选中的一者或这两者。
可选地,在用于构建成对的候选的候选具有相同的参数值的情况下,所述非运动参数或各个非运动参数继承自用于构建成对的候选的候选。
可选地,所述参数包括与用于补偿当前块和相邻样本之间的照明差的工具有关的参数。优选地,所述参数包括用于双预测(BCWidx)或局部照明补偿(LIC)的权重。
可选地,为了改进编码效率,该方法还包括:从用于构建成对的候选的候选之一继承与多重假设有关的参数的值。
可选地,该方法包括:仅在与用于补偿照明的工具有关的一个或多于一个参数不同于默认值的情况下继承所述值。
根据本发明的另一方面,提供一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:从两个其他运动矢量预测器候选,生成成对的运动预测器候选,并且将成对的所述候选添加到所述列表,其中,根据用于生成成对的运动预测器候选的运动矢量预测器候选的相应参考帧的特性来生成平均成对的候选。
该方法通过确保仅在适当时生成平均成对的候选、由此在必要时保留候选的多样性来改进编码性能。
可选地,所述生成包括仅在所述相应参考帧相同的情况下确定所述两个候选的平均。
可选地,所述特性包括相对于当前帧的、所述参考帧在当前条带的参考帧列表中的位置。
可选地,所述平均成对的候选是根据用于生成成对的运动预测器候选的运动矢量预测器候选的位置而生成的。
在本发明的另一方面,提供一种生成用于对图像的一部分进行解码或编码的运动矢量预测器候选的列表的方法,所述方法包括:获得运动矢量预测器候选的第一列表;获得运动矢量预测器候选的第二列表;以及从运动矢量预测器候选的所述第一列表和所述第二列表,生成用于对图像的一部分进行解码或编码的运动矢量预测器候选的列表,其中,获得所述第二列表包括:针对所述第二列表获得运动矢量预测器候选,对针对所述第二列表所获得的运动矢量预测器候选的至少一部分进行重新排序,以及将至少一个成对的运动矢量预测器候选添加到重新排序后的所述候选。
可选地,该方法包括:从用于所述第二列表的重新排序后的运动矢量预测器候选中的顶端的两个候选,确定所述成对的运动矢量预测器候选。
可选地,被添加的成对的运动矢量预测器候选或各个被添加的成对的运动矢量预测器候选不代替重新排序后的列表中的运动矢量预测器候选。
可选地,被添加的成对的运动矢量预测器候选或各个被添加的成对的运动矢量预测器候选是从包括所述列表中的第一候选和第i候选的两个候选生成的,其中,i是在所述第二列表中的第二和候选的最大数量之间。
可选地,该方法包括:一旦添加了成对的运动矢量预测器候选,就对所述第二列表进行重新排序。
可选地,在所述第二列表在重新排序之前包括成对的运动矢量预测器候选的情况下,将该成对的运动矢量预测器候选与在候选的重新排序期间添加的或添加到重新排序的候选的成对的运动矢量预测器候选一起保留。
可选地,从运动矢量预测器候选的第一列表和第二列表生成用于对图像的一部分进行解码或编码的运动矢量预测器候选的列表包括:确定第一列表中的运动矢量候选的数量与最大(或目标)数量之间的差值,并且(在可用的情况下)包含来自第二列表的等于(或不大于)所述差值的数量的运动矢量预测器候选。
在本发明的又一方面,提供一种生成用于对图像的一部分进行解码或编码的运动矢量预测器候选的列表的方法,包括:获得运动矢量预测器候选的第一列表;获得运动矢量预测器候选的第二列表;以及从运动矢量预测器候选的第一列表和第二列表,生成用于对图像的所述部分进行解码或编码的运动矢量预测器候选的列表,其中,获得运动矢量预测器候选的第二列表包括:对用于第二列表的运动矢量预测器候选进行第一重新排序处理,并且在所述第一重新排序处理中已经评估了要代替的候选的成本、且在添加成对的候选之后要进行第二重新排序处理的情况下,不添加成对的候选。
在本发明的另一方面,提供一种生成用于对图像的一部分进行解码或编码的运动矢量预测器候选的列表的方法,所述方法包括:在第一重新排序处理期间获得针对运动矢量预测器候选的成本;以及在所述运动矢量预测器候选的位置不是在应该使用进一步重新排序处理而被重新排序的位置之中的情况下,在所述进一步重新排序处理中使用在所述第一重新排序处理期间获得的成本。
可选地,以上任何方面中的第一列表包括一个或多于一个相邻的运动矢量预测器候选(如果可用)。
可选地,以上任何方面中的第二列表包括一个或多于一个不相邻运动矢量预测器候选(如果可用)。
可选地,以上任何方面中的第二列表包括一个或多于一个基于历史的候选。
可选地,以上任何方面中的第二列表包括一个或多于一个时间候选。例如,第二列表可以包括进行重新排序处理的三个时间候选。
可选地,第二列表包括所有可能的相邻候选。这些都可能被进行重新排序(ARMC)。
本发明的其他方面涉及相应的编码方法、编码装置、解码装置和可操作以执行本发明的解码和/或编码方法的计算机程序。
本发明的其他方面由独立和从属权利要求提供。
附图说明
现在将通过示例的方式参考附图,在附图中:
图1是用于说明HEVC中使用的编码结构的图;
图2是示意性地示出可以实现本发明的一个或多于一个实施例的数据通信系统的框图;
图3是示出可以实现本发明的一个或多于一个实施例的处理装置的组件的框图;
图4是示出根据本发明实施例的编码方法的步骤的流程图;
图5是示出根据本发明实施例的解码方法的步骤的流程图;
图6和7示出用于描述相对于当前块位于的块的标记方案;
图8的(a)和(b)例示仿射(子块)模式;
图9的(a)、(b)、(c)、(d)例示几何模式;
图10例示VVC的合并候选列表导出的第一步骤;
图11例示VVC的合并候选列表导出的另外步骤;
图12例示成对候选的导出;
图13例示基于相邻样本的模板匹配方法;
图14例示对图10所示的合并候选列表导出的第一步骤的修改;
图15例示对图11所示的合并候选列表导出的另外步骤的修改;
图16例示对图12所示的成对候选的导出的修改;
图17例示合并候选列表导出的第一步骤;
图18例示合并模式候选的列表的重新排序处理;
图19例示在合并模式候选的列表的重新排序处理期间的成对候选导出;
图20a和20b例示在合并模式候选的列表的重新排序处理之后的示例成对候选导出;
图21是示出根据本发明实施例的包括编码器或解码器和通信网络的系统的图;
图22是用于实现本发明的一个或多于一个实施例的计算装置的示意性框图;
图23是示出网络照相机系统的图;
图24是示出智能电话的图。
具体实施方式
图1涉及在高效率视频编码(HEVC)视频标准和多样化视频编码(VVC)标准中使用的编码结构。视频序列1由一系列数字图像i组成。各个这样的数字图像由一个或多于一个矩阵表示。矩阵系数表示像素。
序列的图像2可以被分割成条带3。在一些情况下,一条带可以构成图像整体。这些条带被分割成非重叠编码树单元(CTU)。编码树单元(CTU)是高效率视频编码(HEVC)视频标准的基本处理单元,并且概念性地在结构上与若干先前视频标准中使用的宏块单元相对应。CTU有时也被称为最大编码单元(LCU)。CTU具有亮度和色度分量部分,各个分量部分被称为编码树块(CTB)。这些不同的颜色分量未在图1中示出。
针对HEVC,CTU通常大小为64像素×64像素,而针对VVC,该大小可以为128像素×128像素。可以使用四叉树分解进而将各CTU迭代地分割成较小的可变大小编码单元(CU)5。
编码单元是基本编码元素,并且由被称为预测单元(PU)和变换单元(TU)的两种子单元构成。PU或TU的最大大小等于CU大小。预测单元与CU的用于像素值的预测的分区相对应。将CU分区成PU的各种不同分区是可能的,如606所示,包括分成4个正方形PU的分区、以及分成2个矩形PU的两个不同分区。变换单元是使用DCT进行空间变换的基本单元。CU可以基于四叉树表示607分区成TU。
各条带嵌入一个网络抽象层(NAL)单元中。另外,视频序列的编码参数存储在称为参数集的专用NAL单元中。在HEVC和H.264/AVC中,采用两种参数集NAL单元:第一,序列参数集(SPS)NAL单元,其收集在整个视频序列期间不变的所有参数。通常,它处理编码配置文件、视频帧的大小和其他参数。第二,图片参数集(PPS)NAL单元,其包括可以从序列的一个图像(或帧)改变为其他图像(或帧)的参数。HEVC还包括视频参数集(VPS)NAL单元,其包含描述位流的总体结构的参数。VPS是HEVC中定义的一种类型的参数集,并且应用于位流的所有层。层可以包含多个时间子层,并且所有版本1的位流限定于单个层。HEVC具有用于可缩放性和多视图的某些分层扩展,并且这些扩展将允许具有向后兼容的版本1的基础层的多个层。
在包括子图片的VVC中已经引入了对图像进行拆分的其他方式,所述子图片是一个或多于一个条带的独立编码组。
图2例示可以实现本发明的一个或多于一个实施例的数据通信系统。数据通信系统包括传输装置(在这种情况下是服务器201),其可操作以经由数据通信网络200将数据流的数据包传输至接收装置(在这种情况下是客户端终端202)。数据通信网络200可以是广域网(WAN)或局域网(LAN)。这种网络可以是例如无线网络(Wifi/802.11a或b或g)、以太网网络、互联网网络或由若干不同网络组成的混合网络。在本发明的特定实施例中,数据通信系统可以是数字电视广播系统,其中服务器201将相同的数据内容发送到多个客户端。
由服务器201提供的数据流204可以由表示视频和音频数据的多媒体数据组成。在本发明的一些实施例中,音频和视频数据流可以分别由服务器201使用麦克风和照相机来捕获。在一些实施例中,数据流可以存储在服务器201上或由服务器201从其他数据提供商接收,或在服务器201处生成。服务器201设置有用于对视频和音频流进行编码的编码器,特别是用以提供用于传输的压缩位流,该压缩位流是作为编码器的输入所呈现的数据的更紧凑表示。
为了获得更好的传输数据的质量与传输数据的量的比率,可以例如根据HEVC格式或H.264/AVC格式或VVC格式来压缩视频数据。
客户端202接收所传输的位流,并且解码重建的位流,以在显示装置上再现视频图像和利用扬声器再现音频数据。
尽管在图2的示例中考虑了流式传输场景,但将认识到,在本发明的一些实施例中,可以使用例如介质存储装置(诸如光盘等)来进行编码器与解码器之间的数据通信。
在本发明的一个或多于一个实施例中,视频图像与表示要应用到图像的重建像素的补偿偏移的数据一同传输,以在最终图像中提供经滤波的像素。
图3示意性地例示被配置为实现本发明的至少一个实施例的处理装置300。处理装置300可以是诸如微计算机、工作站或轻型便携式装置等的装置。装置300包括通信总线313,其连接到:
-表示为CPU的中央处理单元311,诸如微处理器等;
-表示为ROM的只读存储器306,其用于存储实现本发明的计算机程序;
-用于存储本发明实施例的方法的可执行代码的表示为RAM的随机访问存储器312,以及适于记录变量和参数的寄存器,该变量和参数是根据本发明实施例实现对数字图像序列进行编码的方法和/或对位流进行解码的方法所需的;以及
-连接至通信网络303的通信接口302,通过该通信接口传输或接收要处理的数字数据。
可选地,设备300还可以包括以下组件:
-诸如硬盘等的数据存储部件304,其用于存储实现本发明的一个或多于一个实施例的方法的计算机程序以及在实现本发明的一个或多于一个实施例期间所使用或产生的数据;
-用于盘306的盘驱动器305,该盘驱动器适于从盘306读取数据或将数据写入所述盘;
-屏幕309,其用于借助于键盘310或任何其他指示装置来显示数据和/或用作与用户交互的图形界面。
设备300可以连接到诸如数字照相机320或麦克风308等的各种外围设备,其各自连接到输入/输出卡(未示出)以向设备300提供多媒体数据。
通信总线提供设备300中所包括的或连接到设备300的各种元素之间的通信和互操作性。总线的表示不是限制性的,并且特别地,中央处理单元可操作地将指令直接或者借助于设备300的其他元素通信到设备300的任何元素。
盘306可以由诸如可重写或不可重写的致密盘(CD-ROM)、ZIP盘或存储卡等的任何信息介质代替,并且一般而言,由微计算机或微处理器可以进行读取的信息存储部件代替,该盘306集成到或不集成到设备中、可能可移动并且适于存储其执行使得能够实现根据本发明的对数字图像序列进行编码的方法和/或对位流进行解码的方法的一个或多于一个程序。
可执行代码可以存储在只读存储器306中、硬盘304上或可移动数字介质(诸如,例如如前述的盘306等)上。根据一变型,程序的可执行代码可以经由接口302借助于通信网络303来接收,以在执行之前存储在设备300的存储部件之一(诸如硬盘304等)中。
中央处理单元311适于控制和指导执行根据本发明的一个或多于一个程序的指令或软件代码的部分、存储在上述存储部件之一中的指令的执行。在通电时,存储在非易失性存储器中(例如,在硬盘304上或在只读存储器306中)的一个或多于一个程序被传递到随机访问存储器312中(其然后包含一个或多于一个程序的可执行代码)以及用于存储实现本发明所必需的变量和参数的寄存器。
在该实施例中,设备是使用软件来实现本发明的可编程设备。然而,替代地,本发明可以以硬件(例如,以专用集成电路或ASIC的形式)来实现。
图4例示根据本发明的至少一个实施例的编码器的框图。编码器由所连接的模块表示,各模块适于例如以由装置300的CPU 311执行的编程指令的形式来实现根据本发明的一个或多于一个实施例的、用于实现对图像序列中的图像进行编码的至少一个实施例的方法的至少一个相应步骤。
编码器400接收数字图像i0至in的原始序列401作为输入。各数字图像由样本(有时也称为像素)(在下文中,它们被称为像素)的集合表示。
编码器400在实现编码处理之后输出位流410。位流410包括多个编码单元或条带,各条带包括用于对条带编码所用的编码参数的编码值进行传输的条带头部、以及包括编码视频数据的条带主体。
模块402将输入数字图像i0至in 401分割成像素块。块与图像部分相对应并且可以具有可变大小(例如,4×4、8×8、16×16、32×32、64×64、128×128像素、并且还可以考虑若干矩形块大小)。针对各输入块选择编码模式。提供了两个编码模式族:基于空间预测编码(帧内预测)的编码模式和基于时间预测的编码模式(帧间编码、合并、跳过)。测试了可能的编码模式。
模块403实现帧内预测处理,其中,通过根据要编码的给定块的相邻像素计算出的预测器来预测所述要编码的块。如果选择了帧内编码,则对所选择的帧内预测器以及给定块与其预测器之间的差的指示进行编码以提供残差。
时间预测由运动估计模块404和运动补偿模块405实现。首先,选择来自参考图像集416的参考图像,并且由运动估计模块404选择参考图像的一部分(也被称为参考区域或图像部分),该部分是与要编码的给定块(在像素值类似性方面)最接近的区域。然后运动补偿模块405使用所选择的区域来预测要编码的块。由运动补偿模块405计算所选择的参考区域与给定块(也称为残差块)之间的差。使用运动矢量指示所选择的参考区域。
由此,在这两个情况下(空间和时间预测),通过从原始块减去预测器来计算残差。
在由模块403实现的帧内预测中,对预测方向进行编码。在由模块404、405、416、418、417实现的帧间预测中,至少一个运动矢量或用于识别这种运动矢量的数据被编码用于时间预测。
如果选择帧间预测,则对与运动矢量和残差块有关的信息进行编码。为了进一步降低位速率,假定运动是同质的,通过相对于运动矢量预测器的差对运动矢量进行编码。由运动矢量预测和编码模块417从运动矢量场418获得运动信息预测器候选的集合中的运动矢量预测器。
编码器400还包括选择模块406,该选择模块用于通过应用编码成本准则(诸如,率-失真准则等)来选择编码模式。为了进一步减少冗余,由变换模块407将变换(诸如DCT等)应用于残差块,然后,所获得的变换数据由量化模块408量化并且由熵编码模块409进行熵编码。最终,正被编码的当前块的编码后的残差块被插入位流410中。
编码器400还进行编码图像的解码,以产生用于后续图像的运动估计的参考图像(例如,参考图像/图片416中的参考图像)。这使得接收位流的编码器和解码器能够具有相同的参考帧(使用重建图像或图像部分)。逆量化(去量化)模块411进行量化数据的逆量化(去量化),之后是逆变换模块412的逆变换。帧内预测模块413使用预测信息来确定对于给定块使用哪个预测器,并且运动补偿模块414实际上将由模块412获得的残差添加到从参考图像集416获得的参考区域。
然后,由模块415应用后滤波以对所重建的像素帧(图像或图像部分)进行滤波。在本发明的实施例中,使用SAO环路滤波器,其中补偿偏移被添加到所重建图像的所重建像素的像素值。应理解,并不总是必须进行后滤波。此外,替代SAO环路滤波或除了SAO环路滤波之外,还可以进行任何其他类型的后滤波。
图5示出根据本发明实施例的解码器60的框图,解码器60可以用于从编码器接收数据。解码器由所连接的模块表示,各模块适于例如以要由装置300的CPU 311执行的编程指令的形式实现由解码器60实现的方法的相应步骤。
解码器60接收包括编码单元(例如,与块或解码单元相对应的数据)的位流61,各编码单元由包含与经编码的参数有关的信息的头部和包含经编码的视频数据的主体组成。如关于图4所说明的,针对给定块,在预定数量的位上,对经编码的视频数据进行熵编码,并且对运动矢量预测器的索引进行编码。所接收的经编码的视频数据由模块62进行熵解码。然后残差数据由模块63去量化,之后由模块64应用逆变换以获得像素值。
用于指示编码模式的模式数据也被熵解码,并且基于该模式,对图像数据的编码块(单元/集合/组)进行帧内类型解码或帧间类型解码。
在帧内模式的情况下,帧内预测模块65基于在位流中指定的帧内预测模式来确定帧内预测器。
如果模式是帧间,则从位流提取运动预测信息以找到(识别)由编码器使用的参考区域。运动预测信息包括参考帧索引和运动矢量残差。通过运动矢量解码模块70将运动矢量预测器添加到运动矢量残差以获得运动矢量。下文参考图6至图10更详细地讨论VVC中使用的各种运动预测器工具。
运动矢量解码模块70对通过运动预测编码的各当前块应用运动矢量解码。一旦已获得针对当前块的运动矢量预测器的索引,可以对与当前块相关联的运动矢量的实际值进行解码,并且该实际值用以通过模块66应用运动补偿。从参考图像68提取由经解码的运动矢量指示的参考图像部分以应用运动补偿66。利用经解码的运动矢量更新运动矢量场数据71,以用于后续解码运动矢量的预测。
最终,获得经解码的块。在适当的情况下,由后滤波模块67应用后滤波。解码器60最终获得并提供经解码的视频信号69。
运动预测(帧间)模式
HEVC使用3个不同的帧间模式:帧间模式(高级运动矢量预测(AMVP))、“经典”合并模式(即“非仿射合并模式”或也称为“常规”合并模式)和“经典”合并跳过模式(即“非仿射合并跳过”模式或也称为“常规”合并跳过模式)。这些模式之间的主要差异在于位流中的数据的信号通知。对于运动矢量编码,当前的HEVC标准包括用于运动矢量预测的基于竞争的方案,该方案在该标准的早期版本中不存在。这意味着数个候选在编码器侧与率失真准则竞争,以分别针对帧间或合并模式(即“经典/常规”合并模式或“经典/常规”合并跳过模式)找到最佳运动矢量预测器或最佳运动信息。然后将与运动信息的最佳预测器或最佳候选相对应的索引与表示预测值和实际值之间的差的“残差”一起插入位流中。解码器可以导出预测器或候选的相同集合,并且根据经解码的索引使用最佳的一个。使用残差,解码器然后可以重新创建原始值。
在HEVC的画面内容扩展中,被称为帧内块复制(IBC)的新编码工具被用信号通知为这三个帧间模式中的任何一个,IBC和等效帧间模式之间的差异是通过检查参考帧是否是当前帧来确定的。这可以例如通过以下方式来实现:检查列表L0的参考索引,并且如果是该列表中的最后帧,则推断这是帧内块复制。另一方式是将当前帧和参考帧的图片顺序计数进行比较:如果相等,则这是帧内块复制。
预测器和候选的导出的设计对于在不会对复杂性产生不成比例的影响的情况下实现最佳编码效率是重要的。在HEVC中,使用两个运动矢量导出:一个用于帧间模式(高级运动矢量预测(AMVP)),一个用于合并模式(合并导出处理(用于经典合并模式和经典合并跳过模式))。下面描述了VVC中使用的各种运动预测器模式。
图6示出本文使用的描述帧之间相对于当前块(即,当前正在编码/解码的块)位于的块的标记方案(图6)。
VVC合并模式
与HEVC相比,在VVC中添加了数个帧间模式。特别地,新的合并模式已被添加到HEVC的常规合并模式。
仿射模式(子块模式)
在HEVC中,仅针对运动补偿预测(MCP)应用平移运动模型。而在现实世界中,有许多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。
在JEM中,应用了简化的仿射变换运动补偿预测,并且基于2017年7月13-21日在都灵(Torino)举行的JVET会议上提交的文件JVET-G1001的摘录,在下面描述了仿射模式的一般原理。在描述JEM中使用的其他算法的范围内,该整个文档通过引用并入本文。
如图8的(a)所示,块的仿射运动场由两个控制点运动矢量描述。
仿射模式是如帧间模式(AMVP、“经典”合并或“经典”合并跳过)的运动补偿模式。其原理是根据2或3个相邻的运动信息,生成每像素一个运动信息。在JEM中,仿射模式针对各个4×4块导出一个运动信息,如图8的(a)所示(各个正方形是4×4块,并且图8的(a)中的整个块是16×16块,该整个块被分割成这种4×4大小的正方形的16个块(各个4×4正方形块具有与其相关联的运动矢量)。通过利用标志启用仿射模式,仿射模式可用于AMVP模式和合并模式(即,也称为“非仿射合并模式”的经典合并模式和也称为“非仿射合并跳过模式”的经典合并跳过模式)。
在VVC规范中,仿射模式也称为子块模式;这些术语在本说明书中可互换使用。
VVC的子块合并模式包含基于子块的时间合并候选,该候选继承由空间运动矢量候选指向的前一帧中的块的运动矢量场。如果已经利用子块合并的帧间仿射模式编码了相邻块,然后在某个零Mv候选之前导出了一些作为构建的仿射候选,则该子块候选之后是继承的仿射运动候选。
CIIP
除了常规合并模式和子块合并模式之外,VVC标准还包含组合帧间合并/帧内预测(CIIP),也已知为多假设帧内帧间(Multi-Hypothesis Intra Inter(MHII))合并模式。
组合帧间合并/帧内预测(CIIP)合并可以被认为是常规合并模式和帧内模式的组合,并且下面参考图10进行描述。该模式的针对当前块(1001)的块预测器是合并预测器块和帧内预测器块之间的平均,如图10所示。合并预测器块是利用与合并模式完全相同的处理获得的,因此其是时间块(1002)或两个时间块的双预测器。因此,以与常规合并模式相同的方式针对该模式用信号通知合并索引。基于当前块(1001)的相邻样本(1003)获得帧内预测器块。然而,与帧内块相比,当前块的可用帧内模式的数量是有限的。此外,没有针对CIIP块用信号通知的色度帧内预测器块。色度预测器等于亮度预测器。结果,1、2或3位用于用信号通知CIIP块的帧内预测器。
通过合并块预测器和帧内块预测器的加权平均获得CIIP块预测器。加权平均的加权取决于块大小和/或所选择的帧内预测器块。
然后将所获得的CIIP预测器添加到当前块的残差,以获得重建块。应该注意的是,CIIP模式仅针对未跳过的块启用。事实上,使用CIIP跳过通常导致压缩性能的损失和编码器复杂性的增加。这是因为CIIP模式通常具有与其他跳过模式相反的块残差。因此,其针对跳过模式的信号通知增加了位率。当跳过当前CU时,避免CIIP。这种限制的结果是CIIP块不能具有仅包含0值的残差,因为不可能对等于0的VVC块残差进行编码。事实上,在VVC中,对于合并模式,用信号通知块残差等于0的唯一方式是使用跳过模式,这是因为对于合并模式,CU CBF标志被推断为等于真。并且当该CBF标志为真时,块残差不能等于0。
以这种方式,在本说明书中,CIIP应该被解释为结合了帧间和帧内预测特征的模式,而不一定是给予一个特定模式的标签。
CIIP使用与常规合并模式相同的运动矢量候选列表。
MMVD
MMVD合并模式是特定的常规合并模式候选导出。它可以被认为是独立的合并候选列表。对于当前CU,通过将一个运动矢量分量(mvx或mvy)的偏移值添加到初始常规合并候选来获得所选择的MMVD合并候选。偏移值被添加到第一列表L0的运动矢量或第二列表L1的运动矢量,这取决于这些参考帧的配置(这两者都是向后的、这两者都是向前的、或者向前和向后的)。利用索引而用信号通知初始合并候选。利用8个可能的距离(1/4像素、1/2像素、1像素、2像素、4像素、8像素、16像素、32像素)之间的距离索引和给出x或y轴以及偏移符号的方向索引来用信号通知偏移值。
在VVC中,仅常规合并列表的前两个候选被用于MMVD导出且通过一个标志用信号通知。
几何分区模式
几何(GEO)合并模式是特殊的双预测模式。图9例示该特殊的块预测器生成。块预测器包含来自第一块预测器的一个三角形(901或911)和来自第二块预测器的第二三角形(902或912)。但是如图9的(c)和(d)所描述的,块的数个其他可能拆分是可能的。在本说明书中,几何合并应被解释为组合两个帧间非正方形预测器的特征的模式,而不一定是给予一个特定模式的标签。
在图9的(a)的示例中,各个分区(901或902)具有作为单向候选的运动矢量候选。并且对于各个分区,用信号通知索引以在解码器处获得单向候选列表中的相应运动矢量候选。并且第一分区和第二分区不能使用相同的候选。该候选列表来自常规合并候选列表,其中对于各个候选,已经移除了2个分量之一(L0或L1)。
IBC
在VVC中,也可以启用帧内块复制(IBC)合并模式。IBC具有独立的合并候选导出处理。
其他运动信息改进
DMVR
VVC中的解码器侧运动矢量导出(DMVR)增加了合并模式的MV的准确性。对于该方法,应用了基于双边匹配(BM)的解码器侧运动矢量修正。在该双预测操作中,围绕参考图片列表L0和参考图片列表L1中的初始MV搜索经修正的MV。BM方法计算参考图片列表L0和列表L1中的两个候选块之间的失真。
BDOF
VVC还集成了双向光流(BDOF)工具。BDOF(先前称为BIO)用于在4×4子块级别修正CU的双预测信号。如果CU满足数个条件,尤其是如果从两个参考图片到当前图片的距离(即图片顺序计数(POC)差)相同,则将BDOF应用于CU。顾名思义,BDOF模式基于假定物体的运动是平滑的光流概念。对于各个4×4子块,通过使L0和L1预测样本之间的差最小化来计算运动修正(v_x,v_y)。然后使用运动修正来调整4×4子块中的双预测样本值。
PROF
类似地,针对仿射模式使用具有光流的预测修正(Prediction refinement withoptical flow(PROF))。
AMVR和hpelIfIdx
VVC还包括自适应运动矢量分辨率(AMVR)。AMVR允许以不同的精度来编码CU的运动矢量差。例如,对于AMVP模式,考虑四分之一亮度样本、半亮度样本、整亮度样本或四亮度样本。VVC规范的下表给出了基于不同句法元素的AMVR移位。
AMVR可能对除了使用运动矢量差编码作为不同合并模式的模式之外的其他模式的编码产生影响。事实上,对于一些候选,参数hpelIfIdx(其表示半像素精度的亮度插值滤波器的索引)被传播用于一些合并候选。例如,对于AMVP模式,如下导出hpelIfIdx:
hpelIfIdx=AmvrShift==3?1:0
具有CU级权重的双预测(BCW)
在VVC,具有CU级权重的双预测模式(BCW)被扩展到超出简单平均(如在HEVC中进行的),以允许根据下式的两个预测信号P0和P1的加权平均。
Pbi-pred=((8-w)*P0+w*P1+4)>>3
在加权平均双预测中允许五个权重,其中w∈{-2,3,4,5,10}。
对于非合并CU,在运动矢量差之后用信号通知权重索引bcwIndex。
对于合并CU,基于合并候选索引从相邻块推断权重索引。
BCW仅用于具有256个或更多亮度样本的CU。此外,对于低延迟图片,使用所有5个权重。对于非低延迟图片,仅使用3个权重(w∈{3,4,5})。
常规合并列表导出
在VVC中,如图10和图11导出常规合并列表。首先,添加空间候选B1(1002)、A1(1006)、B0(1010)、A0(1014)(如图7所描绘的)(如果它们存在)。并且在A1和B1的运动信息之间进行部分冗余(1007)以添加A1(1008),在B0和B1的运动信息之间进行部分冗余(1011)以添加B0(1012),以及在A0和A1的运动信息之间进行部分冗余(1015)以添加A0(1016)。
当添加合并候选时,变量cnt递增(1015、1009、1013、1017、1023、1027、1115、1108)。
如果列表中候选的数量(cnt)严格小于4(1018),则在候选B2(1019)不具有与A1和B1相同的运动信息(1021)的情况下,添加(1022)候选B2(1019)。
然后添加时间候选。如果右下候选(1024)可用(1025),则添加该候选(1026),否则如果中心时间候选(1028)存在(1029),则添加中心时间候选(1026)。
然后,添加基于历史的(HMVP)(1101)(如果它们不具有与A1和B1相同的运动信息(1103))。此外,基于历史的候选的数量不能超过合并候选列表的候选的最大数量减1(1102)。因此,在合并候选列表中,在基于历史的候选之后,缺少至少一个位置。
然后,如果列表中的候选的数量至少为2,则构建成对候选(1106)并将其添加到合并候选列表中(1107)。
然后,如果在合并候选列表中存在空位置(1109),则添加零候选(1110)。
对于空间候选和基于历史的候选,参数BCWidx和useAltHpelIf被设置为等于候选的相关参数。对于时间候选和零候选,它们被设置为等于默认值0。这些默认值实质上禁用了该方法。
对于成对候选,BCWidx被设置为等于0,并且hpelIfIdxp被设置为等于第一候选的hpelIfIdxp(如果第一候选的hpelIfIdxp等于第二候选的hpelIfIdxp,否则被设置为0)。
成对候选导出
根据图12的算法构建成对候选(1106)。如所描绘的,当2个候选在列表中时(1201),如前所述导出hpelIfIdxp(1204、1202、1203)。然后将帧间方向(interDir)设置为等于0(1205)。对于各个列表L0和L1,如果至少一个参考帧有效(不同于-1)(1207),则将设置参数。如果这两者都有效(1208),则导出该候选的mv信息(1209)并将其设置为等于第一候选的参考帧,并且运动信息是该列表的两个运动矢量之间的平均,且变量interDir递增。如果候选中仅一个具有该列表的运动信息(1210),则成对候选的运动信息被设置为等于该候选(1212、1211),并且帧间方向变量interDir递增。
ECM
自VVC v1标准结束以来,JVET通过建立探索软件(ECM)启动了探索阶段。探索阶段收集了附加工具并且改进了VVC标准的基础上的现有工具,以实现更好的编码效率。
ECM合并模式
在添加的所有工具中,添加了一些附加的合并模式。仿射MMVD用信号通知作为常规合并模式的MVVD编码的合并仿射候选的偏移。类似地,还添加了GEO MMVD。CIIP PDPC是CIIP的扩展。并且添加了两个模板匹配合并模式:常规模板匹配和GEO模板匹配。
常规模板匹配是基于模板匹配估计,如图13所所描绘的。在解码器侧,对于与相关合并索引相对应的候选和对于可用的这两个列表(L0、L1),基于当前块(1301)的相邻样本和基于多个相应块位置的相邻样本进行运动估计,计算成本并选择使成本最小化的运动信息。运动估计受到搜索范围的限制,并且对该搜索范围的数个限制也被用于降低复杂性。
在ECM中,常规模板匹配候选列表是基于常规合并列表,但是添加了一些附加的步骤和参数,这意味着可以生成针对同一块的不同合并候选列表。此外,与用于具有JVET定义的共同测试条件的ECM中的针对常规合并候选列表的10个候选相比,仅4个候选可用于模板匹配的常规合并候选列表。
ECM中的规则合并列表导出
在ECM中,更新了常规合并列表导出。图14和图15示出分别基于图10和图11的该更新。但是为了清楚,基于历史的候选(1101)的模块已经在(1501)中被概述。
在该图15中,添加了新类型的合并候选:不相邻候选(1540)。这些候选来自空间上位于当前帧的块而不是相邻帧中的块,因为相邻是空间候选。这些候选是根据距离和方向而选择的。对于基于历史的候选,可以添加相邻候选列表,直到该列表达到候选的最大数量减1,使得仍然可以添加成对候选。
重复检查
在图14和图15中,添加针对各个候选的重复检查(1440、1441、1442、1443、1444、1445和1530)。但是,重复也针对不相邻候选(1540)和基于历史的候选(1501)。重复检查在于将索引cnt的当前候选的运动信息与先前候选的运动信息进行彼此比较。当该运动信息相等时,被认为是重复的,并且变量cnt不递增。当然,运动信息意味着针对各个列表(L0、L1)的帧间方向、参考帧索引和运动矢量。
MVTH
在ECM中,对于该重复检查,添加了运动矢量阈值。该参数通过以下方式来改变相等性检查:如果两个运动矢量对于各个分量的绝对差小于或等于运动矢量阈值MvTh,则认为这两个运动矢量相等。对于常规合并模式,MvTh被设置为等于0,并且对于模板匹配的常规合并模式,MvTh被设置为取决于当前CU中的亮度样本的数量的值。
AMRC
在ECM中,为了减少合并索引的位的数量,添加了具有模板匹配的合并候选的自适应重新排序(AMRC)。根据如图13中所计算的模板匹配成本,基于各个候选的成本对候选进行重新排序。在这种方法中,仅针对每个候选计算一个成本。该方法在导出该列表之后应用,并且仅对常规合并候选列表的前5个候选应用。应当理解,选择数量5是为了平衡重新排序处理的复杂性和潜在收益,由此可以重新排序更大的数量(例如,所有候选)。
图18给出了针对如CTC中包含10个候选的常规合并候选列表的该方法的示例。
该方法还适用于除时间候选之外的子块合并模式,以及适用于所有4个候选的常规TM模式。
在建议中,该方法还被扩展到重新排序并选择要被包括在合并模式候选的最终列表中的候选。例如,在JVET-X0087中,所有可能的不相邻候选(1540)和基于历史的候选(1501)与时间不相邻候选一起被考虑,以获得候选的列表。该候选的列表是在不考虑候选的最大数量的情况下构建的。然后对该列表候选进行重新排序。仅来自该列表的正确数量的候选被添加到合并候选的最终列表。正确数量的候选对应于列表中前N个候选。在该示例中,正确数字是候选的最大数量减去最终列表中已经存在的空间和时间候选的数量。换句话说,不相邻候选和基于历史的候选与相邻空间和时间候选被分开地处理。所处理的列表用于补充已经存在于合并候选列表中的相邻空间和时间合并候选,以生成最终合并候选列表。
在JVET-X0091中,ARMC用于从3个时间候选bi-dir、L0或L1中选择时间候选。所选择的候选被添加到合并候选列表。
在JVET-X0133中,从使用ARMC重新排序的数个时间候选中选择合并时间候选。以同样的方式,所有可能的相邻候选都受制于ARMC,并且这些候选中的多达9个可以被添加到合并候选列表。
所有这些所建议的方法都使用经典的ARMC重新排序合并候选的最终列表,以对其进行重新排序。JVET X0087重新使用在不相邻和基于历史的候选的重新排序期间计算的成本,以避免附加的计算成本。JVET-X0133对合并候选的最终列表上的所有候选应用系统的重新排序。
多假设预测(MHP)
ECM中还添加了多假设预测(MHP)。利用这种方法,可以使用针对每个块的多达四个运动补偿预测信号(而不是如VVC中的两个)。这些个体的预测信号被叠加以形成整体预测信号。各个附加预测假设的运动参数可以通过指定参考索引、运动矢量预测器索引和运动矢量差来显式地用信号通知,或者通过指定合并索引来隐式地用信号通知。单独的多假设合并标志在这两个信号通知模式之间进行区分。
对于空间候选、不相邻合并候选和基于历史的合并候选,多重假设参数值“addHypNeighbours”继承自候选。
对于时间候选、零候选和成对候选,不保持多重假设参数值“addHypNeighbours”(它们是清楚的)。
LIC
在ECM中,添加了局部照明补偿(LIC)。LIC基于照明变化的线性模型。利用当前块的相邻样本和先前块的相邻样本来计算线性模型。
在ECM中,仅针对单向预测启用LIC。通过标志的方式用信号通知LIC。对于合并模式,不传输LIC标志,而是以以下方式从合并候选继承LIC标志。
对于空间候选、不相邻合并候选和基于历史的合并候选,继承LIC标志的值。
对于时间候选和零候选,LIC标志被设置为等于0。
对于成对候选,如图16所描绘的那样设置LIC标志的值。该图基于图12,并且添加了模块1620和1621,以及更新了模块1609、1612和1611。变量averageUsed被设置为等于假(1620),如果对于当前列表,已经计算了针对成对候选的平均,则针对成对候选的LIC标志LICFlag[cnt]被设置为等于假,并且变量averageUsed等于真(1609)。如果仅候选具有列表的运动信息(16121611),如果不使用平均,则更新LIC标志。并且它被设置为等于其当前值和候选的LICflag的值的OR运算。
并且当成对候选是Bidir(例如等于3)时,LIC标志等于假。
然而,如图16所示的算法仅在两个候选具有一个列表的运动信息、并且各个候选具有自己的列表的情况下允许LICflag等于不同于真的值。例如,候选0仅具有L0的运动信息,而候选1仅具有L1的运动信息。在这种情况下,LIC标志可以等于不同于0的其他值,但由于LIC仅用于单向,因而永远不会发生。因此成对候选的LIC标志总是等于假。因此,当可能需要LIC时,成对候选不能使用LIC。因此,这降低了候选的效率,并且避免了LIC针对随后的编码块的传播,从而降低了编码效率。
此外,ECM软件中的重复检查导致一些效率低下。如图14和图15所描绘的,各个候选被添加到列表中,并且重复检查(1440、1441、1442、1443、1444、1445和1530)仅对变量cnt的递增(1405、1409、1413、1417、1423、1427、1508)有影响。此外,如图16所描述的,没有针对成对候选初始化变量BCWidx。因此,如果列表中添加的最后候选是重复候选,则成对候选的值BCWidx是该先前重复候选的值。这不是VVC中的情况,因为当候选被认为重复时,不添加这些候选。
实施例
在所有以下实施例中,可以在2个或多于2个候选之间生成成对候选。成对候选可以表示生成该成对候选的候选之间的“折衷”位置,因此表示朝向理想运动矢量预测器的修正。利用这一点(在适当时)可以通过以下方式实现效率提升:
a)选择最适当的候选以生成成对候选;
b)仅在适当时使用成对候选,因为成对候选占用了一个候选的位置,该位置原本可以提供更大的多样性;
c)将成对候选放置在列表中最适当的位置;
d)认识到成对候选可能有用或者与现有候选太类似时;以及
e)基于生成该候选的候选来导出该候选的其他(非运动)参数。
这种修改(特别是当结合时)可以在没有显著的复杂性成本的情况下实现效率提升。下面描述与上述一个或多于一个相关的各种实施例。
在一个实施例中,当在成对候选之前应用仅改变列表中候选的数量的重复检查时,成对候选的非运动参数(例如BCWidx值)被设置为等于默认值0。这确保了非运动参数不会继承自不相关或不适当的候选。
常规合并模式
在一个实施例中,当生成运动矢量候选的列表时,依赖于合并模式的类型来启用成对候选。特别地,仅当合并模式是常规合并模式时,添加成对候选。这可以包括CIIP合并模式和MMVD。由于成对候选是最可能候选之间的组合或平均,因而成对候选是高效候选。因此,该候选为可预测内容创建了多样性,并且在这种情况下可以更接近理想的候选。(理想候选意味着给出当前块的完美预测的候选。不太可能存在于有损编解码器中。)其他合并模式专门针对特定的复杂内容(如GEO),以及/或者利用样本之间的一些相关性(如模板匹配)。对于模板匹配,成对候选没有创建足够的多样性(因为候选将在它们之间很远,而不是更接近),因为模板匹配在搜索范围中找到正确的位置。GEO合并模式被设计为在邻域中存在的两个运动之间正确地拆分块。成对候选创建不在该邻域中的运动信息。因此该多样性不是GEO合并模式所需要的。
模板匹配合并模式
对合并模式类型的依赖也可以/替代地禁用(或不添加)针对模板匹配合并模式的成对候选。这令人惊讶地增加了编码效率。事实上,当成对候选是平均时,创建了在两个候选之间的位置。因此,对于模板匹配合并模式,将产生太接近的区域,并且该候选不太可能与其他候选显著不同,以产生比模板匹配合并模式中的其他候选更好的预测。
相关实施例是当成对候选是候选之间的平均时禁用(或不添加)针对模板匹配合并模式的成对候选。
GEO合并模式
在与上述结合有用的类似实施例中,对于几何合并模式或几何MMVD合并模式或几何模板匹配合并模式,禁用(或不添加)成对候选。如上所述,这确保了列表具有数个合并模式的候选之间的多样性,并且因此增加了编码效率。
以类似于模板匹配合并模式的方式,当成对候选是候选之间的平均时,对所有几何合并模式禁用(或不添加)成对候选。
成对候选在合并列表中的位置
令人惊讶的是,已经发现成对候选在VVC中非常频繁地被选择,即使是在靠近列表的底端时也是如此。因此,已经发现通过在合并候选列表的早期阶段设置成对候选来增加编码效率。事实上,合并候选列表在列表的起始处包含最可能候选。因此,与其他候选相比,这些最可能候选的组合给出了平均最接近理想候选的有趣候选。
在该实施例中,对成对候选的最宽松限制是不将该候选放置在合并候选列表的末尾。因此,约束是(cnt<Maxcand-1),其中cnt是候选的位置(从零开始),并且Maxcand是候选的总数量。不相邻候选和/或基于历史的候选(1102)可以被移除,因此这些候选可以被添加到直到列表的末尾。
对成对候选的位置的更严格约束将是强制该位置更接近列表的顶端而不是底端。在数学方面中,该约束可以被表示为(cnt<(Maxcand-1)/2)。在Maxcand=10的示例中,cnt可以是0、1、2、3或4(即在列表的前半部分)。
在一个附加实施例中,成对候选被恰好设置在用于定义该成对候选的最后候选之后。由于成对候选是两个候选的平均或组合,因此很可能的是如果没有选择原始运动矢量预测器候选,则它们之间的位置可能更好(并因此被选择)。
该示例实现将是使成对的运动矢量预测器候选的位置设置在第三位置处(即,紧接在用于生成成对候选的两个候选之后)。
类似但替代的附加实现是一旦获得了2个候选,就将成对候选添加在列表中。图17例示该实施例。图17基于图14,其中,在图14中添加了模块1750、1751、1752和1753。该方法需要对现有方法进行最小的修改,并且确保成对候选被放置在列表中尽可能高的位置。
如图17所描绘的,在一个实施例中,成对候选仅基于空间候选。该列表的起始处的空间候选是最可能候选,因此这具有如下的意义:成对候选应该是该最可能候选的组合,而不是在需要时创建更多多样性的候选的组合。
在一个替代的附加实施例中,成对候选被系统地设置在第二位置。因为成对候选通过保持第一候选的参考帧索引(当它们存在时)来使用主要来自第一候选的信息,并且列表中的第一合并候选是被选择最多的候选。在这个意义上,成对候选为列表中第二候选提供了更接近第一候选的折衷,因此与用于生成成对候选的其他候选相比,更有可能被选择。
构建(生成)成对候选
应用于合并列表的重新排序处理提供了改进生成成对候选的处理的机会。使用在重新排序处理期间应用的第一候选来构建成对候选。如上所述,这增加了成对候选表示两个最佳候选之间的折衷的可能性。该重新排序处理可以是ECM的具有模板匹配的合并候选的自适应重新排序(AMRC)。图19例示该实施例。在该图中,由函数对(C0,C1)表示2个候选C0,C1之间的成对候选的构建。
该实施例可以比如早期阶段添加成对候选更高效,因为在这种情况下,成对候选是基于列表的最可能候选构建的(因为重新排序的目的是给出最可能候选的更好排序)。然而,该实施例更复杂,因为仅当已经完成了一些候选的重新排序处理时,能够构建成对候选。
在一个附加实施例中,当N是重新排序的候选的数量时,一旦在列表中已经对N-1个候选进行了重新排序,就构建成对候选。这确保了在产生成对候选之前已经对最大数量的候选进行了重新排序。
在一个附加实施例中,成对候选被插入在位置N处,并且使用重新排序处理对其进行重新排序。因此候选编号N不会从列表中被移除,而是被设置在位置N+1处。以同样的方式,位置N之后的所有其他候选递增它们的位置(除了列表中被移除的最后候选之外)。
事实上,优选不移除位置N处的候选,而是移除列表中的最后候选,因为与列表底端的候选相比,位置N处的候选可能是更关注的候选。
在将成对候选添加到列表之前,可以对该成对候选进行有效性检查。在一个附加实施例中,成对候选的有效性检查包括重复检查。然而,与ECM中的先前候选0至N-1相比,但也与所有候选N+1至候选的最大数量相比,该重复检查是完全重复检查。
构建成对候选的另一方式是使用候选的列表中第一候选和第i位置处的候选(其中i>1)。第一候选是最可能候选,因此可能比任何其他候选更接近理想运动矢量预测器。
在一个实施例中,该成对候选代替候选的列表中第i位置处的候选。
该实施例是高效的,因为在大多数情况下,第一候选是最可能候选,因此列表中的第一候选应该接近理想候选,因此第一候选和候选的列表中第i位置处的候选之间的成对应该比第i位置处的候选更接近理想候选。
在一个替代方案中,可以添加构建的成对候选,而不移除第i位置处的候选,但是递增第i位置之下的各个候选,并且移除列表中的最后候选。
以与上述类似的方式,可以在添加成对候选之前进行有效性检查。成对候选的有效性检查包括重复检查。然而,与ECM中的先前候选0至N-1相比,但也与所有候选N+1至候选的最大数量相比,该重复检查是完全重复检查。
特别有利的组合是将利用第一候选和第i位置处的候选生成成对候选的方法与重新排序处理相结合。在这种情况下,第一候选更接近理想预测值。图20a和20b例示该实施例和下一实施例。
在一个附加实施例中,该处理被应用于没有利用重新排序处理进行重新排序的候选。这实质上意味着未被重新排序的候选被从第一候选和将要被代替的候选生成的成对候选所代替。列表中较低的候选不太可能是良好的预测器,因此用更接近第一候选的候选代替这些候选可能改进预测。
图20b示出与图20a类似的重新排序处理。在该实施例中,从常规合并候选导出的列表中移除成对候选。该成对候选是在具有模板匹配的合并候选的自适应重新排序(ARMC)期间添加的(如果该成对候选不是重复的,下面将更详细地描述)。成对候选是利用前两个重新排序的候选来构建的。重新排序的候选的数量保持不变,因此底端候选被移除。在该示例中计算的模板匹配成本的数量(即,重新排序的候选的数量)是5(起始处的4,随后是该成对候选),但是如上所述,可以大于或小于5。
当第一和第二重新排序的候选的参考帧相同时,成对候选也被限制为仅使用针对一个列表的平均。此外,BCW索引、LIC标志和多重假设参数的继承已被调整。
另外,非重新排序子组中的各个合并候选被第一重新排序的候选和该候选之间的成对候选代替(如果所创建的成对候选不是重复的)。
当重新排序(例如ARMC)被应用于列表中的所有候选(包括附加的成对候选)时也可能是有利的。可以使用从候选编号1到候选编号“最大减1”的候选的组合来构建这些候选。但是由于已经考虑了第一候选和第二候选之间的成对候选,因此优选地从候选编号2(在候选编号0和候选编号1之后)开始。
因此,在一个实施例中,即使所有候选被例如通过ARMC处理而重新排序,附加的成对候选也被添加到列表。
但是有时,由于这些候选产生最接近最可能运动信息的运动信息,因而不将成对候选(或多个成对候选)定位在候选的列表的顶端将是有利的。否则,所使用的候选的列表可能不足够多样性以提供有效的竞争从而提高编码效率。
在一个实施例中,附加的成对候选从候选列表中的预定位置处开始。该位置可以是预定值。在优选实施例中,该值为5,也就是说,在候选列表中的第5位置处添加附加的成对候选。在替代实施例中,该值(位置)等于合并候选列表中的候选的最大数量的一半。
在一个实施例中,(由值表示的)位置可以被设置为等于合并候选列表中的恰好在(先前描述的)第一成对候选(在其已经被添加的情况下)之后的位置。这提供了确保多样性的良好位置,但是该实施例比使用预定位置的先前实施例更复杂,这是因为需要跟踪第一成对候选的位置。
ARMC应用于候选的第二列表(例如候选的子集)
在我们上面提供的ARMC的描述中,存在最终合并列表的生成具有如下的步骤的一些实现,该步骤包括来自经受重新排序(ARMC)的候选的第二(或补充)列表的候选与候选的第一列表中的候选以形成用于对图像部分进行解码或编码的候选的最终列表。例如,在JVET-X0087中,第一列表可以被认为是空间和时间候选,并且第二(补充)列表是不相邻候选和基于历史的候选,在JVET-X0091和JVET-X0133中,(ARMC)重新排序和处理的时间候选可以被认为是第二列表,而添加了时间候选的其他合并候选可以被认为是第一列表。然而,以下实施例不限于这些特别的建议,并且将理解的是,候选的第一列表和第二列表的其他可能排列是可能的。更一般地,在以下实施例中,ARMC被应用于候选的第二(补充)列表。重新排序允许从包括在候选的最终列表中的第二列表中选择一个或多于一个最佳候选。就编码效率方面而言,考虑如何包括第二列表中的成对候选是有利的。
在一个实施例中,通过使用该重新排序的第二列表的前2个候选,以与ARMC处理被应用于最终合并候选列表时相同的方式将成对候选添加到第二列表。
在一个附加实施例中,成对候选被添加到第二列表,并且不代替候选,而是添加成对候选,然后对第二列表进行重新排序(例如AMRC处理)。这有时添加了附加候选,因此可以增加编码效率。
在一个实施例中,创建数个附加的成对候选,并且将其添加到候选的第二列表中。这些候选可以是第一候选和第i个候选编号之间的成对候选,其中i在2和该子集中候选的最大数量之间。可以如上文关于描述如何生成附加的成对候选的前面实施例已经描述的那样确定成对候选的数量。
在重新排序(例如AMRC处理)中也可以考虑这些附加的成对候选。另外,附加的成对候选的数量被限制为4。
在一个实施例中,当第二列表(在重新排序之前)包括原始成对候选时,即使稍后添加了附加的成对候选,也不从第二列表中移除该原始成对候选。这创建了多样性,因为原始成对候选考虑了重新排序之前的第一候选,而ARMC处理期间的成对候选考虑了应该不同的2个候选(并且当它们相同时,最后一个不会被添加)。
在一个实施例中,当针对候选计算成本、在一个或多于一个第一ARMC处理期间评估成本、以及在最终ARMC处理中使用成本以避免附加的计算成本时,如果成对候选可以代替的候选已经在第一重新排序处理中被评估,则该成对候选不被添加到第二列表。这降低了添加新比较的复杂性。
在一个附加实施例中,成对候选被添加在最终列表中、在第二列表的第一ARMC处理中尚未被评估的最后候选的位置处。这提供了添加成对候选的最佳机会。
在一个实施例中,在最终列表的重新排序(ARMC)处理期间,在最终重新排序处理中考虑具有在第二列表的第一重新排序处理期间获得的成本的候选,即使这些候选在列表中的位置不在应该使用ARMC处理而重新排序的组(或最终列表中候选的一部分)中也是如此。
重复检查的运动矢量阈值
进一步的改进是重复检查处理,特别是两个候选被认为是重复的阈值。在一个实施例中,重复检查的运动矢量阈值适用于成对候选。
在一个实施例中,重复检查的运动矢量阈值取决于解码器侧运动矢量方法的搜索范围的值,或者基于模板匹配搜索范围。这些搜索范围本质上定义了运动矢量预测器在初始位置周围的可能位置,该初始位置可以通过模板匹配获得。因此,搜索范围内的两个运动矢量预测器不一定是不同的预测器,且应该被认为是重复的。
解码器侧运动矢量方法可以是:
·取决于来自2个参考帧(不同于当前帧)的2个块的相邻样本的解码器侧运动矢量修正(VVC的DMVR和BDOF),
·基于当前块的相邻样本和来自一个或多于一个参考帧的相邻样本的解码器侧运动矢量修正(ECM的模板匹配),
·基于当前块的块预测器的解码器侧运动矢量修正(VVC的PDOF)。
在一个实施例中,重复检查的运动矢量阈值取决于解码器侧运动矢量方法的启用或禁用。特别地,在当前帧和各个列表的参考帧之间的POC距离(或绝对POC值)相同并且参考帧进入两个不同的方向(一个向前且另一个向后)时,启用解码器侧运动矢量修正。在这种情况下,重复检查的运动矢量阈值取决于搜索范围的值,否则被设置为常数值。
在另一个实施例中,重复检查的运动矢量阈值取决于用于构建成对候选的候选在列表中的位置。较早的候选更有可能被选择,因此表示折衷位置的成对候选可能是有用的。相比之下,与更靠近列表底端的两个候选类似的成对候选不太可能有用,因此应被视为重复。
这方面的一个实现是当成对候选取决于列表中的第一候选和第二候选时(在重新排序处理之前或之后),重复检查的运动矢量阈值被设置为值(0或更大)。并且当取决于第一候选和第i候选的成对候选时,重复检查的运动矢量阈值被设置为大于或等于第一阈值的值。
重复检查的运动矢量阈值可以取决于成对候选是被插入到列表中还是被添加以代替列表中的候选。例如,当成对候选被插入在列表中时,重复检查的运动矢量阈值低于或等于代替候选的成对候选的重复检查的运动矢量阈值。
重复检查的运动矢量阈值可以取决于成对候选的参考帧或当前帧。特别地,如果这些参考帧具有不同的方向,则与这些参考帧具有相同的方向的情况相比,阈值的值更低(或者该值基于搜索范围)。这是因为如果两个类似的运动矢量预测器源自不同的参考帧,则它们很可能彼此独立,并且它们接近理想运动矢量,因此,从这两个候选生成的成对候选可能是有用的。
类似地,重复检查的运动矢量阈值可以基于成对候选的参考帧或当前帧的参考帧是否具有相同的POC距离(或相同的POC差绝对值)。例如,当参考帧在当前帧之间具有相同的POC距离时,MV阈值较低,或者该阈值基于搜索范围。
成对候选的非运动参数的导出
非运动参数是与运动预测无关的参数,例如,非运动参数与用于补偿当前图像部分(例如,块或编码单元)的照明差的工具有关。在一个实施例中,成对候选的所有非运动参数被设置为等于来自用于构建该成对候选的候选之一的非运动参数。根据ECM实现,非运动参数是hpelIfIdx、BCWidx、多重假设参数值“addHypNeighbours”和LIC标志。
在优选实施例中,非运动参数所继承自的候选是第一候选。
在一个附加实施例中,在从第一候选和第二候选构建成对候选时,这些非运动参数被设置为第一候选的非运动参数。
替代地,在从第i候选(其中i>1)构建成对候选时,非运动参数被设置为第i候选的参数。在这样的示例中,第i候选可能与第1候选非常不同,并且第一候选的非运动参数将不合适。此外,当添加数个成对候选时,最好保持不同的第i候选的非运动参数的多样性。作为相反的示例,如果所有的第i候选都被成对候选代替,并且非运动参数都是继承自第一候选,则所有的第i候选都具有与第一候选相同的非运动参数,因此多样性不足以获得更好的编码效率。该方法与参考图20a和图20b描述的前面实施例(其中成对候选被放置在重新排序的候选之后)结合特别相关。
在一个替代实施例中,参数LICflag、hpelIfIdx、BCWidx被设置为等于第一候选的值,并且多重假设参数值“addHypNeighbours”被设置为等于表示该方法没有应用于当前候选的默认值。该替代实施例的优点是复杂性降低(尤其是在解码器侧)且对编码效率的影响较小。事实上,多重假设对编码和解码时间有影响。
在另一实施例中,非运动参数取决于列表的第一候选和第二候选。例如,如果第一候选和第二候选具有针对这两个候选的相同值,则BcwIdx被设置为等于第一候选和第二候选的值,否则设置为默认值:
BcwIdx=(BcwIdx[0]==BcwIdx[1])?BcwIdx[0]:DEFAULT
这也可以应用于hpelIfIdx和LICflag。对于多重假设参数,对两个候选的所有相关参数的比较会更复杂,因此优选设置为默认值。另外,优选将LICflag设置为成对候选的默认值。
该实施例的优点是编码效率的改进。由于列表的第一候选和第二候选可能是最有希望的候选(尤其是当它们已经被重新排序时),因此它们的参数也可能是高效的,并且这些参数之间的比较增加了它们对当前块有用的机会。
在另一实施例中,成对候选的非运动参数取决于用于构建该成对候选的候选的特性。
例如,如果针对成对候选考虑的候选具有相同的参考帧(和列表),则该成对候选的非运动参数被设置为等于第一候选的参数,否则被设置为默认值(默认值或禁用该方法的值)。这是因为在这种情形下,成对候选应该具有相同的非运动参数。事实上,对于与照明补偿有关的参数,预期接近第一候选的运动信息的运动信息具有类似的照明补偿。对于多重假设参数(在它们存在时),优选继承最可能候选的参数,而不是什么都不继承。对于与运动信息的运动矢量精度有关的半像素精度索引,如果参考帧相同并且运动信息接近第一候选,则预期运动信息分辨率是相关的。
例如,对于BcwIdx,其由下式给出:
BcwIdx=(C0_RefL0=C1_RefL0 and C0_RefL1=C1_RefL1)?BcwIdx[0]:DEFAULT
其中,C0_RefL0是第一候选的列表L0的参考索引,C0_RefL1是第一候选的列表L1的参考索引,并且C1_RefL0是第二候选的列表L0的参考索引,C1_RefL1是第二候选的列表L1的参考索引。BcwIdx[0]是候选0的BCWidx。并且(C?a:b)意味着如果条件C为真,则值被设置为等于a,否则等于b。
在替代实施例中,如果成对候选的非运动参数对于用于构建成对候选的这两个候选相同,则该参数被设置为等于第一候选的参数,否则被设置为等于默认值。如果这两个候选具有相同的参数,则预期成对候选具有相同的参数。
例如:
LICflag=LICflag[0]==LICflag[1]?LICflag[0]:default
在一个实施例中,成对候选的与用于补偿当前块和相邻样本之间的照明差(LIC)或块预测器之间的照明差(BCW)的工具有关的参数被设置为等于用于构建该成对候选的候选之一的参数(在该候选具有相同的参考帧(和列表)时)。
在一个实施例中,成对候选的与用于补偿当前块和相邻样本之间的照明差(LIC)或块预测器之间的照明差(BCW)的工具有关的参数被设置为等于用于构建该成对候选的候选的参数,其中该参数具有不同于默认值的参数值(在候选具有相同的参考帧(和列表)时)。
例如,对于成对候选的LIC标志,可以根据下式获得:
LICflag=(C0_RefL0=C1_RefL0 and C0_RefL1=C1_RefL1)?(LICflag[0]ORLICflag[1])?:default
在该示例中,如果两个候选的LIC标志其中至少之一不同于真,则LIC被设置为等于值“真”。并且如果成对候选不是ECM的特定LIC实现的双向候选。
在一个附加实施例中,当与补偿照明的工具(LICflag或BCWidx)有关的一个或多于一个参数不同于默认值时,与成对候选的多重假设参数值“addHypNeighbours”有关的参数被设置为等于用于构建成对候选的一个候选的参数。
在一个替代实施例中,与成对候选的多重假设参数值“addHypNeighbours”有关的参数被设置为等于用于构建成对候选的一个候选的参数。
在一个附加实施例中,上面列出的一个候选的非运动参数是第一候选。换句话说,对于多重假设,被选择以获得非运动参数的候选是列表中的第一候选。
所有这些实施例改进了成对候选的当前编码效率。
成对候选的条件构建(生成)
在一个实施例中,成对候选构建被限制为一些条件。令人惊讶的是,已经发现虽然经常选择成对的预测器,但是存在某些类型的成对候选不适当的情形。以下实施例列出了构建更可能是有用候选的成对候选的条件。
在一个实施例中,仅在候选的参考帧相同时,计算用于构建成对候选的第一候选和第二候选的一个列表(L0,L1)的运动矢量之间的平均。否则,设置第一候选(在可用时)的运动矢量,并且否则设置第二候选(如果可用)的运动矢量。该实施例在于通过下式改变图16的条件1608:
If(refLx[0]!=-1&&refLx[1]!=-1)and(refLx[0]==refLx[1])
在一个实施例中,在当前帧具有所有这些参考帧、或者各个列表中的仅指向一个方向(向后/向前)的前2个、或者成对候选的参考帧时,对于成对候选不启用候选之间的平均。在这种情况下,仅成对候选是低延迟配置的组合候选。通过检查参考帧和当前帧的POC距离值,可以获得参考帧的方向。
这些条件可以根据用于构建成对候选的候选的位置而自适应地启用或禁用。例如,仅在成对候选从合并候选的列表中的第一候选位置和第i候选位置构建时,可以使用针对具有相同方向的参考帧的条件。
除非另有明确说明,否则所有这些实施例都可以组合。事实上,许多组合具有协同作用,并且可以产生大于其部分的总和的效率提升。
发明的实现
图21示出了根据本发明实施例的系统191、195,其包括编码器150或解码器100中的至少一个以及通信网络199。根据实施例,系统195用于处理并向用户提供内容(例如,用于显示/输出或流式传输视频/音频内容的视频和音频内容),用户例如通过包括解码器100的用户终端或可与解码器100通信的用户终端的用户界面访问解码器100。这样的用户终端可以是计算机、移动电话、平板电脑或能够向用户提供/显示(提供的/流式传输的)内容的任何其他类型的装置。系统195经由通信网络199获得/接收位流101(以连续流或信号的形式(例如,在显示/输出较早的视频/音频时))。根据实施例,系统191用于处理内容并存储经处理的内容,例如经处理以供在稍后的时间显示/输出/流式传输的视频和音频内容。系统191获得/接收包括原始图像序列151的内容,该内容由编码器150接收和处理(包括利用根据本发明的去块滤波器进行滤波),并且编码器150生成将经由通信网络191传送到解码器100的位流101。然后,位流101以多种方式传送到解码器100,例如,可以由编码器150预先生成并作为数据存储在通信网络199中的存储设备中(例如,在服务器或云存储装置上),直到用户从存储设备请求内容(即,位流数据)为止,此时数据从存储设备传送/流式传输到解码器100。系统191还可以包括内容提供设备,以用于向用户提供/流式传输(例如,通过传送要在用户终端上显示的用户界面的数据)存储在存储设备中的内容的内容信息(例如,内容的标题和用于识别、选择和请求内容的其他元/存储位置数据),并且用于接收和处理用户对内容的请求,使得所请求的内容可以从存储设备传送/流式传输到用户终端。替代地,编码器150生成位流101,并且在用户请求内容时将其直接传送/流式传输到解码器100。然后,解码器100接收位流101(或信号),并利用根据本发明的去块滤波器进行滤波,以获得/生成视频信号109和/或音频信号,然后用户终端使用视频信号109和/或音频信号来向用户提供所请求的内容。
根据本发明的方法/处理的任何步骤或本文描述的功能可以用硬件、软件、固件或其任何组合来实现。如果以软件实施,则步骤/功能可以作为一个或多于一个指令或代码或程序或计算机可读介质而存储在一个或多于一个基于硬件的处理单元上或者经由一个或多于一个基于硬件的处理单元发送,并且由一个或多于一个基于硬件的处理单元执行,所述处理单元诸如为可编程计算机器,其可以是PC(“个人计算机”)、DSP(“数字信号处理器”)、电路、电路系统、处理器和存储器、通用微处理器或中央处理单元、微控制器、ASIC(“专用集成电路”)、现场可编程逻辑阵列(FPGA)或其他等效集成或离散逻辑电路系统。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实现本文中所描述的技术的任何其他结构中的任一个。
本发明的实施例还可以通过各种装置或设备来实现,包括无线手机、集成电路(IC)或JC集合(例如,芯片集)。本文中描述各种组件、模块或单元以说明被配置为进行这些实施例的装置/设备的功能方面,但未必需要由不同硬件单元实现。而是,各种模块/单元可组合于编解码器硬件单元中或由互操作硬件单元的集合提供,所述硬件单元包括结合合适软件/固件的一个或多于一个处理器。
本发明的实施例可以通过读出并执行记录在存储介质上的计算机可执行指令(例如,一个或多于一个程序)以进行上述实施例中的一个或多于一个的模块/单元/功能以及/或者包括用于进行上述实施例中的一个或多于一个的功能的一个或多于一个处理单元或电路的系统或设备的计算机来实现,并且可以通过由系统或设备的计算机进行的方法来实现,例如,从存储介质读出并执行计算机可执行指令以进行上述实施例中的一个或多于一个的功能和/或控制一个或多于一个处理单元或电路以进行上述实施例中的一个或多于一个的功能。计算机可以包括单独的计算机或单独的处理单元的网络,以读出并执行计算机可执行指令。计算机可执行指令可以例如经由网络或有形存储介质从诸如通信介质等的计算机可读介质提供给计算机。通信介质可以是信号/位流/载波。有形存储介质是“非暂时性计算机可读存储介质”,其可以包括(例如)硬盘、随机访问存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储装置、光盘(例如致密盘(CD)、数字多功能光盘(DVD)或蓝光光盘(BD)TM)、快闪存储器装置、存储卡等中的一个或多于一个。至少一些步骤/功能也可以由机器或专用组件(诸如FPGA(“现场可编程门阵列”)或ASIC(“专用集成电路”))在硬件中实现。
图22是用于实现本发明的一个或多于一个实施例的计算装置3600的示意性框图。计算装置3600可以是诸如微计算机、工作站或轻型便携式装置等的装置。计算装置3600包括连接到以下各项的通信总线:-中央处理单元(CPU)3601,诸如微处理器等;-用于存储本发明的实施例的方法的可执行代码的随机访问存储器(RAM)3602以及适于记录实现根据本发明的实施例的用于对图像的至少一部分进行编码或解码的方法所需的变量和参数的寄存器,其存储容量例如可以通过连接到扩展端口的可选RAM进行扩展;-用于存储用于实现本发明的实施例的计算机程序的只读存储器(ROM)3603;-网络接口(NET)3604,其通常连接至通信网络,要处理的数字数据通过该通信网络被传输或接收,网络接口(NET)3604可以是单个网络接口,或者由一组不同的网络接口(例如,有线和无线接口,或不同种类的有线或无线接口)组成,在运行在CPU 3601中的软件应用的控制下,数据包被写入网络接口用于传输或者从网络接口读取以进行接收;-用户接口(UI)3605,其可以用于从用户接收输入或向用户显示信息;-硬盘(HD)3606,其可以被设置为大容量存储装置;-输入/输出模块(IO)3607,其可以用于从/向外部装置(诸如视频源或显示器等)接收/发送数据。可执行代码可以存储在ROM 3603中、HD 3606上或诸如盘等的可移动数字介质上。根据变型,程序的可执行代码可以经由NET 3604借助于通信网络来接收,以在被执行之前存储在计算装置3600的存储部件(诸如HD 3606等)之一中。CPU 3601适于控制和指导根据本发明的实施例的一个或多于一个程序的软件代码的指令或部分的执行,该指令被存储在前述存储部件之一中。例如,在通电之后,CPU 3601能够执行来自从程序ROM 3603或HD 3606加载了指令之后的主RAM存储器3602的、与软件应用有关的那些指令。这种软件应用在由CPU 3601执行时使得进行根据本发明的方法的步骤。
还应理解,根据本发明的其他实施例,在诸如计算机、移动电话(蜂窝电话)、平板或能够向用户提供/显示内容的任何其他类型的装置(例如,显示设备)等的用户终端中提供根据上述实施例的解码器。根据又一实施例,在图像捕获设备中提供根据上述实施例的编码器,该图像捕获设备还包括用于捕获和提供内容以供编码器进行编码的照相机、摄像机或网络照相机(例如,闭路电视或视频监视照相机)。以下参见图37和图38提供两个这样的示例。
图23是例示包括网络照相机3702和客户端设备202的网络照相机系统3700的图。
网络照相机3702包括摄像单元3706、编码部3708、通信单元3710和控制单元3712。
网络照相机3702和客户端设备202经由网络200相互连接以能够彼此通信。
摄像单元3706包括镜头和图像传感器(例如,电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)),并捕获对象的图像并基于该图像生成图像数据。该图像可以是静止图像或视频图像。
编码部3708通过使用以上说明的所述编码方法或以上描述的编码方法的组合来对图像数据进行编码。
网络照相机3702的通信单元3710将由编码部3708编码的经编码的图像数据传输至客户端设备202。
此外,通信单元3710接收来自客户端设备202的命令。命令包括用于设置用于编码部3708的编码的参数的命令。
控制单元3712根据通信单元3710接收到的命令来控制网络照相机3702中的其他单元。
客户端设备202包括通信单元3714、解码部3716和控制单元3718。
客户端设备202的通信单元3714向网络照相机3702传输命令。
此外,客户端设备202的通信单元3714从网络照相机3702接收经编码的图像数据。
解码部3716通过使用以上说明的所述解码方法或以上说明的解码方法的组合来对经编码的图像数据进行解码。
客户端设备202的控制单元3718根据由通信单元3714接收的用户操作或命令来控制客户端设备202中的其他单元。
客户端设备202的控制单元3718控制显示设备2120以显示由解码部3716解码的图像。
客户端设备202的控制单元3718还控制显示设备2120以显示用于指定网络照相机3702的参数(包括用于编码部3708的编码的参数)的值的GUI(图形用户界面)。
客户端设备202的控制单元3718还根据对显示设备2120所显示的GUI的用户操作输入来控制客户端设备202中的其他单元。
客户端设备202的控制单元3718根据对显示设备2120所显示的GUI的用户操作输入来控制客户端设备202的通信单元3714,以将用于指定网络照相机3702的参数的值的命令传输至网络照相机3702。
图24是例示智能电话3800的图。
智能电话3800包括通信单元3802、解码/编码部3804、控制单元3806和显示单元3808。
通信单元3802经由网络200接收经编码的图像数据。
解码/编码部3804对通信单元3802接收到的经编码的图像数据进行解码。
解码/编码部3804通过使用以上说明的所述解码方法来对经编码的图像数据进行解码/编码。
控制单元3806根据通信单元3802接收到的用户操作或命令控制智能电话3800中的其他单元。
例如,控制单元3806控制显示单元3808以显示由解码/编码部3804解码的图像。智能电话3800还可以包括传感器3812和图像记录装置3810。以这种方式,智能电话3800可以记录图像,(使用以上描述的方法)对图像进行编码。
智能电话3800可以随后(使用以上描述的方法)对经编码的图像进行解码并且将其经由显示单元3808进行显示,或者经由通信单元3802和网络200将其传输到另一装置。
替代和修改
虽然已经参考实施例描述了本发明,但是应当理解,本发明不限于所公开的实施例。本领域技术人员将理解,在不脱离所附权利要求限定的本发明的范围的情况下,可以进行各种改变和修改。本说明书(包括任何所附权利要求、摘要和附图)中公开的所有特征、和/或所公开的任何方法或处理的所有步骤,可以以任何组合进行组合,除了这样的特征和/或步骤中的至少一些相互排斥的组合之外。除非另外明确说明,否则本说明书(包括任何所附权利要求、摘要和附图)中所公开的各个特征可以由用于相同、等同或类似目的的替代特征代替。因此,除非另有明确说明,否则所公开的各个特征仅为通用系列等效或类似特征的一个示例。
还应理解,上述比较、确定、评估、选择、执行、进行或考虑的任何结果(例如,在编码或滤波处理期间作出的选择)可以在位流中的数据(例如,指示结果的标志或数据)中指示或可从位流中的数据确定/推断,使得所指示或确定/推断的结果可以用于处理而不是实际上例如在解码处理期间进行比较、确定、评估、选择、执行、进行或考虑。
在权利要求中,词语“包括”不排除其他元素或步骤,并且不定冠词“a”或“an”不排除多个。仅仅在相互不同的从属权利要求中记载不同特征的事实并不指示这些特征的组合不能被有利地使用。
权利要求中出现的附图标记仅作为说明,并且不应对权利要求的范围产生限定作用。
Claims (62)
1.一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:
生成运动矢量预测器候选的初始列表;以及
在针对所述图像的一部分选择候选重新排序的情况下,对所述初始列表的至少一部分进行重新排序以生成重新排序后的运动矢量预测器候选列表;以及
将成对的运动矢量预测器候选添加到重新排序后的所述列表中。
2.根据权利要求1所述的方法,包括:从重新排序后的列表中的顶端的两个候选,确定所述成对的运动矢量预测器候选。
3.根据权利要求2所述的方法,包括:对所确定的成对的候选应用重新排序处理。
4.根据权利要求1至3中任一项所述的方法,其中,所述初始列表的被重新排序的部分最多是顶端的N-1个候选。
5.根据权利要求4所述的方法,其中,将成对的候选重新排序为第N候选。
6.根据权利要求1至5中任一项所述的方法,还包括:在添加所述成对的运动矢量预测器候选之后,从重新排序后的列表中移除最低的候选。
7.根据任一前述权利要求所述的方法,其中,将所述初始列表中的所有候选重新排序以生成所述重新排序后的运动矢量预测器候选列表。
8.根据权利要求6或7所述的方法,其中,在重新排序后的列表中,在预定位置处包括一个或多于一个附加的成对的运动矢量预测器候选。
9.根据权利要求8所述的方法,其中,所述预定位置是重新排序后的列表中的第5位置。
10.根据权利要求8所述的方法,其中,所述预定位置位于重新排序后的列表的后半部分的开始处。
11.根据权利要求6或7所述的方法,其中,所述初始列表包括第一成对的运动矢量候选,并且在重新排序后的列表中的紧跟在所述第一成对的运动矢量候选之后的位置处,添加附加的成对的运动矢量候选。
12.一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:
生成运动矢量预测器候选的初始列表;
从所述初始列表中的两个候选,导出至少一个成对的候选;
所述两个候选包括所述列表中的第一候选和第i候选。
13.根据权利要求13所述的方法,其中,所述第i候选来自尚未被重新排序的初始候选列表。
14.根据权利要求13或14所述的方法,还包括:利用所确定的成对的候选来代替所述列表中的第i候选。
15.根据权利要求12至14中任一项所述的方法,其中,成对的候选的数量被限制为4。
16.一种生成用于对使用合并模式编码的图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:
确定要用于对所述图像的一部分进行编码的合并模式;
根据所述确定,将成对的运动矢量预测器候选添加到运动矢量预测器候选的列表。
17.根据权利要求16所述的方法,其中,在所述合并模式是模板匹配或GEO的情况下,不添加成对的运动矢量候选。
18.根据权利要求17所述的方法,其中,在成对的候选是平均候选的情况下,不添加成对的运动矢量候选。
19.根据权利要求16至18中任一项所述的方法,其中,在所述合并模式是常规或CIIP合并模式的情况下,添加成对的运动矢量候选。
20.根据权利要求16至19中任一项所述的方法,包括:在与底端相比更靠近所述列表的顶端的位置处,添加成对的运动矢量候选。
21.一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:
生成成对的运动矢量预测器候选;
将所述成对的运动矢量预测器候选添加到候选运动矢量预测器候选的列表,
其中,与底端相比,所述候选的位置更靠近所述列表的顶端。
22.根据权利要求20或21所述的方法,包括:在所述运动矢量预测器候选的列表中的紧跟在用于生成所述成对的运动矢量预测器候选的运动预测器候选之后的位置,添加成对的运动矢量候选。
23.根据权利要求20至22中任一项所述的方法,包括:在所述运动矢量预测器候选的列表中的紧跟在前两个空间运动预测器候选之后的位置,添加成对的运动矢量候选。
24.根据权利要求20或21所述的方法,包括:在所述运动矢量预测器候选的列表中的第二位置,添加成对的运动矢量候选。
25.根据任一前述权利要求所述的方法,还包括:在将成对的候选添加到所述列表之前,确定所述成对的运动矢量预测器候选是否与所述列表中的现有候选类似。
26.根据权利要求25所述的方法,其中,确定所述成对的运动矢量预测器候选是否与所述列表中的现有候选类似包括确定阈值运动矢量差。
27.一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:
生成运动矢量预测器候选的初始列表;
从所述初始列表中的两个候选,导出成对的候选;
在将成对的候选添加到所述列表之前,确定成对的运动矢量预测器候选是否与所述列表中的现有候选类似,
其中,确定成对的运动矢量预测器候选是否与所述列表中的现有候选类似包括确定阈值运动矢量差。
28.根据权利要求26或27所述的方法,其中,所述阈值运动矢量差取决于以下项中的一项或多于一项:
(a)解码器侧运动矢量方法的搜索范围;
(b)解码器侧运动矢量方法的启用和禁用;
(c)POC距离或绝对POC值;
(d)用于构建成对的候选的候选在所述列表中的位置;
(e)成对的候选是否被插入到所述列表,或者成对的候选是否代替现有候选;
(f)成对的候选的参考帧或当前帧的参考帧是否具有不同的方向;以及
(g)成对的候选的参考帧或当前帧的参考帧是否具有相同的POC距离或绝对值。
29.根据权利要求26至28中任一项所述的方法,其中,在用于构建成对的候选的候选是所述列表中的前两个候选的情况下,将所述阈值运动矢量差设置为大于或等于零的第一值,以及在用于构建成对的候选的候选不是所述列表中的前两个候选的情况下,将所述阈值运动矢量差设置为第二值,所述第二值大于所述第一值。
30.一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述列表包括从其他运动矢量预测器候选构建的成对的运动矢量预测器候选,所述方法包括:
基于至少一个其他候选的特性,确定用于成对的所述候选的至少一个非运动参数。
31.根据权利要求30所述的方法,其中,所述确定包括从所述列表中的第一候选继承所述至少一个非运动参数。
32.根据权利要求30所述的方法,其中,所述确定包括从所述列表中的第一候选和第二候选继承所述至少一个非运动参数。
33.根据权利要求30至32中任一项所述的方法,其中,所述至少一个其他候选包括用于构建成对的候选的候选中的一者或这两者。
34.根据权利要求33所述的方法,其中,所述非运动参数或各个非运动参数继承自用于构建成对的候选的候选中的一者或这两者。
35.根据权利要求33所述的方法,其中,在针对成对所考虑的候选的候选具有相同的参考帧和/或列表的情况下,所述非运动参数或各个非运动参数继承自用于构建成对的候选的候选中的一者或这两者。
36.根据权利要求33所述的方法,其中,在用于构建成对的候选的候选具有相同的参数值的情况下,所述非运动参数或各个非运动参数继承自用于构建成对的候选的候选。
37.根据权利要求30至36中任一项所述的方法,其中,所述参数包括与用于补偿当前块和相邻样本之间的照明差的工具有关的参数。
38.根据权利要求37所述的方法,其中,所述参数包括用于双预测即BCWidx或局部照明补偿即LIC的权重。
39.根据权利要求30至38中任一项所述的方法,包括:从用于构建成对的候选的候选之一继承与多重假设有关的参数的值。
40.根据权利要求39所述的方法,包括:仅在与用于补偿照明的工具有关的一个或多于一个参数不同于默认值的情况下继承所述值。
41.一种生成用于对图像的一部分进行解码的运动矢量预测器候选的列表的方法,所述方法包括:
从两个其他运动矢量预测器候选,生成成对的运动预测器候选,并且将成对的所述候选添加到所述列表,
其中,根据用于生成成对的运动预测器候选的运动矢量预测器候选的相应参考帧的特性来生成平均成对的候选。
42.根据权利要求41所述的方法,其中,所述生成包括仅在所述相应参考帧相同的情况下确定所述两个候选的平均。
43.根据权利要求41所述的方法,其中,所述特性包括相对于当前帧的、所述参考帧在当前条带的参考帧列表中的位置。
44.根据权利要求41至43中任一项所述的方法,其中,所述平均成对的候选是根据用于生成成对的运动预测器候选的运动矢量预测器候选的位置而生成的。
45.一种生成用于对图像的一部分进行解码或编码的运动矢量预测器候选的列表的方法,所述方法包括:
获得运动矢量预测器候选的第一列表;
获得运动矢量预测器候选的第二列表;以及
从运动矢量预测器候选的所述第一列表和所述第二列表,生成用于对图像的一部分进行解码或编码的运动矢量预测器候选的列表,
其中,获得所述第二列表包括:
针对所述第二列表获得运动矢量预测器候选,
对针对所述第二列表所获得的运动矢量预测器候选的至少一部分进行重新排序,以及
将至少一个成对的运动矢量预测器候选添加到重新排序后的所述候选。
46.根据权利要求45所述的方法,包括:从用于所述第二列表的重新排序后的运动矢量预测器候选中的顶端的两个候选,确定所述成对的运动矢量预测器候选中的至少一个。
47.根据权利要求45或46所述的方法,其中,被添加的成对的运动矢量预测器候选或各个被添加的成对的运动矢量预测器候选不代替重新排序后的列表中的运动矢量预测器候选。
48.根据权利要求45至47中任一项所述的方法,其中,被添加的成对的运动矢量预测器候选或各个被添加的成对的运动矢量预测器候选是从包括所述列表中的第一候选和第i候选的两个候选生成的,其中,i是在所述第二列表中的第二和候选的最大数量之间。
49.根据权利要求45至48中任一项所述的方法,还包括:在添加了成对的运动矢量预测器候选或各个成对的运动矢量预测器候选时,对所述第二列表进行重新排序。
50.根据权利要求45至49所述的方法,其中,在所述第二列表在重新排序之前包括成对的运动矢量预测器候选的情况下,将该成对的运动矢量预测器候选与在候选的重新排序期间添加的或添加到重新排序的候选的成对的运动矢量预测器候选一起保留。
51.一种生成用于对图像的一部分进行解码或编码的运动矢量预测器候选的列表的方法,所述方法包括:
获得运动矢量预测器候选的第一列表;
获得运动矢量预测器候选的第二列表;以及
从运动矢量预测器候选的所述第一列表和所述第二列表,生成用于对图像的一部分进行解码或编码的运动矢量预测器候选的列表,
其中,获得运动矢量预测器候选的所述第二列表包括对用于所述第二列表的运动矢量预测器候选进行第一重新排序处理,并且在所述第一重新排序处理中已经评估了要代替的候选的成本、且在添加成对的候选之后要进行第二重新排序处理的情况下,不添加成对的候选。
52.一种生成用于对图像的一部分进行解码或编码的运动矢量预测器候选的列表的方法,所述方法包括:
在第一重新排序处理期间获得针对运动矢量预测器候选的成本;以及
在所述运动矢量预测器候选的位置不是在应该使用进一步重新排序处理而被重新排序的位置之中的情况下,在所述进一步重新排序处理中使用在所述第一重新排序处理期间获得的成本。
53.一种生成用于对图像的一部分进行编码的运动矢量预测器候选的列表的方法,所述方法包括:
生成运动矢量预测器候选的初始列表;以及
在针对所述图像的一部分选择候选重新排序的情况下,对所述初始列表的至少一部分进行重新排序以生成重新排序后的运动矢量预测器候选列表;以及
将成对的运动矢量预测器候选添加到重新排序后的所述列表中。
54.一种生成用于对图像的一部分进行编码的运动矢量预测器候选的列表的方法,所述方法包括:
生成运动矢量预测器候选的初始列表;
从所述初始列表中的两个候选,导出成对的候选;
所述两个候选包括所述列表中的第一候选和第i候选。
55.一种生成用于对使用合并模式编码的图像的一部分进行编码的运动矢量预测器候选的列表的方法,所述方法包括:
确定要用于对所述图像的一部分进行编码的合并模式;
根据所述确定,将成对的运动矢量预测器候选添加到运动矢量预测器候选的列表。
56.一种生成用于对图像的一部分进行编码的运动矢量预测器候选的列表的方法,所述方法包括:
生成成对的运动矢量预测器候选;
将所述成对的运动矢量预测器候选添加到候选运动矢量预测器候选的列表,
其中,与底端相比,所述候选的位置更靠近所述列表的顶端。
57.一种生成用于对图像的一部分进行编码的运动矢量预测器候选的列表的方法,所述方法包括:
生成运动矢量预测器候选的初始列表;
从所述初始列表中的两个候选,导出成对的候选;
在将成对的候选添加到所述列表之前,确定成对的运动矢量预测器候选是否与所述列表中的现有候选类似,
其中,确定成对的运动矢量预测器候选是否与所述列表中的现有候选类似包括确定阈值运动矢量差。
58.一种生成用于对图像的一部分进行编码的运动矢量预测器候选的列表的方法,所述列表包括从其他运动矢量预测器候选构建的成对的运动矢量预测器候选,所述方法包括:
基于至少一个其他候选的特性,确定用于成对的所述候选的至少一个非运动参数。
59.一种生成用于对图像的一部分进行编码的运动矢量预测器候选的列表的方法,所述方法包括:
从两个其他运动矢量预测器候选,生成成对的运动预测器候选,并且将成对的所述候选添加到所述列表,
其中,根据用于生成成对的运动预测器候选的运动矢量预测器候选的相应参考帧的特性来生成平均成对的候选。
60.一种解码器,其适于执行根据权利要求1至52中任一项所述的方法。
61.一种编码器,其适于执行根据权利要求45至59中任一项所述的方法。
62.一种计算机程序,其包括可执行指令,所述可执行指令在执行时使得进行根据权利要求1至61中任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2113968.8 | 2021-09-29 | ||
GB2118105.2 | 2021-12-14 | ||
GB2118105.2A GB2611367A (en) | 2021-09-29 | 2021-12-14 | Video coding and decoding |
PCT/EP2022/077094 WO2023052489A1 (en) | 2021-09-29 | 2022-09-29 | Video coding and decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118020301A true CN118020301A (zh) | 2024-05-10 |
Family
ID=90946647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280066055.5A Pending CN118020301A (zh) | 2021-09-29 | 2022-09-29 | 视频编码和解码 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118020301A (zh) |
-
2022
- 2022-09-29 CN CN202280066055.5A patent/CN118020301A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102408765B1 (ko) | 비디오 코딩 및 디코딩 | |
CN113196769B (zh) | 对与运动信息预测子有关的信息进行编码和解码 | |
CN113056910A (zh) | 用于视频编码的运动矢量预测子索引编码 | |
KR20240072202A (ko) | 비디오 코딩 및 디코딩 | |
JP7321345B2 (ja) | ビデオ符号化及び復号 | |
GB2611367A (en) | Video coding and decoding | |
CN118020301A (zh) | 视频编码和解码 | |
JP7216811B2 (ja) | ビデオ符号化及び復号 | |
WO2023202956A1 (en) | Video coding and decoding | |
WO2023198701A2 (en) | Video coding and decoding | |
WO2023198699A2 (en) | Data coding and decoding | |
GB2617626A (en) | Data coding and decoding | |
GB2597616A (en) | Video coding and decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |