用于视频编解码的仿射帧间预测的方法及装置制造方法及图纸

技术编号:18737979 阅读:23 留言:0更新日期:2018-08-22 06:13
本发明专利技术公开了一种视频编解码的帧间预测的方法及装置,视频编解码由视频编码器或视频解码器执行,使用运动矢量预测来编解码与用多个编解码模式编解码的块相关的运动矢量,多个编解码模式包括仿射帧间模式。根据一个方法,当前块的运动矢量预测子对是基于与表示与当前块相关的4参数仿射运动模型的两个控制点相关的相邻块来推导的。最终运动矢量预测子对是基于每个运动矢量预测子对的两个运动矢量来选择的。在另一方法中,三个控制点的运动矢量预测子集被推导出以表示与当前块相关的6参数仿射运动模型。最终运动矢量预测子集被选择且被包括在帧间候选列表中。根据又一方法,一个或多个解码器侧推导运动矢量被包括在帧间候选列表所包括的运动矢量预测子集中。

【技术实现步骤摘要】
【国外来华专利技术】用于视频编解码的仿射帧间预测的方法及装置优先权声明本申请要求在2016年01月07日提出申请号为62/275,817的美国临时专利申请以及在2016年01月29日提出申请号为62/288,490的美国临时专利申请的优先权。上述美国临时专利申请整体以引用方式并入本文中。
本专利技术涉及使用运动估计和运动补偿的视频编解码。具体地,本专利技术涉及生成帧间候选列表,其包括与使用仿射帧间模式编解码的一个或多个块相关的一个或多个仿射运动矢量预测子(motionvectorpredictor,MVP)。
技术介绍
在过去二十年内,不同的视频编解码标准已得到发展。在新编解码标准中,更强大的编解码工具用于提高编解码效率。高效视频编码(HighEfficiencyVideoCoding,HEVC)是新的编解码标准,其近年来已得到发展。在HEVC系统中,H.264/AVC的固定尺寸的宏块由称为编码单元(codingunit,CU)的灵活块来替代。CU中的像素共享相同的编解码参数,以提高编解码效率。CU可以从最大CU(largestCU,LCU)开始,其在HEVC中也称为编码树单元(codedtreeunit,CTU)。除了编码单元的概念,HECV中也引进了预测单元(predictionunit,PU)的概念。一旦完成CU分层树的分割,每个叶CU根据预测类型和PU分割被进一步分割成一个或多个PU。在大部分编解码标准中,自适应帧间/帧内预测是基于块来使用的。在帧间预测模式中,一个或两个运动矢量被确定以用于每个块,以选择一个参考块(即单向预测),或者选择两个参考块(即双向预测)。一个或多个运动矢量被确定且编解码以用于每个单个的块。对于在HEVC中,帧间运动补偿以两种不同的方式被支持:显性发信或者隐性发信。在显性发信中,使用预测性编解码方法,块(即PU)的运动矢量被发信。运动矢量(motionvector,MV)预测子对应于与当前块的空间相邻和时间相邻相关的运动矢量。在MV预测子被确定之后,运动矢量差(motionvectordifference,MVD)被编码且发送。这种模式也称为高级运动矢量预测(advancedmotionvectorprediction,AMVP)。在隐性发信中,来自于候选预测子集的一个预测子被选择为当前块(即PU)的运动矢量。由于编码器和解码器均将以相同的方式推导出候选集并选择最终运动矢量,所以在隐性模式中无需发信MV或MVD。这种模式也称为合并模式。合并模式中的预测子集的形成也称为合并候选列表构造。称为合并索引的一个索引被发信以指示被选择为当前块的MV的预测子。沿着时间轴在图像上发生的运动可由多个不同模型描述。假设考虑A(x,y)是位于位置(x,y)处的原始像素,A’(x’,y’)是位于当前像素A(x,y)的参考图像中的位置(x’,y’)处的相应像素,则下面描述一些典型的运动模型。平移模型最简单的是2D平移运动,其中感兴趣区域中的所有像素遵循同一运动方向和幅度。这种模型可以按照如下进行描述,其中a0是水平方向上的运动,b0是垂直方向上的运动:x’=a0+x,以及y’=b0+y。(1)在这种模型中,两个参数(即a0和b0)均将被确定。对于感兴趣区域中的所有像素等式(1)为真。因此,像素A(x,y)和该区域中的像素A’(x’,y’)的运动矢量是(a0,b0)。图1示出了根据平移模式的运动补偿的示例,其中当前区域110被映射到参考图像中的参考区域120。当前区域的四个角像素与参考区域的四个角像素之间的对应由四个箭头来表示。缩放模型缩放模型包括水平方向和垂直方向上除了平移运动之外的缩放效果。该模型可以按照如下进行描述:x’=a0+a1*x,以及y’=b0+b1*y。(2)根据本模型,总共四个参数均被使用,其包括缩放因素a1和缩放因素b1以及平移运动值a0和平移运动值b0。对于感兴趣区域中的每个像素A(x,y),该像素及其相应的参考像素A’(x’,y’)的运动矢量是(a0+(a1-1)*x,b0+(b1-1)*y)。因此,每个像素的运动矢量是基于位置的。图2示出了根据缩放模型的运动补偿的示例,其中当前区域210被映射到参考图像中的参考区域220。当前区域的四个角像素与参考区域的四个角像素之间的对应由四个箭头来表示。仿射模型仿射模型能描述二维块旋转以及二维变形(deformation),以将正方形(或者矩形)变换成平行四边形。本模型可以按照如下进行描述:x’=a0+a1*x+a2*y,以及y’=b0+b1*x+b2*y。(3)在本模型中,总共六个参数被使用。对于感兴趣区域中的每个像素A(x,y),该像素及其相应参考像素A’(x’,y’)的运动矢量是(a0+(a1-1)*x+a2*y,b0+b1*x+(b2-1)*y)。因此,每个像素的运动矢量也是基于位置的。图3示出了根据仿射模型的运动补偿的示例,其中当前区域310被映射到参考图像中的参考区域320。仿射变换可以将任何三角形映射到任何三角形。换句话说,当前区域的三个角像素与参考区域的三个角像素之间的对应可以由如图3所示的三个箭头来确定。在这种情况中,第四个角像素的运动矢量可以以其他三个运动矢量的形式来推导出,而不是独立于其他三个运动矢量来推导出。仿射模型的六个参数可以基于三个不同位置的三个已知的运动矢量来推导出。仿射模型的参数推导在本领域中是已知的,且此处省略详细说明。仿射运动补偿的不同实施方式已在文献中公开。例如,在李等人的技术文献(“AnAffineMotionCompensationFrameworkforHighEfficiencyVideoCoding”,2015IEEEInternationalSymposiumonCircuitsandSystems(ISCAS),May2015,pages:525–528)中,当当前块以合并模式或者AMVP模式进行编解码时,仿射标志被发信以用于2Nx2N块分割。如果该标志为真(即仿射模式),则当前块的运动矢量的推导遵循仿射模型。如果该标志为假(即非仿射模式),则当前块的运动矢量的推导遵循传统的平移模型。当仿射AMVP模式被使用时,三个控制点(即3个MV)被发信。在每个控制点位置处,MV被预测性编解码。随后,这些控制点的MVD被编解码并发送。在黄等人的另一技术文件(“Control-PointRepresentationandDifferentialCodingAffine-MotionCompensation”,IEEETransactionsonCSVT,Vol.23,No.10,pages1651-1660,Oct.2013)中,公开了不同控制点位置以及控制点中的MV的预测性编解码。如果合并模式被使用,则仿射标志的发信被有条件地发信,其中仅当存在至少一个仿射编解码的合并候选时仿射标志被发信。否则,该标志被推断为假。当仿射标志为真时,第一可用仿射编解码合并候选将用于仿射合并模式。因此,不存在需要发信的合并索引。仿射运动补偿已被提出到正在发展用于视频编解码专家组(VideoCodingExpertsGroup,ITU-VCEG)和ITUISO/IECJTC1/SC29/WG11下的未来视频编解码技术的标准化本文档来自技高网...

【技术保护点】
1.一种视频编解码的帧间预测的方法,视频编解码由视频编码器或视频解码器执行,使用运动矢量预测来编解码与用多个编解码模式编解码的块相关的运动矢量,所述多个编解码模式包括仿射帧间模式,所述方法包括:在视频编码器侧处,接收与当前块相关的输入数据,或者在视频解码器侧处,接收对应于包括所述当前块的已压缩数据的比特流,其中所述当前块包括来自于视频数据的像素集;基于用于表示与所述当前块相关的仿射运动模型的第一控制点的第一相邻块集和第二控制点的第二相邻块集,确定所述当前块的多个运动矢量预测子对。每个运动矢量预测子对包括自所述第一相邻块集确定的第一运动矢量和自所述第二相邻块集确定的第二运动矢量;仅使用每个运动矢量预测子对中的所述第一运动矢量和所述第二运动矢量,评估每个运动矢量预测子对的失真值;根据所述失真值,选择最终运动矢量预测子对;生成包括所述最终运动矢量预测子对作为运动矢量预测子候选的运动矢量预测子候选列表;以及若所述仿射帧间模式用于所述当前块,且所述最终运动矢量预测子对被选择,则使用所述最终运动矢量预测子对作为预测子,在视频编码器侧处编码或者在视频解码器侧处解码与所述仿射运动模型相关的当前运动矢量对。...

【技术特征摘要】
【国外来华专利技术】2016.01.07 US 62/275,817;2016.01.29 US 62/288,4901.一种视频编解码的帧间预测的方法,视频编解码由视频编码器或视频解码器执行,使用运动矢量预测来编解码与用多个编解码模式编解码的块相关的运动矢量,所述多个编解码模式包括仿射帧间模式,所述方法包括:在视频编码器侧处,接收与当前块相关的输入数据,或者在视频解码器侧处,接收对应于包括所述当前块的已压缩数据的比特流,其中所述当前块包括来自于视频数据的像素集;基于用于表示与所述当前块相关的仿射运动模型的第一控制点的第一相邻块集和第二控制点的第二相邻块集,确定所述当前块的多个运动矢量预测子对。每个运动矢量预测子对包括自所述第一相邻块集确定的第一运动矢量和自所述第二相邻块集确定的第二运动矢量;仅使用每个运动矢量预测子对中的所述第一运动矢量和所述第二运动矢量,评估每个运动矢量预测子对的失真值;根据所述失真值,选择最终运动矢量预测子对;生成包括所述最终运动矢量预测子对作为运动矢量预测子候选的运动矢量预测子候选列表;以及若所述仿射帧间模式用于所述当前块,且所述最终运动矢量预测子对被选择,则使用所述最终运动矢量预测子对作为预测子,在视频编码器侧处编码或者在视频解码器侧处解码与所述仿射运动模型相关的当前运动矢量对。2.如权利要求1所述的视频编解码的帧间预测的方法,其特征在于,所述失真值是基于每个运动矢量预测子对中的所述第一运动矢量和所述第二运动矢量计算的,其中:所述第一运动矢量表示为MVP0,MVP0=(MVP0_x,MVP0_y);所述第二运动矢量表示为MVP1,MVP1=(MVP1_x,MVP1_y);所述失真值表示为DV,DV=|MVP1_x–MVP0_x|+|MVP1_y–MVP0_y|。3.如权利要求1所述的视频编解码的帧间预测的方法,其特征在于,所述失真值是基于每个运动矢量预测子对中的所述第一运动矢量和所述第二运动矢量而通过引进中间运动矢量计算的,其中:所述第一运动矢量表示为MVP0,MVP0=(MVP0_x,MVP0_y);所述第二运动矢量表示为MVP1,MVP1=(MVP1_x,MVP1_y);所述中间运动矢量表示为MVP2,MVP2=(MVP2_x,MVP2_y),MVP2_x=–(MVP1_y–MVP0_y)*PU_height/PU_width+MVP0_x且MVP2_y=–(MVP1_x–MVP0_x)*PU_height/PU_width+MVP0_y;所述失真值表示为DV,根据如下计算的:DV=|(MVP1_x–MVP0_x)*PU_height–(MVP2_y–MVP0_y)*PU_width|+|(MVP1_y–MVP0_y)*PU_height–(MVP2_x–MVP0_x)*PU_width|;其中PU_height对应于所述当前块的高度,PU_width对应于所述当前块的宽度。4.如权利要求1所述的视频编解码的帧间预测的方法,其特征在于,具有较小失真值的运动矢量预测子对被选择为所述最终运动矢量预测子对。5.一种视频编解码的帧间预测的装置,视频编解码由视频编码器或视频解码器执行,使用运动矢量预测来编解码与用多个编解码模式编解码的块相关的运动矢量,所述多个编解码模式包括仿射帧间模式,所述装置包括一个或多个电子电路或处理器,用于:在视频编码器侧处,接收与当前块相关的输入数据,或者在视频解码器侧处,接收对应于包括所述当前块的已压缩数据的比特流,其中所述当前块包括来自于视频数据的像素集;基于用于表示与所述当前块相关的仿射运动模型的第一控制点的第一相邻块集和第二控制点的第二相邻块集,确定所述当前块的多个运动矢量预测子对。每个运动矢量预测子对包括自所述第一相邻块集确定的第一运动矢量和自所述第二相邻块集确定的第二运动矢量;仅使用每个运动矢量预测子对中的所述第一运动矢量和所述第二运动矢量,评估每个运动矢量预测子对的失真值;根据所述失真值,选择最终运动矢量预测子对;生成包括所述最终运动矢量预测子对作为运动矢量预测子候选的运动矢量预测子候选列表;以及若所述仿射帧间模式用于所述当前块,且所述最终运动矢量预测子对被选择,则使用所述最终运动矢量预测子对作为预测子,在视频编码器侧处编码或者在视频解码器侧处解码与所述仿射运动模型相关的当前运动矢量对。6.一种视频编解码的帧间预测的方法,视频编解码由视频编码器或视频解码器执行,使用运动矢量预测来编解码与用多个编解码模式编解码的块相关的运动矢量,多个编解码模式包括仿射帧间模式,该方法包括:在视频编码器侧处,接收与当前块相关的输入数据,或者在视频解码器侧处,接收对应于包括所述当前块的已压缩数据的比特流,其中所述当前块包括来自于视频数据的像素集;基于用于表示与所述当前块相关的6参数仿射运动模型的第一控制点的第一相邻块集、第二控制点的第二相邻块集和第三控制点的第三相邻块集,确定当前块的多个运动矢量预测子集,其中每个运动矢量预测子集包括自第一相邻块集确定的第一运动矢量、自第二相邻块集确定的第二运动矢量和自第三相邻块集确定的第三运动矢量;使用每个运动矢量预测子集中的所述第一运动矢量、所述第二运动矢量和所述第三运动矢量,评估每个运动矢量预测子集的失真值;根据所述失真值,选择最终运动矢量预测子集;生成包括所述最终运动矢量预测子集作为运动矢量预测子候选的运动矢量预测子候选列表;以及若仿射帧间模式用于所述当前块,且所述最终运动矢量预测子集被选择,则在视频编码器侧处,通过发信当前运动矢量集与所述最终运动矢量预测子集之间的多个运动矢量差,编码与所述6参数仿射运动模型相关的所述当前运动矢量集,或者在视频解码器侧处,使用所述最终运动矢量预测子集以及所述当前运动矢量集与所述最终运动矢量预测子集之间的多个运动矢量差,解码与所述6参数仿射运动模型相关的所述当前运动矢量集。7.如权利要求6所述的视频编解码的帧间预测的方法,其特征在于,所述第一相邻块集包括左上角块、顶端左块和左顶端块;所述第二相邻块集包括顶端右块和右上角块;以及所述第三相邻块集包括左底端块和左下角块。8.如权利要求6所述的视频编解码的帧间预测的方法,其特征在于,所述失真值是基于每个运动矢量预测子集中的所述第一运动矢量、所述第二运动矢量和所述第三运动矢量计算的,其中:所述第一运动矢量表示为MVP0,MVP0=(MVP0_x,MVP0_y);所述第二运动矢量表示为MVP1,MVP1=(MVP1_x,MVP1_y);所述第三运动矢量表示为MVP2,MVP2=(MVP2_x,MVP2_y);所述失真值表示为DV,DV=|(MVP1_x–MVP0_x)*PU_height–(MVP2_y–MVP0_y)*PU_width|+|(MVP1_y–MVP0_y)*PU_height–(MVP2_x–MVP0_x)*PU_width|;其中,PU_height对应于所述当前块的高度,PU_width对应于所述当前块的宽度。9.如权利要求6所述的视频编解码的帧间预测的方法,其特征在于,所述失真值是基于每个运动矢量预测子集中的所述第一运动矢量、所述第二运动矢量和所述第三运动矢量计算的,其中:所述第一运动矢量表示为MVP0,MVP0=(MVP0_x,MVP0_y);所述第二运动矢量表示为MVP1,MVP1=(MVP1_x,MVP1_y);所述第三运动矢量表示为MVP2,MVP2=(MVP2_x,MVP2_y);所述失真值表示为DV,DV=|(MVP1_x–MVP0_x)*PU_width–(MVP2_y–MVP0_y)*PU_height|+|(MVP1_y–MVP0_y)*PU_width–(MVP2_x–MVP0_x)*PU_height|;其中,PU_height对应于所述当前块的高度,PU_width对应于所述当前块的宽度。10.如权利要求6所述的视频编解码的帧间预测的方法,其特征在于,所述失真值是基于每个运动矢量预测子集中的所述第一运动矢量、所述第二运动矢量和所述第三运动矢量计算的,其中:所述第一...

【专利技术属性】
技术研发人员:庄子德陈庆晔许晓中刘杉
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾,71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1