一种基于VVC中自适应运动矢量精度的快速方法及装置与流程

专利2022-05-09  2


本发明涉及视频编码技术中的vvc编码技术领域,特别涉及一种基于vvc中自适应运动矢量精度的快速方法及装置。



背景技术:

目前,高效率视频编码(highefficiencyvideocoding,简称hevc)已经得到广泛的商用,然而这仍然满足不了日益增长的视频需求。因此,itu-t视频编码专家组(vceg)和iso/iec运动图像专家组(mpeg)成立了联合视频专家组jvet(jointvideoexplorationteam)以研究新一代视频编码技术。jvet于2018年4月10日在美国圣地亚哥会议上,发布了新一代视频编码技术的草案,将新视频标准命名为多功能视频编码(versatilevideocoding,简称vvc)。它的设计具有两个主要目标,首先是要指定一种视频编码技术,其压缩能力要远远超出此类标准的前几代,其次是该技术具有高度通用性,可以有效地用于比先前标准所涉及的更广泛的应用中。新一代标准引入了许多新的编码工具,例如采用qtmt(quadtreewithmulti-typetree)划分结构取代了hevc的四叉树划分,自适应的运动矢量精度以及基于affine(仿射)的运动补偿技术等工具,这些工具虽然显著的提高了编码效率,但是也极大的增加了编码器的时间复杂度。如此高的复杂度不利于今后标准的使用和推广,所以减少编码器的编码时间是非常重要的。

自适应运动矢量精度(adaptivemotionvectorresolution,简称amvr)是vvc中一种新增的帧间编码工具。在上一代编码标准hevc中,对运动矢量差的编码固定为1/4像素精度,因此编码时和解码时都默认运动估计的精度为1/4精度。由于在某些运动比较剧烈的超高清视频下,运动估计得到的运动矢量很大导致编码比特极具增加,因此vvc采纳了一种自适应运动矢量精度的算法。该算法既用于普通运动估计(简称cme)又用于仿射运动估计(affinemotionestimation,简称ame),对于普通运动估计(cme)来说,运动矢量的精度可以是1/4、1/2、1和4,对于仿射运动估计(ame)来说,运动矢量的精度可以是1/16、1/4和1。在编码时通过传输一个标志位来表示当前运动矢量的精度,标志位用索引imv表示,imv和运动矢量精度的关系如下表1所示。

表1

编码器会按照imv=0、1、2、3的次序遍历,由此得到不同精度的运动矢量,每种模式的每一种imv下会计算其率失真代价(综合码率和失真的评价指标,该值越小代表当前模式的性能越好),率失真代价最小的精度作为最优精度。虽然在官方提供的vvc参考编码器vtm中已经存在与amvr(包括普通amvr和仿射amvr)相关的加速方法,但是amvr所占编码时间依然很大。因此如何降低amvr所占编码时间,提高vvc编码效率是一个亟待解决的问题。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题。为此,本发明提出一种基于vvc中自适应运动矢量精度的快速方法及装置,能够减少amvr的计算复杂度,提高vvc编码效率,提升编码器性能。

本发明的第一方面,提供了一种基于vvc中自适应运动矢量精度的快速方法,包括以下步骤:

获取编码单元于普通amvr过程的1/4精度cme的最优mv水平分量和最优mv垂直分量;

当所述编码单元于affineamvr过程遍历至1/16精度,且所述1/4精度cme的最优mv水平分量等于0,则在细化搜索cpmv的周围八个点时,仅插值垂直方向的1/16像素点;或者,当所述编码单元于affineamvr过程遍历至1/16精度,且所述1/4精度cme的最优mv垂直分量等于0,则在细化搜索cpmv的周围八个点时,仅插值水平方向的1/16像素点。

根据本发明的实施例,至少具有如下技术效果:

如果1/4精度cme的最优mv水平分量等于0,意味着该编码单元在做垂直方向的运动,因此在ame可以只搜索垂直方向的两个点,即只搜索上方和下方的两个点。如果1/4精度cme的最优mv垂直分量等于0,意味着该编码单元在做水平方向的运动,因此在ame可以只搜索水平方向的两个点,即只搜索左侧和右侧的两个点。本方法简化了1/16精度的仿射运动估计,减少affineamvr的计算复杂度,提高了vvc编码效率,提升了编码器性能。

根据本发明的一些实施例,所述获取编码单元于普通amvr过程的1/4精度cme的最优mv水平分量和最优mv垂直分量,之后还包括步骤:

当所述编码单元于普通amvr过程满足第一跳过条件,则跳过普通amvr过程的1精度cme、4精度cme以及1/2精度cme;其中所述第一跳过条件包括:所述编码单元的尺寸超出第一阈值;或者,所述编码单元的尺寸未超出第一阈值且所述编码单元的平均梯度值未超出第二阈值。在对仿射amvr的1/16精度搜索过程进行改进的基础上,进一步对普通amvr的过程进行改进,一方面简化了1/16精度的仿射运动估计;另一方面当编码单元的尺寸大于或等于某个尺寸时就跳过1/2,1,4精度的运动矢量搜索过程,若该编码单元的尺寸没有大于或等于该尺寸时,进一步判断该编码单元的平均梯度值是否小于预设的阈值,若该编码单元的平均梯度值小于预设的阈值时,就跳过1/2,1,4精度的运动矢量搜索过程。本方法减少普通amvr和affineamvr的计算复杂度,提高了vvc编码效率,提升了编码器性能。

根据本发明的一些实施例,还包括步骤:

当所述编码单元于affineamvr过程遍历至1精度,且所述编码单元跳过普通amvr过程的1精度cme、4精度cme以及1/2精度cme,且1/4精度ame的cpmv满足第二跳过条件,则跳过1精度ame;其中所述第二跳过条件包括:

或者,

表示左上角cpmv的模长,表示右上角cpmv的模长,表示左下角cpmv模长,表示1/4精度cme得到的最优mvd,其中mvd0、mvd1、mvd2以及mvdcme均为单向预测且参考帧为同一帧。如果普通amvr优化方法已经确定可以跳过低精度的cme(即跳过1精度cme、4精度cme以及1/2精度cme,仅保留1/4精度cme),则说明当前高精度的性能收益更好。再加上1/4精度ame的平均控制点运动矢量差cpmvd小于1/4精度的cme的mvd则更能说明ame的1精度是没有必要的。因此进一步对1精度affineamvr过程进行改进,有选择的跳过1精度ame,能够减少affineamvr的计算复杂度,提高了vvc编码效率,提升了编码器性能。而且相较于第二实施例,本方法实施例的效果更优。

根据本发明的一些实施例,计算所述编码单元的平均梯度值包括步骤:

根据sobel算子,计算所述编码单元的梯度值:

根据所述编码单元的梯度值,计算所述编码单元的平均梯度值:

其中,所述w和所述h分别表示所述编码单元的宽和高,所述p表示3×3大小的亮度像素矩阵,所述gx表示对所述p进行水平梯度检测得到的结果,所述gy表示对所述p进行垂直梯度检测得到的结果。

根据本发明的一些实施例,所述第一阈值为4096。将第一阈值设为4096,能够取得最佳的实验效果。

根据本发明的一些实施例,所述第二阈值为100。将第二阈值设为100,能够取得最佳的实验效果。

本发明的第二方面,提供了一种基于vvc中自适应运动矢量精度的快速装置,包括:

普通amvr编码单元,用于获取编码单元于普通amvr过程的1/4精度cme的最优mv水平分量和最优mv垂直分量;

affineamvr编码单元,用于当所述编码单元于affineamvr过程遍历至1/16精度,且所述1/4精度cme的最优mv水平分量等于0,则在细化搜索cpmv的周围八个点时,仅插值垂直方向的1/16像素点;或者,当所述编码单元于affineamvr过程遍历至1/16精度,且所述1/4精度cme的最优mv垂直分量等于0,则在细化搜索cpmv的周围八个点时,仅插值水平方向的1/16像素点。

根据本发明的实施例,至少具有如下技术效果:

如果1/4精度cme的最优mv水平分量等于0,意味着该编码单元在做垂直方向的运动,因此在ame可以只搜索垂直方向的两个点,即只搜索上方和下方的两个点。如果1/4精度cme的最优mv垂直分量等于0,意味着该编码单元在做水平方向的运动,因此在ame可以只搜索水平方向的两个点,即只搜索左侧和右侧的两个点。本装置简化了1/16精度的仿射运动估计,减少affineamvr的计算复杂度,提高了vvc编码效率,提升了编码器性能。

根据本发明的一些实施例,所述普通amvr编码单元还用于当所述编码单元于普通amvr过程满足第一跳过条件,则跳过普通amvr过程的1精度cme、4精度cme以及1/2精度cme;其中所述第一跳过条件包括:所述编码单元的尺寸超出第一阈值;或者,所述编码单元的尺寸未超出第一阈值且所述编码单元的平均梯度值未超出第二阈值。本装置在对仿射amvr的1/16精度搜索过程进行改进的基础上,进一步对普通amvr的过程进行改进,一方面简化了1/16精度的仿射运动估计;另一方面当编码单元的尺寸大于或等于某个尺寸时就跳过1/2,1,4精度的运动矢量搜索过程,若该编码单元的尺寸没有大于或等于该尺寸时,进一步判断该编码单元的平均梯度值是否小于预设的阈值,若该编码单元的平均梯度值小于预设的阈值时,就跳过1/2,1,4精度的运动矢量搜索过程。本装置减少普通amvr和affineamvr的计算复杂度,提高了vvc编码效率,提升了编码器性能。

本发明的第三方面,提供了一种基于vvc中自适应运动矢量精度的快速设备,包括:至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如本发明第一方面所述的基于vvc中自适应运动矢量精度的快速方法。

本发明的第四方面,提供了计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本发明第一方面所述的基于vvc中自适应运动矢量精度的快速方法。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明的普通amvr和affineamvr的具体流程示意图;

图2为本发明第一实施例提供的cpmv八点搜索点位图;

图3为本发明第一实施例提供的amvr选择概率分布图;

图4为本发明第一实施例提供的一种基于vvc中自适应运动矢量精度的快速方法的流程示意图;

图5为本发明第二实施例提供的一种基于vvc中自适应运动矢量精度的快速方法的流程示意图;

图6为本发明第三实施例提供的一种基于vvc中自适应运动矢量精度的快速方法的流程示意图;

图7为本发明第三实施例提供的4参数仿射模型和6参数仿射模型的逻辑示意图;

图8为本发明第三实施例提供的mvd与精度之间编码消耗比特差异的示意图;

图9为本发明第四实施例提供的p矩阵像素位置图;

图10为本发明第五实施例提供的一种基于vvc中自适应运动矢量精度的快速方法的流程示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

本发明的目的是针对vvc编码的帧间编码中amvr工具耗时较长的缺陷和不足,提出一种针对新视频编码标准vvc中amvr的快速方法,用以解决现有标准编码器vtm编码时间长的问题,缩短编码时间,提高其应用性。

为了便于理解,首先对本发明实例所使用到的概念进行介绍(属于本领域技术人员的公知):

第一,主要名词介绍;

amvr:(adaptivemotionvectorresolution)自适应运动矢量精度;

普通amvr:普通自适应运动矢量精度;

affineamvr:(affineadaptivemotionvectorresolution)仿射自适应运动矢量精度;

cu:(codingunit)编码单元;

cme:普通运动估计;

ame:(affinemotionestimation)仿射运动估计;

vvc:(versatilevideocoding)多用途视频编码标准;

cpmv:(controlpointmotionvector)控制点运动矢量;

mv:(motionvector)运动矢量;

mvd:(motionvectordifference)运动矢量差,mvd=mv-mvp;

mvp:(motionvectorprediction)运动矢量预测值;

第二、对amvr(包括普通amvr和affineamvr)过程进行介绍;

普通amvr包含1/4精度普通运动估计(cme)、1精度cme、4精度cme以及1/2精度cme。affineamvr包含1/4精度仿射运动估计(ame)、1/16精度ame、1精度ame。具体流程可参照图1。imv和精度的对应关系可参照上表1。

普通amvr技术就是在所有精度的cme里选择一个最优的精度来编码运动矢量。affineamvr技术就是在所有精度的ame里选择一个最优的精度来编码两个或者三个运动矢量(4参数仿射对应两个,6参数仿射对应三个)。cme技术在ame技术之前执行。

第一实施例;

目前虽然在官方提供的vvc参考编码器vtm中已经存在与amvr(包括普通amvr和仿射amvr)相关的加速方法,但是amvr所占编码时间依然很大。为了降低amvr所占编码时间,提高vvc编码效率,本方法实例提出了对仿射amvr的1/16精度搜索过程进行改进。改进的原理如下:

affineamvr(仿射amvr)包含三个精度的自适应选择过程,按顺序分别是1/4精度,1/16精度和1精度,其中1/4精度是必做的。affineamvr过程需要进行控制点运动矢量的搜索,也就是仿射运动估计(ame)的过程。在vtm中采用了梯度下降迭代的方法来逼近最优控制点运动矢量(cpmv)组合。对于4参数仿射运动模型,ame过程对单向预测进行5次迭代,对双向预测进行3次迭代,而对于6参数仿射运动模型,对于单向预测进行5次迭代,双向预测仍然进行3次迭代,迭代后得到最优cpmv组合。最后还会在每个cpmv的周围八个点进行搜索,搜索的点位图如图2所示,按照当前cpmv周围八个点的编号顺序进行搜素。1/16精度的amvr过程需要插值出1/16像素点,其前置条件是要插值出1/8像素点、1/4像素点和1/2像素点,可见cpmv的搜索过程是非常繁琐的。

仿射运动估计(ame)的1/16精度搜索过程较为精细,在运动估计之前要先把1/16处的8个像素点插值出来,插值过程繁琐,且进行运动估计时尝试周围8个点的1/16像素也加重了编码器的负担。图3展示了不同视频测试序列的amvr选择的概率分布(仅示出了imv=0的部分)。因此,根据图3可知,1/4精度mv编码占据绝大部分cu块。如果能够根据已经获得的编码信息有选择的跳过1/16精度affineamvr的某些耗时模块,将会大大减少affineamvr的计算复杂度,从而减少amvr所占编码时间,提高vvc编码效率,提升vtm编码器性能。

为此,参照图4,本发明实施例提供了一种基于vvc中自适应运动矢量精度的快速方法,包括以下步骤:

步骤s101、获取编码单元于普通amvr过程的1/4精度cme的最优mv水平分量和最优mv垂直分量。

步骤s102、当编码单元于affineamvr过程遍历至1/16精度,且1/4精度cme的最优mv水平分量等于0时,则在细化搜索cpmv的周围八个点时,仅插值垂直方向的1/16像素点;或者,当编码单元于affineamvr过程遍历至1/16精度,且1/4精度cme的最优mv垂直分量等于0时,则在细化搜索cpmv的周围八个点时,仅插值水平方向的1/16像素点。

对于本方法实施例,如果1/4精度cme的最优mv水平分量等于0,意味着该编码单元在做垂直方向的运动,因此在ame可以只搜索垂直方向的两个点,即只搜索上方和下方的两个点。如果1/4精度cme的最优mv垂直分量等于0,意味着该编码单元在做水平方向的运动,因此在ame可以只搜索水平方向的两个点,即只搜索左侧和右侧的两个点。本方法实施例简化了1/16精度的仿射运动估计,减少affineamvr的计算复杂度,提高了vvc编码效率,提升了编码器性能。

第二实施例;

参照图5,在第一实施例的基础上,本发明还提供一个实施例,一种基于vvc中自适应运动矢量精度的快速方法,包括如下步骤:

步骤s201、对编码单元执行普通amvr过程的1/4精度cme,并获取编码单元于普通amvr过程的1/4精度cme的最优mv水平分量和最优mv垂直分量。

步骤s202、当编码单元于普通amvr过程满足跳过条件时,则跳过普通amvr过程的1精度cme、4精度cme以及1/2精度cme;其中跳过条件包括:编码单元的尺寸超出第一阈值;或者,编码单元的尺寸未超出第一阈值且编码单元的平均梯度值未超出第二阈值。

步骤s203、当编码单元于affineamvr过程遍历至1/16精度,且1/4精度cme的最优mv水平分量等于0时,则在细化搜索cpmv的周围八个点时,仅插值垂直方向的1/16像素点;或者,当编码单元于affineamvr过程遍历至1/16精度,且1/4精度cme的最优mv垂直分量等于0时,则在细化搜索cpmv的周围八个点时,仅插值水平方向的1/16像素点。

对于本方法实施例,在第一实施例对仿射amvr的1/16精度搜索过程进行改进的基础上,进一步对普通amvr的过程进行改进。改进的原理如下:

对于普通amvr过程,经过大量实验统计可知,cu尺寸和运动矢量精度的选择有着很强的相关性,编码单元越大所包含的纹理信息越多,越需要更精细的运动矢量来表示其运动,相反,编码单元越小所包含的纹理信息越少,当运动矢量很大的时候使用更低精度的运动矢量所节省的比特数很多,具有更好的率失真性能。所以判断编码单元的尺寸,当大于某个尺寸时,跳过对1/2,1,4精度的运动矢量搜索过程可以节省一定编码时间。

由于自然视频序列中背景块的运动不剧烈,其运动矢量本身很小,所以用低精度表示会损失图像的细节,造成大的失真。用梯度来代表编码单元的复杂程度,纹理越简单的块梯度越小,其运动矢量精度更大概率选择1/4,所以计算编码单元的梯度,如果梯度小于预设的阈值则跳过1/2,1,4精度的运动矢量搜索过程,可以节省一定的编码时间。

对于本方法实施例,在第一实施例对仿射amvr的1/16精度搜索过程进行改进的基础上,进一步对普通amvr的过程进行改进,一方面简化了1/16精度的仿射运动估计;另一方面当编码单元的尺寸大于或等于某个尺寸时就跳过1/2,1,4精度的运动矢量搜索过程,若该编码单元的尺寸没有大于或等于该尺寸时,进一步判断该编码单元的平均梯度值是否小于预设的阈值,若该编码单元的平均梯度值小于预设的阈值时,就跳过1/2,1,4精度的运动矢量搜索过程。本方法实施例减少了普通amvr和affineamvr的计算复杂度,提高了vvc编码效率,提升了编码器性能。而且相较于第一实施例,本方法实施例的效果更优。

第三实施例;

根据第一实施例,由图3可知,1/4精度mv编码占据绝大部分cu块。如果能够根据已经获得的编码信息有选择的跳过1/16精度affineamvr的某些耗时模块,将会大大减少affineamvr的计算复杂度,从而amvr所占编码时间,提高vvc编码效率,从而提升编码器性能。同样的,如果能够根据已经获得的编码信息有选择的跳过1精度affineamvr的某些耗时模块,将会更加减少affineamvr的计算复杂度,得到更优的效果。

于是基于第二实施例,提出本方法实施例,参照图6,一种基于vvc中自适应运动矢量精度的快速方法,包括以下步骤:

步骤s301、对编码单元执行普通amvr过程的1/4精度cme,并获取编码单元于普通amvr过程的1/4精度cme的最优mv水平分量和最优mv垂直分量。

步骤s302、当编码单元于普通amvr过程满足第一跳过条件时,则跳过普通amvr过程的1精度cme、4精度cme以及1/2精度cme;其中第一跳过条件包括:编码单元的尺寸超出第一阈值;或者,编码单元的尺寸未超出第一阈值且编码单元的平均梯度值未超出第二阈值。

步骤s303、当编码单元于affineamvr过程遍历至1/16精度,且1/4精度cme的最优mv水平分量等于0时,则在细化搜索cpmv的周围八个点时,仅插值垂直方向的1/16像素点;或者,当编码单元于affineamvr过程遍历至1/16精度,且1/4精度cme的最优mv垂直分量等于0时,则在细化搜索cpmv的周围八个点时,仅插值水平方向的1/16像素点。

步骤s304、当编码单元于affineamvr过程遍历至1精度,且编码单元跳过普通amvr过程的1精度cme、4精度cme以及1/2精度cme,且1/4精度ame的cpmv满足第二跳过条件时,则跳过1精度ame;其中第二跳过条件包括:

或者,

表示左上角cpmv的模长,表示右上角cpmv的模长,表示左下角cpmv模长,表示1/4精度cme得到的最优mvd,其中mvd0、mvd1、mvd2以及mvdcme均为单向预测且参考帧为同一帧。

其中第二跳过条件包括两个判断的公式需要根据仿射模型参数个数选择,当4参数仿射模型时,则使用当6参数仿射模型时,则使用其中4参数仿射模型和6参数仿射模型如图7所示,图中左图为4参数仿射模型,v0和v1是两个控制点运动矢量。右图为6参数仿射模型,多了一个左下角控制点运动矢量v2,由于4参数仿射模型和6参数仿射模型为本领域技术人员的公知,此处不再细述。

对于本方法实施例,mvd(运动矢量差,mvd=mv-mvp)越大,精度越低cu其编码消耗的比特越少,性能收益越大。如图8所示。

如果普通amvr优化方法已经确定可以跳过低精度的cme(即跳过1精度cme、4精度cme以及1/2精度cme,仅保留1/4精度cme),则说明当前高精度的性能收益更好。再加上1/4精度ame的平均控制点运动矢量差cpmvd小于1/4精度的cme的mvd则更能说明ame的1精度是没有必要的。因此本实施例在第二实施例的基础上,进一步对1精度affineamvr过程进行改进,有选择的跳过1精度ame,减少affineamvr的计算复杂度,提高了vvc编码效率,提升了编码器性能。而且相较于第二实施例,本方法实施例的效果更优。

第四实施例;

为了便于本领域技术人员理解本发明,本方法实施例提供了一种基于vvc中自适应运动矢量精度的快速方法。本方法包括两方面,第一方面针对普通amvr提出的快速方法,第二方面是针对affineamvr提出的快速方法。

一、介绍针对普通amvr提出的快速方法;

第一步:首先计算cu的宽w和高h的乘积,根据公式1判断当前cu是否跳过1,4,1/2精度的amvr过程,如果满足则跳过,否则正常遍历后续amvr,计算公式如下:

w×h≥th1(1)

第二步:利用sobel算子,计算cu块内每个像素点的梯度值g,最后求cu的平均梯度值avggrad。计算公式如下:

w和h分别表示当前cu(编码单元)的宽和高,p表示3×3大小的亮度像素矩阵,像素的排列关系如图9所示,gx表示对对图像p进行水平梯度检测得到的结果,等价于p矩阵中像素点p5的水平梯度。gy表示对图像p进行垂直梯度检测得到的结果,等价于p矩阵中像素点p5的垂直梯度,即在该点同时计算x方向与y方向的梯度。计算出cu块中的每一个像素点的水平梯度和垂直梯度后,取二者算数平方根即可得到图像上每一点的梯度值g。最后根据公式(5)把cu内所有像素点的梯度值相加再求平均值,得到cu的平均梯度用avggrad表示,avggrad的值越大,当前cu的纹理复杂度越高。根据公式(6)判断当前cu是否跳过1,4,1/2精度的amvr过程,如果满足则跳过,否则正常遍历后续amvr。

二、介绍针对affineamvr提出的快速方法;

第一步、当遍历到1/16精度ame时:

如果1/4精度cme的最优mv水平分量等于0,在细化搜索cpmv的周围八个点时,仅插值垂直方向的1/16像素点,即只搜索上方和下方的两个点。

如果1/4精度cme的最优mv垂直分量等于0,在细化搜索cpmv的周围八个点时,仅插值水平方向的1/16像素点,即只搜索左侧和右侧的两个点。

第二步、当遍历到1精度ame时:

如果普通amvr的优化过程已经确定1/4精度为最优精度,且1/4精度ame的控制点运动矢量cpmv满足公式(7)或公式(8)(根据仿射模型参数个数选择),则跳过1精度的affineamvr。

其中4参数仿射模型利用下式:

6参数仿射模型利用下式:

其中表示左上角cpmv的模长,表示右上角cpmv的模长,如果需要的话,表示左下角cpmv模长,是1/4精度cme得到的最优mvd。需要注意的是,这几个模长全部是1/4精度,公式(7)与公式(8)中出现的mvd必须为单向预测且参考帧必须为同一帧,否则不成立。

本实施例产生的有益效果如下:

(1)现有技术在进行普通amvr过程时,要依次尝试1/4精度、1精度、4精度和1/2精度的普通运动估计,本方法可以有效的跳过1精度、4精度以及1/2精度的普通运动估计,减少普通amvr的计算复杂度,提高了vvc编码效率,提升了编码器性能。

(2)现有技术在进行affineamvr过程时,要依次尝试1/4精度、1/16精度和1精度的仿射运动估计,本方法简化了1/16精度的仿射运动估计,并且有条件的跳过1精度仿射运动估计,减少affineamvr的计算复杂度,提高了vvc编码效率,提升了编码器性能。

第五实施例;

为了便于本领域技术人员理解本发明,本方法实施例结合附图10和实验数据,提供了一种基于vvc中自适应运动矢量精度的快速方法。方法主要包括以下步骤:

第一步:首先计算cu的宽w与高h的乘积,如果满足w×h≥th1则跳过1,4,1/2精度的amvr过程,否则正常遍历后续amvr。根据大量实验的结果分析,当th1取4096时,能够准确地跳过不必要的高精度普通amvr过程,并且在不同类型的视频序列和不同量化参数的条件下取得复杂度降低程度和视频客观质量之间的良好平衡。

第二步:计算cu块内每个像素点的梯度值g,求cu的平均梯度值avggrad,如果avggrad<h2,则跳过1,4,1/2精度的amvr过程,否则正常遍历后续amvr。th2为阈值。根据大量实验的结果分析,当th2取100时,能够准确地跳过不必要的高精度普通amvr过程,并且在不同类型的视频序列和不同量化参数的条件下取得复杂度降低程度和视频客观质量之间的良好平衡。

第三步:当遍历到1/16精度affineamvr时,如果cme的最优mv水平分量等于0,在细化搜索cpmv的周围八个点时,仅插值垂直方向的1/16像素点,只搜索上方和下方的两个点。

第四步:当遍历到1/16精度affineamvr时,如果cme的最优mv垂直分量等于0,在细化搜索cpmv的周围八个点时,仅插值水平方向的1/16像素点,只搜索左侧和右侧的两个点。

第五步:如果普通amvr已经确定1/4精度为最优精度且cpmv满足公式(7)或公式(8)(根据仿射模型参数个数选择),则跳过1精度的affineamvr。

为了验证本方法的可行性和性能,将实施例基于vvc官方标准参考编码器vtm8.0上实现,使用encoder_randomaccess_vtm.cfg配置文件,测试序列选择basketballdrive,cactus,racehorses三个运动较为剧烈的序列,其中cactus具有大量的仿射运动,可以较好的反应该算法的效果。编码性能由bdbr(bjotegaarddeltabitrate)和ts两个指标进行评估,bdbr表示在同样的客观质量下两种编码方法的码率差值,能够综合反映视频的码率和质量,其值越大表示提出的算法相较于原算法的码率更高。ts则表示快速算法在原算法的基础上编码时间的缩减程度,其计算公式如下:

其中,tp为将提出的算法加入编码器vtm8.0之后的总编码时间,to为原编码器vtm8.0的总编码时间。经仿真实验得到结果如下表2所示

表2

由表中数据可知,加入本方法之后的编码器与原编码器相比,bdbr平均仅增加0.72%,编码器的平均时间减少了10.81%,说明在码率没有明显增加的情况下,编码器的时间有了大幅度的提升。由此可见,本发明在保证视频主观质量和压缩率的前提下,提高了编码的效率。

第六实施例;

本发明的一个实施例,提供了一种基于vvc中自适应运动矢量精度的快速装置,包括:

普通amvr编码单元,用于获取编码单元于普通amvr过程的1/4精度cme的最优mv水平分量和最优mv垂直分量。

affineamvr编码单元,用于当编码单元于affineamvr过程遍历至1/16精度,且1/4精度cme的最优mv水平分量等于0,则在细化搜索cpmv的周围八个点时,仅插值垂直方向的1/16像素点;或者,当编码单元于affineamvr过程遍历至1/16精度,且1/4精度cme的最优mv垂直分量等于0,则在细化搜索cpmv的周围八个点时,仅插值水平方向的1/16像素点。

进一步地,普通amvr编码单元还用于当编码单元于普通amvr过程满足第一跳过条件,则跳过普通amvr过程的1精度cme、4精度cme以及1/2精度cme;其中第一跳过条件包括:编码单元的尺寸超出第一阈值;或者,编码单元的尺寸未超出第一阈值且编码单元的平均梯度值未超出第二阈值。

进一步地,affineamvr编码单元还用于当编码单元于affineamvr过程遍历至1精度,且编码单元跳过普通amvr过程的1精度cme、4精度cme以及1/2精度cme,且1/4精度ame的cpmv满足第二跳过条件,则跳过1精度ame;其中第二跳过条件包括:

或者,

表示左上角cpmv的模长,表示右上角cpmv的模长,表示左下角cpmv模长,表示1/4精度cme得到的最优mvd,其中mvd0、mvd1、mvd2以及mvdcme均为单向预测且参考帧为同一帧。

需要注意的是,本装置实施例与上述方法实施例是基于同一个发明构思,因此上述方法实施例中的内容同样适用于本装置实施例,因此对于原理和有益效果部分不再重复赘述。

第七实施例;

本发明的一个实施例,提供了一种基于vvc中自适应运动矢量精度的快速设备,该基于vvc中自适应运动矢量精度的快速设备可以是任意类型的智能终端,例如手机、平板电脑、个人计算机等。

具体地,该基于vvc中自适应运动矢量精度的快速设备包括:一个或多个控制处理器和存储器。控制处理器和存储器可以通过总线或者其他方式连接。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中的基于vvc中自适应运动矢量精度的快速设备对应的程序指令/模块。控制处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电缆接头的导体温度计算系统的各种功能应用以及数据处理,即实现上述方法实施例的一种基于vvc中自适应运动矢量精度的快速方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电缆接头的导体温度计算系统的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于控制处理器远程设置的存储器,这些远程存储器可以通过网络连接至该基于vvc中自适应运动矢量精度的快速设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个控制处理器执行时,执行上述方法实施例中的一种基于vvc中自适应运动矢量精度的快速方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,可使得上述一个或多个控制处理器执行上述方法实施例中的一种基于vvc中自适应运动矢量精度的快速方法。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现。本领域技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(readonlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

转载请注明原文地址: https://doc.8miu.com/read-150030.html

最新回复(0)