用于视频编码的运动向量差值改良式合并方法和装置与流程

文档序号:26013303发布日期:2021-07-23 21:34阅读:103来源:国知局
交叉申请本申请要求在2018年11月16日提出的申请号为62/768,207,在2018年11月28日提出的申请号为62/772,115,以及在2019年3月23日提出的申请号为62/8228,869的美国临时专利申请的优先权。上述美国临时专利申请整体以引用方式并入本文中。本发明涉及用于使用mmvd(mergewithmotionvectordifference,运动向量差值合并)的视频编解码的帧间或帧间/帧内预测。特别地,本发明公开了各种方法来减少mmvd的复杂性与/或来改善性能。
背景技术
::高效视频编解码(high-efficiencyvideocoding,hevc)是由视频编解码联合合作小组(jct-vc)开发的新的国际视频编解码标准。hevc是基于混合的基于块的运动补偿的dct类转换编解码架构。用于压缩的基础单元是2nx2n正方形块,称为编码单元(codingunit,cu),以及每一cu可以被递归地拆分成四个较小的cu直到达到预定的最小尺寸。每一cu包括一或多个预测单元(predictionunit,pu)。为了实现hevc中混合编解码架构的最佳编解码效率,对于每一pu有两种预测模式(即,帧内预测以及帧间预测)。对于帧内预测模式,空间相邻重构像素可以用于生成定向预测。对于帧间预测模式,时间重构参考帧(frame)可以用于生成运动补偿预测。存在用于编解码运动信息的各种编解码工具,包括跳过、合并以及帧间高级运动向量预测(advancedmotionvectorprediction,amvp)模式。当前图像参考运动估计/补偿是混合视频编解码中公知的关键技术,其探索相邻图像之间的像素相关性。在视频序列中,相邻帧之间的目标移动小以及该目标移动可以由二维平移运动来建模。因此,对应于帧中目标或背景的图案(pattern)被替代来形成后续帧中的对应的目标或与当前帧内其他图案相关。随着估计的替代(如,使用块匹配技术),图案可以被主要地重现而不需要再编解码图案。类似地,块匹配以及复制已经被尝试来允许从相同的图像内选择参考块。观察到当应用这一概念到由摄像机捕获的视频时效率不高。部分原因是空间相邻区域中的纹理图案可能类似于当前编码块,但在空间上通常有一些逐渐的改变。因此,块很难在由摄像机捕获的视频的相同图像内找到完全匹配。因此,编解码性能的改善被限制。然而,相同图像内多个像素间的空间相关性的对于屏幕内容是不同的。对于具有文本以及图像的典型视频,相同的图像内通常有重复的图案。因此,帧内(图像)块补偿已经被观察到将是非常有效的。一种新的预测模式已经被引入用于屏幕内容编解码来利用这一特性,即帧内块复制(intrablockcopy,ibc)模式或者被称为当前图像参考(currentpicturereference,cpr)。在cpr模式中,预测单元(pu)从相同图像内的先前重构块来预测。此外,位移向量(称为块向量或bv)用于发信从当前块的位置到参考块的位置的相关位移。预测误差然后使用转换、量化以及熵编解码进行编解码。cpr补偿的示例在图1中示出,其中区域110对应于将被编解码的图像、条带(slice)或图像区域。块120以及130对应于将被编解码的两个块。在这一示例中,每一个块可以在当前图像中的先前已编解码区域中找到对应的块(即,分别为122与132)。根据这一技术,参考样本对应于在环路滤波操作之前的当前已解码图像的重构样本,该环路滤波操作包括hevc中的去块(deblocking)以及样本自适应偏移(sampleadaptiveoffset,sao)滤波两者。在jctvc-m0350中公开了cpr的早期版本(2013年4月18-26日,韩国仁川举行的itu-tsg16wp3以及iso/iecjtc1/sc29/wg11的视频编解码联合合作小组(jct-vc)的第13次会议,madhukarbudagavi等人,“ahg8:videocodingusingintramotioncompensation”,文献:jctvc-m0350),其被提交作为hevc范围(rext)扩展开发的候选技术。在jctvc-m0350,cpr补偿被限制于小局部区域内以及搜索仅被限制为1-d块向量用于2nx2n的块尺寸。随后,在hevcscc(screencontentcoding,屏幕内容编解码)的标准化过程中开发了更高级的cpr方法。为了有效地发信块向量(blockvector,bv),以与mv编解码类似的方式使用bv预测子(bvp)来预测地发信bv。因此,bv差异(bvd)被发信以及bv可以根据如图2示出的bv=bvp+bvd来重构,其中参考块220被选择为当前块210(即,cu)的intrabc预测。bvp被决定用于当前cu。导出运动向量预测子(mvp)的方法在本领域是已知的。类似的导出可以被应用于bvp导出。在jctvc-m0350中,帧内mc至少在以下领域不同于用于帧间预测的运动补偿:1.帧内mc的mv被限制为1-d(即,水平或垂直)而帧间预测使用2-d运动估计。2.帧内mc的二值化是固定长度的而帧间预测使用指数-哥伦布。3.帧内mc引入了新的语法元素来发信mv是否是水平或垂直的。基于jctvc-m0350,由pang等人在2013年7月25日-8月2日,在奥地利维也纳举行的itu-tsg16wp3以及iso/iecjtc1/sc29/wg11的视频编解码联合小组(jct-vc)第14次会议,non-rce3:intramotioncompensationwith2-dmvs,文献:jctvc-n0256(后文jctvc-n0256)公开了一些修正。首先,帧内mc被扩展到支持2-dmv,以致两个mv分量可以同时为0向量。相比于原始方案,这给帧内mc提供了更多的灵活性,原始方案中mv被严格地限制为水平或垂直。几个mv编解码方法被测试了:方法1:左边或上方mv被选择为mv预测子以及所生成的mvd被编解码。首先,一个旗标(flag)指示mvd是否为0。当mvd不为0时,第3顺序的指数哥伦布对mvd的剩余绝对水平进行编解码以及旗标对其符号进行编解码。方法2:没有预测子被使用以及使用指数哥伦布编解码的mv被用于hevc中的mvd编解码。方法3:来自最后编解码intrabcpu的mv被用作当前intrabcpu的mv的预测子。注意到,这一方法在当前rext文本草案中被采用。第三,在jct-vcn0256中提出了2-d帧内mc与管线友好方法组合:1.没有插值滤波器被使用。2.mv搜索区域是受限制的。分析两种情况:a.搜索区域是当前ctu或左边ctu或b.搜索区域是当前ctu以及左边ctu的最右4行(column)。在jctvc-n0256提出的方法中,2-d帧内mc被采用,移除插值滤波器被采用,以及搜索区域被约束到当前ctu以及左边ctu被采用。其他方面被关闭或者被建议进一步研究。此处是jctvc-o0218(2013年10月,瑞士加内瓦,l.guo,m.karczewicz,j.sole以及r.joshi,“evaluationofpalettemodecodingonhm-12.0+rext-4.1”,jctvc-o0218)中提出的空间amvp预测的小结。在图3中,在先前已编解码相邻块位置中示出了若干可能的块向量候选(编号为从0到6)。在表1中,这些位置被详细描述:表1位置描述0当前块的左下角落的左下位置1当前块的左下角落的左边位置2当前块的右上角落的右上位置3当前块的右上角落的上方位置4当前块的左上角落的左上位置5当前块的左上角落的左边位置6当前块的左上角落的上方位置当cpr被使用时,仅部分当前图可以被用作参考图像。一些比特流一致性约束被强加来控制参考当前图像的有效mv值。首先,以下两个等式之一必须为真:bv_x+offsetx+npbsw+xpbs–xcbs<=0,以及(1)bv_y+offsety+npbsh+ypbs–ycbs<=0.(2)其次,以下wpp(波前并行处理)条件必须为真:(xpbs+bv_x+offsetx+npbsw-1)/ctbsizey–xcbs/ctbsizey<=ycbs/ctbsizey-(ypbs+bv_y+offsety+npbsh-1)/ctbsizey(3)在等式(1)到(3)中,(bv_x,bv_y)是当前pu的亮度块向量(即,cpr的运动向量);npbsw以及bpbsh是当前pu的宽度以及高度;(xpbs,ypbs)是相对于当前图像的当前pu的左上像素的位置;(xcbs,ycbs)是与相对于当前图像的当前cu的左上像素的位置;以及ctbsizey是ctu的尺寸。offsetx以及offsety是用于cpr模式的考虑色度样本插值的两个维度中的两个调整的偏移。offsetx=bvc_x&0x7?2:0,(4)offsety=bvc_y&0x7?2:0.(5)(bvc_x,bvc_y)是色度块向量,以hevc中的1/8像素分辨率。第三,cpr的参考块必须在相同的图块(tile)/条带边界内。当pu以帧间amvp模式编解码时,运动补偿预测用所传达的运动向量差值(mvd)来执行,其可以与运动向量预测子(mvp)一起使用用于导出运动向量(mv)。为了在帧间amvp模式中决定mvp,高级运动向量预测(amvp)方案用于在包括两个空间mvp以及一个时间mvp的amvp候选集合中选择运动向量预测子。因此,在amvp模式中,mvp的mvp索引以及对应的mvd需要被编码并且传送。此外,指定双向预测以及单向预测中的预测方向的帧间预测方向以及每一列表的参考帧索引也被编码与传送,其是列表0(即,l0)以及列表1(即,l1)。在hevc中,除了空间amvp预测,时间mv预测子也用于帧间条带运动补偿。如图4所示,时间预测子从位于并位图像的块(tbr或tctr)来导出,其中并位图像是参考列表0或者参考列表1中的第一参考图像。因为时间mvp所位于的块可能具有两个mv,一个mv来自参考列表0以及一个mv来自参考列表1,时间mvp根据以下规则从来自参考列表0或者参考列表1的mv导出。1.穿过当前图像的mv被首先选择。2.如果两个mv穿过当前图像或者都没有穿过,与当前列表相同的一个。mvd合并模式(mmvd)技术在jvct-k0115中(2018年7月10-18日,斯洛文尼亚的卢布尔雅那举行的,itu-tsg16wp3以及iso/iecjtc1/sc29/wg11的联合视频勘探小组(jvet)第11次会议,s.jeong等人,“ce4ultimatemotionvectorexpressioninj0024(test4.2.9)”,文献:jvet-k0115)提出了最终运动向量表达(umve),呈现于jvet-j0024(2018年4月10-20日,美国圣地亚哥举行的itu-tsg16wp3以及iso/iecjtc1/sc29/wg11的联合视频勘探小组(jvet)第10次会议,s.akula等人“descriptionofsdr,hdrand360°videocodingtechnologyproposalconsideringmobileapplicationscenariobysamsung,huawei,gopro,andhisilicon”,文献:jvet-j0024)中。图5a示出了用于当前帧510中当前块512的umve搜索进程的示例。参考列表l0中的帧520以及参考列表l1中的帧530对应于双向预测的两个参考。线540对应于穿过当前块512的中心以及帧520与530中两个对应像素的线。搜索在与线540(如,线542与544)相关的中心点附近执行。为了简化搜索进程,如图5b所示,仅垂直地与水平地搜索中心点周围的特定位置用于l0参考(550)以及l1参考(552)。umve用于具有提出的运动向量表达方法的跳过或合并模式。umve再用与正被开发的vvc(versatilevideocoding,通用视频编解码)标准相同的合并候选。在合并候选中,候选可以被选择,以及进一步由提出的运动向量表达方法扩展。umve提供了具有简化信令的新的运动向量表达。该表达方法包括预测方向信息、起始点、运动幅度以及运动方向。这一技术使用合并候选列表。然而,仅是默认合并类型(mrg_type_default_n)的候选被考虑用于umve的扩展。预测方向信息指示l0、l1以及l0与l1预测中的预测方向。在b条带中,提出的方向可以通过使用镜像技术从具有单向预测的合并候选生成双向预测候选。例如,如果合并候选是具有l1的单向预测,l0的参考索引通过搜索列表0中的参考图像来决定,其与列表1的参考图像是镜像的。如果没有对应的参考图像,使用与当前图像最近的参考图像。l0的mv通过缩放l1的mv来导出。缩放因子通过图像次序计数(pictureordercount,poc)距离来计算。如果umve候选的预测方向与多个原始合并候选之一相同,具有值0的索引被发信为umve预测方向。然而,如果umve候选的预测方向不与该原始合并候选之一相同,具有值1的索引被发信。在发信第一比特后,剩余的预测方向基于umve预测方向的预定优先次序来发信。优先次序是l0/l1预测、l0预测以及l1预测。如果合并候选的预测方向是l1,代码“0”被发信用于umve的预测方向l1。代码“10”被发信用于umve的预测方向l0与l1。代码“11”被发信用于umve的预测方向l0。如果l0与l1预测列表是相同的,umve的预测方向信息不被发信。基础候选索引定义起始点。基础候选索引指示如表2所述的列表中多个候选中的最佳候选。表2各种距离的距离索引如表3所示。表3方向索引表示与起始点相关的mvd的方向。方向索引可以表示如表4所示的四个方向。表4为了减少编码器复杂度,应用了块限制。如果cu的宽度或高度小于4,umve不被执行。多假设预测(mh)技术多假设预测被提出来改善帧间图像中现有的预测模式,包括高级运动向量预测(amvp)模式、跳过与合并模式以及帧内模式的单向预测。通常的概念是将现有的预测模式与额外的合并索引预测组合。如在合并模式中那样执行合并索引预测,其中合并索引被发信来获取运动补偿预测的运动信息。最终预测是合并索引预测与由现有预测模式生成的预测的加权平均,其中根据该组合应用不同的权重。详细信息可以在jvet-k1030(2018年7月10-18日,斯洛文尼亚的卢布尔雅那举办的itu-tsg16wp3以及iso/iecjtc1/sc29/wg11的联合视频勘探小组(jvet)第11次会议,c.hsu等人“descriptionofcoreexperiment10:combinedandmulti-hypothesisprediction”,文献:jvet-k01030)或jvet-l0100(2018年10月1-12日,中国澳门举办的itu-tsg16wp3以及iso/iecjtc1/sc29/wg11的联合视频勘探小组(jvet)第12次会议,m.chiang等人“ce10.1.1:multi-hypothesispredictionforimprovingamvpmode,skipormergemode,andintramode”,文献:jvet-l0100)中找到。三角形预测单元模式技术三角形预测单元模式的概念是为了引入用于运动补偿预测的三角形分割。如图6所示,其在对角线610或反对角线620将cu拆分成两个三角形预测单元。cu中每一三角形预测单元使用其自身单向预测运动向量以及参考帧索引来帧间预测,该参考帧索引从单向预测候选列表来导出。在预测三角形预测单元后,对对角线边缘执行适应性加权进程。然后,转换以及量化进程被应用于整个cu。注意到,这一模式仅被应用于跳过以及合并模式。单向预测候选列表单向预测候选列表由五个单向预测运动向量候选组成。如图7所示,其从包括五个空间相邻块(1至5)以及两个时间并位块(6至7)的七个相邻块来导出。根据单向预测运动向量、双向预测运动向量的l0运动向量、双向预测运动向量的l1运动向量以及双向预测运动向量的l0与l1运动向量的平均运动向量中的次序,七个相邻块的运动向量被收集并被放入单向预测候选列表中。如果候选的数目小于5,0运动向量被添加到该列表。适应性加权进程在预测每一三角形预测单元后,适应性加权进程被应用于两个三角形预测单元之间的对角线边缘来导出整个cu的最终预测。两个加权因子组被列出如下:1.第1加权因子组:{7/8,6/8,4/8,2/8,1/8}以及{7/8,4/8,1/8}被分别用于亮度以及色度样本。2.第2加权因子组:{7/8,6/8,5/8,4/8,3/8,2/8,1/8}以及{6/8,4/8,2/8}分别用于亮度以及色度样本。基于两个三角形预测单元的运动向量的比较选择一个加权因子组。当两个三角形预测单元的参考图像彼此不同或者它们的运动向量差值大于16像素时,第2加权因子组被使用。否则,第1加权因子组被使用。示例被示出于图8,其中权重810被示出用于亮度块以及权重820被示出用于色度块。运动向量储存三角形预测单元的运动向量(图9中的mv1以及mv2)被储存于4x4网格中用于对角线分割910以及反对角线分割920。对于每一4x4网格,根据cu中4x4网格的位置,每一单向预测或双向预测运动向量被储存。如图9所示,单向预测运动向量(mv1或mv2)被储存用于位于非加权区域中的4x4网格。另一方面,双向预测运动向量被储存用于位于加权区域中的4x4网格。双向预测运动向量根据以下规则从mv1以及mv2来导出:1.在mv1以及mv2来自不同方向(l0或l1)的运动向量情况下,mv1以及mv2被简单组合来形成双向预测运动向量。2.在mv1与mv2都来自相同预测l0(或l1)方向的情况下,a.如果mv2的参考图像与l1(或l0)参考图像列表中的图像相同,mv2被缩放到该图像,mv1以及缩放的mv2被组合来形成双向预测运动向量。b.如果mv1的参考图像与l1(或l0)参考图像列表中的图像相同,mv1被缩放到该图像。缩放的mv1与mv2被组合来形成双向预测运动向量。c.否则,仅mv1被储存用于该加权区域。如根据jvet-l1024(2018年10月3-12日,中国澳门举办的itu-tsg16wp3以及iso/iecjtc1/sc29/wg11的联合视频勘探小组(jvet)第12次会议,hyang等人“descriptionofcoreexperiment4(ce4):interpredictionandmotionvectorcoding”,文献:jvet-l1024)在图10a-图10d示出的双向预测运动向量的导出的说明。在图10a-图10d中,当前图像对应于poc4,参考图像列表0(l0)包括poc0以及poc8,以及参考图像列表1(l1)包括poc8以及poc16。在图10a中,双向预测mv对应于((l0refidx=0,mv1),(l1refidx=0,mv2))。在图10b中,双向预测mv对应于((l0refidx=0,mv1),(l1refidx=0,mv2))。在图10c中,双向预测mv对应于((l0refidx=1,mv1),(l1refidx=1,mv2))。在图10d中,仅mv1被储存用于加权区域。语法三角形预测单元模式仅被应用于跳过或合并模式中的多个cu。此外,cu的块尺寸不能小于8x8。对于在跳过或合并模式中编解码的cu,cu级旗标被发信来指示该三角形预测单元模式是否被应用或不用于该当前cu。当该三角形预测单元模式被应用于该cu时,指示用于将该cu拆分成两个三角形预测单元的索引以及该两个三角形预测单元的运动向量被发信。索引范围从0到39。查找表(look-uptable)被用于从该索引导出拆分方向以及的运动向量。技术实现要素:公开了一种用于视频编解码预测的方法以及装置。根据这一方法,在视频编码器侧接收与当前图像中当前块相关的输入数据,或者在视频解码器侧接收对应于包括该当前图像中该当前块的压缩数据的视频比特流。生成包括mmvd候选的一组合并候选,其中通过决定基础候选以及修正该基础候选的mv(运动向量)表达的一或多个部分来生成该mmvd候选来导出该mmvd候选。当该当前块具有属于至少一默认块尺寸的块尺寸时,在生成该组合并候选时,决定该组合并候选的目标候选是否是双向预测。该至少一默认块尺寸可以包括4x4。如果该目标候选是双向预测:该目标候选由单向预测候选替换;该单向预测候选被包括于该组合并候选中来生成修正组合并候选;以及在该视频编码器侧使用该修正组合并候选对于该当前块相关的当前运动信息进行编码,或者在该视频解码器侧使用该修正组合并候选对该当前块相关的当前运动信息进行解码。该组合并候选进一步包括普通合并候选或成对平均合并候选。在一些其他实施例中,该组合并候选可以进一步包括基于历史的合并候选。在一个实施例中,该基础候选仅从具有默认合并类型的该组合并候选中的第一合并候选来选择。如果该组合并候选都不具有该默认合并类型,默认mv被包括在该修正组合并候选中。在一个实施例中,该默认mv是从参考图像列表0中的参考图像来参考。在一个实施例中,该mv表达的一或多个部分包括与该mv表达相关的预测方向信息、起始点、运动幅度、运动方向或其组合。附图说明图1标出了cpr(当前图像参考)补偿的示例,其中两个块由相同图像中另外两个块来预测。图2标出了以与mv编解码类似的方式预测地使用bv预测子(bvp)发信块向量(bv)的示例。图3标出了先前编解码相邻块位置中可能块向量候选(编号为从0到6)的示例。图4示出了用于帧间条带运动补偿的空间与时间mv预测子。图5a示出了当前块的umve(最终运动向量表达)搜索进程的示例,其中两个参考图像用于双向预测。图5b示出了简化的umve的示例,其中仅中心点垂直以及水平附近的特定位置将被搜索以简化该搜索进程。图6标出了三角形分割模式的示例,其中cu在对角线或反对角线被分割成两个三角形预测单元。图7示出了由来自5空间相邻块(1到5)以及两个时间并位块(6到7)的五个单向预测运动向量候选组成的单向预测候选列表的示例。图8示出了用于亮度块的权重以及用于色度块的权重的示例。图9示出了运动向量储存的示例,其中三角形预测单元的运动向量(mv1以及mv2)被储存于用于对角线分割以及反对角线分割的4x4网格中。图10a-图10d示出了根据jvet-l0124的双向运动向量导出的示例。图11示出了根据本发明一实施例的视频编解码的示例性预测的流程图。具体实施方式下文描述是实施本发明的最佳实施方式。描述被做出用于说明本发明的一般原则并不应做限制性理解。本发明的范围由参考所附权利要求的范围最佳决定。条件地发信具有cpr的新合并工具在hevcscc扩展中,如果cpr模式被启用用于i条带,此i条带将被编解码为帧间条带。为了更好的整合cpr与合并模式,本发明提出了各种方法。在一个实施例中,如果cpr模式被使用以及没有其他帧间参考图像,例如所有参考图像是当前图像或者仅一个参考是当前图像,子块帧间模式被禁用。在语法设计中,该子块帧间模式语法不被发信。例如,子块帧间模式旗标被推断为假。在另一个实施例中,子块帧间模式语法被约束为禁用该子块帧间模式(如,子块帧间模式旗标被约束为假,其是子块模式旗标将为假的比特流一致性需求)。子块帧间模式约束被应用于跳过模式以及合并模式。在另一个实施例中,当子块帧间模式可以在cpr中被支持时(如,如果cpr模式被使用以及没有其他帧间参考图像,或者所选择的参考图像是当前图像),每一子块的所导出的运动向量也被凑整成整数mv。在另一个实施例中,如果cpr模式被使用以及没有其他帧间参考图像(如,所有参考图像是当前图像或者仅有一个参考图像为当前图像),多假设预测模式(mh)被禁用。在语法设计中,mh模式语法不被发信(如,mh模式旗标被推断为假),或者mh模式语法被约束为禁用该mh模式(如,mh模式旗标被约束为假,其是mh模式旗标将为假的比特流一致性需求)。在另一个实施例中,mh可以使用具有ibc合并类型(如mrg_type_ibc)的合并候选作为多个组合预测子之一。在另一个实施例中,如果cpr模式被使用以及没有其他帧间参考图像(如,所有参考图像是当前图像或者仅有一个参考图像为当前图像),三角形预测单元模式被禁用。在语法设计中,三角形预测单元模式语法不被发信(如,三角形预测单元模式旗标被推断为假),或者三角形预测单元模式语法被约束为禁用该三角形预测单元模式(如,三角形预测单元模式旗标被约束为假,其是三角形预测单元模式旗标将为假的比特流一致性需求)。在另一个实施例中,三角形预测单元模式可以与cpr模式组合。例如,仅一个三角形预测单元可以被编解码为cpr模式,或者两个三角形预测单元被编解码为cpr模式是有效的。在另一个实施例中,如果cpr模式被使用以及没有其他帧间参考图像(如,所有帧间参考图像是当前图像或者仅有一个参考图像为当前图像),mvd合并模式(mmvd)被禁用。在语法设计中,mmvd模式语法不被发信(如,mmvd模式旗标被推断为假),或者mmvd模式语法被约束为禁用mmvd模式(如,mmvd模式旗标被约束为假,其是mmvd模式旗标将为假的比特流一致性需求)。应用具有cpr的mmvd当前设计中,mmvd被考虑在跳过模式编解码或合并模式编解码中。其将仅当合并旗标或跳过旗标被启用时被发信。mmvd的概念是扩展到现有mv来增加合并候选列表中mv的多样性。首先,合并候选列表中的k个mv被选择为mmvd扩展。k的值是大于0的整数。仅具有默认合并类型(mrg_type_default_n)的合并候选可以被选择为mmvd的扩展。根据本发明的实施例,当cpr与mmvd都被启用时,具有ibc合并类型(如,mrg_type_ibc)或默认合并类型(mrg_type_default_n)的合并候选被用作有效mmvd的扩展。在一个实施例中,如果具有ibc合并类型(如,mrg_type_ibc)的合并候选被选择,ibc合并类型意味着合并候选由cpr编解码,最终mv(mmvd的扩展+mvd)将被凑整成整数mv,即使mmvd进程后的mv是一个分数像素mv。在另一个实施例中,在选择合并候选作为mmvd的扩展后,仅整数像素mvd可以被用于生成mmvd候选。这样,分数像素mvd不需要被发信。因此,少于一个码字将用于mv步长编解码。在另一个实施例中,如果具有ibc合并类型(如,mrg_type_ibc)的合并候选被选择,那么mvd步长增加一个比率来使mvd为整数值。在另一个实施例中,如果具有ibc合并类型(如,mrg_type_ibc)的合并候选被选择,检查cpr模式中多个mv的合法性的一个条件被执行用于每一候选。在一个示例中,仅合法候选可以被插入mmvd候选列表以及对应的码字被改变。在另一个示例中,所有候选被插入mmvd候选列表,但仅这些合法候选可以在编码器被选择。合法性意味着cpr模式中的mv约束应当被满足。该mv约束是由mv指向的参考块需要在当前ctu、或当前ctu行(row)中,或者由块向量指向的参考块不能与当前块重迭或者在图像边界外、或者在波前并行进程(wavefrontparallelprocess,wpp)外。为了更好的整合cpr以及其他工具(如,mmvd、成对平均合并模式以及amvr),本发明中提出了几个方法。此外,我们还考虑在本发明中整合的双树编解码。具有成对平均合并候选的cpr在一个实施例中,如果所有的源候选是cprmvp或一个源候选是cprmvp以及另一个是普通mvp,该平均候选也是有效cpr候选或者有效普通候选。例如,用于参考图像列表的两个候选的源mvp可以是两个cprmvp、cprmvp与普通mvp、cprmvp与无效mvp,以及两个无效mvp。如果两个mvp都是cprmvp,平均mvp也是cprmvp以及该平均mv由平均两个cprmv来计算,如果一个mvp是cprmvp以及另一个是普通mvp,在没有求平均用于该平均mvp的情况下直接使用该参考索引与mv之一,以及具有最小(或最大)合并(或参考)索引的多个候选的参考索引与mv被选择。或者具有最小(或最大)合并(或参考)索引的多个候选的参考索引之一可以被直接选择,以及通过直接平均两个mv来计算该平均mv,如果一个mvp是cprmvp以及另一个是无效mvp,该平均mvp也是cprmvp以及该平均mv是来自两个mvp的唯一有效cprmvp,如果两个mvp都是无效mvp,该平均mvp也是无效mvp。对于成对平均的合并候选,如果两个mvp之一是cprmvp,那么该平均合并候选被考虑为cpr合并候选。如果该成对平均合并候选是cprmvp/候选,该mv需要是整数mv。该平均mv也被凑整成整数mv。条件地发信具有cpr的新合并工具在一个实施例中,如果cpr模式被使用以及没有其他帧间参考图像(如,所有参考图像都是当前图像或者仅有为当前图像的一个参考图像或其是irap),子块帧间模式是禁用的。在语法设计中,子块帧间模式语法不被发信(如,子块帧间模式旗标被推断为假)。在另一个实施例中,子块帧间模式语法被约束为禁用该子块帧间模式(如,子块帧间模式旗标被约束为假,其是子块模式旗标将为假的比特流一致性需求)。子块帧间模式约束被应用于跳过模式以及合并模式。在另一个实施例中,当子块帧间模式可以在cpr中被支持时(如,如果cpr模式被使用以及没有其他帧间参考图像,或者所选择的参考图像是当前图像或其是irap),每一子块的所导出的运动向量也被凑整成整数mv。在另一个实施例中,如果cpr模式被使用以及没有其他帧间参考图像(如,所有参考图像都是当前图像或者仅由一个为当前图像的参考图像或其是一irap),多假设预测模式(mh)被禁用。在语法设计中,mh模式语法不被发信(如,mh模式旗标被推断为假),或者mh模式语法被约束为禁用该mh模式(如,mh模式旗标被约束为假,其是mh模式旗标将为假的比特流一致性需求)。在另一个实施例中,mh可以使用具有ibc合并类型(如,mrg_type_ibc)的合并候选作为多个组合预测子之一。在另一个实施例中,如果cpr模式被使用以及没有其他帧间参考图像(即,所有帧间参考图像都是当前图像或者仅有一个为当前图像的参考图像或其是irap),三角形预测单元模式被禁用。在语法设计中,三角形预测单元模式语法不被发信(如,三角形预测单元模式旗标被推断为假),或者该三角形预测单元模式语法被约束为禁用该三角形预测单元模式(如,三角形预测单元模式旗标被约束为假,其是三角形预测单元模式旗标将为假的比特流一致性需求)。在另一个实施例中,三角形预测单元模式可以与cpr模式组合。例如,仅一个三角形预测单元模式可以被编解码为cpr模式,或者被编解码为cpr的两个三角形预测单元都是有效的。在另一个实施例中,如果cpr模式被使用以及没有其他帧间参考图像(如,所有帧间参考图像是当前图像或者仅有一个为当前图像的参考图像或其是一irap),mvd合并模式(mmvd)被禁用。在语法设计中,mmvd模式语法不被发信(如,mmvd模式旗标被推断为假),或者mmvd模式语法被约束为禁用该mmvd模式(如,mmvd模式旗标被约束为假,其是mmvd模式旗标将为假的比特流一致性需求)。用于带宽减少约束的修正mmvd在本发明中mmvd被考虑在跳过模式编解码或合并模式编解码中。其仅当合并旗标或跳过旗标是启用的时候被发信。mmvd的概念是扩展现有的mv来增加合并候选列表中mv的多样性。首先,合并候选列表中k个mv被选择为mmvd的扩展。k的值是正整数。各级本发明的一个实施例,仅具有默认合并类型(mrg_type_default_n)的合并候选可以被选择为mmvd的扩展。然而,如果没有具有有效合并类型的合并候选或者没有足够的具有有效合并类型的合并候选存在于合并候选列表中,默认mv将被插入mmvd扩展列表以及具有双向预测的mv(如(0,0))总是被用作默认mv。我们提出考虑当前cu的预测方向或者条带/图块类型来插入默认mv。例如,如果双向预测被允许用于当前cu或者当前条带是b条带或者当前图块类型是b类型图块,从列表0或列表1、列表0与列表1参考的默认mv将被插入mmvd的扩展列表。在另一个示例中,如果双向预测不被允许用于当前条带(如,当前条带是p条带或者当前图块是p类型图块),从列表0或列表1参考的默认mv将被插入mmvd的扩展列表。例如,如果当前条带是p条带,如果有效候选数目小于最大候选数目,从列表0(如,具有参考索引等于0)推断的默认mv(如(0,0))将被插入mmvd的扩展列表。又例如,如果当前cu是4x4块,如果有效候选的数目小于最大候选数目,从列表0参考的默认mv(如(0,0))将被插入mmvd的扩展列表。用于一些较小块尺寸(如,4x4块或任何其他较小块尺寸)的双向预测可能导致最坏内存带宽增加的问题。为了减少带宽开销,我们可以以当前代码库中至少一默认块尺寸(例如,像4x4块一些较小块尺寸)将双向预测合并候选转换成单向预测合并候选。在当前设计中,普通合并候选列表将首先被生成,以及然后如果当前块是4x4块,双向预测检查将被应用。在这一条件下,所有双向合并候选将被转换成具有来自列表0的参考帧的单向合并候选。所转换的单向预测合并候选用于生成mmvd候选。然而,如果可用候选数目不够,双向预测0相邻将被插入作为mmvd基础候选。其将导致用于4x4块的双向运动补偿。在一个实施例中,我们提出应用在生成所有合并候选(包括普通合并候选、mmvd以及hm合并候选)后将双向预测检查应用于4x4块。这样,如果当前块是4x4块,所有合并候选(如,普通合并候选、mmvd、hm、基于历史的合并候选)将被保证是单向预测合并候选。在一些其他实施例中,当前发明也可以被应用于一些其他合并候选(例如,成对平均合并候选或者任何其他合并候选),其在本公开中将不被限制。具有适应性运动分辨率的cpr如果用于列表0或列表1或者列表0与列表1的适应性运动分辨率被启用,以及在参考图像索引之前被发信,该参考图像索引需要被发信或者被解析用于列表0或列表1、或者列表0与列表1两者。如果用于列表0或列表1或者列表0与列表1两者的参考图像索引在整数mv旗标前被发信,以及用于列表1或列表1或者列表0与列表1两者的参考图像等于当前图像,整数mv旗标被推断为真。因此,整数mv旗标不需要被发信或者被解析用于列表0或列表1或者列表0与列表1两者。在另一个示例中,如果用于列表0或列表1或者列表0与列表1两者的参考图像索引在整数mv旗标之前被发信,用于列表0或列表1或者列表0与列表1两者的参考图像等于当前图像,以及不是所有的mvd都等于0,该整数mv旗标被推断为真。在一个实施例中,4像素整数mv模式被采用作为一个整数mv模式。整数mv索引(imv_idx)被发信。当前imv_idx是0时,使用分数mv(如,四分之一mv),当imv_idx是1时,整数mv被使用;当imv_idx时2时,4像素mv被使用。如果用于列表0或列表1或者列表0与列表1两者的参考图像索引在整数mv旗标之前被发信,以及用于列表0或列表1或者列表0与列表1两者的参考图像等于当前图像,imv_idx可以仅大于0(如,imv_idx等于1或2)。在一个示例中,一个箱(bin)被发信来指示imv_idx是否应当等于1或2。在另一个实施例中,如果用于列表0或列表1或者列表0与列表1两者的参考图像索引在整数mv旗标前被发信,用于列表0或列表1或者列表0与列表1两者的参考图像等于当前图像,以及不是所有的mvd都等于0,imv_idx可以仅大于0。然而,在一些实施例中,如果参考图像索引在整数mv旗标之前被发信,该参考图像等于当前图像,以及列表0或列表1或者列表0与列表1两者中mvd等于0,那么列表0或列表1或者列表0与列表1两者中整数mv旗标被推断为假(或imv_idx被推断为0),以及该整数mv旗标不需要被发信或解析。换言之,如果整数mv旗标在列表0或列表1或者列表0与列表1两者中为假,以及列表0或列表1或者列表0与列表1两者中的参考图像等于当前图像,其暗示用于目标参考图像的mvd等于0。在另一个实施例中,仅当mvd在列表0、列表1或列表0与列表1两者中为0以及所选择的参考图像不等于当前图像时,整数mv旗标被推断为假(或imv_idx被推断为0),当所选择参考图像等于当前图像时,不管mvd,整数mv旗标被推断为真(或imv_idx可以仅大于0)。双向预测也可启用cpr。在这种情况中,列表0与列表1两者可以具有当前图像作为参考图像。在一个实施例中,如果参考图像索引在整数mv旗标或整数mv索引之前被发信,以及参考图像的两侧都等于当前图像(如,mvd不需要都是0),那么整数mv旗标被推断为真或者整数mv索引将大于0。否则,如果参考图像索引在整数mv旗标或整数mv索引之前被发信,以及仅参考图像的一侧等于当前图像(如,mvd不需要都是0),那么整数mv旗标需要被发信或解析。在一个实施例中,如果参考图像索引在整数mv旗标或者整数mv索引之前被发信,以及来自列表0或列表1的参考图像的一侧等于当前图像(如,mvd不需要都是0),那么整数mv旗标或整数mv索引被推断为帧或者整数mv索引将大于0;从参考图像而不是当前图像参考的mv将被凑整成整数精度。在另一个实施例中,如果参考图像索引在整数mv旗标或者整数mv索引之前被发信,参考图像的两侧不等于当前图像,以及列表0或列表1或者列表0与列表1两者中的mvd等于0,那么列表0或列表1或者列表0与列表1两者中的整数mv旗标被推断为假或者整数mv索引被推断为0,以及整数mv旗标不需要被发信或解析。在一个实施例中,为了确保参考图像等于当前图像的mv将由整数分辨率进行编解码,mvd将由整数分辨率进行解码而不管整数mv旗标或者如果参考图像等于当前图像,整数mv索引等于0时。在另一个实施例中,mvd分辨率取决于整数mv旗标(或整数mv索引)以及参考图像是否是当前图像。如果参考图像不是当前图像,mvd分辨率取决于整数mv旗标(或者整数mv索引)。如果参考图像是当前图像,根据整数mv索引,mvd分辨率是整数mv分辨率或者不是分数分辨率的其他mv分辨率(如4相似分辨率)。例如,如果参考图像是当前图像以及imv_idx是0或1,mvd分辨率是整数mv分辨率。如果imv_idx是2,mvd分辨率是4像素整数分辨率。在另一个实施例中,如果参考图像等于当前图像,其mv将不总是由分数亮度样本储存,合适的分辨率(如,整数亮度样本)将被用于编解码此mv。这样,其将被解码为整数mv,具有整数分辨率或4像素分辨率而不管整数mv旗标。具有来自多个并位图像的多个时间mv的cpr根据本发明的实施例,在一些情况下,mv不可以是用于合并模式或帧间模式mvp生成的有效时间mv。此外,如果cpr被启用,当前图像将被用为参考图像,以及当前图像通常放置于列表0的最后位置。参考当前被标记为长期参考图像。在一个示例中,如果当前图像指等于其自身的图像(即,当前图像),mv不可以被用作并位mv用于时间合并候选或帧间模式mvp生成。在另一个示例中,如果当前图像指长期图像,但并位图像不参考长期图像,并位图像的mv不可以被用作用于当前图像的时间mv。在另一个情况下,如果当前图像参考短期图像,但并位图像参考长期图像,并位图像的mv也不可以用作当前图像的时间mv。我们提出释放时间mv的约束。在一个实施例中,如果当前图像指等于其自身的图像(即,refpoc等于curpoc),以及并位图也指等于该并位图像的图像(即,refpoc等于curpoc),来自并位图像的这一时间mv对当前图像的合并模式以及mvp生成是有效的。该mv可以用或不用缩放被使用以及该参考图像被设置为等于当前图像。在另一个实施例中,如果当前图像指等于其自身的图像(即,refpoc等于curpoc),以及并位图像指长期图像而不是当前图像,来自该并位图像的时间mv也可以用于当前图像的合并模式以及mvp生成。但精度检查需要在参考后被应用。如果来自并位图像的时间mv用分数亮度样本进行编解码,其需要被凑整成整数亮度样本。在另一个实施例中,如果当前图像指等于其自身的图像(即,refpoc等于curpoc),以及并位图像指长期图像而不是当前图像,仅当来自并位图像的时间mv用整数亮度样本编解码时,来自并位图像的时间mv可以用于合并模式与mvp生成任一者中的当前图像。在另一个实施例中,如果当前图像指等于其自身的图像(即,refpoc等于curpoc),以及并位图像指长期图像而不是当前图像,来自并位图像的时间mv不可以用于合并模式与mvp生成任一者中的当前图像。在另一个实施例中,如果当前图像指等于其自身的图像(即,refpoc等于curpoc),以及并位图像也指等于其自身的图像(即,refpoc等于curpoc),来自并位图像的mv可以用作为当前图像的时间mv,该当前图像的参考图像索引等于当前图像。在另一个实施例中,如果当前图像指等于其自身的图像(即,refpoc等于curpoc),以及并位图像也指等于其自身的图像(即,refpoc等于curpoc),不被标记为cpr类型合并候选的时间mv可以根据来自并位图像的时间mv来导出。所导出的时间mv指向参考索引等于并位图像的参考图像中的参考块。在另一个实施例中,当当前图像的参考图像与并位图像的参考图像都是长期图像时,并位mv是否可以被使用取决于参考图像是否是当前图像(或者并位图像的当前图像)。例如,如果两个参考图像都是长期图像而不是当前图像,并位mv是有效的。如果一个参考图像是当前图像(或者并位图像的当前图像),以及另一个参考图像是长期图像而不是当前图像,该并位mv不是有效的。如果两个参考是长期图像以及都是当前图像以及并位图像的当前图像,该并位mv也是有效的。所导出的时间mv指向当前图像。具有子块合并模式以及仿射amvp的cpr在先前发明中,子块合并模式包括仿射合并与atmvp模式以及仿射avmp模式被提出。然而,在应用cpr设计后,几个方法被提出来改善整合。在一个实施例中,如果子块合并模式或仿射amvp模式是启用的,以及当前图像的参考图像等于该当前图像,以及在mv导出后需要mv检查进程。所有子块mv需要是整数mv。在另一个实施例中,如果当前图像被允许被推断为当前cu,无论哪一预测模式被选择(如,普通合并模式、mh模式、三角形合并模式、mmvd合并模式、帧间模式、amvp模式、子块合并模式、仿射amvp模式等等),用于当前块或当前子块的mv需要用整数分辨率进行编解码。在不同模式的mv导出进程后需要mv检查进程。如果当前cu的参考图像等于当前图像,用于当前块或当前子块的分数mv需要被转换成整数分辨率。编解码工具管理的控制语法在vtm-4.0mmvd中,sps_fpel_mmvd_enabled_flag被用于禁用mmvd的分数偏移。当sps_fpel_mmvd_enabled_flag被启用时,分数偏移将不被允许被添加为mvd。在本公开中,其提出使用在图块/图块组/图像/条带/序列/aps级中发信的控制旗标或语法。当这一旗标或语法为真时,一或多个编解码工具在目标模式中被修正,当这一旗标/语法为假时,该目标模式不同于其他模式。编解码工具可以是mmvd、amvr、dmvr、帧内预测或者上述任何组合。在一个示例中,当旗标或语法为真时,分数偏移不被允许添加为mvd。在另一个示例中,当这一旗标或语法被启用时,amvr_flag将不需要被发信以及将被推断为真。仅amvr_idx需要被发信来指示4像素mv分辨率是否被使用。在另一个示例中,当前这一旗标或语法被启用时,mvd仅以整数像素或4像素进度进行编解码。四分之一或二分之一样本精度被禁用。在另一个实施例中,当这一旗标或语法被启用时,帧内插值将被禁用。整数样本帧内像素复制被使用。在另一个实施例中,当这一旗标或语法被启用时,分数dmvr细化将被禁用。在另一个实施例中,当这一旗标或语法被启用时,超过一个编解码工具将被禁用。例如,amvr_flag与/或帧内插值可以都被禁用。任何前述提出的方法可以在编码器与/或解码器中实施。例如,任何提出的方法可以在编码器与/或解码器的帧间编解码模块/处理器/程序代码中实施。或者,任何提出的方法可以被实施为与编码器与/或解码器的帧间编解码耦合的电路,以提供由帧间编解码所需要的信息。图11示出了根据本发明实施例的视频编解码的示例性预测的流程图。本公开中流程图以及其他后续流程图中示出的步骤可以被实施为在编码器侧与/或解码器侧的一或多个处理器(如,一或多个cpu)上可执行的程序代码。流程图中示出的步骤可以基于如一或多个电子装置或处理器来实施,其用于执行流程图中的多个步骤。根据这一方法,在步骤1110,在视频编码器侧接收与当前图像中当前块相关的输入数据,或者在视频解码器侧接收对应于包括该当前图像中该当前块的压缩数据的视频比特流。在步骤s1120,生成包括mmvd(运动向量差值(mvd)合并模式)候选的一组合并候选,其中该mmvd候选通过决定基础候选以及修正该基础候选的mv(运动向量)表达的一或多个部分来生成该mmvd候选来导出该mmvd候选。在步骤1130中,其决定当前块是否具有属于至少一默认块尺寸的块尺寸以及在生成该组合并候选后,决定该组合并候选中的目标候选是否是双向预测。如果该当前块具有属于至少一默认块尺寸的块尺寸以及该目标候选是双向预测(即,从步骤1130的“是”路径),步骤1140到1160被执行。否则(即,“否”路径),步骤1140到1160被跳过。在步骤1140,该目标候选由单向预测候选替换。在步骤1150,包括该单向预测候选于该组合并候选中来生成修正组合并候选。在步骤1160,在该视频编码器侧使用该修正组合并候选对与该当前块相关的当前运动信息进行编码或者在该视频解码器侧使用该修正组合并候选对于该当前块的该当前运动信息进行解码。所示出的流程图旨在说明根据本发明的视频编解码的示例。在不背离本发明精神的情况下,本领域普通技术人员可以修正每一步骤、重新排列步骤、拆分步骤或者组合多个步骤来实施本发明。在本公开中,特定的语法以及语义已经用于说明示例来实施本发明的实施例。在不背离本发明精神的情况下,本领域普通技术人员可以通过用等同的语法与语法替换该语法与语义来实施本发明。以上描述被呈现来使本领域普通技术人员以特定应用的上下文中所提供的及其需求来实施本发明。对所描述实施例的各种修正对本领域普通技术人员将是显而易见的,以及本文定义的基本原理可以被应用于其他实施例。因此,本发明不旨在限制于所示以及所描述的特定实施例,而是与符合本文所公开的原理以及新颖特征最宽范围一致。在以上细节描述中,各种具体的细节被示出以提供本发明的透彻理解。然而,本领域普通技术人员将能理解,可以实施本发明。如以上所描述的本发明的实施例可以以各种硬件、软件代码或两者的组合来实施。例如,本发明的实施例可以是整合到视频压缩芯片的一或多个电子电路或者整合到视频压缩软件的程序代码来执行本文所描述的处理。本发明的实施例还可以是将在数字信号处理器(dsp)上执行的程序代码来执行本文所描述的处理。本发明还涉及由计算机处理器、数字信号处理器、微处理器或现场可程序门阵列(fpga)执行的若干功能。处理器可以用于执行根据本发明的特定任务,通过执行由本发明呈现的定义特定方法的机器可读软件代码或固件代码。软件代码或韧体代码可以以不同的编码语言以及不同的格式或风格开发。软件代码还可以被编译用于不同的目标平台。然而,软件代码的不同的代码格式、风格以及语言或者配置代码来执行根据本发明的任务的其他方法将不背离本发明的精神以及范围。在不背离其精神或基础特征的情况下,本发明可以以其他特定形式实施。所描述的示例在所有方面仅被考虑是说明性的而非限制性的。因此,本发明的范围由所附权利要求书而不是前述描述来指示。在所附权利要求书的含义以及等同范围内的所有变化都在其范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1