本发明涉及计算机技术领域,特别涉及一种基于编解码端的几何划分模式预测方法、装置、存储介质及终端。
背景技术:
视频编码主要包括帧内预测、帧间预测、变换、量化、熵编码、环路滤波几个部分。帧间预测技术利用视频相邻帧之间的时域相关性,使用先前已经编码的重构帧作为参考帧,通过运动估计和运动补偿的方法对当前帧(当前正在编码的帧)进行预测,从而去除视频的时间冗余信息。对于一帧图像,在编码过程中不会直接对整帧图像进行处理,需要先划分成大的编码区域(codingtreeunit,ctu),例如64x64、128x128大小。每个ctu可以进一步划分成方形或矩形的编码单元(codingunit,cu)。在过去的视频编码标准中,编码单元cu和预测单元(predictionunit,pu)都是方形或矩形的形状,几何划分预测技术(geometricpartition,geo)则是将一个cu划分成两个多边形的pu。
目前几何划分预测技术只用在merge模式中,在编码端的流程如下,对当前cu,构建geo模式的运动矢量候选列表(mergecandidatelist),从预设的n种模式中选择出最优的模式,并得到最优模式对应的索引geoidx,并且从候选列表中选出两个最优的运动矢量,作为划分后两个多边形pu各自的mv(mv0和mv1分别对应于pu0和pu1),使用mv0对当前cu进行运动补偿得到p0,使用mv1对当前cu进行运动补偿得到p1。由于运动补偿过程需要对方形cu进行补偿,因此p0和p1和当前cu的大小相同。根据p0和p1以及选中的最优模式geoidx进行如下操作,以得到最终的重构cu。如图6所示cu,划分方式为图示的黑色线段,左上区域使用mv0,右下角使用mv1。对于划分线附近的像素点,为了避免边界的不连续性,使用p0和p1进行加权平均得到最终的重构值,权重通过预定的方式进行计算。加权的方式如下,此处的权重都是1到8之间的整数。对于非边界区域,直接使用其对应的重构值,即左上区域使用p0,右下区域使用p1。解码流程与编码流程类似如下,码流解析,如果当前cu使用geo模式,则进行以下操作,解析码流得到当前cu使用的划分模式geoidx以及两个pu对应的运动矢量索引mergecandidx1和mergecandidx2;对当前cu,构建geo模式的运动矢量候选列表(mergecandidatelist),从候选列表中得到mergecandidx1和mergecandidx2对应的mv0和mv1.使用mv0进行运动补偿得到p0,使用mv1进行运动补偿得到p1。根据p0,p1以及cu划分模式geoidx进行组合得到最终的重构cu。现有技术存在的问题(1)传递geoidx这个语法元素需要额外消耗的bit数目太多,严重影响了geo的性能。假如说有128种模式,需要将0~127的数值写入码流,需要消耗7个bit来进行表示。(2)对所有cu都在编码端尝试所有可能的geo划分模式,复杂度较高。
技术实现要素:
本申请实施例提供了一种基于编解码端的几何划分模式预测方法、装置、存储介质及终端。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本申请实施例提供了一种基于编解码端的几何划分模式预测方法,应用于编码端,其特征在于,所述方法包括:
获取目标编码单元和预设模式集合;
基于所述预设模式集合生成所述目标编码单元的模式集合;
针对所述目标编码单元,构建geo模式的运动矢量候选列表;
基于所述目标编码单元的模式集合或预设模式集合,得到目标模式;
基于所述运动矢量候选列表中的各运动矢量获取目标运动矢量集合;
基于所述目标模式将所述目标模式的索引写入码流;
根据所述目标运动矢量集合对所述目标编码单元进行运动补偿,生成补偿后的编码单元集合;
通过所述目标模式和所述补偿后的编码单元集合对所述目标编码单元进行重构,生成重构的编码单元。
可选的,所述基于所述目标模式将所述目标模式的索引写入码流,包括:
获取所述目标模式在所述目标编码单元的模式集合中对应的索引;
将所述对应的索引写入码流。
可选的,所述基于所述目标模式将所述目标模式的索引写入码流,包括:
基于所述预设模式中各模式,获取第一模式;
当所述第一模式在所述目标编码单元的模式集合中时,在码流中进行标识,并将所述第一模式在所述目标编码单元的模式集合中的索引写入码流;
当所述第一模式不在所述目标编码单元的模式集合中时,在码流中进行标识,并将所述第一模式在预设模式集合中的索引写入码流。
可选的,所述基于所述预设模式集合生成所述目标编码单元的模式集合,包括:
获取参考块;
进行边缘检测;
获取目标模式;
构建生成所述目标编码单元的模式集合。
可选的,所述获取参考块,包括:
根据空域信息和时域信息进行参考块选取。
可选的,所述根据空域信息和时域信息进行参考块选取,包括:
通过当前块上面和左面已经重构的区域构建模板,在时域参考帧或时域参考帧的部分区域中得到与之最匹配的模板对应的块,生成参考块。
可选的,所述进行边缘检测,包括:
采用坎尼边缘检测算子进行边缘检测,生成边缘图。
可选的,所述通过所述参考块和所述边缘图对获取的所述目标模式进行构建,生成所述目标编码单元的模式集合,包括:
计算当前块的边缘图在各种划分模式下的响应幅值,得到最大幅值对应的划分模式;
计算边缘图中位于划分线上的所有数值的和作为响应幅值;
根据所述最大幅值对应的划分模式,得到最可能划分角度和最可能划分偏移,将最可能模式放入最可能集合的第一个,将最可能划分角度和最可能划分偏移附近的模式依次放入后面的位置,生成目标编码单元的模式集合。
可选的,所述获取目标编码单元和预设模式集合之前,还包括:
获取目标视频图像帧;
将所述目标图像帧进行划分,生成编码区域集合;
将所述编码区域集合中各区域进行划分,生成编码单元集合;
基于所述视频图像帧对应的属性,对所述编码单元集合对应的集合划分模式进行预测,生成划分模式集合,将生成的划分模式集合作为预设模式集合。
第二方面,本申请实施例提供了一种基于编解码端的几何划分模式预测方法,应用于解码端,其特征在于,所述方法包括:
对码流进行解析生成解析后的码流;
当所述解析后的码流中编码单元使用geo模式时,获取所述编码单元对应的语法元素和运动矢量索引集合;
基于所述预设模式集合生成所述编码单元的模式集合;
基于所述解析后的码流中的geo模式索引,以及所述编码单元模式集合或预设模式集合,获取目标编码模式;
针对所述编码单元,构建geo模式的运动矢量候选列表;
基于所述解析后的码流中的目标运动矢量索引以及所述运动矢量候选列表,获取目标运动矢量集合;
根据所述目标运动矢量集合对所述目标编码单元进行运动补偿,生成补偿后的编码单元集合;
将所述补偿后的编码单元集合根据目标编码模式进行重构,生成重构的编码单元。
第三方面,本申请实施例提供了一种基于编解码端的几何划分模式预测装置,应用于编码端,所述装置包括:
第一集合获取模块,用于获取目标编码单元和预设模式集合;
第一集合生成模块,用于基于所述预设模式集合生成所述目标编码单元的模式集合;
列表构建模块,用于针对所述目标编码单元,构建geo模式的运动矢量候选列表;
模式得到模块,用于基于所述目标编码单元的模式集合或预设模式集合,得到目标模式;
第二集合获取模块,用于基于所述运动矢量候选列表中的各运动矢量获取目标运动矢量集合;
码流写入模块,用于基于所述目标模式将所述目标模式的索引写入码流;
第二集合生成模块,用于根据所述目标运动矢量集合对所述目标编码单元进行运动补偿,生成补偿后的编码单元集合;
编码单元生成模块,用于通过所述目标模式和所述补偿后的编码单元集合对所述目标编码单元进行重构,生成重构的编码单元。
第四方面,本申请实施例提供了一种基于编解码端的几何划分模式预测装置,应用于解码端,所述装置包括:
码流生成模块,用于对码流进行解析生成解析后的码流;
第一集合获取模块,用于当所述解析后的码流中编码单元使用geo模式时,获取所述编码单元对应的语法元素和运动矢量索引集合;
第一集合生成模块,用于基于所述预设模式集合生成所述编码单元的模式集合;
模式获取模块,基于所述解析后的码流中的geo模式索引,以及所述编码单元模式集合或预设模式集合,获取目标编码模式;
列表构建模块,用于针对所述编码单元,构建geo模式的运动矢量候选列表;
第二集合获取模块,用于基于所述解析后的码流中的目标运动矢量索引以及所述运动矢量候选列表,获取目标运动矢量集合;
第二集合生成模块,用于根据所述目标运动矢量集合对所述目标编码单元进行运动补偿,生成补偿后的编码单元集合;
编码单元重构模块,用于将所述补偿后的编码单元集合根据目标编码模式进行重构,生成重构的编码单元。
第五方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第六方面,本申请实施例提供一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,首先对当前编码块进行最优模式预测,从总的模式集合中选出最可能模式集合;然后在最可能模式集合中进行模式决策;最后将最终决策得到的最优模式在最可能模式集合中的索引写入码流。由于编解码端采用同样的方式构建最优几何划分模式集合,从集合中选择划分模式,以达到降低划分模式编码开销,从而提升压缩性能,降低编码端复杂度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本申请实施例提供的基于编解码端的几何划分模式预测方法的流程示意图;
图2是本申请实施例提供的hevc视频编码框架示意图;
图3是本申请实施例提供的4种帧间预测模式示意图;
图4是本申请实施例提供的几何划分示意图;
图5是本申请实施例提供的几何划分角度示意图;
图6是本申请实施例提供的几何划分重构示意图;
图7是本申请实施例提供的现有技术语法元素设计示意图;
图8是本申请实施例提供的一种语法元素设计示意图;
图9是本申请实施例提供的另一种基于编解码端的几何划分模式预测方法的流程示意图;
图10是本申请实施例提供的另一种语法元素设计示意图;
图11是本申请实施例提供的参考区域获取方式示意图;
图12是本申请实施例提供的一种基于编解码端的几何划分模式预测装置的结构示意图;
图13是本申请实施例提供的一种终端的结构示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
下面将结合附图1-附图11,对本申请实施例提供的基于编解码端的几何划分模式预测方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的基于编解码端的几何划分模式预测装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
请参见图1,为本申请实施例提供了一种基于编解码端的几何划分模式预测方法的流程示意图,应用于编码端。如图1所示,本申请实施例的所述方法可以包括以下步骤:
s101,获取目标编码单元和预设模式集合;
其中,目标编码单元为当前cu(编码单元),预设模式集合为总的模式集合s。
通常,视频编码主要包括帧内预测、帧间预测、变换、量化、熵编码、环路滤波几个部分。本发明主要针对帧间预测模块进行改进,如图2矩形框中所示,帧间预测技术利用视频相邻帧之间的时域相关性,使用先前已经编码的重构帧作为参考帧,通过运动估计和运动补偿的方法对当前帧(当前正在编码的帧)进行预测,从而去除视频的时间冗余信息。对于一帧图像,在编码过程中不会直接对整帧图像进行处理,需要先划分成大的编码区域(codingtreeunit,ctu),例如64x64、128x128大小。每个ctu可以进一步划分成方形或矩形的编码单元(codingunit,cu)。每个cu在参考帧中(一般为时域附近的已重构帧)寻找最相似块作为当前cu的预测块。当前块与相似块之间的相对位移为运动矢量(motionvector,mv)。运动估计(motionestimation,me)的过程就是将当前帧的当前编码块在参考帧中经过搜索、比较后得到运动矢量的过程。运动补偿(motioncompensation,mc)就是利用mv和参考帧得到预测帧的过程,此过程得到的预测帧可能和原始的当前帧有一定的差别,因此需要将预测帧和当前帧的差值(残差)经过变换、量化等过程之后传递到解码端,除此之外还需要将mv和参考帧的信息传递到解码端。这样解码端通过mv、参考帧、预测帧和当前帧的差值,就可以重构出当前帧。
如图3所示,帧间预测技术主要包括前向预测、后向预测、双向预测等。前向预测是利用前一重构帧(“历史帧”)对当前帧进行预测。后向预测是利用当前帧之后的帧(“将来帧”)对当前帧进行预测。双向预测是不仅利用“历史帧”也利用“将来帧”对当前帧进行预测。
hevc中的帧间预测技术主要包含三种模式,即inter模式(也叫amvp模式)、merge模式和skip模式。
(1)inter模式,需要获取临近块(空域或时域)的mv构建候选列表,在候选列表中选了一个mv作为当前块的mvp(motionvectorprediction),但这个mvp与当前块实际的mv不完全相同,需要将其差值计算出来得到mvd(motionvectordifference,mvd=mv-mvp)。最终需要将mvp的索引和mvd写入码流。
(2)merge模式,需要获取临近块(空域或时域)的mv构建候选列表,在候选列表中选择一个mv作为当前块的mvp(motionvectorprediction),只需要将mvp的在候选列表中的索引写入码流,也就是merge模式下的mvp就是当前块的mv,不需要传mvd。
(3)skip模式,是特殊的merge模式,只需要传递mvp的索引。而且除了不需要传递mvd信息之外,也不需要传残差。
几何划分预测技术中划分方式:在当前的视频编码标准中,编码单元cu和预测单元pu都是方形或矩形的形状,几何划分预测技术(geometricpartition,geo)则是将一个cu划分成两个多边形的pu。本技术中的几何预测划分技术只用于merge模式下。划分方式如图4所示。几何划分通过角度
s102,基于所述预设模式集合生成所述目标编码单元的模式集合;
在一种可能的实现方式中,对当前cu(编码单元)进行最优模式预测,从总的模式集合s中选出m个模式组成最可能模式集合s′。
s103,针对所述目标编码单元,构建geo模式的运动矢量候选列表;
在一种可能的实现方式中,对当前cu,构建geo模式的运动矢量候选列表(mergecandidatelist)。
s104,基于所述目标编码单元的模式集合或预设模式集合,得到目标模式;
其中,目标模式是从模式集合中选择的最优模式,最优模式集合s′构建的具体实施方式如下,
(1)由于无法使用当前cu的信息,只能使用其空域临近重构区域和时域重构区域的信息。因此本实施例第一步为,根据当前cu上面l行左侧m列的信息进行模板匹配。如图11所示,在时域重构区域中选取与当前cu同样大小的块cun,通过cun上面和左边同样的区域tn与当前cu的t计算msd(meansquaredifference)。最终选择最优的cun作为当前cu的参考区域。
(2)对获取到的参考区域进行边缘检测。
(3)根据边缘检测的结果,获取当前cu最可能的划分模式。
(4)根据最可能划分模式,得到最可能划分模式集合s′
在一种可能的实现方式中,从模式集合s中选出最优模式,从候选列表中选出最优的两个运动矢量。不同之处在于,在编码端进行运动模式决策时,需要综合考虑此模式带来的失真减小(d)与此模式引入的额外的bit消耗(r)两个方面,具体计算公式如下,
j=d λ×r
其中λ为编码端设定的参数。r表示当前模式带来的bit消耗,由于本发明对此进行了修改,因此r的计算需要做相应的修改。现有技术中,r为geoidx、mergecandid1和mergecandidx2三个语法元素消耗的bit。本发明中修改了语法元素设计,如图8所示,如果当前模式为s′中的模式,r为geo_mpm_on、geo_mpm_idx、mergecandid1和mergecandidx2消耗bit数的加和,如果不是s′中的模式,r为geo_mpm_on、geo_idx、mergecandid1和mergecandidx2消耗bit数的加和。
在另一种可能的实现方式中,编码端从模式集合s′中选出最优模式,从候选列表中选出最优的两个运动矢量。不同之处在于,在编码端进行运动模式决策时,需要综合考虑此模式带来的失真减小(d)与此模式引入的额外的bit消耗(r)两个方面,具体计算公式如下,
j=d λ×r
其中λ为编码端设定的参数。r表示当前模式带来的bit消耗,由于本发明对此进行了修改,因此r的计算需要做相应的修改。现有技术中,r为geoidx、mergecandid1和mergecandidx2三个语法元素消耗的bit。本发明中修改了语法元素设计,如图10所示,r为geo_mpm_idx、mergecandid1和mergecandidx2消耗bit数的加和。
s105,基于所述运动矢量候选列表中的各运动矢量获取目标运动矢量集合;
s106,基于所述目标模式将所述目标模式的索引写入码流;
在一种可能的实现方式中,获取所述目标模式在所述目标编码单元的模式集合中对应的索引,将所述对应的索引写入码流。
在另一种可能的实现方式中,基于所述预设模式中各模式的获取第一模式,当所述第一模式在所述目标编码单元的模式集合中时,在码流中进行标识,并将所述第一模式在所述目标编码单元的模式集合中的索引写入码流,当所述第一模式不在所述目标编码单元的模式集合中时,在码流中进行标识,并将所述第一模式在预设模式集合中的索引写入码流。
s107,根据所述目标运动矢量集合对所述目标编码单元进行运动补偿,生成补偿后的编码单元集合;
在一种可能的实现方式中,根据补偿结果例如(p0和p1)以及选中的最优模式例如为(geoidx)进行如下操作,以得到最终的重构cu。如图6所示cu,划分方式为图示的黑色线段,左上区域使用mv0,右下角使用mv1。对于划分线附近的像素点,为了避免边界的不连续性,使用p0和p1进行加权平均得到最终的重构值,权重的通过预定的方式进行计算。加权的方式如下,此处的权重都是1到8之间的整数。对于非边界区域,直接使用其对应的重构值,即左上区域使用p0,右下区域使用p1.
pb=(w×p0 (8-w)×p1 4)>>3
在码流语法元素设计中,如图7所示,geo_on表示当前cu是否使用了geo模式,如果使用了geo模式,需要传递geoidx表示具体使用的geo划分方式,mergecandidx1和mergecandidx2分别表示两个pu使用的mv在运动矢量候选列表中的索引。
s108,通过所述目标模式和所述补偿后的编码单元集合对所述目标编码单元进行重构,生成重构的编码单元。
在一种可能的实现方式中,码流设计如下,假如最终选中的模式来自集合s′,则geo_mpm_on设置为1,否则为0。假如geo_mpm_on为1则将最优模式在s′中的索引写入码流,否则将最优模式在s中的索引写入码流。
在本申请实施例中,首先对当前编码块进行最优模式预测,从总的模式集合中选出最可能模式集合;然后在最可能模式集合中进行模式决策;最后将最终决策得到的最优模式在最可能模式集合中的索引写入码流。由于编解码端采用同样的方式构建最优几何划分模式集合,从集合中选择划分模式,以达到降低划分模式编码开销,从而提升压缩性能,降低编码端复杂度。
请参见图9,为本申请实施例提供了一种基于编解码端的几何划分模式预测方法的流程示意图,应用于解码端。如图9所示,本申请实施例的所述方法可以包括以下步骤:
s201,对码流进行解析生成解析后的码流;
s202,当所述解析后的码流中编码单元使用geo模式时,获取所述编码单元对应的语法元素和运动矢量索引集合;
在一种可能的实现方式中,码流解析,如果当前cu使用geo模式,解析码流得到当前cugeo_mpm_on是否为1,如果是1,则解析得到geo_mpm_idx,否则解析得到geoidx,之后解析得到两个pu对应的运动矢量索引mergecandidx1和mergecandidx2。
在另一种可能的实现方式中,解析得到geo_mpm_idx和两个pu对应的运动矢量索引mergecandidx1和mergecandidx2。
s203,基于所述预设模式集合生成所述编码单元的模式集合;
在一种可能的实现方式中,如果cugeo_mpm_on为1,则使用编码端相同的方式对当前cu进行最优模式预测,从总的模式集合s中选出m个模式组成最可能模式集合s′.得到当前cu使用的模式geoidx。如果cugeo_mpm_on为0,则直接使用解析得到的geoidx。
在另一种可能的实现方式中,从总的模式集合s中选出m个模式组成最可能模式集合s′.得到当前cu使用的模式geoidx。
s204,基于所述解析后的码流中的geo模式索引,以及所述编码单元模式集合或预设模式集合,获取目标编码模式;
s205,针对所述编码单元,构建geo模式的运动矢量候选列表;
对当前cu,构建geo模式的运动矢量候选列表(mergecandidatelist)。
s206,基于所述解析后的码流中的目标运动矢量索引以及所述运动矢量候选列表,获取目标运动矢量集合;
从候选列表中得到mergecandidx1和mergecandidx2对应的mv0和mv1.
s207,根据所述目标运动矢量集合对所述目标编码单元进行运动补偿,生成补偿后的编码单元集合;
使用mv0进行运动补偿得到p0,使用mv1进行运动补偿得到p1。
s208,将所述补偿后的编码单元集合根据目标编码模式进行重构,生成重构的编码单元。
在一种可能的实现方式中,根据补偿结果例如(p0和p1)以及选中的最优模式例如为(geoidx)进行如下操作,以得到最终的重构cu。如图6所示cu,划分方式为图示的黑色线段,左上区域使用mv0,右下角使用mv1。对于划分线附近的像素点,为了避免边界的不连续性,使用p0和p1进行加权平均得到最终的重构值,权重的通过预定的方式进行计算。加权的方式如下,此处的权重都是1到8之间的整数。对于非边界区域,直接使用其对应的重构值,即左上区域使用p0,右下区域使用p1.
pb=(w×p0 (8-w)×p1 4)>>3
最优模式集合s′构建的具体实施方式如下,
(1)由于无法使用当前cu的信息,只能使用其空域临近重构区域和时域重构区域的信息。因此本实施例第一步为,根据当前cu上面l行左侧m列的信息进行模板匹配。如图11所示,在时域重构区域中选取与当前cu同样大小的块cun,通过cun上面和左边同样的区域tn与当前cu的t计算msd(meansquaredifference)。最终选择最优的cun作为当前cu的参考区域。
(2)对获取到的参考区域进行边缘检测。
(3)根据边缘检测的结果,获取当前cu最可能的划分模式。
(4)根据最可能划分模式,得到最可能划分模式集合s′
在本申请实施例中,首先对当前编码块进行最优模式预测,从总的模式集合中选出最可能模式集合;然后在最可能模式集合中进行模式决策;最后将最终决策得到的最优模式在最可能模式集合中的索引写入码流。由于编解码端采用同样的方式构建最优几何划分模式集合,从集合中选择划分模式,以达到降低划分模式编码开销,从而提升压缩性能,降低编码端复杂度。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参见图12,其示出了本发明一个示例性实施例提供的基于编解码端的几何划分模式预测装置的结构示意图。该基于编解码端的几何划分模式预测方法装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置1包括第一集合获取模块10、第二集合获取模块20、列表构建模块30、模式获取模块40、第三集合获取模块50、集合生成模块60、编码单元重构模块70。
第一集合获取模块10,用于获取目标编码单元和预设模式集合;
第一集合生成模块20,用于基于所述预设模式集合生成所述目标编码单元的模式集合;
列表构建模块30,用于针对所述目标编码单元,构建geo模式的运动矢量候选列表;
模式得到模块40,用于基于所述目标编码单元的模式集合或预设模式集合,得到目标模式;
第二集合获取模块50,用于基于所述运动矢量候选列表中的各运动矢量获取目标运动矢量集合;
码流写入模块60,用于基于所述目标模式将所述目标模式的索引写入码流;
第二集合生成模块70,用于根据所述目标运动矢量集合对所述目标编码单元进行运动补偿,生成补偿后的编码单元集合;
编码单元生成模块80,用于通过所述目标模式和所述补偿后的编码单元集合对所述目标编码单元进行重构,生成重构的编码单元。
需要说明的是,上述实施例提供的基于编解码端的几何划分模式预测装置在基于编解码端的几何划分模式预测方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于编解码端的几何划分模式预测装置与基于编解码端的几何划分模式预测方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,首先对当前编码块进行最优模式预测,从总的模式集合中选出最可能模式集合;然后在最可能模式集合中进行模式决策;最后将最终决策得到的最优模式在最可能模式集合中的索引写入码流。由于编解码端采用同样的方式构建最优几何划分模式集合,从集合中选择划分模式,以达到降低划分模式编码开销,从而提升压缩性能,降低编码端复杂度。
本发明还提供一种计算机可读介质,其上存储有程序指令,该程序指令被处理器执行时实现上述各个方法实施例提供的基于编解码端的几何划分模式预测方法。
本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例所述的基于编解码端的几何划分模式预测方法。
请参见图13,为本申请实施例提供了一种终端的结构示意图。如图13所示,所述终端1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(display)、摄像头(camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图13所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于编解码端的几何划分模式预测应用程序。
在图13所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的基于编解码端的几何划分模式预测应用程序。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
1.一种基于编解码端的几何划分模式预测方法,应用于编码端,其特征在于,所述方法包括:
获取目标编码单元和预设模式集合;
基于所述预设模式集合生成所述目标编码单元的模式集合;
针对所述目标编码单元,构建geo模式的运动矢量候选列表;
基于所述目标编码单元的模式集合或预设模式集合,得到目标模式;
基于所述运动矢量候选列表中的各运动矢量获取目标运动矢量集合;
基于所述目标模式将所述目标模式的索引写入码流;
根据所述目标运动矢量集合对所述目标编码单元进行运动补偿,生成补偿后的编码单元集合;
通过所述目标模式和所述补偿后的编码单元集合对所述目标编码单元进行重构,生成重构的编码单元。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标模式将所述目标模式的索引写入码流,包括:
获取所述目标模式在所述目标编码单元的模式集合中对应的索引;
将所述对应的索引写入码流。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标模式将所述目标模式的索引写入码流,包括:
基于所述预设模式中各模式获取第一模式;
当所述第一模式在所述目标编码单元的模式集合中时,在码流中进行标识,并将所述第一模式在所述目标编码单元的模式集合中的索引写入码流;
当所述第一模式不在所述目标编码单元的模式集合中时,在码流中进行标识,并将所述第一模式在预设模式集合中的索引写入码流。
4.根据权利要求1所述的方法,其特征在于,所述基于所述预设模式集合生成所述目标编码单元的模式集合,包括:
获取参考块;
进行边缘检测;
获取目标模式;
构建生成所述目标编码单元的模式集合。
5.根据权利要求4所述的方法,其特征在于,所述获取参考块,包括:
根据空域信息和时域信息进行参考块选取。
6.根据权利要求5所述的方法,其特征在于,所述根据空域信息和时域信息进行参考块选取,包括:
通过当前块上面和左面已经重构的区域构建模板,在时域参考帧或时域参考帧的部分区域中得到与之最匹配的模板对应的块,生成参考块。
7.根据权利要求4所述的方法,其特征在于,所述进行边缘检测,包括:
采用坎尼边缘检测算子进行边缘检测,生成边缘图。
8.根据权利要求4所述的方法,其特征在于,所述通过所述参考块和所述边缘图对获取的所述目标模式进行构建,生成所述目标编码单元的模式集合,包括:
计算当前块的边缘图在各种划分模式下的响应幅值,得到最大幅值对应的划分模式;
计算边缘图中位于划分线上的所有数值的和作为响应幅值;
根据所述最大幅值对应的划分模式,得到最可能划分角度和最可能划分偏移,将最可能模式放入最可能集合的第一个,将最可能划分角度和最可能划分偏移附近的模式依次放入后面的位置,生成目标编码单元的模式集合。
9.一种基于编解码端的几何划分模式预测方法,应用于解码端,其特征在于,所述方法包括:
对码流进行解析生成解析后的码流;
当所述解析后的码流中编码单元使用geo模式时,获取所述编码单元对应的语法元素和运动矢量索引集合;
基于所述预设模式集合生成所述编码单元的模式集合;
基于所述解析后的码流中的geo模式索引,以及所述编码单元模式集合或预设模式集合,获取目标编码模式;
针对所述编码单元,构建geo模式的运动矢量候选列表;
基于所述解析后的码流中的目标运动矢量索引以及所述运动矢量候选列表,获取目标运动矢量集合;
根据所述目标运动矢量集合对所述目标编码单元进行运动补偿,生成补偿后的编码单元集合;
将所述补偿后的编码单元集合根据目标编码模式进行重构,生成重构的编码单元。
10.根据权利要求1所述的方法,其特征在于,所述获取目标编码单元和预设模式集合之前,还包括:
获取目标视频图像帧;
将所述目标图像帧进行划分,生成编码区域集合;
将所述编码区域集合中各区域进行划分,生成编码单元集合;
基于所述视频图像帧对应的属性,对所述编码单元集合对应的集合划分模式进行预测,生成划分模式集合,将生成的划分模式集合作为预设模式集合。
技术总结