帧间预测方法、编码器、解码器及计算机可读存储介质与流程

文档序号:26839430发布日期:2021-10-08 20:49阅读:84来源:国知局
1.本技术实施例涉及视频编码技术,涉及但不限于一种帧间预测方法、编码器、解码器及计算机可读存储介质。
背景技术
::2.在视频编解码,对当前块进行编解码的过程中,除了有帧内预测外,还可以采用帧间预测方式。帧间预测可以包括运动估计和运动补偿,针对运动补偿,可以采用帧间几何划分预测模式(gpm,geometricpartitioningmode),将帧间的当前块划分为两个非矩形的分区(或两个块)分别进行预测后进行加权融合,从而得到当前块的预测值。3.目前,在gpm的预测过程中,通过一条直线把一个矩形块划分成两个块。这里几何划分可能是划分编码单元,也可能是划分预测单元,这里统称为块。这样,被划分成的块呈三角形或梯形。而把矩形块划分成两个块的直线可以有不同的角度,不同的位置,从而可以划分出多种三角形和梯形的组合。这样的几何划分可以使块的边缘更贴近物体的边缘,或者贴近两个运动矢量不同的分区的边缘,从而能提高编码性能。4.然而,这样的(直线)几何划分,不可能完全贴合物体的边缘,或者两个运动矢量不同的分区的边缘,出现对几何划分出来的边缘区域会使用过渡,对某些场景,比如自然物体中大量曲线、弧线的存在的情况,这样直线划分仍然过于生硬,从而影响到编解码的性能。技术实现要素:5.本技术实施例提供一种帧间预测方法、编码器、解码器及计算机可读存储介质,能够提高编解码的精度。6.本技术的技术方案是这样实现的:7.本技术实施例提供了一种帧间预测方法,该方法应用于解码器中,包括:8.解析码流,确定当前块的预测解码参数;9.当所述预测解码参数指示使用帧间几何划分预测模式gpm确定当前块的帧间预测时,确定当前块的gpm模式参数和曲线划分信息;10.基于所述gpm模式参数,确定第一参考块和第二参考块;11.基于所述gpm模式参数和所述曲线划分信息,确定所述第一参考块对应的第一预测参数和第二参考块对应的第二预测参数;12.基于所述第一预测参数和所述第二预测参数,确定所述当前块的预测值。13.本技术实施例还提供了一种帧间预测方法,该方法应用于编码器中,包括:14.确定当前块的预测模式参数;15.当所述预测模式参数指示使用帧间几何划分预测模式gpm确定当前块的帧间预测时,确定当前块的gpm模式参数和曲线划分信息;16.基于所述gpm模式参数,确定第一参考块和第二参考块;17.基于所述gpm模式参数和所述曲线划分信息,确定所述第一参考块对应的第一预测参数和第二参考块对应的第二预测参数;18.基于所述第一预测参数和所述第二预测参数,确定所述当前块的预测值。19.本技术实施例提供了一种解码器,包括:20.解码单元,用于解析码流,确定当前块的预测解码参数;21.第一确定单元,用于当所述预测解码参数指示使用帧间几何划分预测模式gpm确定当前块的帧间预测时,确定当前块的gpm模式参数和曲线划分信息;基于所述gpm模式参数,确定第一参考块和第二参考块;基于所述gpm模式参数和所述曲线划分信息,确定所述第一参考块对应的第一预测参数和第二参考块对应的第二预测参数;22.第一预测单元,用于基于所述第一预测参数和所述第二预测参数,确定所述当前块的预测值。23.本技术实施例提供了一种编码器,包括:24.第二确定单元,用于确定当前块的预测模式参数;当所述预测模式参数指示使用帧间几何划分预测模式gpm确定当前块的帧间预测时,确定当前块的gpm模式参数和曲线划分信息;基于所述gpm模式参数,确定第一参考块和第二参考块;基于所述gpm模式参数和所述曲线划分信息,确定所述第一参考块对应的第一预测参数和第二参考块对应的第二预测参数;25.第二预测单元,用于基于所述第一预测参数和所述第二预测参数,确定所述当前块的预测值。26.本技术实施例还提供了一种解码器,包括:第一处理器以及存储有所述第一处理器可执行指令的第一存储器,所述第一存储器通过通信总线依赖所述第一处理器执行操作,当所述可执行指令被所述第一处理器执行时,执行上述的权利要求1至18任一项所述的帧间预测方法。27.本技术实施例还提供了一种编码器,包括:第二处理器以及存储有所述第二处理器可执行指令的第二存储器,所述第二存储器通过通信总线依赖所述第二处理器执行操作,当所述可执行指令被所述第二处理器执行时,执行上述的权利要求19至42任一项所述的帧间预测方法。28.本技术实施例提供了一种计算机可读存储介质,存储有可执行指令,当所述可执行指令被一个或多个第一处理器执行时,所述第一处理器执行解码器侧的所述的帧间预测方法;或者,当所述可执行指令被一个或多个第二处理器执行时,所述第二处理器执行编码器侧的所述的帧间预测方法。29.本技术实施例提供了一种帧间预测方法、编码器、解码器及计算机可读存储介质,包括:解析码流,确定当前块的预测解码参数;当预测解码参数指示使用帧间几何划分预测模式gpm确定当前块的帧间预测时,确定当前块的gpm模式参数和曲线划分信息;基于gpm模式参数,确定第一参考块和第二参考块;基于gpm模式参数和曲线划分信息,确定第一参考块对应的第一预测参数和第二参考块对应的第二预测参数;基于第一预测参数和第二预测参数,确定当前块的预测值。也就是说,在本技术实施例中,通过采用在gpm模式下,采用曲线划分的方式对当前块进行预测,使得划分出来的边界更贴合物体的边缘或者两个运动矢量不同的部分的边缘,从而提高了编解码的精度。附图说明30.图1为本技术实施例提供的一种视频编码系统的组成框图示意图;31.图2为本技术实施例提供的一种视频解码系统的组成框图示意图;32.图3为本技术实施例提供的一种帧间预测方法的实现流程示意图;33.图4为本技术实施例提供的示例性的vvc所采用的几何划分方法的示意图;34.图5为本技术实施例提供的示例性的vvc的几何划分的划分角度示意图;35.图6为本技术实施例提供的示例性的直线划分线到曲线划分线的变换示意图;36.图7为本技术实施例提供的另一种帧间预测方法的实现流程示意图一;37.图8为本技术实施例提供的另一种帧间预测方法的实现流程示意图二;38.图9为本技术实施例提供的一种解码器的结构示意图一;39.图10为本技术实施例提供的一种解码器的结构示意图二;40.图11为本技术实施例提供的一种编码器的结构示意图一;41.图12为本技术实施例提供的一种编码器的结构示意图二。具体实施方式42.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。43.本技术提供一种视频编码系统,如图1所示,该视频编码系统11包括:44.变换单元111、量化单元112、模式选择和编码控制逻辑单元113、帧内预测单元114、帧间预测单元115(包括:运动补偿和运动估计)、反量化单元116、反变换单元117、环路滤波单元118、编码单元119和解码图像缓存单元110;针对输入的原始视频信号,通过编码树块(codingtreeunit,ctu)的划分可以得到一个视频重建块,通过模式选择和编码控制逻辑单元113确定编码模式,然后,对经过帧内或帧间预测后得到的残差像素信息,通过变换单元111、量化单元112对该视频重建块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内预测单元114用于对该视频重建块进行帧内预测;其中,帧内预测单元114用于确定该视频重建块的最优帧内预测模式(即目标预测模式);帧间预测单元115用于执行所接收的视频重建块相对于一或多个参考帧中的一或多个块的帧间预测编码,以提供时间预测信息;其中吗,运动估计为产生运动向量的过程,所述运动向量可以估计该视频重建块的运动,然后,运动补偿基于由运动估计所确定的运动向量执行运动补偿;在确定帧间预测模式之后,帧间预测单元115还用于将所选择的帧间预测数据提供到编码单元119,而且,将所计算确定的运动向量数据也发送到编码单元119;此外,反量化单元116和反变换单元117用于该视频重建块的重构建,在像素域中重构建残差块,该重构建残差块通过环路滤波单元118去除方块效应伪影,然后,将该重构残差块添加到解码图像缓存单元110的帧中的一个预测性块,用以产生经重构建的视频重建块;编码单元119是用于编码各种编码参数及量化后的变换系数。而解码图像缓存单元110用于存放重构建的视频重建块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频重建块,这些重构建的视频重建块都会被存放在解码图像缓存单元110中。45.本技术实施例提供一种视频解码系统,图2为本技术实施例视频编码系统的组成结构示意图,如图2所示,该视频编码系统12包括:46.解码单元121、反变换单元127,与反量化单元122、帧内预测单元123、运动补偿单元124、环路滤波单元125和解码图像缓存单元126单元;输入的视频信号经过视频编码系统11进行编码处理之后,输出该视频信号的码流;该码流输入视频解码系统12中,首先经过解码单元121,用于得到解码后的变换系数;针对该变换系数通过反变换单元127与反量化单元122进行处理,以便在像素域中产生残差块;帧内预测单元123可用于基于所确定的帧内预测方向和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元124是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换单元127与反量化单元122的残差块与由帧内预测单元123或运动补偿单元124产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过环路滤波单元125以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元126中,解码图像缓存单元126存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,得到所恢复的原始视频信号。47.本技术实施例提供的一种帧间预测方法主要作用于视频编码系统11的帧间预测单元215和视频解码系统12的帧间预测单元,即运动补偿单元124;也就是说,如果在视频编码系统11能够通过本技术实施例提供的帧间预测方法得到一个较好的预测效果,那么,对应地,在解码端,也能够改善视频解码恢复质量。48.基于此,下面结合附图和实施例对本技术的技术方案进一步详细阐述。在进行详细阐述之前,需要说明的是,说明书通篇中提到的“第一”、“第二”、“第三”等,仅仅是为了区分不同的特征,不具有限定优先级、先后顺序、大小关系等功能。49.本技术实施例提供一种帧间预测方法,该方法应用于视频解码设备,即解码器。该方法所实现的功能可以通过视频解码设备中的第一处理器调用程序代码来实现,当然程序代码可以保存在第一存储器中,可见,该视频解编码设备至少包括第一处理器和第一存储器。50.图3为本技术实施例一种帧间预测方法的实现流程示意图,如图3所示,该方法包括:51.s101、解析码流,确定当前块的预测解码参数。52.s102、当预测解码参数指示使用gpm确定当前块的帧间预测时,确定当前块的gpm模式参数和曲线划分信息。53.s103、基于gpm模式参数,确定第一参考块和第二参考块。54.s104、基于gpm模式参数和曲线划分信息,确定第一参考块对应的第一预测参数和第二参考块对应的第二预测参数。55.s105、基于第一预测参数和第二预测参数,确定当前块的预测值。56.在本技术实施例中,解码器在进行解码的过程中,从码流中可以解析出编码器在进行编码时采用的编码手段等信息,即针对当前块的预测解码参数,而基于目前编码方式的多样性,解码器解码出来的预测模式可能是多种多样的,本技术实施例提供的帧间预测方式是只有在编码采用gpm预测模式的情况下实现的场景。57.当解码器解析码流获取预测解码参数指示使用帧间几何划分预测模式gpm确定当前块的帧间预测,就采用本技术实施例提供的帧间预测方式,从码流中解析出编码时采用的当前块的gpm模式参数和曲线划分信息。58.其中,gpm模式参数包括gpm的划分模式和运动相关信息。这里的gpm的划分模式可以为64种。59.在本技术实施例中,解码器解码当前块的预测模式,如果当前块使用了gpm,gpm需要解码gpm的划分模式。如果gpm使用的是蒙版(mask)的方法,则解码当前块的两个划分部分使用的mv的信息或gpm相关其他信息。60.对于曲线划分模式,解码器可以解码码流中的曲线划分使用标志来直接确定,例如,曲线划分使用标志为1(表征被使用),则表征当前块使用曲线划分,可以解码码流中传输的平移幅度和或曲线形状的索引,其中,平移幅度和曲线形状的索引的解码顺序可以对掉,本技术实施例不作限制。如果曲线划分使用标志为0(表征未被使用),则停止解码曲线划分信息。61.在本技术实施例中,对于曲线划分模式,解码器可以解码码流中平移幅度来间接确定,如果平移幅度不为0(表征曲线划分模式被使用),则表示使用曲线划分,继续解码曲线形状索引。如果平移幅度为0(表征曲线划分模式未被使用),则停止解码曲线划分信息。其中,解码曲线划分的信息、gpm的划分模式、当前块的两个划分部分使用的mv的信息或gpm相关其他信息的顺序可能有多种组合,本技术实施例不作限制。gpm的划分模式、当前块的两个划分部分使用的mv的信息或gpm相关其他信息的解码方式本技术不作限制。62.需要说明的是,在本技术实施例中,在本技术实施例中,视频图像可以划分为多个图像块,每个当前待解码的图像块可以称为解码块,其中,每个解码块可以包括第一图像分量、第二图像分量和第三图像分量;而当前块为视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量预测的解码块。63.其中,假定当前块进行第一图像分量预测,而且第一图像分量为亮度分量,即待预测图像分量为亮度分量,那么当前块也可以称为亮度块;或者,假定当前块进行第二图像分量预测,而且第二图像分量为色度分量,即待预测图像分量为色度分量,那么当前块也可以称为色度块。64.还需要说明的是,预测模式参数指示了当前块的编码模式及该模式相关的参数。65.在本技术实施例中,gpm的划分模式可以包括:角度索引信息,还可以包括:步长索引信息和目标划分模式等等,本技术实施例不作限制。66.需要说明的是,目前gpm几何划分可以划分出任何通过几何函数能计算出的形状,考虑到应用场景和实现复杂度,目前已有的几何划分方法都是通过一条直线把一个矩形块划分成两个块。这里几何划分可能是划分编码单元(cucodingunit),也可能是划分预测单元(pupredictionunit),这里统称为当前块。被划分成的块呈三角形,矩形或梯形。将矩形块划分成两个块的直线可以有不同的角度,不同的位置,从而可以划分出多种三角形,矩形和梯形的组合。通常对几何划分出来的边缘区域会使用过渡,如使用加权平均方法在划分边缘使用渐进的系数过渡,从而使划分的边缘不会过于生硬。目前vvc所采用的几何划分方法。需要说明的是,在本技术实施例中,gpm是针对图像中物体边缘部分,将帧间块(即,当前块)划分为两个非矩形的子块分别进行预测后进行加权融合。例如,非矩形的形式可以如下图4a-4i所示。67.如图5所示,vvc的几何划分将一周的角度分成32份,直线相对于块中心距离的偏移可以有4种不同的值,其中有一种是0,即直线过块的中心。当前vvc使用了32个角度中的部分角度,而偏移的方法随角度的不同有所不同,部分与已有的二叉树三叉树等划分重合的模式也被剔除。68.在本技术实施例中,解码器在获取了当前块的gpm模式参数和曲线划分信息之后,该解码器就可以基于gpm模式参数中的gpm的划分模式和运动相关信息,确定出不同分区对应的第一参考块和第二参考块了,再基于gpm模式参数和曲线划分信息,就可以确定第一参考块对应的第一预测参数和第二参考块对应的第二预测参数。69.在本技术实施例中,第一预测参数包括:第一权重值或第一边界位置信息;第二预测参数包括:第二权重值或第二边界位置信息。70.需要说明的是,第一权重值和第二权重值为采用蒙版方法进行gpm划分时的像素点对应的权重值,第一边界位置信息和第二边界位置信息为第一参考块和第二参考块的边界信息。71.在本技术实施例中,解码器基于gpm模式参数和曲线划分信息,确定第一参考块对应的第一预测参数和第二参考块对应的第二预测参数可以基于预测参数的不同,划分为两种方式,如下:72.方式一:第一预测参数包括:第一权重值;第二预测参数包括:第二权重值;解码器根据gpm模式参数,确定与当前gpm模式对应的预设权重分布;确定当前块的尺寸信息;根据尺寸信息、gpm模式参数和曲线划分信息,对预设权重分布进行更新,得到曲线权重分布;根据曲线权重分布,得到第一权重值和第二权重值。73.需要说明的是,曲线划分信息包括:平移幅度和曲线形状索引;解码器根据gpm模式参数确定偏移方向;根据尺寸信息、平移幅度和曲线形状索引,确定偏移量;按照偏移方向,将预设权重分布中的每个像素位置的预设权重偏移偏移量后,得到更新后的每个像素位置的曲线权重,从而得到曲线权重分布。74.方式二:第一预测参数包括:第一边界位置信息;第二预测参数包括:第二边界位置信息;解码器获取当前块的尺寸信息;基于gpm模式参数和尺寸信息,确定划分边界位置信息;根据gpm模式参数、尺寸信息和曲线划分信息,对划分边界位置信息进行偏移,确定曲线划分边界位置信息;基于曲线划分边界位置信息,确定第一边界位置信息和第二边界位置信息。75.需要说明的是,曲线划分信息包括:平移幅度和曲线形状索引;解码器根据gpm模式参数确定偏移方向;根据尺寸信息、平移幅度和曲线形状索引,确定偏移量;按照偏移方向,对划分边界位置信息的每个像素点的位置偏移偏移量后,得到曲线划分边界位置信息。76.在方式一中,预设权重分布指gpm的划分模式采用直线划分时对应的原始蒙版,曲线权重分布为现在基于曲线划分时对应的权重分布信息,是对预设权重分布进行平移计算,更新得到的。解码器主要采用尺寸信息、gpm模式参数和曲线划分信息,对预设权重分布进行更新,得到曲线权重分布,在从曲线权重分布中,得到当前块的每个像素点的第一参考块对应的第一权重值,以及第二参考块对应的第二权重值。77.在本技术的一些实施例中,解码器是根据gpm模式参数中的角度信息来确定偏移方向的,并根据尺寸信息、平移幅度和曲线形状索引,确定出需要偏移的偏移量的。78.在方式二中,解码器针对当前块采用的曲线划分方式,可以为第一参考块的部分采用第一参考块的像素值为第一预测值,第二参考块的部份采用第二参考块的像素值为第二预测值,但在边界位置,则对第一参考块和第二参考块的各自的边界信息上的像素点进行偏移得到第一边界位置信息和第二边界位置信息,再基于第一边界位置信息和第二边界位置信息对边界上的像素点进行预测实现。79.需要说明的是,采用gpm模式参数,对当前块进行划分,基于当前块的尺寸信息,可以获知当前块的划分边界位置信息;这时,解码器根据gpm模式参数确定偏移方向;根据尺寸信息、平移幅度和曲线形状索引,确定偏移量;按照偏移方向,对划分边界位置信息的每个像素点的位置偏移了偏移量后,得到曲线划分边界位置信息。80.在本技术实施例中,解码器解码块划分信息,如果当前块使用了gpm,gpm需要解码gpm的划分模式。81.示例性的,如果gpm使用的是划分cu或pu的方法,则根据gpm的模式信息及曲线划分信息等确定划分的边界。如果根据gpm的模式信息确定的划分边界为boundary,(xn,yn)为boundary上的点。解码器根据gpm的模式信息及曲线划分信息等确定划分的边界为boundary’,(x′n,y′n)为boundary’上的点。82.针对上述实现情况,在本技术实施例中,解码器根据gpm模式参数确定偏移方向的实现为:当gpm模式参数表征gpm使用的角度满足水平判别条件时,确定偏移方向为水平方向;当gpm模式参数表征gpm使用的角度满足竖直平判别条件时,确定偏移方向为竖直方向。83.在本技术的一些实施例中,解码器是根据gpm模式参数中的角度信息来确定偏移方向的。84.在本技术的一些实施例中,竖直判别条件为角度在水平角度范围内;水平平判别条件为角度在竖直角度范围内,或者除水平判别条件外的其他情况为竖直方向,本技术实施例不限制判别条件,只要能区分移动方向的方式均可。85.示例性的,当gpm划分参数中的角度信息,即angle为4到12不包括12或angle为20到28不包括28时,偏移方向为竖直方向,否则偏移方向为水平方向,本技术实施例不作限制。即竖直判别条件可以为if((angleidx>=4&&angleidx<12)||(angleidx>=20&&angleidx<28))。86.下面针对不同的偏移方式的情况,解码器根据尺寸信息、平移幅度和曲线形状索引,确定偏移量的描述。87.在本技术实施例中,尺寸信息包括当前块的长度和宽度。88.当偏移方向为水平方向时,根据每个像素位置、长度和预设偏移点的数量,确定在每个像素位置在非偏移方向上,位于预设块中的第一像素位置,其中,非偏移方向与偏移方向垂直;根据曲线形状索引,确定第一像素位置对应的第一曲线信息;基于宽度和预设偏移点的数量,确定第一移动比例;根据第一曲线信息、平移幅度和第一移动比例,确定偏移量,其中,偏移量不超过当前块的宽度。89.需要说明的是,预设偏移点的数量为不同的曲线划分模式下对应的待偏移的点的数量,在本技术实施例中,预设偏移点的数量可以为64,本技术实施例不作限制,预设偏移点的数量越多,则曲线划分的越好。90.在本技术实施例中,当偏移方向为水平方向时,非偏移方向为竖直方向;当偏移方向为竖直平方向时,非偏移方向为水平方向。91.在本技术实施例中,解码器将第一曲线信息与平移幅度和第一移动比例相乘,得到偏移量。92.在本技术的一些实施例中,解码器根据每个像素位置、长度和预设偏移点的数量,确定在每个像素位置在非偏移方向上,位于预设块中的第一像素位置的实现为:根据每个像素位置、长度和预设偏移点的数量,确定第一缩放比例;根据长度和预设偏移点的数量,确定第一子偏移量;基于第一缩放比例和第一子偏移量,确定每个像素位置在非偏移方向上,位于预设块中的第一像素位置。93.在本技术实施例中,解码器用每个像素位置的纵坐标乘以预设偏移点的数量与长度的占比,得到第一缩放比例,或者,解码器用长度和预设偏移点的数量的以2为底的对数和移位得到第一缩放比例;解码器再根据预设偏移点的数量与(2*长度),得到第一子偏移量;最后,该解码器将第一缩放比例和第一子偏移量相加,得到第一像素位置。其中,预设偏移点的数量可能为64,32,16,8等,本技术实施例不作限制。94.示例性的,假设解码器根据曲线划分使用的平移幅度和曲线形状及蒙版p(预设权重分布)得到蒙版p’(曲线权重分布),设平移幅度为curveamplitude,平移使用的曲线形状索引为curveidx,共有曲线形状num_curve个,lut(曲线信息)为curvefactor[num_curve][n],其中n等。设当前块的宽度为width,长度为height,gpm使用的角度为angle。[0095]如果当前块使用水平方向,每个像素点(x,y)的p’如公式(1)所示,如下:[0096]p’[x][y]=p[x-offsetx][y]ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(1)[0097]其中,offsetx为偏移量。偏移量为公式(2)获得,如下:[0098]offsetx=curvefactor[curveidx][yn]*curveamplitude*scale1ꢀꢀꢀꢀꢀ(2)[0099]这里,curvefactor[curveidx][yn]为第一曲线信息,curveamplitude为平移幅度,scale1为第一移动比例。[0100]这里,第一移动比例为公式(3)获得,yn为公式(4)获得如下:[0101]scale1=width/nꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(3)[0102]yn=y*n/height+offset1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(4)[0103]其中,offset1为第一子偏移量,由公式(5)确定,如下:[0104]offset1=n/(2*height)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(5)[0105]需要说明的是,x-offsetx不会超过正常的当前块的范围,如0~width-1。[0106]在本技术的一些实施例中,当偏移方向为竖直方向时,解码器根据每个像素位置、宽度和预设偏移点的数量,确定在每个像素位置在非偏移方向上,位于预设块中的第二像素位置,其中,非偏移方向与偏移方向垂直;根据曲线形状索引,确定第二像素位置对应的第二曲线信息;基于长度和预设偏移点的数量,确定第二移动比例;根据第二曲线信息、平移幅度和第二移动比例,确定偏移量,其中,偏移量不超过当前块的长度。[0107]在本技术实施例中,解码器将第二曲线信息与平移幅度和第二移动比例相乘,得到偏移量。[0108]在本技术的一些实施例中,解码器根据每个像素位置、宽度和预设偏移点的数量,确定在每个像素位置在非偏移方向上,位于预设块中的第二像素位置的实现为:解码器根据每个像素位置、宽度和预设偏移点的数量,确定第二缩放比例根据宽度和预设偏移点的数量,确定第二子偏移量;基于第二缩放比例和第二子偏移量,确定每个像素位置在非偏移方向上,位于预设块中的第二像素位置。[0109]在本技术实施例中,解码器用每个像素位置的横坐标乘以预设偏移点的数量与宽度的占比,得到第二缩放比例,或者,解码器用宽度和预设偏移点的数量的以2为底的对数和移位得到第二缩放比例;解码器再根据预设偏移点的数量与(2*宽度),得到第二子偏移量;最后,该解码器将第二缩放比例和第二子偏移量相加,得到第二像素位置。[0110]示例性的,假设解码器根据曲线划分使用的平移幅度和曲线形状及蒙版p(预设权重分布)得到蒙版p’(曲线权重分布),设平移幅度为curveamplitude,平移使用的曲线形状索引为curveidx,共有曲线形状num_curve个,lut(曲线信息)为curvefactor[num_curve][n],其中n等。设当前块的宽度为width,长度为height,gpm使用的角度为angle。[0111]如果当前块使用竖直方向,每个像素点(x,y)的p’如公式(6)所示,如下:[0112]p’[x][y]=p[x][y-offsety]ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(6)[0113]其中,offsety为偏移量。偏移量为公式(7)获得,如下:[0114]offsetx=curvefactor[curveidx][xn]*curveamplitude*scale2ꢀꢀꢀꢀꢀ(7)[0115]这里,curvefactor[curveidx][xn]为第二曲线信息,curveamplitude为平移幅度,scale2为第二移动比例。[0116]这里,第二移动比例为公式(8)获得,xn为公式(9)获得如下:[0117]scale2=height/nꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(8)[0118]xn=x*n/width+offset2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(9)[0119]其中,offset2为第二子偏移量,由公式(10)确定,如下:[0120]offset2=n/(2*width)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(10)[0121]需要说明的是,y-offsety不会超过正常的当前块的范围,如0~height-1。[0122]基于上述两种偏移方向,采用另一种表示方式表达偏移过程为:[0123]if((angleidx>=4&&angleidx<12)||(angleidx>=20&&angleidx<28))[0124]offsetcx=0[0125]offsetcy=curvefactor[curveidx][xl*n/nw+n/2nw]*curveamplitude*nh/notherwise(shifthorisequalto1),thefollowingapplies:[0126]offsetcx=curvefactor[curveidx][yl*n/nh+n/2nh]*curveamplitude*nw/n[0127]offsetcy=0[0128]其中,nw为宽度,nh为长度,offsetcx为offsetx,offsetcy为offsety,angleidx为角度索引。[0129]在本技术的一些实施例中,解码器还可以先根据曲线划分使用的平移幅度和曲线形状确定当前块的每个像素点(x,y)在预设权重分布上的位置(x’,y’),再用对每个像素点(x,y)计算predsamples[x][y]时,基于预设权重分布、述偏移方向和偏移量在再临时计算出所需要的p[x’][y’]。[0130]示例性的,如果当前块使用水平方向,x’=x-offsetx,y’=y[0131]如果当前块使用竖直方向,x’=x,y’=y-offsety[0132]其中,offsetx和offsety与上面得到的方式相同。[0133]需要说明的是,在本技术实施例中,解码器可能先计算出蒙版p,再对每一个点(x,y)计算predsamples[x][y]。也可能在对每个点(x,y)计算predsamples[x][y]时临时计算出所需要的p[x][y]。在这种情况下,使用曲线划分方法在对每个点(x,y)计算predsamples[x][y]时临时计算出所需要的p[x’][y’],本技术实施例不作限制,最后的目的一致。[0134]解码器在采用方式一得到了第一权重值和第二权重值之后,该解码器就可以根据第一权重值、第一参考块的第一像素值、第二权重值结合第二参考块的第二像素值,确定出当前块的预测值。[0135]在本技术实施例中,解码器将第一权重值、第一参考块的第一像素值、第二权重值和第二参考块的第二像素值进行加权和,得到出当前块的预测值。[0136]示例性的,设第一参考块在(x,y)位置的像素值为predsamplesla[x][y],第二个参考块在(x,y)位置的像素值为predsampleslb[x][y],解码器是根据gpm的划分模式得到蒙版p蒙版矩阵,蒙版上每一个像素位置(x,y)上都有一个值p[x][y]标志第一个参考块(x,y)上的权重,m为两个参考块对应位置的权重之和,则第二个参考块(x,y)上的权重为m-p[x][y]。解码器根据曲线划分使用的平移幅度和曲线形状及蒙版p得到蒙版p’。[0137]这是,当前块的一个像素点(x,y)的预测值如公式(11)所示:[0138]predsamples[x][y]=(p’[x][y]*predsamplesla[x][y]+(m-p’[x][y])*predsampleslb[0139][x][y])/mꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(11)[0140]其中,predsamples[x][y]为当前块的一个像素点(x,y)的预测值。[0141]需要说明的是,m可以是一个2整数的幂,如4,8,16等,从而可以使等式中的除法写成右移的形式。如果predsamples[x][y]超过了正常的取值范围,需要处理到取值范围以内,这里本技术不作限制。[0142]解码器在采用方式二得到了第一边界位置信息和第二边界位置信息之后,该解码器基于第一预测参数和第二预测参数,确定当前块的预测值的实现为:解码器根据第一边界位置信息和第二边界位置信息,划分当前块,得到第一块和第二块;基于第一参考块的第一像素值,对第一块进行预测,以及基于第二参考块的第二像素值,对第二块进行预测,从而确定当前块的预测值。[0143]可以理解的是,解码器通过采用在gpm模式下,采用曲线划分的方式对当前块进行预测,使得划分出来的边界更贴合物体的边缘或者两个运动矢量不同的部分的边缘,从而提高了编解码的精度。[0144]需要说明的是,解码器在得到当前块的预测块后,解码器解码当前块的残差信息,包括解码系数,反量化反变换得到残差块,将残差块加到预测块上得到当前块的解码块。[0145]在本技术实施例提供的帧间预测时采用曲线划分的方式。[0146]在本技术实施例中,曲线划分信息为曲线划分中的一种划分方式;曲线划分是将预设直线几何划分中的直接划分线上的像素点进行平移,得到连续的曲线划分线来实现几何划分的。[0147]在本技术的一些实施例中,直线划分线的每个像素点按照不同的移动距离,相同的移动方向进行连续平移,得到曲线划分线;或者,直线划分线的每个像素点按照不同的移动向量,进行连续平移,得到曲线划分线。[0148]也就是说,一条直线段(这里所说的直线都是线段)上的点按同一个方向进行平移,每个点平移的距离不都相同,相邻点移动的距离差别不大,保持线的连续,就可以得到一条曲线段。或者将一条直线段上的点进行平移,每个点平移的向量不都相同,相邻点移动的向量差别不大,保持线的连续,也可以得到一条曲线段。对于视频编解码来说,所谓直线都是由像素位置在同一直线或近似在同一直线上的点所组成,将这些点按同一个方向平移,每个点平移的距离不都相同,相邻点移动的距离符合一定的要求,就可以得到一条曲线段。将这些点进行平移,每个点平移的向量不都相同,相邻点移动的距离符合一定的要求,就可以得到一条曲线段。[0149]示例性的,如图6所示的直线到曲线的变换示意图,将几何划分中两个块的边界线上的点按如上图中所示的箭头的方法进行平移,边界线可以变成曲线段,直线划分可以变成曲线划分。将分界线附近的过渡区域上的点按如上述的方法进行平移,直线段的过渡区域可以变成曲线段的过渡区域。对蒙版实现的几何划分的方法来说,将蒙版上的点的值按如上所述的方法进行平移,直线几何划分的蒙版可以变成曲线几何划分的蒙版。[0150]在本技术的一些实施例中,移动距离为预设曲线形状上对应像素位置与直线划分线的距离;移动向量为预设曲线形状上对应像素位置的预设向量。[0151]需要说明的是,本技术实施例中,可以使用lut(lookuptable)存储曲线划分对应的预设向量或预设距离。[0152]在本技术实施例中,假设所有点沿同一个方向(水平方向,或竖直方向,或其他某一种角度的方向)移动,lut中对一种曲线形状保存若干点的移动距离,lut中可以保存一种或多种曲线形状。其中,曲线形状是曲线本身的形状,当一条直线按某一方向按这个曲线方向进行平移后的曲线未必与曲线本身的形状相同。如是要将划分的线段按某种曲线形状进行平移,则线段上的每一个点找到lut中对应的曲线形状中对应位置,按既定的方向按所指示的移动距离进行移动,可以限制点移动后不得超出某个边界。如是要将直线划分的蒙版变成曲线划分的蒙版,可以在确定平移的方向后,蒙版上垂直于平移方向的不同点的值分别按照lut上相应位置的移动距离进行移动,蒙版上与平移方向相同的点的值按照相同的移动距离进行移动。可以理解为新的曲线划分的蒙版参考直线划分的蒙版得到。[0153]在本技术的一些实施例中,超出所需范围的点的值被舍弃,也可以限制点的值移动后不得超出某个边界。而缺少的点的值按有效范围的边缘的原来的值进行补充。[0154]在本技术的一些实施例中,曲线划分的蒙版的点的值按它所应移动的方向及距离的反向从直线划分的蒙版中找到相对应的点的值,如果要找的点超出了有效的界限,则以与移动方向同一条直线上的界限上的点的值代替。[0155]在本技术的一些实施例中,假设不是所有的点都沿同一个方向移动,lut中对一种曲线形状保存若干点的移动向量,lut中可以保存一种或多种曲线形状。如是要将划分的线段按某种曲线形状进行平移,则线段上的每一个点找到lut中对应的曲线形状中对应位置,按所指示的移动向量进行移动。由于移动导致的不连续,可能需要在不连续的位置补充点以保持曲线的连续性。如是要将直线划分的蒙版变成曲线划分的蒙版,可以在确定平移的方向后,蒙版上某一方向上的不同点的值分别按照lut上相应位置的移动向量进行移动,对造成不连续的地方补充点的值。蒙版上与上述方向同一垂直方向上的点的值按照相同的移动向量进行移动。对造成不连续的地方补充点的值。超出所需范围的点的值被舍弃,也可以限制点的值移动后不得超出某个边界。而缺少的点的值按所需范围的边缘的原来的值进行补充。[0156]在本技术的一些实施例中,移动方向由水平方向和竖直方向组合形成;或者,移动方向与gpm的划分方向相关。[0157]在本技术的一些实施例中,当移动距离不是整像素时,对分像素位置进行插值或者取整处理;或者,移动距离与当前块的长度正相关;或者,移动距离与当前块的长度和宽度中最小的数值正相关。[0158]在本技术的一些实施例中,移动方向可以是水平方向或竖直方向,也可以是其他任意方向。假设移动方向不是水平或竖直方向,则可以拆分成水平加竖直方向的移动。[0159]示例性的,45°方向移动2个像素距离可以拆分成水平0°方向移动个像素距离加上竖直90°方向移动个像素距离。[0160]在本技术实施例中,对于移动距离不是整像素的情况,一种可能的实现方式是取近似的整像素位置,例如取整运算,一种可能的实现方式是对分像素位置进行插值。[0161]示例性的,个像素距离可近似为1个像素距离或2个像素距离,或1.5个像素距离或1.4个像素距离。1.5个像素距离或1.4个像素距离的值需要插值得到。其他角度也可以根据三角函数或预先算好的比值拆分成水平和竖直方向的移动。水平移动方向可以用正值表示0°方向负值表示180°方向,竖直移动方向可以用正值表示90°方向负值表示270°方向。[0162]在本技术实施例中,一种可能的实现方式是只使用水平移动方向加竖直移动方向;一种可能的实现方式是只用用水平移动方向加竖直移动方向加45°、135°、225°、315°移动方向。其中,45°、135°、225°、315°移动方向都可以分解成水平竖直方向数值相等的移动,而4个角度可以用水平竖直方向的正负号进行表示;一种可能的实现方式是使用多种角度方向。[0163]需要说明的是,移动的方向可以是和gpm的划分方向相关的。在只有水平方向和竖直方向移动的情况下,如果gpm直线划分使用的直线角度是水平的或者接近水平的,曲线划分使用竖直移动方向,如果gpm直线划分使用的直线角度是竖直或者接近竖直的,曲线划分使用水平移动方向。更一般地,可以设置一些阈值,在直线角度或划分使用的角度或划分模式在一定的阈值范围内使用水平移动方向,在另外的范围内使用竖直移动方向。同样的原理,在只用水平移动方向加竖直移动方向加45°、135°、225°、315°移动方向的情况下或者使用多种移动方向,在直线角度或划分使用的角度或划分模式设置阈值范围区分每种移动方向的使用范围。[0164]需要说明的是,移动距离和当前块的长宽可能有关系。一种可能的实现是,移动的距离与当前块在当前移动方向同方向的长度成正比。举例,如当前块在当前移动方向同方向的长度为64,当前块所有点移动的距离是其在lut中找到的数值。如当前块在当前移动方向同方向的长度为32,当前块所有点移动的距离是其在lut中找到的数值的1/2。一种可能的实现是,移动的距离与当前块较短长度成正比。[0165]在本技术实施例中,可以设置不同的平移幅度,即1/4倍,1/2倍,1倍,2倍等。如果当前块选择1/4倍,则当前块所有点移动的距离是其在lut中找到的移动距离的1/4倍。平移幅度可以是0倍,即当前块所有点的移动的距离都是0,这时,实际上曲线划分没有起作用。平移幅度是负值表示移动方向按原方向的反向执行。[0166]也就是说,平移幅度为实际移动距离或移动向量的倍数关系,或等比关系。[0167]在本技术的一些实施例中,可以不是所有的待偏移点都按同一个方向进行平移。可以将一条直线段上的点进行平移,每个点平移的向量不都相同,相邻点移动的向量差别不大,保持线的连续,也可以得到一条曲线段。[0168]对于视频编解码来说,所谓直线都是由像素位置在同一直线或近似在同一直线上的点所组成,将这些点按同一个方向平移,每个点平移的距离不都相同,相邻点移动的距离符合一定的要求,就可以得到一条曲线段。将这些点进行平移,每个点平移的向量不都相同,相邻点移动的距离符合一定的要求,就可以得到一条曲线段。[0169]假设不是所有的点都沿同一个方向移动,lut中对一种曲线形状保存若干点的移动向量(lut中可以保存一种或多种曲线形状相关的信息)。如是要将划分的线段按某种曲线形状进行平移,则线段上的每一个点找到lut中对应的曲线形状中对应位置,按所指示的移动向量进行移动。由于移动导致的不连续,可能需要在不连续的位置补充点以保持曲线的连续性。如是要将直线划分的蒙版变成曲线划分的蒙版,可以在确定平移的方向后,蒙版上某一方向上的不同点的值分别按照lut上相应位置的移动向量进行移动,对造成不连续的地方补充点的值。蒙版上与上述方向同一垂直方向上的点的值按照相同的移动向量进行移动。对造成不连续的地方补充点的值。超出所需范围的点的值被舍弃,也可以限制点的值移动后不得超出某个边界,缺少的点的值按所需范围的边缘的原来的值进行补充。[0170]在本技术实施例中,使用lut确定平移的距离或平移向量。[0171]可以理解的是,通过使用平移的方法实现曲线几何划分,能够使划分的边界更灵活,更贴合物体的边缘或两个运动矢量不同的部分的边缘,从而提高编码性能,而且平移的方法实现曲线几何划分的复杂度低,易于实现。[0172]本技术实施例提供一种帧间预测方法,该方法应用于视频编码设备,即编码器。该方法所实现的功能可以通过视频编码设备中的第二处理器调用程序代码来实现,当然程序代码可以保存在第二存储器中,可见,该视频编码设备至少包括第二处理器和第二存储器。[0173]图7为本技术实施例一种帧间预测方法的实现流程示意图,如图7所示,该方法包括:[0174]s201、确定当前块的预测模式参数。[0175]s202、当预测模式参数指示使用帧间几何划分预测模式gpm确定当前块的帧间预测时,确定当前块的gpm模式参数和曲线划分信息。[0176]s203、基于gpm模式参数,确定第一参考块和第二参考块。[0177]s204、基于gpm模式参数和曲线划分信息,确定第一参考块对应的第一预测参数和第二参考块对应的第二预测参数。[0178]s205、基于第一预测参数和第二预测参数,确定当前块的预测值。[0179]在本技术实施例中,视频图像可以划分为多个图像块,每个当前待编码的图像块可以称为编码块(codingblock,cb),其中,每个编码块可以包括第一图像分量、第二图像分量和第三图像分量;而当前块为视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量预测的编码块。[0180]其中,假定当前块进行第一图像分量预测,而且第一图像分量为亮度分量,即待预测图像分量为亮度分量,那么当前块也可以称为亮度块;或者,假定当前块进行第二图像分量预测,而且第二图像分量为色度分量,即待预测图像分量为色度分量,那么当前块也可以称为色度块。[0181]在本技术的一些实施例中,编码器确定当前块的预测模式参数的实现为:编码器确定当前块的待预测图像分量;基于当前块的参数,利用多种预测模式分别对待预测图像分量进行预测编码,计算多种预测模式下每一种预测模式对应的率失真代价结果;从计算得到的多个率失真代价结果中选取最小率失真代价结果,并将最小率失真代价结果对应的预测模式确定为当前块的预测模式参数。[0182]需要说明的是,预测模式参数指示了当前块的编码模式及该模式相关的参数。通常可以采用率失真优化(ratedistortionoptimization,rdo)的方式确定当前块的预测模式参数。[0183]在本技术的一些实施例中,编码器确定当前块的预测模式参数的实现为:编码器确定当前块的待预测图像分量;基于当前块的参数,利用多种预测模式分别对待预测图像分量进行预测编码,计算多种预测模式下每一种预测模式对应的率失真代价结果;从计算得到的多个率失真代价结果中选取最小率失真代价结果,并将最小率失真代价结果对应的预测模式确定为当前块的预测模式参数。[0184]也就是说,在编码器侧,针对当前块可以采用多种预测模式分别对待预测图像分量进行编码。这里,多种预测模式通常包括有帧间预测模式、传统帧内预测模式和非传统帧内预测模式,而传统帧内预测模式又可以包括有直流(directcurrent,dc)模式、平面(planar)模式和角度模式等,非传统帧内预测模式又可以包括有mip模式、跨分量线性模型预测(cross-componentlinearmodelprediction,cclm)模式、帧内块复制(intrablockcopy,ibc)模式和plt(palette)模式等,帧间预测模式可以包括:帧间几何划分预测模式(gpm)、三角预测模式(trianglepartitionmode,tpm)等。在本技术实施例中,还包括曲线划分模式,其中,在本技术实施例中,lut中存储有曲线划分的所有曲线划分信息。[0185]这样,在利用多种预测模式分别对当前块进行编码之后,可以得到每一种预测模式对应的率失真代价结果;然后从所得到的多个率失真代价结果中选取最小率失真代价结果,并将该最小率失真代价结果对应的预测模式确定为当前块的预测模式参数;如此,最终可以使用所确定的预测模式对当前块进行编码,而且在这种预测模式下,可以使得预测残差小,能够提高编码效率。[0186]在本技术实施例中,由于预测模式可以有很多种,而一种预测模式中又可以有很多种具体的划分模式,因此,需要先针对所有预测模式进行遍历,再针对每一种预测模式,再进行划分模式的遍历等。本技术实施例中的多种预测模式包含gpm模式,本技术是基于gpm预测模式的场景下实现的。[0187]在本技术实施例中,当多种预测模式包含gpm模式时,编码器计算gpm预测模式对应的率失真代价结果的过程可以为:编码器获取当前块对应的运动相关信息集合;采用gpm划分模式中的每种gpm划分模式,遍历运动相关信息集合中的每个运动相关信息,再采用曲线划分模式对每种gpm模式进行遍历,得到gpm预测模式对应的率失真代价结果。[0188]需要说明的是,每个运动相关信息可以为两个mv,本技术实施例不作限制。运动相关信息保存在merge列表中。[0189]在本技术实施例中,如果编码器进行gpm划分时使用的是蒙版的方法,编码器将会判断当前块是否使用gpm及曲线划分。一种可能的方法是对当前块遍历所有可能的mv组合(运动相关信息集合),对每种mv组合遍历所有可能的gpm划分模式,对每种gpm划分模式遍历所有的曲线划分模式,其中包括所有的平移幅度和曲线形状。对每一种可能的情况都得出实际的编码代价(率失真代价结果),取最佳的编码代价(即最小率失真代价结果)对应的gpm划分模式及曲线划分模式作为当前块的gpm模式及曲线划分模式。[0190]在本技术实施例中,对上述每一种可能的情况以cost=sad+bitcost或cost=satd+bitcost的cost作为编码代价,其中,sad为sumofabsolutedifference,satd为sumofabsolutetransformeddifference,bitcost为编码标志位等的代价。[0191]在本技术的一些实施例中,当多种预测模式包含gpm模式时,编码器计算gpm预测模式对应的率失真代价结果的过程可以为:编码器获取当前块对应的运动相关信息集合;采用gpm划分模式中,遍历运动相关信息集合中的每个运动相关信息,得到gpm划分模式对应的第一率失真代价结果;针对第一率失真代价结果最低的至少一个目标gpm划分模式,遍历曲线划分模式,得到gpm预测模式对应的率失真代价结果。[0192]在本技术实施例中,另一种可能的方法是编码器对当前块遍历所有可能的mv组合,对每种mv组合遍历所有可能的gpm划分模式,对每一种可能的情况以cost=sad+bitcost或cost=satd+bitcost的cost作为编码代价。取上述代价最佳的几种编码代价的gpm划分模式,对每种gpm划分模式遍历所有的曲线划分模式,其中,包括所有的平移幅度和曲线形状。对每一种可能的情况以cost=sad+bitcost或cost=satd+bitcost的cost作为编码代价。取最佳的编码代价的gpm划分模式及曲线划分模式作为当前块的gpm模式及当前块的曲线划分模式。[0193]需要说明的是,每种gpm划分模式遍历所有的曲线划分模式的实现原理与解码侧采用曲线划分信息进行偏移的原理一致,此处不再赘述。[0194]在本技术实施例中,编码器确定最佳的编码代价,即率失真代价结果时对应的当前块的gpm模式参数和曲线划分信息,就可以该编码器就可以基于gpm模式参数,确定出与运动相关信息对应的第一参考块和第二参考块了,在基于gpm模式参数和曲线划分信息,就可以确定第一参考块对应的第一预测参数和第二参考块对应的第二预测参数。最后,编码器基于第一预测参数和第二预测参数,确定当前块的预测值。[0195]在本技术实施例中,第一预测参数包括:第一权重值或第一边界位置信息;第二预测参数包括:第二权重值或第二边界位置信息。[0196]需要说明的是,第一权重值和第二权重值为采用蒙版方法进行gpm划分时的像素点对应的权重值,第一边界位置信息和第二边界位置信息为第一参考块和第二参考块的边界信息。[0197]在本技术实施例中,编码器基于gpm模式参数和曲线划分信息,确定第一参考块对应的第一预测参数和第二参考块对应的第二预测参数可以基于预测参数的不同,划分为两种方式,如下:[0198]方式一:第一预测参数包括:第一权重值;第二预测参数包括:第二权重值;编码器根据gpm模式参数,确定与当前gpm模式对应的预设权重分布;确定当前块的尺寸信息;根据尺寸信息、gpm模式参数和曲线划分信息,对预设权重分布进行更新,得到曲线权重分布;根据曲线权重分布,得到第一权重值和第二权重值。[0199]需要说明的是,曲线划分信息包括:平移幅度和曲线形状索引;编码器根据gpm模式参数确定偏移方向;根据尺寸信息、平移幅度和曲线形状索引,确定偏移量;按照偏移方向,将预设权重分布中的每个像素位置的预设权重偏移偏移量后,得到更新后的每个像素位置的曲线权重,从而得到曲线权重分布。[0200]方式二:第一预测参数包括:第一边界位置信息;第二预测参数包括:第二边界位置信息;编码器获取当前块的尺寸信息;基于gpm模式参数和尺寸信息,确定划分边界位置信息;根据gpm模式参数、尺寸信息和曲线划分信息,对划分边界位置信息进行偏移,确定曲线划分边界位置信息;基于曲线划分边界位置信息,确定第一边界位置信息和第二边界位置信息。[0201]需要说明的是,曲线划分信息包括:平移幅度和曲线形状索引;编码器根据gpm模式参数确定偏移方向;根据尺寸信息、平移幅度和曲线形状索引,确定偏移量;按照偏移方向,对划分边界位置信息的每个像素点的位置偏移偏移量后,得到曲线划分边界位置信息。[0202]在方式一中,预设权重分布指gpm的划分模式采用直线划分时对应的原始蒙版,曲线权重分布为现在基于曲线划分时对应的权重分布信息,是对预设权重分布进行平移计算,更新得到的。编码器主要采用尺寸信息、gpm模式参数和曲线划分信息,对预设权重分布进行更新,得到曲线权重分布,在从曲线权重分布中,得到当前块的每个像素点的第一参考块对应的第一权重值,以及第二参考块对应的第二权重值。[0203]在本技术的一些实施例中,编码器是根据gpm模式参数中的角度信息来确定偏移方向的,并根据尺寸信息、平移幅度和曲线形状索引,确定出需要偏移的偏移量的。[0204]在方式二中,编码器针对当前块采用的曲线划分方式,可以为第一参考块的部分采用第一参考块的像素值为第一预测值,第二参考块的部份采用第二参考块的像素值为第二预测值,但在边界位置,则对第一参考块和第二参考块的各自的边界信息上的像素点进行偏移得到第一边界位置信息和第二边界位置信息,再基于第一边界位置信息和第二边界位置信息对边界上的像素点进行预测实现。[0205]需要说明的是,编码器采用gpm模式参数,对当前块进行划分,基于当前块的尺寸信息,可以获知当前块的划分边界位置信息;这时,编码器根据gpm模式参数确定偏移方向;根据尺寸信息、平移幅度和曲线形状索引,确定偏移量;按照偏移方向,对划分边界位置信息的每个像素点的位置偏移了偏移量后,得到曲线划分边界位置信息。[0206]针对上述实现情况,在本技术实施例中,编码器根据gpm模式参数确定偏移方向的实现为:当gpm模式参数表征gpm使用的角度满足水平判别条件时,确定偏移方向为水平方向;当gpm模式参数表征gpm使用的角度满足竖直平判别条件时,确定偏移方向为竖直方向。[0207]下面针对不同的偏移方式的情况,编码器根据尺寸信息、平移幅度和曲线形状索引,确定偏移量的描述。[0208]在本技术实施例中,尺寸信息包括当前块的长度和宽度。[0209]当偏移方向为水平方向时,编码器根据每个像素位置、长度和预设偏移点的数量,确定在每个像素位置在非偏移方向上,位于预设块中的第一像素位置,其中,非偏移方向与偏移方向垂直;根据曲线形状索引,确定第一像素位置对应的第一曲线信息;基于宽度和预设偏移点的数量,确定第一移动比例;根据第一曲线信息、平移幅度和第一移动比例,确定偏移量,其中,偏移量不超过当前块的宽度。[0210]在本技术的一些实施例中,编码器根据每个像素位置、长度和预设偏移点的数量,确定在每个像素位置在非偏移方向上,位于预设块中的第一像素位置的实现为:根据每个像素位置、长度和预设偏移点的数量,确定第一缩放比例;根据长度和预设偏移点的数量,确定第一子偏移量;基于第一缩放比例和第一子偏移量,确定每个像素位置在非偏移方向上,位于预设块中的第一像素位置。[0211]在本技术的一些实施例中,当偏移方向为竖直方向时,编码器根据每个像素位置、宽度和预设偏移点的数量,确定在每个像素位置在非偏移方向上,位于预设块中的第二像素位置,其中,非偏移方向与偏移方向垂直;根据曲线形状索引,确定第二像素位置对应的第二曲线信息;基于长度和预设偏移点的数量,确定第二移动比例;根据第二曲线信息、平移幅度和第二移动比例,确定偏移量,其中,偏移量不超过当前块的长度。[0212]在本技术实施例中,编码器将第二曲线信息与平移幅度和第二移动比例相乘,得到偏移量。[0213]在本技术的一些实施例中,编码器根据每个像素位置、宽度和预设偏移点的数量,确定在每个像素位置在非偏移方向上,位于预设块中的第二像素位置的实现为:编码器根据每个像素位置、宽度和预设偏移点的数量,确定第二缩放比例根据宽度和预设偏移点的数量,确定第二子偏移量;基于第二缩放比例和第二子偏移量,确定每个像素位置在非偏移方向上,位于预设块中的第二像素位置。[0214]进一步地,编码器在采用方式一得到了第一权重值和第二权重值之后,该编码器就可以根据第一权重值、第一参考块的第一像素值、第二权重值结合第二参考块的第二像素值,确定出当前块的预测值。[0215]在本技术实施例中,编码器将第一权重值、第一参考块的第一像素值、第二权重值和第二参考块的第二像素值进行加权和平均,得到出当前块的预测值。[0216]编码器在采用方式二得到了第一边界位置信息和第二边界位置信息之后,该编码器根据第一边界位置信息和第二边界位置信息,划分当前块,得到第一块和第二块;基于第一参考块的第一像素值,对第一块进行预测,以及基于第二参考块的第二像素值,对第二块进行预测,从而确定当前块的预测值。[0217]在本技术实施例提供的帧间预测时采用曲线划分的方式。[0218]在本技术实施例中,曲线划分信息为曲线划分中的一种划分方式;曲线划分是将预设直线几何划分中的直接划分线上的像素点进行平移,得到连续的曲线划分线来实现几何划分的。[0219]在本技术的一些实施例中,直线划分线的每个像素点按照不同的移动距离,相同的移动方向进行连续平移,得到曲线划分线;或者,直线划分线的每个像素点按照不同的移动向量,进行连续平移,得到曲线划分线。[0220]在本技术的一些实施例中,移动距离为预设曲线形状上对应像素位置与直线划分线的距离;移动向量为预设曲线形状上对应像素位置的预设向量。[0221]在本技术的一些实施例中,移动方向由水平方向和竖直方向组合形成;或者,移动方向与gpm的划分方向相关。[0222]在本技术的一些实施例中,当移动距离不是整像素时,对分像素位置进行插值或者取整处理;或者,移动距离与当前块的长度正相关;或者,移动距离与当前块的长度和宽度中最小的数值正相关。[0223]需要说明的是,编码器的当前块的预测过程的原理与解码器侧的一致,相同的解释描述此处不再赘述。[0224]在本技术的一些实施例中,如果编码器进行gpm划分时使用的是划分cu或pu的方法,编码器需要判断当前块是否使用gpm划分模式(或gpm预测模式)及曲线划分模式。[0225]在本技术实施例中,编码器可以遍历所有的gpm划分模式及曲线划分模式,对每一种可能的情况,分别编码所划分出来的cu或pu,这个过程可能存在迭代地编码其下一层的cu或pu的过程,得到编码代价。编码器尝试其他不使用gpm及曲线划分的方法,以编码代价最小的模式确定当前块选择的预测模式。[0226]可以理解的是,编码器通过采用在gpm模式下,采用曲线划分的方式对当前块进行预测,使得划分出来的边界更贴合物体的边缘或者两个运动矢量不同的部分的边缘,从而提高了编码的精度。[0227]在本技术的一些实施例中,s202之后,如图8所示,本技术提供的一种帧间预测方法还包括:s206-s207。[0228]s206、当最小率失真代价结果对应的预测模式为gpm预测模式的曲线划分模式时,根据曲线划分信息,生成曲线划分使用标志,并编码曲线划分信息。[0229]s207、将曲线划分使用标志和编码后的曲线划分信息入码流。[0230]在本技术实施例中,编码器在确定了最小率失真代价结果之后,若得到该最小率失真代价结果的对应的预测模式为gpm预测模式下的曲线划分模式时,编码器就可以根据曲线划分信息,生成曲线划分使用标志,并编码曲线划分信息了,最终,编码器将曲线划分使用标志和编码后的曲线划分信息入码流中,供解码器解码时使用。但是在本技术中,也可能只将编码后的曲线划分信息写入码流,供解码器解码时使用,本技术实施例不作限制。[0231]在本技术的一些实施例中,曲线划分信息包括:平移幅度和曲线形状索引;编码器可以根据平移幅度,生成曲线划分使用标志,当曲线划分使用标志表征被使用时,编码平移幅度和曲线形状索引,得到编码后的曲线划分信息。当曲线划分使用标志表征未被使用时,则停止编码平移幅度和曲线形状索引。[0232]在本技术的一些实施例中,编码器还可以编码平移幅度,得到编码后的平移幅度;当平移幅度表征使用曲线划分时,编码曲线形状索引,得到编码后的曲线形状索引,其中,编码后的平移幅度和编码后的曲线形状索引为编码后的曲线划分信息;当平移幅度表征使用曲线划分表征未使用曲线划分时,则停止编码曲线形状索引。[0233]需要说明的是,在本技术实施例中,编码器可以采用gpm使用标志或通过其他标志导出gpm是否使用。如果当前块使用gpm模式,则编码所选的gpm的划分模式的信息。编码器gpm模式的方法本技术不做限制。[0234]在本技术实施例中,编码器需要判断gpm使用标志或通过其他标志导出gpm是否使用。如果当前块使用所选的gpm模式,则编码所选的gpm的划分模式信息,编码当前块的两个划分部分使用的mv的信息或gpm相关其他信息,其中,编码gpm模式的方法本技术不做限制。[0235]在本技术实施例中,对于曲线划分模式,曲线划分使用标志表征是否采用曲线划分方式,这里的曲线划分使用标志可以依据平移幅度来确定,有平移幅度时,生成曲线划分使用标志为被使用的标志,没有平移幅度或平移幅度小于一定值时,生成曲线划分使用标志为不被使用的标志,且不编码曲线划分信息。其中,平移幅度是基于由移动距离和移动向量来确定的。[0236]示例性的,如果平移幅度不为0,则编码曲线划分使用标志为1,并编码平移幅度和曲线形状索引,其中,平移幅度和曲线形状的索引的编码顺序不作限制。如果平移幅度不为0,则编码曲线划分使用标志为0,则停止编码曲线划分信息。[0237]在本技术的一些实施例中,编码器可以先编码平移幅度,如果平移幅度不为0(如为1),则表示使用曲线划分,继续编码曲线形状的索引。如果平移幅度为0,则停止编码曲线划分信息。[0238]需要说明的是,编码曲线划分的信息和gpm的划分模式及当前块的两个划分部分使用的mv的信息或gpm相关其他信息的顺序可能有多种组合,本技术不作限制。gpm的划分模式及当前块的两个划分部分使用的mv的信息或gpm相关其他信息的编码本技术不做限制。[0239]也就是说,对当前块在gpm使用的前提下,如何判断曲线划分是否使用。一种可能的实现是使用一个曲线划分使用标志,这种方法下,平移幅度的范围中不包括0。一种可能的实现是使用平移幅度,如果平移幅度是0,则实质上不使用曲线划分。[0240]需要说明的是,在本技术实施例中,曲线划分可以使用多种曲线形状,每种曲线形状可以表示为lut中的一个数组(即保存的为所有的曲线划分信息)。如果确定使用曲线划分,需要使用曲线形状索引,确定使用哪一种曲线形状。曲线划分能使用的曲线形状根据gpm划分模式的不同可能不同,曲线形状索引可用的形状中的索引。如果某种gpm划分模式下不能使用曲线划分,则该gpm模式下不需要使用曲线划分使用标志、平移幅度和曲线形状的索引等。如果某种gpm划分模式下只能使用一种曲线形状,则该gpm模式下也可以不需要使用曲线形状索引。[0241]可以理解的是,在编码器采用了曲线划分模式进行当前块的编码时,可以将与曲线划分相关的参数写入码流,供解码时使用,从而提高解码效率。[0242]下面以vvcdraft8为例,描述本技术实施例提供的帧间预测的部分,下面的下划线部分为主要改进点的体现。[0243]mergedatasyntax[0244][0245][0246]weightedsamplepredictionprocessforgeometricpartitioningmode[0247]inputstothisprocessare:followingapplies:[0281]offsetcx=0[0282]offsetcy=curvefactor[curveidx][xl*n/nw+n/2nw]*curveamplitude*nh/n[0283]–otherwise(shifthorisequalto1),thefollowingapplies:[0284]offsetcx=curvefactor[curveidx][yl*n/nh+n/2nh]*curveamplitude*nw/n[0285]offsetcy=0[0286]–thevariablewvaluespecifyingtheweightofthepredictionsampleisderivedbasedonthearraydislutspecifiedintable37asfollows:[0287]weightidx=(((xl+offsetx+offsetcx)<<1)+1)*dislut[displacementx]+[0288](((yl+offsety+offsetcy)<<1)+1))*dislut[displacementy](1045)[0289]weightidxl=partflip?32+weightidx:32-weightidxꢀꢀ(1046)[0290]wvalue=clip3(0,8,(weightidxl+4)>>3)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(1047)[0291]–thepredictionsamplevaluesarederivedasfollows:[0292]pbsamples[x][y]=clip3(0,(1<<bitdepth)-1,(predsamplesla[x][y]*wvalue+(1048)[0293]predsampleslb[x][y]*(8-wvalue)+offset1)>>shift1)[0294]table37-specificationofthegeometricpartitioningdistancearraydislut.[0295]idx02345681011121314dislut[idx]8884420-2-4-4-8-8idx161819202122242627282930dislut[idx]-8-8-8-4-4-2024488[0296]其中,一种可能的实现方式是n=64。[0297]如图9所示,本技术实施例提供了一种解码器1,包括:[0298]解码单元10,用于解析码流,确定当前块的预测解码参数;[0299]第一确定单元11,用于当所述预测解码参数指示使用帧间几何划分预测模式gpm确定当前块的帧间预测时,确定当前块的gpm模式参数和曲线划分信息;基于所述gpm模式参数,确定第一参考块和第二参考块;基于所述gpm模式参数和所述曲线划分信息,确定所述第一参考块对应的第一预测参数和第二参考块对应的第二预测参数;[0300]第一预测单元12,用于基于所述第一预测参数和所述第二预测参数,确定所述当前块的预测值。[0301]在本技术的一些实施例中,所述第一预测参数包括:第一权重值或第一边界位置信息;所述第二预测参数包括:第二权重值或第二边界位置信息。[0302]在本技术的一些实施例中,所述第一预测参数包括:第一权重值;所述第二预测参数包括:第二权重值;[0303]所述第一确定单元11,还用于根据所述gpm模式参数,确定与当前gpm模式对应的预设权重分布;确定所述当前块的尺寸信息;根据所述尺寸信息、所述gpm模式参数和所述曲线划分信息,对所述预设权重分布进行更新,得到曲线权重分布;根据所述曲线权重分布,得到所述第一权重值和所述第二权重值。[0304]在本技术的一些实施例中,所述曲线划分信息包括:平移幅度和曲线形状索引;所述第一确定单元11,还用于根据所述gpm模式参数确定偏移方向;根据所述尺寸信息、所述平移幅度和所述曲线形状索引,确定偏移量;按照所述偏移方向,将所述预设权重分布中的每个像素位置的预设权重偏移所述偏移量后,得到更新后的所述每个像素位置的曲线权重,从而得到所述曲线权重分布。[0305]在本技术的一些实施例中,所述第一预测单元12,还用于所述第一权重值、第一参考块的第一像素值、所述第二权重值结合所述第二参考块的第二像素值,确定出所述当前块的预测值。[0306]在本技术的一些实施例中,所述第一预测参数包括:第一边界位置信息;所述第二预测参数包括:第二边界位置信息;[0307]所述第一确定单元11,还用于获取所述当前块的尺寸信息;基于所述gpm模式参数和所述尺寸信息,确定划分边界位置信息;根据所述gpm模式参数、所述尺寸信息和所述曲线划分信息,对划分边界位置信息进行偏移,确定曲线划分边界位置信息;基于所述曲线划分边界位置信息,确定所述第一边界位置信息和所述第二边界位置信息。[0308]在本技术的一些实施例中,所述第一预测单元12,还用于根据所述第一边界位置信息和所述第二边界位置信息,划分所述当前块,得到第一块和第二块;基于第一参考块的第一像素值,对所述第一块进行预测,以及基于第二参考块的第二像素值,对所述第二块进行预测,从而确定所述当前块的预测值。[0309]在本技术的一些实施例中,所述曲线划分信息包括:平移幅度和曲线形状索引;所述第一确定单元11,还用于根据所述gpm模式参数确定偏移方向;根据所述尺寸信息、所述平移幅度和所述曲线形状索引,确定偏移量;按照所述偏移方向,对所述划分边界位置信息的每个像素点的位置偏移所述偏移量后,得到所述曲线划分边界位置信息。[0310]在本技术的一些实施例中,所述第一确定单元11,还用于当所述gpm模式参数表征gpm使用的角度满足水平判别条件时,确定所述偏移方向为水平方向;当所述gpm模式参数表征gpm使用的角度满足竖直平判别条件时,确定所述偏移方向为竖直方向。[0311]在本技术的一些实施例中,所述尺寸信息包括当前块的长度和宽度;[0312]所述第一确定单元11,还用于当所述偏移方向为水平方向时,根据所述每个像素位置、所述长度和预设偏移点的数量,确定在所述每个像素位置在非偏移方向上,位于预设块中的第一像素位置,其中,所述非偏移方向与所述偏移方向垂直;根据所述曲线形状索引,确定所述第一像素位置对应的第一曲线信息;基于所述宽度和预设偏移点的数量,确定第一移动比例;根据所述第一曲线信息、所述平移幅度和所述第一移动比例,确定所述偏移量,其中,所述偏移量不超过所述当前块的宽度。[0313]在本技术的一些实施例中,所述第一确定单元11,还用于根据所述每个像素位置、所述长度和所述预设偏移点的数量,确定第一缩放比例;根据所述长度和所述预设偏移点的数量,确定第一子偏移量;基于所述第一缩放比例和所述第一子偏移量,确定所述每个像素位置在非偏移方向上,位于预设块中的所述第一像素位置。[0314]在本技术的一些实施例中,所述尺寸信息包括当前块的长度和宽度;[0315]所述第一确定单元11,还用于当所述偏移方向为竖直方向时,根据所述每个像素位置、所述宽度和预设偏移点的数量,确定在所述每个像素位置在非偏移方向上,位于预设块中的第二像素位置,其中,所述非偏移方向与所述偏移方向垂直;根据所述曲线形状索引,确定所述第二像素位置对应的第二曲线信息;基于所述长度和预设偏移点的数量,确定第二移动比例;根据所述第二曲线信息、所述平移幅度和所述第二移动比例,确定所述偏移量,其中,所述偏移量不超过所述当前块的长度。[0316]在本技术的一些实施例中,所述第一确定单元11,还用于根据所述每个像素位置、所述宽度和所述预设偏移点的数量,确定第二缩放比例;根据所述宽度和所述预设偏移点的数量,确定第二子偏移量;基于所述第二缩放比例和所述第二子偏移量,确定所述每个像素位置在非偏移方向上,位于预设块中的所述第二像素位置。[0317]在本技术的一些实施例中,所述曲线划分信息为曲线划分中的一种划分方式;[0318]所述曲线划分是将预设直线几何划分中的直接划分线上的像素点进行平移,得到连续的曲线划分线来实现几何划分的。[0319]在本技术的一些实施例中,所述直线划分线的每个像素点按照不同的移动距离,相同的移动方向进行连续平移,得到所述曲线划分线;或者,[0320]所述直线划分线的每个像素点按照不同的移动向量,进行连续平移,得到所述曲线划分线。[0321]在本技术的一些实施例中,所述移动距离为预设曲线形状上对应像素位置与所述直线划分线的距离;[0322]所述移动向量为预设曲线形状上对应像素位置的预设向量。[0323]在本技术的一些实施例中,所述移动方向由水平方向和竖直方向组合形成;或者,[0324]所述移动方向与所述gpm的划分方向相关。[0325]在本技术的一些实施例中,当所述移动距离不是整像素时,对分像素位置进行插值或者取整处理;或者,[0326]所述移动距离与当前块的长度正相关;或者,[0327]所述移动距离与当前块的长度和宽度中最小的数值正相关。[0328]可以理解的是,解码器通过采用在gpm模式下,采用曲线划分的方式对当前块进行预测,使得划分出来的边界更贴合物体的边缘或者两个运动矢量不同的部分的边缘,从而提高了编解码的精度。[0329]在实际应用中,如图10所示,本技术实施例还提供了一种解码器,包括:第一处理器13以及存储有所述第一处理器13可执行指令的第一存储器14,所述第一存储器14通过通信总线15依赖所述第一处理器13执行操作,当所述可执行指令被所述第一处理器13执行时,执行解码器侧所述的帧间预测方法。[0330]其中,第一处理器可以通过软件、硬件、固件或者其组合实现,可以使用电路、单个或多个专用集成电路(applicationspecificintegratedcircuits,asic)、单个或多个通用集成电路、单个或多个微处理器、单个或多个可编程逻辑器件、或者前述电路或器件的组合、或者其他适合的电路或器件,从而使得该第一处理器可以执行前述实施例中的解码器侧的帧间预测方法的相应步骤。[0331]本技术实施例提供了一种计算可读机存储介质,存储有可执行指令,当所述可执行指令被一个或多个第一处理器执行的时候,所述第一处理器执行解码器侧的帧间预测方法。[0332]在本技术实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。[0333]所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory)等各种可以存储程序代码的介质,本公开实施例不作限制。[0334]如图11所示,本技术实施例还提供了一种编码器2,包括:[0335]第二确定单元20,用于确定当前块的预测模式参数;当所述预测模式参数指示使用帧间几何划分预测模式gpm确定当前块的帧间预测时,确定当前块的gpm模式参数和曲线划分信息;基于所述gpm模式参数,确定第一参考块和第二参考块;基于所述gpm模式参数和所述曲线划分信息,确定所述第一参考块对应的第一预测参数和第二参考块对应的第二预测参数;[0336]第二预测单元21,用于基于所述第一预测参数和所述第二预测参数,确定所述当前块的预测值。[0337]在本技术的一些实施例中,所述编码器还包括:编码单元22;[0338]所述编码单元22,还用于所述确定当前块的gpm模式参数、曲线划分信息和运动相关信息之后,当最小率失真代价结果对应的预测模式为gpm预测模式的曲线划分模式时,根据所述曲线划分信息,生成所述曲线划分使用标志,并编码所述曲线划分信息;将所述曲线划分使用标志和编码后的曲线划分信息入码流。[0339]在本技术的一些实施例中,所述曲线划分信息包括:平移幅度和曲线形状索引;所述编码单元22,还用于根据所述平移幅度,生成所述曲线划分使用标志;当曲线划分使用标志表征被使用时,编码所述平移幅度和所述曲线形状索引,得到所述编码后的曲线划分信息;当所述曲线划分使用标志表征未被使用时,则停止编码所述平移幅度和所述曲线形状索引。[0340]在本技术的一些实施例中,所述曲线划分信息包括:平移幅度和曲线形状索引;所述编码单元22,还用于编码所述平移幅度,得到编码后的平移幅度;[0341]当所述平移幅度表征使用曲线划分时,编码所述曲线形状索引,得到编码后的曲线形状索引,其中,所述编码后的平移幅度和所述编码后的曲线形状索引为所述编码后的曲线划分信息;当所述平移幅度表征使用曲线划分表征未使用曲线划分时,则停止编码曲线形状索引。[0342]在本技术的一些实施例中,所述第一预测参数包括:第一权重值或第一边界位置信息;[0343]所述第二预测参数包括:第二权重值或第二边界位置信息。[0344]在本技术的一些实施例中,所述第一预测参数包括:第一权重值;所述第二预测参数包括:第二权重值;[0345]所述第二确定单元20,还用于根据所述gpm模式参数,确定与当前gpm模式对应的预设权重分布;确定所述当前块的尺寸信息;根据所述尺寸信息、所述gpm模式参数和所述曲线划分信息,对所述预设权重分布进行更新,得到曲线权重分布;根据所述曲线权重分布,得到所述第一权重值和所述第二权重值。[0346]在本技术的一些实施例中,所述曲线划分信息包括:平移幅度和曲线形状索引;所述第二确定单元20,还用于根据所述gpm模式参数确定偏移方向;根据所述尺寸信息、所述平移幅度和所述曲线形状索引,确定偏移量;按照所述偏移方向,将所述预设权重分布中的每个像素位置的预设权重偏移所述偏移量后,得到更新后的所述每个像素位置的曲线权重,从而得到所述曲线权重分布。[0347]在本技术的一些实施例中,所述第二预测单元21,还用于所述第一权重值、第一参考块的第一像素值、所述第二权重值结合所述第二参考块的第二像素值,确定出所述当前块的预测值。[0348]在本技术的一些实施例中,所述第一预测参数包括:第一边界位置信息;所述第二预测参数包括:第二边界位置信息;所述第二确定单元20,还用于获取所述当前块的尺寸信息;基于所述gpm模式参数和所述尺寸信息,确定划分边界位置信息;根据所述gpm模式参数、所述尺寸信息和所述曲线划分信息,对划分边界位置信息进行偏移,确定曲线划分边界位置信息;基于所述曲线划分边界位置信息,确定所述第一边界位置信息和所述第二边界位置信息。[0349]在本技术的一些实施例中,所述第二预测单元21,还用于根据所述第一边界位置信息和所述第二边界位置信息,划分所述当前块,得到第一块和第二块;[0350]基于第一参考块的第一像素值,对所述第一块进行预测,以及基于第二参考块的第二像素值,对所述第二块进行预测,从而确定所述当前块的预测值。[0351]在本技术的一些实施例中,所述曲线划分信息包括:平移幅度和曲线形状索引;所述第二确定单元20,还用于根据所述gpm模式参数确定偏移方向;根据所述尺寸信息、所述平移幅度和所述曲线形状索引,确定偏移量;按照所述偏移方向,对所述划分边界位置信息的每个像素点的位置偏移所述偏移量后,得到所述曲线划分边界位置信息。[0352]在本技术的一些实施例中,所述第二确定单元20,还用于当所述gpm模式参数表征gpm使用的角度满足水平判别条件时,确定所述偏移方向为水平方向;当所述gpm模式参数表征gpm使用的角度满足竖直平判别条件时,确定所述偏移方向为竖直方向。[0353]在本技术的一些实施例中,所述尺寸信息包括当前块的长度和宽度;所述第二确定单元20,还用于当所述偏移方向为水平方向时,根据所述每个像素位置、所述长度和预设偏移点的数量,确定在所述每个像素位置在非偏移方向上,位于预设块中的第一像素位置,其中,所述非偏移方向与所述偏移方向垂直;根据所述曲线形状索引,确定所述第一像素位置对应的第一曲线信息;基于所述宽度和预设偏移点的数量,确定第一移动比例;根据所述第一曲线信息、所述平移幅度和所述第一移动比例,确定所述偏移量,其中,所述偏移量不超过所述当前块的宽度。[0354]在本技术的一些实施例中,所述第二确定单元20,还用于根据所述每个像素位置、所述长度和所述预设偏移点的数量,确定第一缩放比例;根据所述长度和所述预设偏移点的数量,确定第一子偏移量;基于所述第一缩放比例和所述第一子偏移量,确定所述每个像素位置在非偏移方向上,位于预设块中的所述第一像素位置。[0355]在本技术的一些实施例中,所述尺寸信息包括当前块的长度和宽度;[0356]所述第二确定单元20,还用于当所述偏移方向为竖直方向时,根据所述每个像素位置、所述宽度和预设偏移点的数量,确定在所述每个像素位置在非偏移方向上,位于预设块中的第二像素位置,其中,所述非偏移方向与所述偏移方向垂直;根据所述曲线形状索引,确定所述第二像素位置对应的第二曲线信息;基于所述长度和预设偏移点的数量,确定第二移动比例;根据所述第二曲线信息、所述平移幅度和所述第二移动比例,确定所述偏移量,其中,所述偏移量不超过所述当前块的长度。[0357]在本技术的一些实施例中,所述第二确定单元20,还用于根据所述每个像素位置、所述宽度和所述预设偏移点的数量,确定第二缩放比例;根据所述宽度和所述预设偏移点的数量,确定第二子偏移量;基于所述第二缩放比例和所述第二子偏移量,确定所述每个像素位置在非偏移方向上,位于预设块中的所述第二像素位置。[0358]在本技术的一些实施例中,所述曲线划分信息为曲线划分中的一种划分方式;[0359]所述曲线划分是将预设直线几何划分中的直接划分线上的像素点进行平移,得到连续的曲线划分线来实现几何划分的。[0360]在本技术的一些实施例中,所述直线划分线的每个像素点按照不同的移动距离,相同的移动方向进行连续平移,得到所述曲线划分线;或者,[0361]所述直线划分线的每个像素点按照不同的移动向量,进行连续平移,得到所述曲线划分线。[0362]在本技术的一些实施例中,所述移动距离为预设曲线形状上对应像素位置与所述直线划分线的距离;[0363]所述移动向量为预设曲线形状上对应像素位置的预设向量。[0364]在本技术的一些实施例中,所述移动方向由水平方向和竖直方向组合形成;或者,[0365]所述移动方向与所述gpm的划分方向相关。[0366]在本技术的一些实施例中,当所述移动距离不是整像素时,对分像素位置进行插值或者取整处理;或者,[0367]所述移动距离与当前块的长度正相关;或者,[0368]所述移动距离与当前块的长度和宽度中最小的数值正相关。[0369]可以理解的是,编码器通过采用在gpm模式下,采用曲线划分的方式对当前块进行预测,使得划分出来的边界更贴合物体的边缘或者两个运动矢量不同的部分的边缘,从而提高了编码的精度。[0370]在实际应用中,如图12所示,本技术实施例还提供了一种编码器,包括:第二处理器23以及存储有所述第二处理器23可执行指令的第二存储器24,所述第二存储器24通过通信总线25依赖所述第二处理器23执行操作,当所述可执行指令被所述第二处理器23执行时,执行上述的编码器侧的所述的帧间预测方法。[0371]其中,第二处理器可以通过软件、硬件、固件或者其组合实现,可以使用电路、单个或多个专用集成电路、单个或多个通用集成电路、单个或多个微处理器、单个或多个可编程逻辑器件、或者前述电路或器件的组合、或者其他适合的电路或器件,从而使得该第一处理器可以执行前述实施例中的解码器侧的帧间预测方法的相应步骤。[0372]本技术实施例提供了一种计算可读机存储介质,存储有可执行指令,当所述可执行指令被一个或多个第二处理器执行时,所述第二处理器执行编码器对应的所述的帧间预测方法。[0373]本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。[0374]本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0375]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0376]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0377]以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1