CN112055221B - 一种帧间预测方法、视频编码方法及电子设备和存储介质 - Google Patents
一种帧间预测方法、视频编码方法及电子设备和存储介质 Download PDFInfo
- Publication number
- CN112055221B CN112055221B CN202010790548.6A CN202010790548A CN112055221B CN 112055221 B CN112055221 B CN 112055221B CN 202010790548 A CN202010790548 A CN 202010790548A CN 112055221 B CN112055221 B CN 112055221B
- Authority
- CN
- China
- Prior art keywords
- motion vector
- initial
- sub
- candidate
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种帧间预测方法、视频编码及电子设备和存储介质,所述帧间预测方法在将当前块划分为多个子块,并确定第一预设数量的控制点所在的子块之后,从当前块的相邻已编码块中构建第一候选列表,在第一候选列表中的运动向量候选组的第一数量小于第二预设数量,且控制点所在子块的运动向量对应的参考帧索引不完全相同或者完全不相同时,利用至少两个控制点所在子块的运动向量构建第二候选列表,且其中运动向量候选组的第二数量与第一数量之和小于或等于第二预设数量,然后利用第一候选列表和所述第二候选列表获取每个子块的最终运动向量。可见,本申请能够构建更多的运动向量候选组,使帧间预测的结果更加精准。
Description
技术领域
本申请涉及视频编码技术领域,特别是涉及一种帧间预测方法、视频编码方法及电子设备和存储介质。
背景技术
视频是由许多静止的图像连续播放形成的,每一幅静止的图像都可看作一帧。由于相邻帧中相近的像素点其值通常也是比较接近的,颜色一般不会突然变化,因此可利用这个时间上的相关性来进行压缩,这就是帧间预测。简单来说,帧间预测就是在当前块的参考帧图像内,搜索与当前块最匹配的块,来对当前块进行预测。其中一种帧间预测模式为仿射帧间模式,通过仿射帧间模式获取当前块的预测值的过程中,在可以存放的前提下,需要构建尽可能多的运动向量候选组。
发明内容
本申请主要解决的技术问题是提供一种帧间预测方法、视频编码方法及电子设备和存储介质,能够构建更多的运动向量候选组,使帧间预测的结果更加精准。
为解决上述技术问题,本申请采用的一个技术方案是:
提供一种帧间预测方法,包括:
将当前块划分为多个尺寸相同的子块,并确定第一预设数量的控制点所在的子块;
从所述当前块的相邻已编码块中构建第一候选列表,其中,所述第一候选列表包括第一数量的运动向量候选组,所述运动向量候选组包括所述第一预设数量的控制点中至少两个控制点的初始运动向量;
响应于所述第一数量小于第二预设数量,且所述至少两个控制点所在子块存在运动向量且对应的参考帧索引不完全相同或者完全不相同,利用所述至少两个控制点所在子块的所述运动向量构建第二候选列表,其中,所述第二候选列表包括第二数量的所述运动向量候选组,且所述第二数量与所述第一数量之和小于或等于所述第二预设数量;
利用所述第一候选列表和所述第二候选列表获取每个所述子块的最终运动向量。
为解决上述技术问题,本申请采用的另一个技术方案是:
提供一种视频编码方法,包括:
获取当前块中每个子块的最终运动向量,其中,所述每个子块的所述最终运动向量是利用如上述技术方案所述的帧间预测方法获取的;
基于所述每个子块的所述最终运动向量获取所述当前块的像素值,以对所述当前块进行编码。
为解决上述技术问题,本申请采用的另一个技术方案是:
提供一种电子设备,包括相互耦接的存储器和处理器,所述存储器存储有程序指令,所述处理器用于执行所述程序指令,以实现如上述技术方案所述的帧间预测方法,或者实现如上述技术方案所述的视频编码方法。
为解决上述技术问题,本申请采用的另一个技术方案是:
提供一种计算机可读存储介质,所述存储介质上存储有程序指令,所述程序指令能够被处理器执行以实现如上述技术方案所述的帧间预测方法,或者实现如上述技术方案所述的视频编码方法。
本申请的有益效果是:区别于现有技术的情况,本申请提供的帧间预测方法在将当前块划分为多个子块,并确定第一预设数量的控制点所在的子块之后,从当前块的相邻已编码块中构建第一候选列表,在第一候选列表中的运动向量候选组的第一数量小于第二预设数量,且控制点所在子块的运动向量对应的参考帧索引不完全相同或者完全不相同时,利用至少两个控制点所在子块的运动向量构建第二候选列表,且第二候选列表的第二数量等于第二预设数量减去第一数量,然后利用第一候选列表和所述第二候选列表获取每个子块的最终运动向量。可见,本申请在第一候选列表中的运动向量候选组的数量小于能够存放的最大值时,继续构建第二候选列表,而不是直接采用零向量候选组进行填充,从而能够在更多的非零运动向量候选组中进行进一步筛选,使最终获得的每个子块的最终运动向量更加准确,使帧间预测的结果更加精准。
附图说明
为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1为本申请帧间预测方法一实施方式的流程示意图;
图2a为将当前块划分为多个子块一实施方式的示意图;
图2b为当前块与相邻已编码块的示意图;
图3为图1中步骤S13一实施方式的流程示意图;
图4为图3中步骤S22之后包括的步骤一实施方式的流程示意图;
图5为图4中步骤S31一实施方式的流程示意图;
图6为图1中步骤S14一实施方式的流程示意图;
图7为图6中步骤S51一实施方式的流程示意图;
图8为图7中步骤S62一实施方式的流程示意图;
图9为图6中步骤S52之后包括的步骤一实施方式的流程示意图;
图10为本申请视频编码方法一实施方式的流程示意图;
图11为本申请电子设备一实施方式的结构示意图;
图12为本申请计算机可读存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
请参阅图1,图1为本申请帧间预测方法一实施方式的流程示意图,该帧间预测方法包括如下步骤:
步骤S11,将当前块划分为多个尺寸相同的子块,并确定第一预设数量的控制点所在的子块。
对于当前块的帧间预测,可以在当前块的参考帧图像内,搜索与当前块最匹配的参考块,从而获得当前块与参考块的位置之间的位移,即当前块的运动向量(motionvector,MV),进而对当前块进行运动补偿。基于块的运动补偿假设预测单元内所有像素透过共享相同的运动向量MV而遵循相同的平衡运动模型,然而,平移运动模型不能捕捉旋转、绽放和变形等场景。进而发展出仿射(affine)预测模式,先将当前块划分为多个相同尺寸的子块,例如4*4子块或8*8子块等,如图2a所示,图2a为将当前块划分为多个子块一实施方式的示意图,具体为将一个16*16的当前块分为16个4*4的子块。进一步为每个子块生成不同的运动向量MV,并分别进行运动补偿,以此来模拟旋转、绽放和变形等场景。为每个子块生成不同的运动向量的过程将在下面进行描述。其中,仿射预测模式可分为仿射帧间模式(affineinter)和仿射融合模式(affine merge)两种,两者的应用条件、候选列表构建方法不相同,本实施方式基于仿射融合模式进行帧间预测。
划分子块之后,进一步确定第一预设数量的控制点(control point,CP)所在的子块。请继续参阅图2a,本实施方式中,第一预设数量为四个,即确认第一控制点、第二控制点、第三控制点以及第四控制点所在的子块,这四个控制点所在子块分别位于当前块的左上(LT)、右上(RT)、左下(LB)和右下(RB)位置处,其中,第四控制点位于右下(RB)位置处。也就是说第一控制点、第二控制点、第三控制点可以分别位于当前块的左上(LT)、右上(RT)和左下(LB)位置处。首先定义这四个控制点所在子块从参考帧中获取的运动向量分别为LTMV、RTMV、LBMV、RBMV,然后定义第一控制点的运动向量为V0,第二控制点的运动向量为V1,第三控制点的运动向量为V2,第四控制点的运动向量为V3。其中,确定地V3=RBMV,V0、V1和V2的确定过程将在下面描述。
本实施方式在编码单元定义中添加第一句法元素,例如CP_position_idx,用于定义第一控制点、第二控制点和第三控制点在当前块中的位置,确定控制点的位置之后,该控制点的运动向量并不是直接等于控制点所在子块的运动向量,而是需要根据公式计算,具体在下面描述。具体地,本实施方式为第一句法元素CP_position_idx设置四种赋值,每种赋值定义的第一控制点、第二控制点和第三控制点在当前块中的位置如表1所示。
表1第一句法元素的赋值
在其他实施方式中,也可以不添加第一句法元素来定义第一控制点、第二控制点和第三控制点在当前块中的位置,而是根据获取到的控制点所在子块的运动向量自适应地调整第一控制点、第二控制点和第三控制点所在子块的位置。具体的调整规则包括如下两条:
(1)能够获取相邻两个控制点所在子块的运动向量时,以顺时针方向的第一个控制点所在子块为第一控制点的位置,另一个控制点所在子块为第二控制点的位置。例如只能获取左上和右上子块的运动向量LTMV和RTMV时,第一控制点所在子块为左上(LT)子块,第二控制点所在子块为右下(RT)子块。
(2)能够获取三个控制点所在子块的运动向量时,以中间的控制点所在子块为第一控制点的位置,中间子块顺时针方向的相邻控制点所在子块为第二控制点的位置,中间子块逆时针方向的相邻控制点所在子块为第三控制点的位置。例如只能获取左上、左下和右下子块的运动向量LTMV、LBMV和RBMV时,第一控制点所在子块为左下(LB)子块,第二控制点所在子块为左上(LT)子块,第三控制点所在子块为右下(RB)子块。
步骤S12,从当前块的相邻已编码块中构建第一候选列表,其中,第一候选列表包括第一数量的运动向量候选组,运动向量候选组包括第一预设数量的控制点中至少两个控制点的初始运动向量。
确认第一、第二、第三控制点所在子块的位置之后,需要获取多组第一、第二、第三控制点对应的运动向量,构建多个运动向量候选组CPMV,以进一步筛选出最佳运动向量候选组,进而进行精准的帧间预测。其中,运动向量候选组CPMV包括第一控制点的第一初始运动向量V0’和第二控制点的第二初始运动向量V1’,或者包括第一初始运动向量V0’、第二初始运动向量V1’和第三控制点的第三初始运动向量V2’。当运动向量候选组CPMV包括两个初始运动向量时,适用于4参数仿射模式,当运动向量候选组CPMV包括三个初始运动向量时,适用于6参数融合模式。
请结合图2a参阅图2b,图2b为当前块与相邻已编码块的示意图,可以从当前块的左上三个相邻已编码块A、B和C生成左上子块的运动向量LTMV,从当前块的右上两个相邻已编码块D和E生成右上子块的运动向量RTMV,从当前块的左下两个相邻已编码块F和G生成左下子块的运动向量LBMV。
具体地,采用如下顺序构建第一候选列表:首先采用仿射模式相邻块的运动信息构建CPMV,然后从时空域获取运动信息构建CPMV。这两步构建的运动向量候选组CPMV的数量之和为第一数量。具体实施方式为现有技术中的公知,本申请在此不再赘述。
步骤S13,响应于第一数量小于第二预设数量,且至少两个控制点所在子块存在运动向量且对应的参考帧索引不完全相同或者完全不相同,利用至少两个控制点所在子块的运动向量构建第二候选列表,其中,第二候选列表包括第二数量的运动向量候选组,且第二数量与第一数量之和小于或等于第二预设数量。
第二预设数量为仿射融合模式最多能够存放的运动向量候选组CPMV的数量,例如为5,则仿射融合模式将构建一个最多存放5组CPMV的候选列表,然后从中筛选出最佳运动向量候选组(最佳CPMV)进行帧间预测。
本实施方式在构建第一候选列表之后,判断第一数量是否小于第二预设数量,如果小于,则说明还可以继续存放运动向量候选组CPMV。并进一步判断上述LTMV、RTMV、LBMV、RBMV中哪些存在以及存在的运动向量的参考帧索引是否相同。当LTMV、RTMV、LBMV、RBMV中至少两个存在且对应的参考帧索引不完全相同或者完全不相同时,利用存在的运动向量构建第二候选列表。参考帧索引是指对应的控制点的运动向量的参考帧的图像序列号POC(Picture Order Count)。其中,第二候选列表包括第二数量的运动向量候选组,使运动向量候选组CPMV的总数进一步增加。例如,第二预设数量为5,步骤S12中构建了3个CPMV,则在步骤S13中最多再构建2个CPMV,使仿射融合模式的候选列表尽可能充满。
步骤S14,利用第一候选列表和第二候选列表获取每个子块的最终运动向量。
构建第一候选列表和第二候选列表之后,如果仿射融合模式的候选列表充满,可以进一步从中筛选出最佳运动向量候选列表,进而获取每个子块的最终运动向量,完成当前块的运动补偿,获得帧间预测的预测值。具体过程将在下面描述。
本申请在第一候选列表中的运动向量候选组的数量小于能够存放的最大值时,继续构建第二候选列表,而不是直接采用零向量候选组进行填充,从而能够在更多的非零运动向量候选组中进行进一步筛选,使最终获得的每个子块的最终运动向量更加准确,使帧间预测的结果更加精准。
在一些实施方式中,请参阅图3,图3为图1中步骤S13一实施方式的流程示意图,即可通过如下步骤利用至少两个控制点所在子块的运动向量构建第二候选列表:
步骤S21,遍历预设公式列表中符合预设条件的公式,其中,预设条件为公式仅包括至少两个控制点所在子块中部分或全部控制点所在子块的运动向量。
运动向量候选组CPMV中包括两个(V0’和V1’)或者三个(V0’、V1’和V2’)控制点的运动向量,分别需要四个控制点所在子块的四个运动向量LTMV、RTMV、LBMV、RBMV中的两个或者三个组建的公式进行计算。本实施方式组分6组公式,形成预设公式列表,具体请参阅表2,其中,使用某一组公式的前提为该组公式中包括的运动向量均存在且对应的参考帧索引不完全相同或完全不相同。
表2预设公式列表
公式序号 | 公式 |
1 | V0’=LTMV,V1’=RTMV,V2’=LBMV |
2 | V0’=LTMV,V1’=RTMV,V2’=RBMV+LTMV-RTMV |
3 | V0’=LTMV,V1’=RBMV+LTMV-LBMV,V2’=LBMV |
4 | V0’=RTMV+LBMV-RBMV,V1’=RTMV,V2’=LBMV |
5 | V0’=LTMV,V1’=RTMV |
6 | V0’=LTMV,V1’=(V1x,V1y) |
其中,V1x=LTx+((LBx-LTx)<<(Log2[Width]-Log2[Height])),V1y=LTy-((LBy-LTy)<<(Log2[Width]-Log2[Height])),Width和Height分别表示当前块的宽和高。
步骤S22,利用公式获得一个运动向量候选组,并将第二数量加1以更新第二数量,其中,运动向量候选组包括的初始运动向量的数量与公式包括的控制点所在子块的运动向量的数量一致。
遍历至某一个公式时,例如公式1,利用该公式1计算V0’、V1’和V2’,获得一个运动向量候选组CPMV,并将第二数量加1,以更新第二数量,从而可以判断第一数量和第二数量之和是否等于第二预设数量,即判断候选列表是否充满。
步骤S23,响应于第二数量等于预设数量减去第一数量,停止遍历过程,以获得第二候选列表。
如果第二数量等于预设数量减去第一数量,说明候选列表已经充满,停止遍历过程,获得第二候选列表。当然,如果遍历至预设公式列表中的最后一个公式时,第一数量和第二数量之和仍然小于第二预设数量,则自动停止遍历过程,同样获得第二候选列表。在大部分的实施场景中,构建第二候选列表之后,能够使候选列表充满。如果未充满,则采用零向量候选组填充至充满。
下面以一个具体的应用场景说明构建第二候选列表的过程。假设左上、右上、左下、右下四个控制点所在子块的运动向量中LTMV、RTMV、LBMV三个运动向量存在,且LTMV和LBMV的参考帧索引均为0,RTMV的参考帧索引为1,则可以依次使用表2中的公式1、公式5和公式6获得3个运动向量候选组。如果第二预设数量为5,第一数量小于或等于2,则公式1、公式5和公式6都被使用;如果第一数量为3,则依次使用公式1和公式5获得2个运动向量候选组;如果第一数量为4,则只使用公式1获得1个运动向量候选组;如果第一数量为5,则不构建第二候选列表。
进一步地,在上述步骤S22之后,即在利用公式获得一个运动向量候选组的步骤之前,还包括如下步骤:
利用公式包括的控制点所在子块的运动向量的参考帧索引将对应的控制点所在子块的运动向量进行缩放。
不同控制点所在子块的运动向量的参考帧索引可能不相同,导致通过公式计算出的运动向量候选组的初始运动向量有偏差,需要对控制点所在子块的运动向量进行缩放,获得更准确的初始运动向量。具体地,首先任意选定一个位置的运动向量作为基准运动向量,然后将待缩放运动向量乘以缩放系数,得到更新后的运动向量。缩放系数等于当前帧POC与基准运动向量POC的差值除以当前帧POC与待缩放运动向量POC的差值。
下面以一个具体的应用场景说明初始运动向量的缩放过程。假设四个控制点所在子块的运动向量中LTMV、RTMV、LBMV三个运动向量存在,且LTMV和LBMV的POC均为0,RTMV的POC为1,当前帧的POC引为2,则可以用表2中的公式1获取三个初始运动向量,在此之前,选定LTMV为基准运动向量,由于LTMV和LBMV的POC相同,说明LBMV与基准运动向量LTMV相同,不需要进行缩放,只需要对RTMV进行缩放。缩放系数利用如下公式(1)进行计算:
所以缩放之后的RTMVnew=2RTMV。进一步使用表2中的公式1计算三个初始运动向量,V0’=LTMV,V1’=2RTMV,V2’=LBMV。
本实施方式在仿射融合模式的运动向量候选列表未充满时,采用预设公式列表中符合条件的公式继续构建运动向量候选组,而且运用公式计算初始运动向量之前,对控制点所在子块的运动向量进行缩放,进而计算出更准确的初始运动向量,从而能够在更多的非零运动向量候选组中进行进一步筛选,使最终获得的每个子块的最终运动向量更加准确,使帧间预测的结果更加精准。
在一些实施方式中,请参阅图4,图4为图3中步骤S22之后包括的步骤一实施方式的流程示意图,即在利用公式获得一个运动向量候选组的步骤之后,还包括如下步骤:
步骤S31,判断第一候选列表中是否存在与利用公式获得的运动向量候选组相同的运动向量候选组。
当利用表2中的某个公式获得一个运动向量候选组之后,其可能与第一候选列表中的某个运动向量候选组相同,因此,需要先判断第一候选列表中是否存在与该运动向量候选组相同的运动向量候选组,以进一步判断是否需要将第二数量加1,即是否需要将该运动向量候选组填充进第二候选列表。
步骤S32,如果存在,则删除利用公式获得的运动向量候选组。
如果第一候选列表中存在与利用公式获得的运动向量候选组相同的运动向量候选组,说明该运动向量候选组没有意义,可以删除。
步骤S33,如果不存在,则执行将第二数量加1以更新第二数量的步骤。
如果第一候选列表中不存在与利用公式获得的运动向量候选组相同的运动向量候选组,说明新构建的运动向量候选组与第一候选列表中的每一个都不相同,则将第二数量加1以更新第二数量,即将新构建的运动向量候选组填充进第二候选列表。
本实施方式在将新构建的运动向量候选组填充入第二候选列表之前进行查重操作,使得候选列表中不出现同样的运动向量候选组,从而能够从更多的非零运动向量候选组中筛选出最佳运动向量候选组,获得更精准的帧间预测结果。
在一些实施方式中,请参阅图5,图5为图4中步骤S31一实施方式的流程示意图,即可能通过如下步骤判断第一候选列表中是否存在与利用公式获得的运动向量候选组相同的运动向量候选组:
步骤S41,遍历第一候选列表中的所有运动向量候选组,并判断当前运动向量候选组与利用公式获得的运动向量候选组中的每个初始运动向量是否一一对应地相同。
运动向量候选组除了包括两个或三个初始运动向量,还包含每个初始运动向量的参考帧信息。要判断两个运动向量候选组是否相同,需要依次判断初始运动向量及对应的参考帧信息是否相同。第一候选列表中可能有多个运动向量候选组,则遍历之,首先判断初始运动向量是否一一对应地相同。
步骤S42,如果相同,则判断当前运动向量候选组与利用公式获得的运动向量候选组中的每个初始运动向量的参考帧是否一一对应地相同。
如果两个运动向量候选组中的初始运动向量一一对应地相同,则进一步判断对应的参考帧是否一一对应地相同。
如果两个运动向量候选组中的初始运动向量不是一一对应地相同,则继续遍历过程,判断第一任列表中的下一个运动向量候选组是否与利用表2中的公式新构建的运动向量候选组相同。
步骤S43,如果相同,则认为第一候选列表中存在与利用公式获得的运动向量候选组相同的运动向量候选组,并停止遍历过程。
如果两个运动向量候选组中初始运动向量的参考帧一一对应地相同,则认为第一候选列表中存在与新构建的运动向量候选组相同的运动向量候选组,可以停止遍历过程,执行上述步骤S32,将相同运动向量候选组相同,并使用表2中的下一组继续构建下一个运动向量候选组。
当然,如果两个运动向量候选组中初始运动向量的参考帧不是一一对应地相同,则继续遍历过程,判断第一候选列表中的下一个运动向量候选组是否与利用表2中的公式新构建的运动向量候选组相同。
本实施方式利用运动向量候选组中的初始运动向量及对应的参考帧信息判断新构建的运动向量候选组是否与第一候选列表中的某一个相同,从而实现构建第二候选列表时的查重操作,使帧间预测的结果更加精准。
在一些实施方式中,请参阅图6,图6为图1中步骤S14一实施方式的流程示意图,即可通过如下步骤利用第一候选列表和第二候选列表获取每个子块的最终运动向量:
步骤S51,从第一候选列表和第二候选列表中构建最佳运动向量候选组,最佳运动向量候选组包含第一控制点的第一最终运动向量和第二控制点的第二最终运动向量,或者包括第一最终运动向量、第二最终运动向量和第三控制点的第三最终运动向量。
为了准确获得到每个子块的最终运动向量,需要获得上述第一控制点、第二控制点和第三控制点对应的的三个最准确的控制点运动向量构成的集合,即最佳运动向量候选组。具体地,从第一候选列表和第二候选列表中构建最佳运动向量候选组4参数仿射模式时,最佳运动向量候选组包含第一控制点的第一最终运动向量V0和第二控制点的第二最终运动向量V1。6参数仿射模式时,最佳运动向量包括第一最终运动向量V0、第二最终运动向量V1和第三控制点的第三最终运动向量V2。
步骤S52,利用最佳运动向量候选组计算每个子块的最终运动向量。
构建最佳运动向量候选组之后,依据该最佳运动向量候选组加权计算每个子块的最终运动向量,以获取当前块的初始预测值。具体计算方法在下面进行描述。
本实施方式利用仿射融合模式构建最佳运动向量候选组,并根据最佳运动向量候选组中的两个或三个控制点的最终运动向量加权计算每个子块的最终运动向量,完成运动补偿,从而获得当前块的初始预测值,算法成熟,能够准确获取初始预测值。
在一些实施方式中,请参阅图7,图7为图6中步骤S51一实施方式的流程示意图,即还可以利用如下步骤从第一候选列表和第二候选列表中构建最佳运动向量候选组:
步骤S61,从第一候选列表和第二候选列表中筛选出至少两个运动向量候选组,至少两个运动向量候选组中每个运动向量候选组包括第一控制点的第一初始运动向量和第二控制点的第二初始运动向量,或者包括第一初始运动向量、第二初始运动向量和第三控制点的第三初始运动向量。
适用于4参数仿射模式时,从第一候选列表和第二候选列表中筛选中的每个运动向量候选组包含第一初始运动向量V0’和第二初始运动向量V1’。适用于6参数仿射模式时,从第一候选列表和第二候选列表中筛选中的每个运动向量候选组包含第一初始运动向量V0’、第二初始运动向量V1’和第三初始运动向量V2’。且后续可以对这些初始运动向量进行修正,使基于仿射融合模式获取到的当前块的初始预测值更加精准。
具体地,可根据率失真代价最优原则从第一候选列表和第二候选列表中选择至少两个,成为上述至少两个运动向量候选组。这个过程中的率失真代价是基于SSE(Sum ofSquared Error)进行计算的。
步骤S62,在筛选出的每个运动向量候选组中,分别为每个初始运动向量添加运动向量偏移以得到对应的最终运动向量。
筛选出至少两个运动向量候选组之后,4参数仿射模式时,在每个运动向量候选组中,为第一初始运动向量V0’添加第一运动向量偏移V0”以得到第一最终运动向量V0,为第二初始运动向量V1’添加第二运动向量偏移V1”以得到第二最终运动向量V1。6参数仿射模式时,为第一初始运动向量V0’添加第一运动向量偏移V0”以得到第一最终运动向量V0,为第二初始运动向量V1’添加第二运动向量偏移V1”以得到第二最终运动向量V1,以及为第三初始运动向量V2’添加第三运动向量偏移V2”以得到第三最终运动向量V2,从而对每个运动向量候选中的每个初始运动向量进行修正,获得更准确的最终运动向量,便于通过后续步骤从这些运动向量候选组中选择最佳运动向量候选组。
步骤S63,分别依据偏移之后的每个运动向量候选组计算每个子块的最终运动向量,并获取每个运动向量候选组对应的率失真代价。
对每个运动向量候选中的每个初始运动向量进行修正得到对应的最终运动向量之后,进一步根据这些最终运动向量计算每个子块的最终运动向量,对当前块进行运动补偿,并获取每个运动向量候选组对应的率失真代价,该初始率失真代价是基于satd(sum ofabsolute transformed difference)进行计算的。
步骤S64,将最小的率失真代价对应的运动向量候选组作为最佳运动向量候选组。
获取每个运动向量候选组对应的率失真代价之后,将率失真代价最小的运动向量候选组作为最佳运动向量候选组,从而使基于仿射融合模式获取到的当前块的初始预测值更加精准。
本实施方式把运动向量候选组扩展为至少两个,并根据率失真代价最优原则从这些运动向量候选组中选择最优运动向量候选组,进而更加准确地获得每个子块的最终运动向量,使基于仿射融合模式获取到的当前块的初始预测值更加精准。
在一些实施方式中,请参阅图8,图8为图7中步骤S62一实施方式的流程示意图,在筛选出的每个运动向量候选组包括第一初始运动向量、第二初始运动向量和第三初始运动向量时,通过如下步骤为三个运动初始运动向量(V0’、V1’和V2’)分别添加运动向量偏移(V0”、V1”和V2”):
步骤S71,从预设的偏移列表中为第三初始运动向量随机选择第三初始偏移。
为了对初始运动向量选择最佳偏移,需要先构建偏移列表。本实施方式中,偏移列表中有20个偏移选项,其中限定了X轴正负方向和Y轴正负方向四个偏移方向,以及1/16-pel、1/8-pel、1/4-pel、1/2-pel和1-pel五个偏移幅值,组合形成20个偏移选项。本实施方式首先从该偏移列表中为第三初始运动向量V2’随机选择一个偏移选项V2”(如Y轴正方向1/16-pel的偏移选项),即此时第三运动向量V2为在第三初始运动向量V2’的基础上沿Y轴正方向偏移1/16-pel。
步骤S72,基于第三初始偏移获取第一初始运动向量的第一运动向量偏移和第二初始运动向量的第二运动向量偏移。
在第三运动向量V2固定为在第三初始运动向量V2’的基础上沿Y轴正方向偏移1/16-pel之后,获取第一初始运动向量V0’的第一运动向量偏移V0”和第二初始运动向量V1’的第二运动向量偏移V1”。这一过程在现有技术中是公知的,此处不再赘述。这里的第一运动向量偏移V0”和第二运动向量偏移V1”均是从偏移列表的20个偏移选项中选出的最佳偏移,即此时的率失真代价最小,记为cost_best_satd。
步骤S73,基于第一运动向量偏移和第二运动向量偏移将第三初始运动向量遍历偏移列表中的每个偏移选项,并选择使率失真代价最小的偏移选项作为第三初始运动向量的第三运动向量偏移。
将第一初始运动向量V0’和第二初始运动向量V1’按对应的最佳偏移进行偏移并固定,即此时第一运动向量V0=V0’+V0”,第二运动向量V1=V1’+V1”,让第三初始运动向量V2’遍历偏移列表中的每个偏移选项,每次偏移之后都进行仿射运动补偿并计算率失真代价,并与cost_best_satd作比较。如果某一次偏移对应的率失真代价小于cost_best_satd,则更新cost_best_satd,直到遍历完每个偏移选项,找出最新的cost_best_satd,也就是选择使率失真代价最小的偏移选项作为第三初始运动向量V2’的第三运动向量偏移V2”,此时第三运动向量V2=V2’+V2”。而且上述步骤S41~S43中涉及到的率失真代价均是基于satd计算的。
为了实现上述编码过程,本实施方式在编码单元定义中添加第二句法元素和第三句法元素,分别用于定义第三运动向量偏移的偏移幅值和偏移方向,例如添加affine_umve_step_idx2和affine_umve_dir_idx2分别表示第三运动向量V2的运动向量偏移幅值和偏移方向。
本实施方式在把运动向量候选组扩展为至少两个的前提下,基于率失真最优原则为每个运动向量候选组中的三个运动向量均选择最佳偏移,并基于率失真最优原则从中选择率失真代价最小的一个运动向量候选计算当前块的各个子块的运动向量,对当前块进行运动补偿,从而更加准确地获得每个子块的最终运动向量,使基于仿射融合模式获取到的当前块的初始预测值更加精准。
请参阅图9,图9为图6中步骤S52之后包括的步骤一实施方式的流程示意图,即在利用最佳运动向量候选组计算每个子块的最终运动向量的步骤之后,还包括如下步骤:
步骤S81,利用每个子块的最终运动向量进行运动补偿,以获得当前块的初始预测值。
获得最佳运动向量候选组之后,根据最佳运动向量候选组中的两个或三个控制点的最终运动向量加权计算每个子块的最终运动向量,之后利用每个子块的最终运动向量可以确定其在参考帧中所指定的参考区域,并将参考区域的像素值填充为子块的像素值,从而获得当前块的初始预测值,并基于satd计算对应的率失真代价,以在后续步骤中对初始预测值进行修正调整。其中,加权计算的公式在现有技术中是公知的,此处不再赘述。
步骤S82,分别将初始预测值调整为第一调整值和第二调整值,其中,第一调整值和第二调整值不相同。
直接基于仿射融合模式获取到的当前块的初始预测值可能不准确,需要对其进行调整。本申请基于梯度调整技术和帧间预测滤波技术对上述初始预测值进行调整。梯度调整技术和帧间预测滤波技术都有两个调整方向,即生成不相同的第一调整值和第二调整值,分别将初始预测值调整为第一调整值和第二调整值,并分别基于satd计算对应的率失真代价。
具体来说,梯度调整技术仅用于双向预测,假设基于仿射融合模式的单向预测得到的当前块的前向预测值和后向预测值分别为pred0和pred1,则初始预测值predBI为前向预测值pred0和后向预测值pred1的均值,第一调整值为初始预测值predBI加上后向预测值pred1再减去前向预测值pred0,第二调整值为初始预测值predBI加上前向预测值pred再减去后向预测值pred1。
也就是说,修正之后的当前块的最终预测值pred可能有如下公式(2)表达的三种情况:
其中,k表示修正强度,例如可以设为固定值3。
另一方面,帧间预测滤波技术对于单身预测和双向预测均适用,即当前块的初始预测值为当前块的单向预测值或者双向预测值,第一调整值为根据第一帧内预测值和初始预测值加权计算所得,第二调整值为根据第二帧内预测值和初始预测值加权计算所得;其中,第一帧内预测值为根据当前像素的四个相邻重建参考像素构建所得,第二帧内预测值为根据当前像素的两个相邻重建参考像素构建所得。
具体地,帧间预测滤波技术有两种模式,帧间预测滤波模式interpf(interpredict filter)和增强帧间预测滤波模式enhanced interpf。上述第一调整值即对应为使用帧间预测滤波模式interpf对初始预测值进行调整,第二调整值即对应为使用增强帧间预测滤波模式enhanced interpf对初始预测值进行调整。
在帧间预测滤波模式interpf中,将当前块的初始预测值记为pred_inter,第一帧内预测值pred_Q1为根据当前像素的正上方、正左方、左下方和右上方的四个相邻重建参考像素构建所得,具体采用如下公式(3)计算第一帧内预测值pred_Q1,再根据如下公开(4)加权计算当前块的最终预测值pred。
pred(x,y)=(pred_inter(x,y)*5+pred_Q1(x,y)*3+4)>>3……(4),
其中,w和h为当前块的宽度和高度,x和y当前块内的相对坐标,Recon(x,y)为周围已重建值。
在增强帧间预测滤波模式enhanced interpf中,将当前块的初始预测值记为pred_inter,第二帧内预测值pred_Q2为根据当前像素的正上方和正左方的两个相邻重建参考像素构建所得,具体采用如下公式(5)计算第二帧内预测值pred_Q2,再根据如下公开(6)计算当前块的最终预测值pred。
pred_Q2(x,y)=f(x)*P(-1,y)+f(y)*P(x,-1)……(5),
pred(x,y)=pred_Q2(x,y)+(1-f(x)-f(y))*pred_inter(x,y)……(6),
其中,P(x,-1)为正上方的参考像素,P(-1,y)为正左方的参考像素,f(x)和f(y)均为查表得到的滤波系数,查表方法为现有技术,此处不再详述。具体的滤波系数表可参考表3。
表3滤波系数表
块宽/高 | 滤波系数(按照行数/列数递减) |
4 | 24,6,2,0 |
8 | 44,25,14,8,4,2,1,1 |
16 | 40,27,19,13,9,6,4,3,2,1 |
32 | 36,27,21,16,12,9,7,5,4,3 |
64 | 52,44,37,31,26,22,18,15,13,11 |
步骤S83,确定初始预测值、第一调整值和第二调整值各自对应的三个率失真代价中的最小值,并从初始预测值、第一调整值和第二调整值中确定对应最小值的一个,作为当前块的最终预测值。
率失真代价作为评价对当前块的初始预测值是否调整以及如何调整的评价标准,因此需要确定初始预测值、第一调整值和第二调整值各自对应的三个率失真代价中的最小值,以通过率失真代价最优原则来确认具体当前块的初始预测值是否需要调整以及采用哪种方式进行调整。
具体地,在对当前块的初始预测值采用梯度调整技术或者帧间预测滤波技术进行调整时,如果初始预测值对应的率失真代价为三者中的最小值,则不对初始预测值进行调整,如果第一调整值对应的率失真代价为三者中的最小值,则将初始预测值调整为第一调整值,如果第二调整值对应的率失真代价为三者中的最小值,则将初始预测值调整为第二调整值。其中,梯度调整技术或者帧间预测滤波技术对应的第一调整值和第二调整值均不相同。
进一步地,为了定义是否需要对初始预测值进行调整以及如何调整,本实施方式在编码单元中生成调整标识,该调整标识包含将初始预测值调整为最终预测值的过程信息。
具体地,在梯度调整技术中,调整标识包括句法元素bgc_flag和bgc_idx,两者均为二值变量,bgc_flag=0表示不使用梯度调整技术(初始率失真代价最小),即最终预测值pred与初始预测值predBI相等,bgc_flag=1表示使用梯度调整技术。在bgc_flag=1的前提下,bgc_idx=0和bgc_idx=1分别对应将第一调整值(第一率失真代价最小)和第二调整值(第二率失真代价最小)作为最终预测值pred。可用如下公式(7)表示pred的取值:
具体地,在帧间预测滤波技术中,调整标识包括句法元素bInterFilterFlag。其中,bInterFilterFlag=0表示不使用帧间预测滤波技术(初始率失真代价最小),即最终预测值pred与初始预测值pred_inter相等。bInterFilterFlag=10表示使用帧间预测滤波模式interpf对初始预测值pred_inter进行调整,将利用初始预测值pred_inter和第一帧内预测值pred_Q1加权计算得到的第一调整值(第一率失真代价最小)作为最终预测值pred。bInterFilterFlag=11表示使用增强帧间预测滤波模式enhanced interpf对初始预测值pred_inter进行调整,将利用初始预测值pred_inter和第二帧内预测值pred_Q2加权计算得到的第二调整值(第二率失真代价最小)作为最终预测值pred。可用如下公式(8)表示pred的取值:
其中,第一帧内预测值pred_Q1和第二帧内预测值pred_Q2的计算可参见上述公式(3)和公式(5)。
本实施方式在获取到初始预测值之后,采用两种方式对其进行调整,并通过率失真代价最优原则来确认具体是否需要调整以及采用哪种方式进行调整。因此,本实施方式能够对通过仿射融合模式获取到的当前块的初始预测值进行修正,使帧间预测的结果更加精准。
此外,本申请还提供一种视频编码方法,请参阅图10,图10为本申请视频编码方法一实施方式的流程示意图,该视频编码方法包括如下步骤:
步骤S91,获取当前块中每个子块的最终运动向量。
本实施方式中,当前块的每个子块的最终运动向量是利用上述任一实施方式所述的帧间预测方法获取的,具体可参阅上述任一实施方式,此处不再赘述。
步骤S92,基于每个子块的最终运动向量获取当前块的像素值,以对当前块进行编码。
具体地,在得到每个子块的最终运动向量之后,对每个子块进行运动补偿,从参考区域获得每个子块的像素值,从而得到当前块的像素值。在不同的应用场景中,还可以选择上述实施方式所述的调整方法对当前块的像素值进行调整,然后依据当前块的像素值对当前块进行编码。
本实施方式在第一候选列表中的运动向量候选组的数量小于能够存放的最大值的前提下,继续构建第二候选列表,而不是直接采用零向量候选组进行填充,从而能够在更多的非零运动向量候选组中进行进一步筛选,使最终获得的每个子块的最终运动向量更加准确,使帧间预测的结果更加精准,进而能够提高编码的各项性能。
请参阅图11,图11为本申请电子设备一实施方式的结构示意图,该电子设备包括相互耦接的存储器101和处理器102,其中,存储器101上存储有程序指令,处理器102用于执行该程序指令,以实现如上述各实施方式所述的帧间预测方法,或者实现如上述实施方式所述的视频编码方法。具体地,电子设备可以包括但不限于:服务器、微型计算机、平板电脑、手机等电子设备,在此不做限定。
具体而言,处理器102用于控制其自身以及存储器101以实现上述任一实施方式所述的帧间预测方法中的步骤,或实现上述任一实施方式所述的视频编码方法中的步骤,具体可参阅上述各实施方式,此处不再赘述。处理器102还可以称为CPU(Central ProcessingUnit,中央处理单元)。处理器102可能是一种集成电路芯片,具有信号的处理能力。处理器102还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器102可以由多个集成电路芯片共同实现。
本实施方式可以使帧间预测的结果更加精准。
请参阅图12,图12为本申请计算机可读存储介质一实施方式的结构示意图,该存储介质200上存储有程序指令211,该程序指令211能够被处理器执行以实现如上述各实施方式所述的帧间预测方法,或者实现如上述实施方式所述的视频编码方法。具体可参阅上述各实施方式,此处不再赘述。本实施方式可以使帧间预测的结果更加精准。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (18)
1.一种帧间预测方法,其特征在于,包括:
将当前块划分为多个尺寸相同的子块,并确定第一预设数量的控制点所在的子块;
从所述当前块的相邻已编码块中构建第一候选列表,其中,所述第一候选列表包括第一数量的运动向量候选组,所述运动向量候选组包括所述第一预设数量的控制点中至少两个控制点的初始运动向量;
响应于所述第一数量小于第二预设数量,且所述至少两个控制点所在子块存在运动向量且对应的参考帧索引不完全相同或者完全不相同,利用所述至少两个控制点所在子块的所述运动向量构建第二候选列表,其中,所述第二候选列表包括第二数量的所述运动向量候选组,且所述第二数量与所述第一数量之和小于或等于所述第二预设数量;
利用所述第一候选列表和所述第二候选列表获取每个所述子块的最终运动向量;
其中,所述利用所述至少两个控制点所在子块的所述运动向量构建第二候选列表的步骤包括:
遍历预设公式列表中符合预设条件的公式,其中,所述预设条件为所述公式仅包括所述至少两个控制点所在子块中部分或全部所述控制点所在子块的所述运动向量;
利用所述公式获得一个所述运动向量候选组,并将所述第二数量加1以更新所述第二数量,其中,所述运动向量候选组包括的所述初始运动向量的数量与所述公式包括的所述控制点所在子块的所述运动向量的数量一致;
响应于所述第二数量等于所述预设数量减去所述第一数量,停止遍历过程,以获得所述第二候选列表。
2.根据权利要求1所述的帧间预测方法,其特征在于,所述利用所述公式获得一个所述运动向量候选组的步骤之前,还包括:
利用所述公式包括的所述控制点所在子块的所述运动向量的所述参考帧索引将对应的所述控制点所在子块的所述运动向量进行缩放。
3.根据权利要求1所述的帧间预测方法,其特征在于,所述利用所述公式获得一个所述运动向量候选组的步骤之后,还包括:
判断所述第一候选列表中是否存在与利用所述公式获得的所述运动向量候选组相同的所述运动向量候选组;
如果存在,则删除所述利用所述公式获得的所述运动向量候选组;
如果不存在,则执行所述将所述第二数量加1以更新所述第二数量的步骤。
4.根据权利要求3所述的帧间预测方法,其特征在于,所述运动向量候选组还包括对应的所述初始运动向量的参考帧,所述判断所述第一候选列表中是否存在与利用所述公式获得的所述运动向量候选组相同的所述运动向量候选组的步骤包括:
遍历所述第一候选列表中的所有所述运动向量候选组,并判断当前运动向量候选组与所述利用所述公式获得的所述运动向量候选组中的每个所述初始运动向量是否一一对应地相同;
如果相同,则判断所述当前运动向量候选组与所述利用所述公式获得的所述运动向量候选组中的每个所述初始运动向量的所述参考帧是否一一对应地相同;
如果相同,则认为所述第一候选列表中存在与利用所述公式获得的所述运动向量候选组相同的所述运动向量候选组,并停止所述遍历过程。
5.根据权利要求1所述的帧间预测方法,其特征在于,所述第一预设数量为四个,四个所述控制点分别位于所述当前块的左上、右上、左下和右下位置处,其中,第四控制点位于所述右下位置处。
6.根据权利要求5所述的帧间预测方法,其特征在于,还包括:
在编码单元定义中添加第一句法元素,所述第一句法元素用于定义所述四个控制点中第一控制点、第二控制点和第三控制点在所述当前块中的位置。
7.根据权利要求6所述的帧间预测方法,其特征在于,所述利用所述第一候选列表和所述第二候选列表获取每个所述子块的最终运动向量的步骤包括:
从所述第一候选列表和所述第二候选列表中构建最佳运动向量候选组,所述最佳运动向量候选组包括所述第一控制点的第一最终运动向量和所述第二控制点的第二最终运动向量,或者包括所述第一最终运动向量、所述第二最终运动向量和所述第三控制点的第三最终运动向量;
利用所述最佳运动向量候选组计算每个所述子块的最终运动向量。
8.根据权利要求7所述的帧间预测方法,其特征在于,所述从所述第一候选列表和所述第二候选列表中构建最佳运动向量候选组的步骤包括:
从所述第一候选列表和所述第二候选列表中筛选出至少两个所述运动向量候选组,所述至少两个所述运动向量候选组中每个所述运动向量候选组包括所述第一控制点的第一初始运动向量和所述第二控制点的第二初始运动向量,或者包括所述第一初始运动向量、所述第二初始运动向量和所述第三控制点的第三初始运动向量;
在筛选出的每个所述运动向量候选组中,分别为每个初始运动向量添加运动向量偏移以得到对应的最终运动向量;
分别依据偏移之后的每个所述运动向量候选组计算每个所述子块的最终运动向量,并获取筛选出的每个所述运动向量候选组对应的率失真代价;
将最小的所述率失真代价对应的所述运动向量候选组作为所述最佳运动向量候选组。
9.根据权利要求8所述的帧间预测方法,其特征在于,当筛选出的每个所述运动向量候选组包括所述第一初始运动向量、所述第二初始运动向量和所述第三初始运动向量时,所述在筛选出的每个所述运动向量候选组中,分别为每个初始运动向量添加运动向量偏移以得到对应的最终运动向量的步骤包括:
从预设的偏移列表中为所述第三初始运动向量随机选择第三初始偏移;
基于所述第三初始偏移获取所述第一初始运动向量的所述第一运动向量偏移和所述第二初始运动向量的所述第二运动向量偏移;
基于所述第一运动向量偏移和所述第二运动向量偏移将所述第三初始运动向量遍历所述偏移列表中的每个偏移选项,并选择使所述率失真代价最小的所述偏移选项作为所述第三初始运动向量的所述第三运动向量偏移。
10.根据权利要求9所述的帧间预测方法,其特征在于,还包括:在编码单元定义中添加第二句法元素和第三句法元素,所述第二句法元素和所述第三句法元素分别用于定义所述第三运动向量偏移的偏移幅值和偏移方向。
11.根据权利要求7所述的帧间预测方法,其特征在于,所述利用所述最佳运动向量候选组计算每个所述子块的最终运动向量的步骤之后,还包括:
利用每个所述子块的所述最终运动向量进行运动每个子块的最终运动向量补偿,以获得所述当前块的初始预测值;
分别将所述初始预测值调整为第一调整值和第二调整值,其中,所述第一调整值和所述第二调整值不相同;
确定所述初始预测值、所述第一调整值和所述第二调整值各自对应的三个率失真代价中的最小值,并从所述初始预测值、所述第一调整值和所述第二调整值中确定对应所述最小值的一个,作为所述当前块的最终预测值。
12.根据权利要求11所述的帧间预测方法,其特征在于,所述初始预测值为所述当前块的前向预测值和后向预测值的均值,所述第一调整值为所述初始预测值加上所述后向预测值再减去所述前向预测值,所述第二调整值为所述初始预测值加上所述前向预测值再减去所述后向预测值。
13.根据权利要求11所述的帧间预测方法,其特征在于,所述初始预测值为所述当前块的单向预测值或者双向预测值,所述第一调整值为根据第一帧内预测值和所述初始预测值加权计算所得,所述第二调整值为根据第二帧内预测值和所述初始预测值加权计算所得;其中,所述第一帧内预测值为根据当前像素的四个相邻重建参考像素构建所得,所述第二帧内预测值为根据所述当前像素的两个所述相邻重建参考像素构建所得。
14.根据权利要求13所述的帧间预测方法,其特征在于,所述第一帧内预测值为根据所述当前像素的正上方、正左方、左下方和右上方的四个所述相邻重建参考像素构建所得,所述第二帧内预测值为根据所述当前像素的正上方和正左方的两个所述相邻重建参考像素构建所得。
15.根据权利要求1所述的帧间预测方法,其特征在于,所述第二预设数量为仿射融合模式最多能够存放的所述运动向量候选组的数量。
16.一种视频编码方法,其特征在于,包括:
获取当前块中每个子块的最终运动向量,其中,所述每个子块的所述最终运动向量是利用如权利要求1-15任一项所述的帧间预测方法获取的;
基于所述每个子块的所述最终运动向量获取所述当前块的像素值,以对所述当前块进行编码。
17.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述存储器存储有程序指令,所述处理器用于执行所述程序指令,以实现如权利要求1-15任一项所述的帧间预测方法,或者实现如权利要求16所述的视频编码方法。
18.一种计算机可读存储介质,其特征在于,所述存储介质上存储有程序指令,所述程序指令能够被处理器执行以实现如权利要求1-15任一项所述的帧间预测方法,或者实现如权利要求16所述的视频编码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010790548.6A CN112055221B (zh) | 2020-08-07 | 2020-08-07 | 一种帧间预测方法、视频编码方法及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010790548.6A CN112055221B (zh) | 2020-08-07 | 2020-08-07 | 一种帧间预测方法、视频编码方法及电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112055221A CN112055221A (zh) | 2020-12-08 |
CN112055221B true CN112055221B (zh) | 2021-11-12 |
Family
ID=73601350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010790548.6A Active CN112055221B (zh) | 2020-08-07 | 2020-08-07 | 一种帧间预测方法、视频编码方法及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112055221B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11582474B2 (en) * | 2020-08-03 | 2023-02-14 | Alibaba Group Holding Limited | Systems and methods for bi-directional gradient correction |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108432250A (zh) * | 2016-01-07 | 2018-08-21 | 联发科技股份有限公司 | 用于视频编解码的仿射帧间预测的方法及装置 |
CN110876065A (zh) * | 2018-08-29 | 2020-03-10 | 华为技术有限公司 | 候选运动信息列表的构建方法、帧间预测方法及装置 |
WO2020141911A1 (ko) * | 2019-01-02 | 2020-07-09 | 엘지전자 주식회사 | 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치 |
-
2020
- 2020-08-07 CN CN202010790548.6A patent/CN112055221B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108432250A (zh) * | 2016-01-07 | 2018-08-21 | 联发科技股份有限公司 | 用于视频编解码的仿射帧间预测的方法及装置 |
CN110876065A (zh) * | 2018-08-29 | 2020-03-10 | 华为技术有限公司 | 候选运动信息列表的构建方法、帧间预测方法及装置 |
WO2020141911A1 (ko) * | 2019-01-02 | 2020-07-09 | 엘지전자 주식회사 | 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치 |
Non-Patent Citations (2)
Title |
---|
CE4: Affine motion compensation with fixed sub-block size (Test 1.1);Huanbang Chen;《Joint Video Experts Team (JVET)》;20180703;全文 * |
H.266/VVC视频编码帧间预测关键技术研究;周芸等;《广播与电视技术》;20200731(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112055221A (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111385569B (zh) | 一种编解码方法及其设备 | |
US11363294B2 (en) | Image processing method and image processing device | |
CN110677675B (zh) | 高效的仿射Merge运动矢量推导的方法、装置及存储介质 | |
CN111050182B (zh) | 运动矢量的预测方法、视频编码方法及相关设备、装置 | |
TWI709332B (zh) | 基於更新的運動矢量的運動預測 | |
CN109804626A (zh) | 用于对图像进行编码和解码的方法和设备以及用于存储比特流的记录介质 | |
CN107396102B (zh) | 一种基于Merge技术运动矢量的帧间模式快速选择方法及装置 | |
CN113273213A (zh) | 图像编码/解码方法和设备以及存储比特流的记录介质 | |
CN110557644A (zh) | 一种编解码方法、装置及其设备 | |
JP2010504010A (ja) | ビデオシーケンスにおけるデータ圧縮方法 | |
CN112585976A (zh) | 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质 | |
CN108989799B (zh) | 一种编码单元参考帧的选择方法、装置及电子设备 | |
CN113794878B (zh) | 一种编解码方法、装置及其设备 | |
TW202007154A (zh) | 交織預測的改善 | |
CN112055203A (zh) | 帧间预测方法、视频编码方法及其相关装置 | |
CN112055221B (zh) | 一种帧间预测方法、视频编码方法及电子设备和存储介质 | |
US20080112631A1 (en) | Method of obtaining a motion vector in block-based motion estimation | |
CN113228681A (zh) | 图像编码/解码方法和装置以及存储比特流的记录介质 | |
CN112004091B (zh) | 帧间预测方法及其相关装置 | |
CN112565768A (zh) | 一种帧间预测方法、编解码系统及计算机可读存储介质 | |
CN112055202B (zh) | 一种帧间预测方法、视频编码方法及电子设备和存储介质 | |
CN112601081B (zh) | 一种自适应分区多次预测方法及装置 | |
CN112954365A (zh) | Hevc帧间运动估算像素搜索改进方法 | |
KR20110134404A (ko) | 화상 데이터의 블록을 예측하는 방법, 이 방법을 실행하는 복호 장치 및 부호화 장치 | |
TW202025726A (zh) | 部分交織的預測 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |