CN115643412A - 一种帧间预测方法、装置、系统、设备及存储介质 - Google Patents
一种帧间预测方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN115643412A CN115643412A CN202211180688.7A CN202211180688A CN115643412A CN 115643412 A CN115643412 A CN 115643412A CN 202211180688 A CN202211180688 A CN 202211180688A CN 115643412 A CN115643412 A CN 115643412A
- Authority
- CN
- China
- Prior art keywords
- mvd
- target
- initial
- index value
- inter
- 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
Images
Abstract
本公开关于一种帧间预测方法、装置、系统、设备及存储介质,涉及互联网技术领域,可以解决编码端的整体编码性能较低的问题。该帧间预测方法应用于编码端,包括:获取PU块的MVP索引值和初始MVD;当MVP索引值和初始MVD满足对应关系时,将初始MVD确定为目标MVD;当MVP索引值和初始MVD不满足对应关系时,更新初始MVD,直到更新后的初始MVD与MVP索引值满足对应关系,并将更新后的初始MVD确定为目标MVD;对目标MVD进行编码处理得到编码后的目标MVD,并向解码端发送编码后的目标MVD,使得解码端对编码后的目标MVD进行解码处理得到目标MVD,并获取与目标MVD满足对应关系的MVP索引值。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种帧间预测方法、装置、系统、设备及存储介质。
背景技术
帧间预测(inter prediction)是利用视频图像帧间的相关性,基于已编码的参考图像块确定预测单元(prediction unit,PU)块的运动矢量(motion vector,MV),然后根据MV确定PU块的运动,可以减少对视频图像中的每个PU块的运动信息一一进行编码的过程,可以实现去除视频冗余,达到图像压缩的目的。
目前,在高级运动矢量预测模式(advanced motion vector prediction,AMVP)中,编码端需要确定并编码PU块的运动矢量差(motion vector difference,MVD)和预测运动矢量(motion vector prediction,MVP)索引值,然后通过码流向解码端传输MVD和MVP索引值。解码端可以根据码流中传输的MVP索引值确定MVP,再利用MVD、MVP与MV的定量关系,确定PU块的MV。
但是通用的帧间预测方法中,编码端需要对MVD和MVP索引值进行编码并传输,导致编码端的整体编码性能较低,不利于帧间预测技术的持续发展。
发明内容
本公开提供一种帧间预测方法、装置、系统、设备及存储介质,用于解决编码端的整体编码性能较低的问题。
本公开实施例的技术方案如下:
根据本公开实施例的第一方面,提供一种帧间预测方法,应用于编码端;帧间预测方法包括:获取预测单元PU块的预测运动矢量MVP索引值和初始运动矢量差MVD;当MVP索引值和初始MVD满足对应关系时,将初始MVD确定为目标MVD;当MVP索引值和初始MVD不满足对应关系时,更新初始MVD,直到更新后的初始MVD与MVP索引值满足对应关系,并将更新后的初始MVD确定为目标MVD;对目标MVD进行编码处理,以得到编码后的目标MVD,并向解码端发送编码后的目标MVD,以使得解码端对编码后的目标MVD进行解码处理,以得到目标MVD,并获取与目标MVD满足对应关系的MVP索引值,以及根据MVP索引值和目标MVD确定PU块的目标运动矢量MV;基于目标MV确定PU块进行帧间运动的预测结果。
可选的,该帧间预测方法,还包括:确定第一分量的绝对值与第二分量的绝对值的和为第一绝对值和;第一分量为初始MVD在第一方向上的分量;第二分量为初始MVD在第二方向上的分量;第一方向与第二方向垂直;当第一绝对值和与预设数值进行取模运算得到的模与MVP索引值相同时,确定MVP索引值和初始MVD满足对应关系;当模与MVP索引值不相同时,确定MVP索引值和初始MVD不满足对应关系。
可选的,更新初始MVD的方法,包括:将初始MVD对应的初始运动矢量MV向至少一个方向调整目标数值,得到与至少一个方向一一对应的至少一个候选MV;目标数值小于预设数值;至少一个方向包括:第一方向、第一方向的反方向、第二方向和第二方向的反方向中的至少一个;当目标候选MV对应的PU块的预测图像,与PU块的原始图像的视差小于或者等于预设视差、且目标候选MV对应的MVD与MVP索引值满足对应关系时,将初始MVD更新为目标候选MV对应的MVD;目标候选MV为至少一个候选MV中的任意一个MV。
可选的,获取PU块的MVP索引值和初始MVD的方法,包括:对PU块的帧间运动进行MV预测,确定MVP、MVP索引值和初始MV;将初始MV与MVP的差值确定为初始MVD。
可选的,确定MVP的方法,包括:基于预设的帧间预测模式,确定PU块对应的至少一个参考MV;当目标参考MV对应的PU块的预测图像,与PU块的原始图像的视差小于目标视差时,将目标参考MV确定为MVP;目标视差为至少一个参考MV中其他参考MV对应的PU块的预测图像,与PU块的原始图像的视差。
可选的,基于预设的帧间预测模式,确定PU块对应的至少一个参考MV的方法,包括:确定参考域中,作为初始MV参考的多个MV,并合并多个MV中相同的MV;参考域包括:空域和时域中的至少一个域;当合并后的MV数量小于至少一个参考MV的预设数量时,用预设MV补齐预设数量,将预设MV和合并后的MV确定为至少一个参考MV;当合并后的MV数量大于预设数量时,按照预设排序规则,将合并后的MV排序后与预设数量对应的MV确定为至少一个参考MV。
可选的,确定初始MV,包括:确定与PU块的图像相似度大于预设相似度的参考块;将参考块的MV,确定为初始MV。
根据本公开实施例的第二方面,提供一种帧间预测方法,应用于解码端;帧间预测方法包括:对接收到的编码后的目标MVD进行解码处理,以得到目标MVD;目标MVD为编码端根据PU块的MVP索引值和初始MVD确定的;目标MVD与MVP索引值满足对应关系;确定与目标MVD满足对应关系的MVP索引值;根据目标MVD和MVP索引值,确定PU块的目标MV;基于目标MV确定PU块进行帧间运动的预测结果。
可选的,确定与目标MVD满足对应关系的MVP索引值的方法,包括:将第三分量的绝对值与第四分量的绝对值的和确定为第二绝对值和;第三分量为目标MVD在第一方向上的分量;第四分量为目标MVD在第二方向上的分量;第一方向与第二方向垂直;将第二绝对值和与预设数值进行取模运算得到的模确定为MVP索引值。
可选的,根据目标MVD和MVP索引值,确定PU块的目标MV的方法,包括:确定与MVP索引值对应的MVP;将MVP与目标MVD的和,确定为目标MV。
根据本公开实施例的第三方面,提供一种帧间预测装置,应用于编码端;帧间预测装置包括:处理单元和编码单元;处理单元,被配置为执行获取PU块的MVP索引值和初始MVD;处理单元,还被配置为执行当MVP索引值和初始MVD满足对应关系时,将初始MVD确定为目标MVD;处理单元,还被配置为执行当MVP索引值和初始MVD不满足对应关系时,更新初始MVD,直到更新后的初始MVD与MVP索引值满足对应关系,并将更新后的初始MVD确定为目标MVD;编码单元,被配置为执行对处理单元得到的目标MVD进行编码处理,以得到编码后的目标MVD,并向解码端发送编码后的目标MVD,以使得解码端对编码后的目标MVD进行解码处理,以得到目标MVD,并获取与目标MVD满足对应关系的MVP索引值,以及根据MVP索引值和目标MVD确定PU块的目标运动矢量MV;基于目标MV确定PU块进行帧间运动的预测结果。
可选的,处理单元,还被配置为执行确定第一分量的绝对值与第二分量的绝对值的和为第一绝对值和;第一分量为初始MVD在第一方向上的分量;第二分量为初始MVD在第二方向上的分量;第一方向与第二方向垂直;当第一绝对值和与预设数值进行取模运算得到的模与MVP索引值相同时,确定MVP索引值和初始MVD满足对应关系;当模与MVP索引值不相同时,确定MVP索引值和初始MVD不满足对应关系。
可选的,处理单元,具体被配置为执行将初始MVD对应的初始运动矢量MV向至少一个方向调整目标数值,得到与至少一个方向一一对应的至少一个候选MV;目标数值小于预设数值;至少一个方向包括:第一方向、第一方向的反方向、第二方向和第二方向的反方向中的至少一个;当目标候选MV对应的PU块的预测图像,与PU块的原始图像的视差小于或者等于预设视差、且目标候选MV对应的MVD与MVP索引值满足对应关系时,将初始MVD更新为目标候选MV对应的MVD;目标候选MV为至少一个候选MV中的任意一个MV。
可选的,处理单元,具体被配置为执行对PU块的帧间运动进行MV预测,确定MVP、MVP索引值和初始MV;将初始MV与MVP的差值确定为初始MVD。
可选的,处理单元,具体被配置为执行基于预设的帧间预测模式,确定PU块对应的至少一个参考MV;当目标参考MV对应的PU块的预测图像,与PU块的原始图像的视差小于目标视差时,将目标参考MV确定为MVP;目标视差为至少一个参考MV中其他参考MV对应的PU块的预测图像,与PU块的原始图像的视差。
可选的,处理单元,具体被配置为执行确定参考域中,作为初始MV参考的多个MV,并合并多个MV中相同的MV;参考域包括:空域和时域中的至少一个域;当合并后的MV数量小于至少一个参考MV的预设数量时,用预设MV补齐预设数量,将预设MV和合并后的MV确定为至少一个参考MV;当合并后的MV数量大于预设数量时,按照预设排序规则,将合并后的MV排序后与预设数量对应的MV确定为至少一个参考MV。
可选的,处理单元,具体被配置为执行确定与PU块的图像相似度大于预设相似度的参考块;将参考块的MV,确定为初始MV。
根据本公开实施例的第四方面,提供一种帧间预测装置,应用于解码端;帧间预测装置包括:解码单元和处理单元;解码单元,被配置为执行对接收到的编码后的目标MVD进行解码处理,以得到目标MVD;目标MVD为编码端根据PU块的MVP索引值和初始MVD确定的;目标MVD与MVP索引值满足对应关系;处理单元,被配置为执行确定与解码单元得到的目标MVD满足对应关系的MVP索引值;处理单元,还被配置为执行根据目标MVD和MVP索引值,确定PU块的目标MV;基于目标MV确定PU块进行帧间运动的预测结果。
可选的,处理单元,具体被配置为执行将第三分量的绝对值与第四分量的绝对值的和确定为第二绝对值和;第三分量为目标MVD在第一方向上的分量;第四分量为目标MVD在第二方向上的分量;第一方向与第二方向垂直;将第二绝对值和与预设数值进行取模运算得到的模确定为MVP索引值。
可选的,处理单元,具体被配置为执行确定与MVP索引值对应的MVP;将MVP与目标MVD的和,确定为目标MV。
根据本公开实施例的第五方面,提供一种帧间预测系统,包括:编码端和解码端;编码端,用于执行上述第一方面中任一种可选的帧间预测方法;解码端,用于执行上述第二方面中任一种可选的帧间预测方法。
根据本公开实施例的第六方面,提供一种帧间预测装置,可以包括:处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现上述第一方面中任一种,或者第二方面中任一种可选的帧间预测方法。
根据本公开实施例的第七方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由帧间预测装置的处理器执行时,使得帧间预测装置能够执行上述第一方面中任一种,或者第二方面中任一种可选的帧间预测方法。
根据本公开实施例的第八方面,提供一种计算机程序产品,包含指令,当其在电子设备的处理器上运行时,使得电子设备执行上述第一方面中任一种,或者第二方面中任一种可选的帧间预测方法。
本公开提供的技术方案至少带来以下有益效果:
基于上述任一方面,本公开中,编码端可以获取PU块的MVP索引值和初始MVD。当MVP索引值和初始MVD满足对应关系时,编码端可以将初始MVD确定为目标MVD。当MVP索引值和初始MVD不满足对应关系时,编码端可以更新初始MVD,在更新后的初始MVD与MVP索引值满足对应关系的情况下,编码端可以将更新后的初始MVD确定为目标MVD。后续,编码端可以对目标MVD进行编码处理,以得到编码后的目标MVD,并向解码端发送编码后的目标MVD。解码端可以对编码后的目标MVD进行解码处理,以得到目标MVD,并获取与目标MVD满足对应关系的MVP索引值。然后,解码端可以根据MVP索引值和目标MVD确定PU块的目标运动矢量MV,并基于目标MV确定PU块进行帧间运动的预测结果。
由于本公开中目标MVD与MVP索引值满足对应关系,解码端可以根据对应关系,确定目标MVD对应的MVP索引值,所以编码端仅需要对目标MVD进行编码处理并传输。相比于通用技术中,编码端需要同时对MVD和MVP索引值进行编码,本公开可以有效减少需要编码和传输的信息数量,有效提升了编码端的整体编码性能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1为本公开实施例提供的一种空域参考块的示意图;
图2为本公开实施例提供的一种时域参考块的示意图;
图3为本公开实施例提供的一种候选MV列表建立的示意图;
图4为本公开实施例提供的一种运动估计的示意图;
图5为本公开实施例提供的一种帧间预测系统示意图;
图6示出了本公开实施例提供的一种帧间预测方法的流程示意图一;
图7示出了本公开实施例提供的一种帧间预测方法的流程示意图二;
图8示出了本公开实施例提供的一种帧间预测方法的流程示意图三;
图9示出了本公开实施例提供的一种帧间预测方法的流程示意图四;
图10示出了本公开实施例提供的一种帧间预测方法的流程示意图五;
图11示出了本公开实施例提供的一种帧间预测方法的流程示意图六;
图12示出了本公开实施例提供的一种帧间预测方法的流程示意图七;
图13示出了本公开实施例提供的一种帧间预测方法的流程示意图八;
图14示出了本公开实施例提供的一种帧间预测方法的流程示意图九;
图15示出了本公开实施例提供的一种帧间预测方法的流程示意图十;
图16示出了本公开实施例提供的一种帧间预测装置的结构示意图一;
图17示出了本公开实施例提供的一种帧间预测装置的结构示意图二;
图18示出了本公开实施例提供的一种帧间预测装置的结构示意图三。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。
以下对本公开涉及到的现有技术进行解释。
一、视频信息与压缩编码
在文明的发展过程中,人们不满足于仅仅靠着口述记录所看到的影像,而是希望能用更加直观的形式将其记录下来。经过了多年的发展,经过多年的发展,视频已经成为记录和重现信息最为高效的方式,可以在相对很短的时间内传递大量的信息,最接近人的直观体验的信息表示方式。
视频通过其中每一帧的图像、包含的音频,以及图像的运动、场景的变换表达信息。
1、视频信息
视频的基本结构是一帧帧连续而相关联的图像。其中,一帧图像的基本结构是成平面紧密排列的像素,像素代表图像中的一个彩色的点。像素的颜色由三原色取不同的分量构成。
视频信息之所以存在大量可以被压缩的空间,是因为其中本身就存在大量的数据冗余。其主要类型有:
(1)时间冗余:视频相邻的两帧之间内容相似,存在运动关系。
(2)空间冗余:视频的某一帧内部的相邻像素存在相似性。
(3)编码冗余:视频中不同数据出现的概率不同。
(4)视觉冗余:观众的视觉系统对视频中不同的部分敏感度不同。
2、视频压缩编码
编码是将信息按照一定规则使用某种形式的码流表示与传输,常用的需要编码的信息主要有:文字、语音、视频和控制信息等。
由于动态图像的像素形式表示数据量极为巨大,因此存储空间和传输带宽完全无法满足保存和传输的需求,需要视频编码来实现数据压缩。
3、视频压缩编码的基本技术
为了专门处理视频信息中的多种冗余,视频压缩编码采用了多种技术来提高视频的压缩比率。其中常见的有预测编码、变换编码和熵编码等。
(1)预测编码:传输预测像素与实际像素之差,利用时间或空间相邻像素之间较强的相关性,处理视频中的时间和空间域的冗余。预测编码包括帧内预测和帧间预测。
其中,帧内预测中预测值与实际值位于同一帧内,用于消除图像的空间冗余,帧内预测的特点是压缩率相对较低,然而可以独立解码,不依赖其他帧的数据;通常视频中的关键帧都采用帧内预测。
帧间预测的实际值位于当前帧,预测值位于参考帧,用于消除图像的时间冗余。帧间预测的压缩率大于帧内预测,然而不能独立解码,必须在获取参考帧数据之后才能重建当前帧。
(2)变换编码用于将图像信息从空间域通过变换编码变换至频域,并计算其变换系数供后续的编码。
(3)熵编码是利用信源的统计特性进行压缩编码。
二、帧间预测(inter prediction)
帧间预测是利用视频图像帧间的相关性,基于已编码的参考图像块确定预测单元(prediction unit,PU)块的运动矢量(motion vector,MV),然后根据MV确定PU块的运动,可以减少对视频图像中的每个PU块的运动信息一一进行编码的过程,可以实现去除视频冗余,达到图像压缩的目的。
帧间预测可以分为两个过程:运动估计和运动补偿。其中,运动估计(motionestimation,ME)是提取当前图像运动信息的过程。为当前编码块在已编码块中寻找最佳预测块,使得预测块与当前块残差尽可能的小,并计算当前块的偏移MV。运动补偿(motioncompensate,MC)是根据运动矢量和帧间预测方法,求得当前帧的估计值。
三、MV预测技术
空域上相邻块的MV具有较强的相关性;同时,MV在时域上也具有一定的相关性。可利用空域或时域上相邻块的MV对当前块的MV进行预测,仅对预测残差编码,能够大幅节省MV的编码比特数。
高效率视频编码(high efficiency video coding,HEVC)标准中提出了高级运动矢量预测模式(advanced motion vector prediction,AMVP)模式,使用了空域和时域MV预测思想,通过建立候选MV列表,选取性能最优的一个作为当前PU的预测运动矢量(motionvector prediction,MVP)。
四、AMVP模式
AMVP模式利用空域、时域上运动向量的相关性,为当前PU建立候选MV列表。编码端从中选择最优的MVP进行差分编码;解码端通过建立相同的列表,仅需要运动矢量差(motion vector difference,MVD)与MVP在该列表中的序号(即预测运动矢量(motionvector prediction,MVP)索引值),就可以计算当前PU的MV。AMVP的候选列表长度为2。
1、建立候选MV列表
(1)空域列表的建立:
AMVP使用当前PU左侧和上方各产生一个候选MV,如图1所示,图1为空域参考块示意图,左侧选择顺序是A0-A1,上方选择顺序为B0-B1-B2。对于上方MV选择,只有当左侧两个PU都不可用或都是帧内预测模式时才会使用比例伸缩。当左侧或上方检测到第一个可用MV时,直接使用该MV作为当前PU的候选MV,停止剩余步骤。只有当候选MV对应的参考图像与当前PU相同时,该候选MV才能被标记为可用;否则需要进行对应的比例伸缩。
(2)时域列表的建立:
利用当前PU在邻近已编码图像中对应位置PU(同位PU)的运动信息。与空域情况不同,时域候选列表不能直接使用候选块的运动信息,而需要根据参考图像的位置关系做相应的比例伸缩调整。
HEVC中规定时域最多只提供一个候选MV,如图2所示,图2中候选MV由H位置同位PU的MV伸缩得到。若H位置的同位PU不可用,则用C3位置的同位PU进行替换。
(3)候选MV列表的建立:
如图3所示,从空域列表的5个MV中选取2个候选MV之后,针对上述2个候选MV,合并相同的候选MV,得到1个或2个空域的候选MV。从时域列表的2个MV中选取1个时域的候选MV。若候选MV的数量大于2个,保留前两个。其中,空域候选MV在时域候选MV之前。若候选MV的数量小于2个,用(0,0)补充,以使得最终得到两个候选MV,分别定义为MV0和MV1。
最终AMVP通过空域和时域的对应位置构建得到最多包含两个MV{MV0,MV1}的候选MV列表。
2、MVP的选择
常用的匹配准则主要有最小均方误差(mean squared error,MSE)、最小平均绝对误差(mean absolute error,MAD)、最大匹配像素数(matching pixel count,MPC)等。为了简化计算,一般使用绝对误差和(sum of absolute differences,SAD)来代替MAD。编码端为每个候选MV计算拉格朗日代价,选择代价最小的候选MV作为当前块的MVP。
(1)用SAD选择MVP的方法具体过程包括:用MV0构建当前PU块的预测像素块Y1,以及用MV1构建当前PU块的预测像素块Y2,同时和当前PU块对应的原始像素块Z计算SAD,计算公式(a)如下:
其中,Y代表预测像素块,Z代表当前PU块对应的原始像素块,W和H分为别当前PU块的宽和高,(i,j)为当前PU块内像素点的坐标。
由公式(a)计算分别得到Y1对应的SAD1,以及Y2对应的SAD2。当SAD1小于SAD2,则选择MV0作为MVP,当SAD1大于SAD2,则选择MV1作为MVP。在编码端中用MVP索引值来表示选择结果,例如,选择MV0,则MVP索引值为0,选择MV1,则MVP索引值为1。
3、运动估计
大多数视频序列中,相邻图像内容非常相似,其背景画面变化极小,因此不需要对每幅图像的全部信息都进行编码,而只需要将将当前图像中运动物体的运动信息传给解码器,利用前一图像内容以及当前图像的运动信息即可恢复当前图像,这样可以有效的节省比特率。
在HEVC编码标准中,运动估计是以PU块为粒度进行的运动向量搜索。一般将之前已经完成编码的图像视为参考帧,正在进行编码的图像称为当前帧。运动估计的主要工作便是对参考帧中一定范围内的参考块与当前帧中的PU块一一比较,找出与该PU块最匹配的块,从参考帧中的最优匹配块位置指向当前帧中的PU块位置的向量便是该PU块的最优MV,在参考帧中,寻找最优匹配块的搜索范围称为运动估计的搜索区间。
如图4所示,当前帧中的PU块位于坐标(x,y),PU块内图像内容为A。在参考帧的搜索区间内,可以找到一个图像内容相同的参考块。设定参考块的初始坐标为(x,y)时,参考块运动后的目标坐标为(x',y'),因此该PU块的最优MV即为
4、MVD的确定
当确定PU块的MV和MVP之后,可以根据MVD、MV和MVP的数量关系,确定MVD。其中,MVD、MV和MVP满足以下数量关系:
MVD=MV-MVP
5、编码端为了进一步缩小传输的数据量,对PU块的MVD和MVP索引值进行编码,然后将编码后的MVD和MVP索引值写进码流。
如背景技术中所描述,通用的帧间预测方法中,编码端需要同时对MVD和MVP索引值进行编码并传输,导致编码端的整体编码性能较低,不利于帧间预测技术的持续发展。
基于此,本公开实施例提供一种帧间预测方法,编码端可以获取PU块的MVP索引值和初始MVD。当MVP索引值和初始MVD满足对应关系时,编码端可以将初始MVD确定为目标MVD。当MVP索引值和初始MVD不满足对应关系时,编码端可以更新初始MVD,在更新后的初始MVD与MVP索引值满足对应关系的情况下,编码端可以将更新后的初始MVD确定为目标MVD。后续,编码端可以对目标MVD进行编码处理,以得到编码后的目标MVD,并向解码端发送编码后的目标MVD。解码端可以对编码后的目标MVD进行解码处理,以得到目标MVD,并获取与目标MVD满足对应关系的MVP索引值。然后,解码端可以根据MVP索引值和目标MVD确定PU块的目标运动矢量MV,并基于目标MV确定PU块进行帧间运动的预测结果。
由于本公开中目标MVD与MVP索引值满足对应关系,解码端可以根据对应关系,确定目标MVD对应的MVP索引值,所以编码端仅需要对目标MVD进行编码处理并传输。相比于通用技术中,编码端需要同时对MVD和MVP索引值进行编码,本公开可以有效减少需要编码和传输的信息数量,有效提升了编码端的整体编码性能。
以下结合附图对本公开实施例提供的帧间预测方法进行示例性说明:
图5为本公开实施例提供的一种帧间预测系统示意图,如图5所示,该帧间预测系统中可以包括:编码端501和解码端502。编码端501和解码端502之间互相连接。
可选的,该帧间预测系统可以包括至少一个编码端,以及至少一个解码端。至少一个编码端中任意一个编码端可以与至少一个解码端的任意一个解码端之间通过无线或有线方式连接以进行通信。为了便于理解,本公开实施例以“一个编码端501和一个解码端502之间互相连接”为例进行说明。
编码端501可以将视频帧的PU块的帧间预测信息编码得到编码数据,然后将编码数据发送至解码端502。解码端502接收编码数据,并将编码数据解码以得到PU块的帧间预测信息。
其中,编码端501和解码端502均可以是手机或者电脑等设备。
一些实施例中,编码端501和解码端502可以为用于视频处理的设备,也可以为该设备中的芯片,还可以为该设备中的片上系统。该设备可以是手机、平板电脑、掌上电脑、个人计算机(personal computer,PC)、可穿戴设备、智能电视等。
需要说明的是,上述编码端501和解码端502均可以称为电子设备。
本公开实施例提供的帧间预测方法可以应用于前述图1所示的应用场景中的编码端501和解码端502。
如图6所示,该帧间预测方法应用于编码端时,可以包括:
S601、编码端获取PU块的MVP索引值和初始MVD。
可选的,PU块可以是待预测的视频帧中的任意一个未编码的区域。
在一种可以实现的方式中,编码端获取PU块的MVP索引值和初始MVD的方法可以包括:编码端可以对PU块的帧间运动进行MV预测,确定MVP、MVP索引值和初始MV,然后将初始MV与MVP的差值确定为初始MVD。
S602、当MVP索引值和初始MVD满足对应关系时,编码端将初始MVD确定为目标MVD。
容易理解的是,当MVP索引值和初始MVD满足对应关系时,可以表示获取到MVP索引值和初始MVD中的任意一个数据之后,均可以根据该数据确定与其满足对应关系的另一个数据。
可选的,对应关系可以表示MVP索引值和初始MVD之间的函数关系,例如,MVP索引值是关于初始MVD的函数,即对于每个初始MVD都有且仅有一个MVP索引值与其对应。
可选的,对应关系可以包括:MVP索引值与初始MVD在多个方向上的分量的绝对值之和的奇偶性相关,或者,MVP索引值与初始MVD的向量模相关等任意一种对应关系。
S603、当MVP索引值和初始MVD不满足对应关系时,编码端更新初始MVD,直到更新后的初始MVD与MVP索引值满足对应关系,并将更新后的初始MVD确定为目标MVD。
容易理解的是,当MVP索引值和初始MVD不满足对应关系时,不能根据其中一个数据确定另一个数据。由于AMVP模式中约定MVP索引值只能取值为0或1,而MVP索引值对应视差最小(即拉格朗日代价最小)的MV,因此,调整MVP索引值会增加视差,导致帧间预测的准确性降低,故选择更新初始MVD。
在一种可以实现的方式中,编码端更新初始MVD的方法可以包括:编码端可以将初始MVD对应的初始MV向任意一个方向调整目标数值。
S604、编码端对目标MVD进行编码处理,以得到编码后的目标MVD,并向解码端发送编码后的目标MVD,以使得解码端对编码后的目标MVD进行解码处理,以得到目标MVD,并获取与目标MVD满足对应关系的MVP索引值,以及根据MVP索引值和目标MVD确定PU块的目标运动矢量MV。
其中,目标MV用于确定PU块进行帧间运动的预测结果。
上述实施例提供的技术方案至少带来以下有益效果:由S601-S605可知,编码端可以获取PU块的MVP索引值和初始MVD。当MVP索引值和初始MVD满足对应关系时,编码端可以将初始MVD确定为目标MVD。当MVP索引值和初始MVD不满足对应关系时,编码端可以更新初始MVD,在更新后的初始MVD与MVP索引值满足对应关系的情况下,编码端可以将更新后的初始MVD确定为目标MVD。后续,编码端可以对目标MVD进行编码处理,以得到编码后的目标MVD,并向解码端发送编码后的目标MVD。解码端可以对编码后的目标MVD进行解码处理,以得到目标MVD,并获取与目标MVD满足对应关系的MVP索引值。然后,解码端可以根据MVP索引值和目标MVD确定PU块的目标运动矢量MV,并基于目标MV确定PU块进行帧间运动的预测结果。
由于本公开中目标MVD与MVP索引值满足对应关系,解码端可以根据对应关系,确定目标MVD对应的MVP索引值,所以编码端仅需要对目标MVD进行编码处理并传输。相比于通用技术中,编码端需要同时对MVD和MVP索引值进行编码,本公开可以有效减少需要编码和传输的信息数量,有效提升了编码端的整体编码性能。
在一种可选的实施例中,在图6示出的方法实施例的基础上,本实施例提供一种可能实现方式。结合图6,如图7所示,该帧间预测方法,还包括:
S701、编码端确定第一分量的绝对值与第二分量的绝对值的和为第一绝对值和。
其中,第一分量为初始MVD在第一方向上的分量。第二分量为初始MVD在第二方向上的分量。第一方向与第二方向垂直。
可选的,第一方向和第二方向中,一个为水平方向,另一个为垂直方向。
将初始MVD在水平方向的第一分量定义为x、初始MVD在垂直方向的第二分量定义为y、第一绝对值和定义为absSum。x、y、absSum满足函数:
absSum=abs(x)+abs(y)。
S702、当第一绝对值和与预设数值进行取模运算得到的模与MVP索引值相同时,编码端确定MVP索引值和初始MVD满足对应关系。
容易理解的是,当预设数值为2时,由于第一绝对值和为任意一个自然数,即第一绝对值一定为奇数或者偶数。其中,偶数可以整除2,所以偶数与2进行取模运算得到的模一定为0。奇数不可以整除2,所以奇数与2进行取模运算得到的模一定为1。因此第一绝对值和与预设数值进行取模运算得到的模有且仅有两种结果,即0或1。
有现有技术可知,AMVP模式中约定,MVP索引值只能为0或1,所以,存在模与MVP索引值相同,以及模与MVP索引值不相同的两种情况。
其中,当预设数值为2时,第一绝对值和与预设数值进行取模运算得到的模与MVP索引值相同,即第一绝对值和(absSum)与MVP索引值(MVP idx)满足以下函数:
absSum%2=MVP idx。
S703、当模与MVP索引值不相同时,编码端确定MVP索引值和初始MVD不满足对应关系。
上述实施例提供的技术方案至少带来以下有益效果:由S701-S703可知,编码端确定第一分量的绝对值与第二分量的绝对值的和为第一绝对值和之后,当第一绝对值和与预设数值进行取模运算得到的模与MVP索引值相同时,编码端可以确定MVP索引值和初始MVD满足对应关系。当模与MVP索引值不相同时,编码端确定MVP索引值和初始MVD不满足对应关系。这样一来,编码端可以确定MVP索引值和初始MVD是否满足对应关系,从而根据MVP索引值和初始MVD确定与MVP索引值满足对应关系的目标MVD,实现仅编码和传输目标MVD的效果。
在一种可选的实施例中,在图7示出的方法实施例的基础上,本实施例提供一种编码端更新初始MVD的可能实现方式。如图8所示,S603中,编码端更新初始MVD的方法包括:
S801、编码端将初始MVD对应的初始MV向至少一个方向调整目标数值,得到与至少一个方向一一对应的至少一个候选MV。
其中,目标数值小于预设数值。至少一个方向包括:第一方向、第一方向的反方向、第二方向和第二方向的反方向中的至少一个。
S802、当目标候选MV对应的PU块的预测图像,与PU块的原始图像的视差小于或者等于预设视差、且目标候选MV对应的MVD与MVP索引值满足对应关系时,编码端将初始MVD更新为目标候选MV对应的MVD。
其中,目标候选MV为至少一个候选MV中的任意一个MV。
容易理解的是,当预设数值为2时,在第一绝对值和与预设数值进行取模运算得到的模与MVP索引值不相同的情况下,表示以下两种情况:
情况一:第一绝对值和为偶数,而MVP索引值为1。此时,可以将第一绝对值和调整为奇数。
情况二:第一绝对值和为奇数,而MVP索引值为0。此时,可以将第一绝对值和调整为偶数。
由于奇数与偶数之间的互换仅需要增加或减少1,因此,可以将第一绝对值和增加或减少1,即将初始MVD的第一分量或第二分量增加或减少1。
又因为初始MVD是初始MV与MVP索引值的差,由于MVP索引值不发生变化,所以初始MVD随初始MV变化而变化,于是将初始MVD的第一分量或第二分量增加或减少1,可以通过将初始MV在第一方向、第一方向的反方向、第二方向和第二方向的反方向中的任意一个方向调整1实现。
在第一方向和第二方向分别为水平方向和垂直方向的情况下,编码端将初始MVD对应的初始MV向任意一个方向调整目标数值,即将初始MV与向量(1,0),(-1,0),(0,1),(0,-1)中的任意一个相加,得到对应的候选MV。
需要说明的是,由于通过将初始MV在任意一个方向调整目标数值就可以实现MVP索引值和更新后的初始MVD满足对应关系,因此可以后至少一个候选MV。为了保证帧间预测的准确性,编码端可以从至少一个候选MV中,确定对应的PU块的预测图像,与PU块的原始图像的视差小于或者等于预设视差的目标候选MV。
可选的,预设视差可以为至少一个候选MV一一对应的至少一个视差中的最小视差。这种情况下,编码端从至少一个候选MV中,确定对应的PU块的预测图像,与PU块的原始图像的视差小于或者等于预设视差的目标候选MV,即表示编码端从至少一个候选MV中,选取与PU块的原始图像的视差最小的预测图像对应的目标候选MV。
可选的,视差可以根据拉格朗日代价确定。
上述实施例提供的技术方案至少带来以下有益效果:由S801-S802可知,编码端可以将初始MVD对应的初始MV向至少一个方向调整目标数值,得到与至少一个方向一一对应的至少一个候选MV。当目标候选MV对应的PU块的预测图像,与PU块的原始图像的视差小于或者等于预设视差、且目标候选MV对应的MVD与MVP索引值满足对应关系时,编码端将初始MVD更新为目标候选MV对应的MVD。这样一来,由于目标候选MV对应的PU块的预测图像,与PU块的原始图像的视差小于或者等于预设视差,因此,本公开可以在保证帧间预测的准确性的前提下,得到与MVP索引值满足对应关系的更新后的初始MVD。
在一种可选的实施例中,在图8示出的方法实施例的基础上,本实施例提供一种编码端获取PU块的MVP索引值和初始MVD的可能实现方式。如图9所示,S601中,编码端获取PU块的MVP索引值和初始MVD的方法包括:
S901、编码端对PU块的帧间运动进行MV预测,确定MVP、MVP索引值和初始MV。
编码端分别建立PU块对应的空域列表和时域列表,然后根据空域列表和时域列表,确定包括2个候选MV的候选MV列表。编码端为每个候选MV计算SAD,选择SAD最小的候选MV作为当前块的MVP,并确定MVP的MVP索引值。
编码端还可以通过运动估计,确定PU块的最优MV为初始MV。
S902、编码端将初始MV与MVP的差值确定为初始MVD。
根据MVD、MV和MVP的数量关系,编码端确定初始MV和MVP之后,可以将初始MV与MVP的差值确定为初始MVD。
上述实施例提供的技术方案至少带来以下有益效果:由S901-S902可知,编码端对PU块的帧间运动进行MV预测,确定MVP、MVP索引值和初始MV。编码端将初始MV与MVP的差值确定为初始MVD。这样一来,编码端可以获取到PU块的MVP索引值和初始MVD,进而可以进行后续根据MVP索引值和初始MVD,确定与MVP索引值具有对应关系的目标MVD的过程。
在一种可选的实施例中,在图9示出的方法实施例的基础上,本实施例提供一种编码端确定MVP的可能实现方式。如图10所示,S901中,编码端确定MVP的方法包括:
S1001、编码端基于预设的帧间预测模式,确定PU块对应的至少一个参考MV。
可选的,帧间预测模式可以为AMVP。
S1002、当目标参考MV对应的PU块的预测图像,与PU块的原始图像的视差小于目标视差时,编码端将目标参考MV确定为MVP。
其中,目标视差为至少一个参考MV中其他参考MV对应的PU块的预测图像,与PU块的原始图像的视差。
容易理解的是,目标参考MV对应的PU块的预测图像,与PU块的原始图像的视差小于目标视差,表示选取至少一个参考MV中,对应的视差最小的MV。
上述实施例提供的技术方案至少带来以下有益效果:由S1001-S1002可知,编码端可以基于预设的帧间预测模式,确定PU块对应的至少一个参考MV。当目标参考MV对应的PU块的预测图像,与PU块的原始图像的视差小于目标视差时,编码端可以将目标参考MV确定为MVP。本公开给出了一种编码端确定MVP的方式,以使得后续可以根据MVP确定MVP索引值。
在一种可选的实施例中,在图10示出的方法实施例的基础上,本实施例提供一种编码端确定至少一个参考MV的可能实现方式。结合图10,如图11所示,S1001中,编码端基于预设的帧间预测模式,确定PU块对应的至少一个参考MV的方法包括:
S1101、编码端确定参考域中,作为初始MV参考的多个MV,并合并多个MV中相同的MV。
其中,参考域包括:空域和时域中的至少一个域。
S1102、当合并后的MV数量小于至少一个参考MV的预设数量时,编码端用预设MV补齐预设数量,将预设MV和合并后的MV确定为至少一个参考MV。
可选的,当帧间预测模式为AMVP时,预设数量为2。
S1103、当合并后的MV数量大于预设数量时,编码端按照预设排序规则,将合并后的MV排序后与预设数量对应的MV确定为至少一个参考MV。
上述实施例提供的技术方案至少带来以下有益效果:由S1101-S1103可知,编码端可以确定参考域中,作为初始MV参考的多个MV,并合并多个MV中相同的MV。当合并后的MV数量小于至少一个参考MV的预设数量时,编码端可以用预设MV补齐预设数量,将预设MV和合并后的MV确定为至少一个参考MV。当合并后的MV数量大于预设数量时,编码端可以按照预设排序规则,将合并后的MV排序后与预设数量对应的MV确定为至少一个参考MV。本公开给出了一种编码端确定至少一个参考MV的方式,以使得后续可以根据至少一个参考MV确定MVP。
在一种可选的实施例中,在图9示出的方法实施例的基础上,本实施例提供一种编码端确定初始MV的可能实现方式。如图12所示,S901中,编码端确定初始MV的方法包括:
S1201、编码端确定与PU块的图像相似度大于预设相似度的参考块。
S1202、编码端将参考块的MV,确定为初始MV。
上述实施例提供的技术方案至少带来以下有益效果:由S1201-S1202可知,编码端可以确定与PU块的图像相似度大于预设相似度的参考块,然后,可以将参考块的MV,确定为初始MV。本公开给出了一种编码端确定初始MV的方式。
如图13所示,该帧间预测方法应用于解码端时,可以包括:
S1301、解码端对接收到的编码后的目标MVD进行解码处理,以得到目标MVD。
其中,目标MVD为编码端根据PU块的MVP索引值和初始MVD确定的。目标MVD与MVP索引值满足对应关系。
可选的,对应关系可以包括:目标MVD在多个方向上的分量的绝对值之和,与预设数值进项取模运算得到的模与MVP索引值相同。
S1302、解码端确定与目标MVD满足对应关系的MVP索引值。
容易理解的是,由于目标MVD与MVP索引值满足对应关系,表示解码端获取到MVP索引值和初始MVD中的任意一个数据之后,均可以根据该数据确定与其满足对应关系的另一个数据。因此,解码端可以确定与目标MVD满足对应关系的MVP索引值。
S1303、解码端根据目标MVD和MVP索引值,确定PU块的目标MV。
S1304、解码端基于目标MV确定PU块进行帧间运动的预测结果。
上述实施例提供的技术方案至少带来以下有益效果:由S1301-S1304可知,解码端对接收到的编码后的目标MVD进行解码处理,得到目标MVD之后,可以确定与目标MVD满足对应关系的MVP索引值,然后根据目标MVD和MVP索引值,确定PU块的目标MV。
由于本公开中目标MVD与MVP索引值满足对应关系,解码端可以根据对应关系,确定目标MVD对应的MVP索引值,所以编码端仅需要对目标MVD进行编码处理并传输。相比于通用技术中,编码端需要同时对MVD和MVP索引值进行编码,本公开可以有效减少需要编码和传输的信息数量,有效提升了编码端的整体编码性能。
在一种可选的实施例中,在图13示出的方法实施例的基础上,本实施例提供一种可能实现方式。结合图13,如图14所示,S1302中,解码端确定与目标MVD满足对应关系的MVP索引值的方法包括:
S1401、解码端将第三分量的绝对值与第四分量的绝对值的和确定为第二绝对值和。
其中,第三分量为目标MVD在第一方向上的分量,第四分量为目标MVD在第二方向上的分量。第一方向与第二方向垂直。
可选的,第一方向和第二方向中,一个为水平方向,另一个为垂直方向。
将目标MVD在水平方向的第三分量定义为x、目标MVD在垂直方向的第四分量定义为y、第二绝对值和定义为absSum。x、y、absSum满足函数:
absSum=abs(x)+abs(y)。
S1402、解码端将第二绝对值和与预设数值进行取模运算得到的模确定为MVP索引值。
由于对应关系包括:目标MVD在第一方向上的分量的绝对值与目标MVD在第二方向上的分量的绝对值之和,与预设数值进项取模运算得到的模与MVP索引值相同。因此,解码端可以将第二绝对值和与预设数值进行取模运算得到的模确定为MVP索引值。
上述实施例提供的技术方案至少带来以下有益效果:由S1401-S1402可知,解码端将第三分量的绝对值与第四分量的绝对值的和确定为第二绝对值和之后,可以将第二绝对值和与预设数值进行取模运算得到的模确定为MVP索引值。这样一来,解码端可以根据目标MVD确定MVP索引值,所以编码端仅需要对目标MVD进行编码处理并传输,有效减少需要编码和传输的信息数量,有效提升了编码端的整体编码性能。
在一种可选的实施例中,结合图14,如图15所示,S1303中,解码端根据目标MVD和MVP索引值,确定PU块的目标MV的方法包括:
S1501、解码端确定与MVP索引值对应的MVP。
根据AMVP中约定的MVP索引值与MVP的映射关系,当MVP索引值为0时,对应的MVP为MV0,当MVP索引值为1时,对应的MVP为MV1。
S1502、解码端将MVP与目标MVD的和,确定为目标MV。
根据MVD、MV和MVP的数量关系,编码端确定目标MVD和MVP之后,可以将MVP与目标MVD的和,确定为目标MV。
上述实施例提供的技术方案至少带来以下有益效果:由S1501-S1502可知,解码端确定与MVP索引值对应的MVP之后,可以将MVP与目标MVD的和,确定为目标MV。这样一来,解码端可以根据目标MVD和MVP索引值,确定PU块的目标MV,进而确定PU块进行帧间运动的预测结果。
可以理解的,在实际实施时,本公开实施例所述的帧间预测装置可以包含有用于实现前述对应帧间预测方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
基于这样的理解,本公开实施例还对应提供一种帧间预测装置。图16示出了本公开实施例提供的帧间预测装置的结构示意图一。如图16所示,应用于编码端;该帧间预测装置包括:处理单元1601和编码单元1602。
处理单元1601,被配置为执行获取PU块的MVP索引值和初始MVD。
处理单元1601,还被配置为执行当MVP索引值和初始MVD满足对应关系时,将初始MVD确定为目标MVD。
处理单元1601,还被配置为执行当MVP索引值和初始MVD不满足对应关系时,更新初始MVD,直到更新后的初始MVD与MVP索引值满足对应关系,并将更新后的初始MVD确定为目标MVD。
编码单元1602,被配置为执行对处理单元1601得到的目标MVD进行编码处理,以得到编码后的目标MVD,并向解码端发送编码后的目标MVD,以使得解码端对编码后的目标MVD进行解码处理,以得到目标MVD,并获取与目标MVD满足对应关系的MVP索引值,以及根据MVP索引值和目标MVD确定PU块的目标运动矢量MV;基于目标MV确定PU块进行帧间运动的预测结果。
可选的,处理单元1601,还被配置为执行确定第一分量的绝对值与第二分量的绝对值的和为第一绝对值和;第一分量为初始MVD在第一方向上的分量;第二分量为初始MVD在第二方向上的分量;第一方向与第二方向垂直;当第一绝对值和与预设数值进行取模运算得到的模与MVP索引值相同时,确定MVP索引值和初始MVD满足对应关系;当模与MVP索引值不相同时,确定MVP索引值和初始MVD不满足对应关系。
可选的,处理单元1601,具体被配置为执行将初始MVD对应的初始运动矢量MV向至少一个方向调整目标数值,得到与至少一个方向一一对应的至少一个候选MV;目标数值小于预设数值;至少一个方向包括:第一方向、第一方向的反方向、第二方向和第二方向的反方向中的至少一个;当目标候选MV对应的PU块的预测图像,与PU块的原始图像的视差小于或者等于预设视差、且目标候选MV对应的MVD与MVP索引值满足对应关系时,将初始MVD更新为目标候选MV对应的MVD;目标候选MV为至少一个候选MV中的任意一个MV。
可选的,处理单元1601,具体被配置为执行对PU块的帧间运动进行MV预测,确定MVP、MVP索引值和初始MV;将初始MV与MVP的差值确定为初始MVD。
可选的,处理单元1601,具体被配置为执行基于预设的帧间预测模式,确定PU块对应的至少一个参考MV;当目标参考MV对应的PU块的预测图像,与PU块的原始图像的视差小于目标视差时,将目标参考MV确定为MVP;目标视差为至少一个参考MV中其他参考MV对应的PU块的预测图像,与PU块的原始图像的视差。
可选的,处理单元1601,具体被配置为执行确定参考域中,作为初始MV参考的多个MV,并合并多个MV中相同的MV;参考域包括:空域和时域中的至少一个域;当合并后的MV数量小于至少一个参考MV的预设数量时,用预设MV补齐预设数量,将预设MV和合并后的MV确定为至少一个参考MV;当合并后的MV数量大于预设数量时,按照预设排序规则,将合并后的MV排序后与预设数量对应的MV确定为至少一个参考MV。
可选的,处理单元1601,具体被配置为执行确定与PU块的图像相似度大于预设相似度的参考块;将参考块的MV,确定为初始MV。
另外,本公开实施例还对应提供一种帧间预测装置。图17示出了本公开实施例提供的帧间预测装置的结构示意图二。如图17所示,应用于解码端;帧间预测装置包括:解码单元1701和处理单元1702。
解码单元1701,被配置为执行对接收到的编码后的目标MVD进行解码处理,以得到目标MVD;目标MVD为编码端根据PU块的MVP索引值和初始MVD确定的;目标MVD与MVP索引值满足对应关系。
处理单元1702,被配置为执行确定与解码单元1701得到的目标MVD满足对应关系的MVP索引值。
处理单元1702,还被配置为执行根据目标MVD和MVP索引值,确定PU块的目标MV;基于目标MV确定PU块进行帧间运动的预测结果。
可选的,处理单元1702,具体被配置为执行将第三分量的绝对值与第四分量的绝对值的和确定为第二绝对值和;第三分量为目标MVD在第一方向上的分量;第四分量为目标MVD在第二方向上的分量;第一方向与第二方向垂直;将第二绝对值和与预设数值进行取模运算得到的模确定为MVP索引值。
可选的,处理单元1702,具体被配置为执行确定与MVP索引值对应的MVP;将MVP与目标MVD的和,确定为目标MV。
如上所述,本公开实施例可以根据上述方法示例对目标设备/目标服务节点进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
关于上述实施例中的帧间预测装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
本公开实施例还提供一种帧间预测装置。图18示出了本公开实施例提供的帧间预测装置的结构示意图三。该帧间预测装置可以包括至少一个处理器221,通信总线222,存储器223以及至少一个通信接口224。
处理器221可以是一个中央处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本公开方案程序执行的集成电路。结合图16和图17,处理器221用于执行处理单元1601和编码单元1602,或者解码单元1701和处理单元1702执行的操作。
通信总线222可包括一通路,在上述组件之间传送信息。
通信接口224,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如电子设备、以太网,无线接入网(radio access network,RAN),无线局域网(wirelesslocal area networks,WLAN)等。
存储器223可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
其中,存储器223用于存储执行本公开方案的应用程序代码,并由处理器221来控制执行。处理器221用于执行存储器223中存储的应用程序代码,从而实现本公开方法中的功能。
在具体实现中,作为一种实施例,处理器221可以包括一个或多个中央处理器,例如图17中的中央处理器0和中央处理器1。
在具体实现中,作为一种实施例,帧间预测装置可以包括多个处理器,例如图18中的处理器221和处理器225。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,帧间预测装置还可以包括输入设备226和输出设备227。输入设备226和输出设备227通信,可以以多种方式接受用户的输入。例如,输入设备226可以是鼠标、键盘、触摸屏设备或传感设备等。输出设备227和处理器221通信,可以以多种方式来显示信息。例如,输出设备227可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备等。
本领域技术人员可以理解,图18中示出的结构并不构成对帧间预测装置的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本公开还提供了一种帧间预测系统,该帧间预测系统包括编码端和解码端;
编码端,用于执行上述图6、图7、图8、图9、图10、图11、图12所示的帧间预测方法。
解码端,用于执行上述图13、图14、图15所示的帧间预测方法。
本公开还提供了一种包括指令的计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述计算机可读存储介质中的指令由帧间预测装置的处理器执行时,使得帧间预测装置能够执行上述所示实施例提供的帧间预测方法。例如,计算机可读存储介质可以为包括指令的存储器223,上述指令可由帧间预测装置的处理器221执行以完成上述方法。
可选的,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本公开还提供了一种包含指令的计算机程序产品,当其在电子设备上运行时,使得电子设备执行上述所示实施例提供的帧间预测方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (15)
1.一种帧间预测方法,其特征在于,应用于编码端,所述方法包括:
获取预测单元PU块的预测运动矢量MVP索引值和初始运动矢量差MVD;
当所述MVP索引值和所述初始MVD满足对应关系时,将所述初始MVD确定为目标MVD;
当所述MVP索引值和所述初始MVD不满足所述对应关系时,更新所述初始MVD,直到更新后的初始MVD与所述MVP索引值满足所述对应关系,并将所述更新后的初始MVD确定为所述目标MVD;
对所述目标MVD进行编码处理,以得到编码后的目标MVD,并向解码端发送所述编码后的目标MVD,以使得所述解码端对所述编码后的目标MVD进行解码处理,以得到所述目标MVD,并获取与所述目标MVD满足所述对应关系的所述MVP索引值,以及根据所述MVP索引值和所述目标MVD确定所述PU块的目标运动矢量MV;所述目标MV用于确定所述PU块进行帧间运动的预测结果。
2.根据权利要求1所述的帧间预测方法,其特征在于,还包括:
确定第一分量的绝对值与第二分量的绝对值的和为第一绝对值和;所述第一分量为所述初始MVD在第一方向上的分量;所述第二分量为所述初始MVD在第二方向上的分量;所述第一方向与所述第二方向垂直;
当所述第一绝对值和与预设数值进行取模运算得到的模与所述MVP索引值相同时,确定所述MVP索引值和所述初始MVD满足所述对应关系;
当所述模与所述MVP索引值不相同时,确定所述MVP索引值和所述初始MVD不满足所述对应关系。
3.根据权利要求2所述的帧间预测方法,其特征在于,所述更新所述初始MVD,包括:
将所述初始MVD对应的初始运动矢量MV向至少一个方向调整目标数值,得到与所述至少一个方向一一对应的至少一个候选MV;所述目标数值小于所述预设数值;所述至少一个方向包括:所述第一方向、所述第一方向的反方向、所述第二方向和所述第二方向的反方向中的至少一个;
当目标候选MV对应的所述PU块的预测图像,与所述PU块的原始图像的视差小于或者等于预设视差、且所述目标候选MV对应的MVD与所述MVP索引值满足所述对应关系时,将所述初始MVD更新为所述目标候选MV对应的MVD;所述目标候选MV为所述至少一个候选MV中的任意一个MV。
4.根据权利要求3所述的帧间预测方法,其特征在于,所述获取PU块的MVP索引值和初始MVD,包括:
对所述PU块的帧间运动进行MV预测,确定所述MVP、所述MVP索引值和所述初始MV;
将所述初始MV与所述MVP的差值确定为所述初始MVD。
5.根据权利要求4所述的帧间预测方法,其特征在于,确定所述MVP,包括:
基于预设的帧间预测模式,确定所述PU块对应的至少一个参考MV;
当目标参考MV对应的所述PU块的预测图像,与所述PU块的原始图像的视差小于目标视差时,将所述目标参考MV确定为所述MVP;所述目标视差为所述至少一个参考MV中其他参考MV对应的所述PU块的预测图像,与所述PU块的原始图像的视差。
6.根据权利要求5所述的帧间预测方法,其特征在于,所述基于预设的帧间预测模式,确定所述PU块对应的至少一个参考MV,包括:
确定参考域中,作为所述初始MV参考的多个MV,并合并所述多个MV中相同的MV;所述参考域包括:空域和时域中的至少一个域;
当合并后的MV数量小于所述至少一个参考MV的预设数量时,用预设MV补齐所述预设数量,将所述预设MV和所述合并后的MV确定为所述至少一个参考MV;
当所述合并后的MV数量大于所述预设数量时,按照预设排序规则,将所述合并后的MV排序后与所述预设数量对应的MV确定为所述至少一个参考MV。
7.根据权利要求4所述的帧间预测方法,其特征在于,确定所述初始MV,包括:
确定与所述PU块的图像相似度大于预设相似度的参考块;
将所述参考块的MV,确定为所述初始MV。
8.一种帧间预测方法,其特征在于,应用于解码端,所述方法包括:
对接收到的编码后的目标MVD进行解码处理,以得到目标MVD;所述目标MVD为所述编码端根据PU块的MVP索引值和初始MVD确定的;所述目标MVD与所述MVP索引值满足对应关系;
确定与所述目标MVD满足所述对应关系的所述MVP索引值;
根据所述目标MVD和所述MVP索引值,确定所述PU块的目标MV;
基于所述目标MV确定所述PU块进行帧间运动的预测结果。
9.根据权利要求8所述的帧间预测方法,其特征在于,所述确定与所述目标MVD满足所述对应关系的所述MVP索引值,包括:
将第三分量的绝对值与第四分量的绝对值的和确定为第二绝对值和;所述第三分量为所述目标MVD在第一方向上的分量;所述第四分量为所述目标MVD在第二方向上的分量;所述第一方向与所述第二方向垂直;
将所述第二绝对值和与预设数值进行取模运算得到的模确定为所述MVP索引值。
10.根据权利要求9所述的帧间预测方法,其特征在于,所述根据所述目标MVD和所述MVP索引值,确定所述PU块的目标MV,包括:
确定与所述MVP索引值对应的MVP;
将所述MVP与所述目标MVD的和,确定为所述目标MV。
11.一种帧间预测装置,其特征在于,应用于编码端,包括:处理单元和编码单元;
所述处理单元,被配置为执行获取PU块的MVP索引值和初始MVD;
所述处理单元,还被配置为执行当所述MVP索引值和所述初始MVD满足对应关系时,将所述初始MVD确定为目标MVD;
所述处理单元,还被配置为执行当所述MVP索引值和所述初始MVD不满足所述对应关系时,更新所述初始MVD,直到更新后的初始MVD与所述MVP索引值满足所述对应关系,并将所述更新后的初始MVD确定为所述目标MVD;
所述编码单元,被配置为执行对所述处理单元得到的所述目标MVD进行编码处理,以得到编码后的目标MVD,并向解码端发送所述编码后的目标MVD,以使得所述解码端对所述编码后的目标MVD进行解码处理,以得到所述目标MVD,并获取与所述目标MVD满足所述对应关系的所述MVP索引值,以及根据所述MVP索引值和所述目标MVD确定所述PU块的目标运动矢量MV;所述目标MV用于确定所述PU块进行帧间运动的预测结果。
12.一种帧间预测装置,其特征在于,应用于解码端,包括:解码单元和处理单元;
所述解码单元,被配置为执行对接收到的编码后的目标MVD进行解码处理,以得到目标MVD;所述目标MVD为所述编码端根据PU块的MVP索引值和初始MVD确定的;所述目标MVD与所述MVP索引值满足对应关系;
所述处理单元,被配置为执行确定与所述解码单元得到的所述目标MVD满足所述对应关系的所述MVP索引值;
所述处理单元,还被配置为执行根据所述目标MVD和所述MVP索引值,确定所述PU块的目标MV;
所述处理单元,还被配置为执行基于所述目标MV确定所述PU块进行帧间运动的预测结果。
13.一种帧间预测系统,其特征在于,所述帧间预测系统包括:编码端和解码端;
所述编码端,用于执行如权利要求1-7中任一项所述的帧间预测方法;
所述解码端,用于执行如权利要求8-10中任一项所述的帧间预测方法。
14.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-7中任一项,或者权利要求8-10中任一项所述的帧间预测方法。
15.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-7中任一项,或者权利要求8-10中任一项所述的帧间预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211180688.7A CN115643412A (zh) | 2022-09-27 | 2022-09-27 | 一种帧间预测方法、装置、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211180688.7A CN115643412A (zh) | 2022-09-27 | 2022-09-27 | 一种帧间预测方法、装置、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115643412A true CN115643412A (zh) | 2023-01-24 |
Family
ID=84942498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211180688.7A Pending CN115643412A (zh) | 2022-09-27 | 2022-09-27 | 一种帧间预测方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115643412A (zh) |
-
2022
- 2022-09-27 CN CN202211180688.7A patent/CN115643412A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI718412B (zh) | 用於訊框速率上升轉換(fruc)之低複雜度設計 | |
CN110809887B (zh) | 用于多参考预测的运动矢量修正的方法和装置 | |
TW201817237A (zh) | 在視頻寫碼中用於仿射運動模型之運動向量預測 | |
CN111630859B (zh) | 根据图像编码系统中的帧间预测进行图像解码的方法和装置 | |
TW201924350A (zh) | 視訊寫碼中之仿射運動向量預測 | |
US20140247883A1 (en) | Scalable video encoding and decoding method and apparatus using same | |
CN111837397A (zh) | 基于子图像码流的视角相关视频编码中的错误消除的码流指示 | |
CN112673633B (zh) | 合并模式的编码器、解码器及对应方法 | |
JP2023157942A (ja) | クロマサブブロックのアフィンベースのインター予測のための方法及び装置 | |
TW202002650A (zh) | 擴展Merge模式 | |
US20230017193A1 (en) | Video decoding method, video encoding method, electronic device, and storage medium | |
CN113660497B (zh) | 编码器、解码器和使用ibc合并列表的对应方法 | |
US11889109B2 (en) | Optical flow based video inter prediction | |
US20220124362A1 (en) | Side motion refinement in video encoding/decoding systems | |
JP2022537426A (ja) | 幾何学的分割モードのためのクロマサンプル重みの導出 | |
CN111193929B (zh) | 一种前向双假设编码图像块的编解码方法和装置 | |
JP2023126795A (ja) | ビデオコーディングにおけるクロマイントラ予測のための方法及び装置 | |
KR20210107109A (ko) | 인터 프레임 예측 방법, 디바이스, 및 대응하는 인코더 및 디코더 | |
CN115643412A (zh) | 一种帧间预测方法、装置、系统、设备及存储介质 | |
TW202329691A (zh) | 影像編解碼系統中基於模板匹配之移動向量細化 | |
CN113796071A (zh) | 编码器、解码器及用于ibc融合列表的相应方法 | |
RU2811983C2 (ru) | Кодер, декодер и соответствующие способы для режима субблочного разделения | |
RU2814812C2 (ru) | Выведение веса выборки цветности для геометрического режима разделения | |
RU2793825C1 (ru) | Способ и устройство для хранения информации о движении | |
US11985305B2 (en) | Encoder, a decoder and corresponding methods using for IBC merge list |
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 |