适用于交通场景的直播视频编码方法、终端及存储介质与流程

文档序号:21543194发布日期:2020-07-17 17:47阅读:232来源:国知局
适用于交通场景的直播视频编码方法、终端及存储介质与流程

本发明涉及视频编码技术领域,尤其涉及一种适用于交通场景的直播视频编码方法、终端及存储介质。



背景技术:

随着互联网技术的发展,直播在交通场景中的应用越来越广泛,在直播过程中,需要对视频进行实时地编码,目前直播视频编码大多使用hevc(highefficiencyvideocoding)编码器进行编码,然而,不同的直播视频应用设备的计算能力和功率不同,而hevc编码器不能够在编码过程中根据实际的编码情况自动进行编码复杂度的调整。

因此,现有技术还有待改进和发展。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种适用于交通场景的直播视频编码方法、终端及存储介质,旨在解决现有技术中hevc编码器不能够在编码过程中根据实际的编码情况自动进行编码复杂度的调整的问题。

本发明的技术方案如下:

第一方面,本发明实施例提供了一种适用于交通场景的直播视频编码方法,所述方法包括:

将目标编码时间分配至视频序列中的各个编码树单元,获取所述视频序列中各个编码树单元的分配编码时间以及实际编码时间;

根据第一编码树单元前已编码的编码树单元的分配编码时间以及实际编码时间确定所述第一编码树单元中各个编码单元的划分标识,其中,所述第一编码树单元为待编码的编码树单元;

根据所述第一编码树单元中各个编码单元的划分标识对所述各个编码单元进行划分并编码所述各个编码单元。

所述的方法,其特征在于,所述视频序列包括训练帧以及至少一个段,每个段中包括至少一个图像组,每个图像组包括预设数量个帧,每一帧中包括至少一个编码树单元,所述训练帧为所述至少一个段前的预设数量个帧,所述获取所述视频序列中各个编码树单元的分配编码时间以及实际编码时间之前包括:

通过hevc编码器对所述训练帧进行编码,获取各个所述训练帧中各个编码单元的特征以及划分结果;

以所述特征以及所述划分结果作为样本数据对预设分类器进行训练,生成至少一个编码单元划分分类器。

所述的方法,其特征在于,所述以所述特征以及所述划分结果作为样本数据对预设分类器进行训练,生成至少一个编码单元划分分类器包括:

根据预设的权重值分别设定各个编码深度以及各个编码精度分别对应的样本权重;

根据所述样本数据对分别设定了样本权重后的所述预设分类器进行训练,生成各个编码深度以及编码精度分别对应的编码单元划分分类器。

所述的方法,其特征在于,所述根据第一编码树单元前已编码的编码树单元的分配编码时间以及实际编码时间确定所述第一编码树单元中各个编码单元的划分标识包括:

获取所述第一编码树单元前已编码的各个编码树单元的分配编码时间之和以及实际编码时间之和;

根据所述分配编码时间之和与所述实际编码时间之和的差值确定所述第一编码树单元对应的编码精度;

根据所述编码精度以及待划分的目标编码单元的编码深度获取所述目标编码单元对应的编码单元划分分类器;

根据所述编码单元划分分类器确定所述目标编码单元的划分标识。

所述的方法,其特征在于,所述获取所述视频序列中各个编码树单元的分配编码时间包括:

分别获取目标编码树单元所在的目标帧、目标图像组以及目标段对应的第一分配编码时间、第二分配编码时间以及第三分配编码时间;

根据所述第一分配编码时间、所述第二分配编码时间以及所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间。

所述的方法,其特征在于,所述分别获取目标编码树单元所在的目标帧、目标图像组以及目标段对应的第一分配编码时间、第二分配编码时间以及第三分配编码时间包括:

获取所述目标段前所述视频序列的第一实际编码时间,根据所述第一实际编码时间获取所述目标段的第一分配编码时间;

获取所述所述目标段中已完成编码的图像组的第二实际编码时间,根据所述第二实际编码时间和所述第一分配编码时间获取所述目标图像组的第二分配编码时间;

获取所述目标图像组中已完成编码的帧的第三实际编码时间,根据所述第三实际编码时间和所述第二分配编码时间获取所述目标帧的第三分配编码时间。

所述的方法,其特征在于,所述根据所述第一分配编码时间、所述第二分配编码时间以及所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间包括:

获取所述目标帧中已完成编码的编码树单元的第四实际编码时间,根据所述第四实际编码时间和所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间。

所述的方法,其特征在于,所述根据所述第一实际编码时间获取所述目标段的第一分配编码时间包括:

获取所述训练帧的实际编码时间、以及所述视频序列的每个现有段的第一帧的实际编码时间,其中,所述视频序列的每个段的第一帧是根据hevc编码器进行编码的;

根据所述训练帧的实际编码时间以及所述视频序列的每个现有段的第一帧的实际编码时间获取所述目标段对应的视频序列参考编码时间;

根据所述参考编码时间以及预设的目标优化比获取所述视频序列的所述目标编码时间;

根据所述目标编码时间以及所述第一实际编码时间获取所述第一分配编码时间。

所述的方法,其特征在于,所述根据所述第二实际编码时间和所述第二分配编码时间获取所述目标图像组的第二分配编码时间包括:

获取所述第二实际编码时间和所述第二分配编码时间的差值,将所述差值平均分配至所述目标段中未编码的图像组,获取所述目标图像组的第二分配编码时间。

所述的方法,其特征在于,所述根据所述第三实际编码时间和所述第二分配编码时间获取所述目标帧的第三分配编码时间包括:

获取所述目标帧占所述目标图像组中所有未编码的帧的第一复杂度比例;

获取所述第三实际编码时间和所述第二分配编码时间的差值,根据所述第一复杂度比例将所述差值分配至所述目标帧,获取所述第三分配编码时间。

所述的方法,其特征在于,所述根据所述第四实际编码时间和所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间包括:

获取所述目标编码树单元占所述目标帧中所有未编码的编码树单元的第二复杂度比例;

获取所述第四实际编码时间和所述第三分配编码时间的差值,根据所述第二复杂度比例将所述差值分配至所述目标编码树单元,获取所述第四分配编码时间。

第二方面,本发明实施例提供了一种终端,所述终端包括:处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现上述任一项所述的适用于交通场景的直播视频编码方法。

第三方面,本发明实施例还提供了一种存储介质,其中,所述存储介质存储有多条指令,所述指令适于由处理器加载并执行如以上任一条所述的适用于交通场景的直播视频编码方法的步骤。

本发明的技术效果:本发明提供的一种适用于交通场景的直播视频编码方法,将目标编码时间分类至视频序列中的各个编码树单元,根据已编码的编码树单元的分配编码时间以及预测编码时间来确定待编码的编码树单元中的编码单元如何划分,实现了在直播视频编码过程中,根据实际编码情况自动调整编码复杂度。

附图说明

图1是本发明提供的一种适用于交通场景的直播视频编码方法的实施例一的流程图;

图2是本发明提供的一种终端的功能原理图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明。

实施例一

本发明提供的一种适用于交通场景的直播视频编码方法,可以应用于终端中。其中,终端可以但不限于是各种个人计算机、笔记本电脑、手机、平板电脑、车载电脑和便携式可穿戴设备。本发明的终端采用多核处理器。其中,终端的处理器可以为中央处理器(centralprocessingunit,cpu),图形处理器(graphicsprocessingunit,gpu)、视频处理单元(videoprocessingunit,vpu)等中的至少一种。值得说明的是,本发明提供的交通场景的直播视频编码方法,并不限于应用于交通场景中,而是可以应用于多种需要进行直播视频的场景中。

请参阅图1,图1是本发明提供的实施例一的流程图,在实施例一中,所述预测结果生成的方法包括步骤:

s100、将目标编码时间分配至视频序列中的各个编码树单元,获取所述视频序列中各个编码树单元的分配编码时间以及实际编码时间。

在视频编码过程中,编码是逐帧进行,而每一帧包括多个编码树单元(ctp,codingtreeunit),编码树单元是编码单元(cu,codingunit)的集合,编码单元的尺寸大小反映了编码的复杂度。具体地,编码树单元是一个四叉树结构,具有多层,对于每一个编码单元来说,其具有两种情况:划分和不划分,若为划分,则将该编码单元进一步划分为四个编码单元,例如,在编码树单元0层的尺寸为64*64的编码单元,若划分,则划分为4个尺寸为32*32的编码单元,此时,这4个编码单元处于编码树单元的1层,并继续进行判断是否划分,若这4个编码单元的每个编码单元都继续划分,则产生16个处于2层的尺寸为16*16的编码单元,所在的编码树单元的层数增加至3层。不难看出,编码单元是否划分直接影响了一个编码树单元中的编码单元的数量以及编码单元的尺寸,编码单元的数量越大,即,编码单元的尺寸越小,视频编码的复杂度越高。

在本实施例中,是将视频序列的目标编码时间(目标编码时间的获取方式将在后文被详细说明)分配至视频序列中的各个编码树单元,所述分配编码时间是将所述目标编码时间分配至各个编码树单元时,各个编码树单元获得的编码时间,即,所述分配编码时间是在所述目标编码时间下,各个编码树单元应实现的编码时间,通过编码树单元的分配编码时间与实际编码时间的差异,来进行编码的复杂度动态调整。

在本实施例中,将视频序列分为几个部分,具体地,所述视频序列包括训练帧以及至少一个段,每个段中包括至少一个图像组(gop,groupofpictures),每个图像组中包括预设数量个帧,每一帧中包括至少一个编码树单元,所述训练帧是所述至少一个段前的预设数量个帧,也就是说,将视频序列中前预设数量个帧作为训练帧,训练帧是用于训练编码单元的划分分类器的,这点将在后文被详细说明。所述预设数量可以由本领域技术人员在阅读了本发明后根据实际情况自行设定,例如,所述预设数量可以为13、15、20等。

在获取所述视频序列中各个编码树单元的分配编码时间以及实际编码时间之前需要根据所述训练帧来获取适于应用在所述视频序列中的编码单元划分分类器,具体包括:

s010、通过hevc编码器对所述训练帧进行编码,获取各个所述训练帧中各个编码单元的特征以及划分结果。

对于所述视频序列中的所述训练帧,是通过现有的hevc编码器进行编码,即按照现有的hevc编码器对所述训练帧中的编码单元进行划分和不划分的确定,编码完成后,获取所述训练帧中每个编码单元的划分结果,(划分/不划分),以及每个编码单元的特征,每个编码单元的特征可以有多个,即,每个编码单元对应有一个特征集,表示为x={xmv,xh,xt,xd,xs,xr,xb,xsf,xc,xδd,xδq},其中,xmv为编码单元的运动矢量,xh为编码单元与其参考编码单元之间的hash值,xt是编码单元的纹理复杂度,xd是编码单元的方向复杂度,xs是子编码单元的纹理散度,xr是编码单元不划分时的率失真代价值,xb是编码单元不划分时的码率,xsf是编码单元不划分时的skip模式标志位,xc是编码单元不划分时的编码块标志位,xδd是编码单元的深度与其参考编码单元的最大深度之间的差值,xδq是视频帧与其参考帧之间的量化参数差值。具体地,一个帧的参考帧是在对这个帧进行编码时用于参考的帧,参考帧是hevc标准中的常用概念,在此不再赘述,编码单元的参考编码单元是该编码单元所在帧的参考帧中与该编码单元对应的编码单元。

s020、以所述特征以及所述划分结果作为样本数据对预设分类器进行训练,生成至少一个编码单元划分分类器。

具体地,所述编码单元划分分类器是用于对编码单元的划分标识进行分类的分类器,即,对于待编码的编码树单元,需要判断其中的编码单元是否需要划分时,通过所述编码单元划分分类器来确定该编码单元的划分标识,即,确定该编码单元是划分还是不划分。所述编码单元划分分类器是根据预设分类器进行训练得到的,所述预设分类器可以为随机森林分类器,当然,在本领域中,存在多种基础分类器,如贝叶斯分类器、支持向量机(svm)等,本领域技术人员可以自行选择,本发明对此不做具体的限定。

为了生成适于所述视频序列的编码单元划分分类器,在获取到所述训练帧中的各个编码单元的特征以及划分结果后,以所述特征以及所述划分结果作为样本数据对所述预设分类器进行训练,具体包括:

s021、根据预设的权重值分别设定各个编码深度以及各个编码精度分别对应的样本权重。

s022、根据所述样本数据对分别设定了样本权重后的所述预设分类器进行训练,生成各个编码深度以及各个编码精度分别对应的编码单元划分分类器。

具体地,所述编码深度是视频序列中编码单元的深度,即,编码单元所在的层数,对于编码单元来说,其对应的编码深度以及编码精度不同,那么对于该编码单元是否应该被划分的判断结果也不同。也就是说,编码深度以及编码精度共同影响编码单元的划分标识。在本实施例中,是预先设置各个编码深度以及各个编码精度分别对应的样本权重,具体如表1所示:

表1

表1中的w0和w1分别为编码单元的划分标识为不划分和划分的样本权重,可以看出,表1中给出了不同编码深度以及不同编码精度对应的样本权重,在根据所述训练帧中的编码单元的所述特征以及所述划分标识对所述预设的分类器进行训练时,通选选择不同的样本权重,可以获得不同编码深度以及不同编码精度对应的编码单元划分分类器。

表1中的数据是根据实验获取,即,对多个视频序列分别设定不同的编码条件,并获取各个编码深度以及各个编码精度的条件下根据多种样本权重分别训练出的编码单元划分分类器的性能,根据实验中获取的编码单元划分分类器的性能来确定分别最适于各个编码深度以及各个编码精度的样本权重。很明显地,本领域技术人员也可以通过上述对样本权重的说明来获取不同于表1中的样本权重对应关系,本发明并不限定于表1中的样本权重。

在训练帧编码完成并生成所述编码单元划分分类器后,可以根据编码树单元的分类编码时间以及实际编码时间来确定对于待编码的编码树单元中的编码单元应选取何种编码单元划分分类器来确定对应的划分标识。

所述获取所述视频序列中各个编码树单元的分配编码时间包括:

s110、分别获取目标编码树单元所在的目标帧、目标图像组以及目标段对应的第一分配编码时间、第二分配编码时间以及第三分配编码时间;

s120、根据所述第一分配编码时间、所述第二分配编码时间以及所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间。

所述目标编码树单元是当前待编码的编码树单元,所述目标帧、目标图像组以及目标段分别是所述编码树单元所在的帧、图像组以及段。

具体地,所述视频序列中的各个编码树单元、各个帧、各个图像组以及各个段的分配编码时间都是根据各个编码树单元、各个帧、各个图像组以及各个段前已编码的视频序列来获取的,具体地:

所述分别获取目标编码树单元所在的目标帧、目标图像组以及目标段对应的第一分配编码时间、第二分配编码时间以及第三分配编码时间包括:

s111、获取所述目标段前所述视频序列的第一实际编码时间,根据所述第一实际编码时间获取所述目标段的第一分配编码时间;

s112、获取所述所述目标段中已完成编码的图像组的第二实际编码时间,根据所述第二实际编码时间和所述第一分配编码时间获取所述目标图像组的第二分配编码时间;

s113、获取所述目标图像组中已完成编码的帧的第三实际编码时间,根据所述第三实际编码时间和所述第二分配编码时间获取所述目标帧的第三分配编码时间。

所述根据所述第一分配编码时间、所述第二分配编码时间以及所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间包括:

s121获取所述目标帧中已完成编码的编码树单元的第四实际编码时间,根据所述第四实际编码时间和所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间。

下面对上述s111、s112、s113以及s121做详细说明:

具体地,所述s111、根据所述第一实际编码时间获取所述目标段中的第一分配编码时间包括:

s111a、获取所述训练帧的实际编码时间、以及所述视频序列的每个现有段的第一帧的实际编码时间,其中,所述视频序列的每个段的第一帧是根据hevc编码器进行编码的。

在前面已经说明,所述训练帧是所述视频序列的前预设数量个帧,并且是根据hevc编码器进行编码的,获取所述训练帧的实际编码时间。

而由于所述视频是直播视频,即,所述视频序列中的帧会一直增加,因此,在进行所述第一分配编码时间的计算时,是根据所述视频序列的现有段来进行的。在本实施例中,所述视频序列的每个段的第一帧都是根据hevc编码器进行编码的,即,每个现有段的第一帧是根据hevc编码器进行编码的。

s111b、根据所述参考编码时间以及预设的目标获取所述视频序列的所述目标编码时间。

同样地,由于所述视频为直播视频,因此,所述视频序列对应的所述目标编码时间是指所述视频序列的现有段编码完成的目标编码时间。所述优化比是预先设置的目标编码时间和参考编码时间的比,所述参考时间是所述视频序列全部实用hevc编码器进行编码时的理论编码时间,在本实施例中,对每个段的第一帧使用hevc编码器进行编码,进而根据每个第一帧的编码时间来获取所述参考编码时间。具体用公式可以表示为:

其中,为序号为f的训练帧的编码时间,i为所述训练帧的数量,即,为所述训练帧的实际编码时间,为第s段中第g个gop中第f帧的编码时间,为第s段中第g个gop中第f帧占所在gop的编码时间比例,s为所述视频序列的现有段的数量,z为第s段中包含的gop的数量,为所述参考编码时间。

所述目标编码时间的计算公式为:其中,为所述目标编码时间,为所述参考编码时间,r目标为所述目标优化比。

在获取所述目标编码时间之后,包括:

s111c、根据所述目标编码时间以及所述第一实际编码时间获取所述第一分配编码时间。

根据所述目标编码时间获取所述视频序列中第s段的分配编码时间的公式为:

其中,为所述第s段的分配编码时间,为所述目标编码时间,为到s-1段编码完成时的实际编码时间,当s为所述目标段的序号时,可以通过上述公式获取到所述第一分配编码时间。

也就是说,所述目标段的所述第一分配编码时间是根据所述目标编码时间减去所述目标段前已完成编码的段的第一实际编码时间后平均分配至所述视频序列中还未完成编码的段得到的。

所述s112、所述根据所述第二实际编码时间和所述第二分配编码时间获取所述目标图像组的第二分配编码时间包括:

s112a、获取所述第二实际编码时间和所述第二分配时间的差值,将所述差值平均分配至所述目标段中未编码的图像组,获取所述目标图像组的第二分配编码时间。

具体地,所述视频序列中第s段的第z个图像组的分配编码时间可以用公式表示为:

其中,为第z个图像组的分配编码时间,为所述第s段中到第z-1个图像组编码完成时的实际编码时间,当s为所述目标段的序号,z为所述目标图像组在所述目标段中的序号时,可以通过上述公式获取到所述第二分配编码时间。

所述s113、所述根据所述第三实际编码时间和所述第二分配编码时间获取所述目标帧的第三分配编码时间包括:

s113a、获取所述目标帧占所述目标图像组中所有未编码的帧的第一复杂度比例;

s113b获取所述第三实际编码时间和所述第二分配编码时间的差值,根据所述第一复杂度比例将所述差值分配至所述目标帧,获取所述第三分配编码时间。

具体地,图像组中的第r帧的分配编码时间可以通过公式表示为:其中,为图像组中序号为r的帧的复杂度,为图像组中所有未编码的帧的复杂度,即,为图像组中序号为r的帧占所有未编码的帧的复杂度比。

其中,的计算公式为:

其中,q为所述视频序列的量化参数,是在视频编码技术领域中的常用概念,在此不再赘述。

当z为所述目标图像组在所述目标段中的序号,r为所述目标帧在所述目标图像组中的序号时,可以通过上述公式获取到所述第一复杂度比例并进一步获取到所述第三分配编码时间。

所述s121、根据所述第四实际编码时间和所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间包括:

s121a、获取所述目标编码树单元占所述目标帧中所有未编码的编码树单元的第二复杂度比例;

s121b、获取所述第四实际编码时间和所述第三分配编码时间的差值,根据所述第二复杂度比例将所述差值分配至所述目标编码树单元,获取所述第四分配编码时间。

具体地,编码树单元中第n个编码树单元的分配编码时间的公式为:

其中,为帧中序号为n的编码树单元的复杂度,为帧中所有未编码的编码树单元的复杂度,即,为帧中序号为n的编码树单元占所有未编码的编码树单元的复杂度比例。

其中,的计算公式为:

其中,cri为编码树单元所在的帧的参考帧中深度为i的cu的所占的编码复杂度比例,md为参考帧中ctu的平均深度。

当r为所述目标帧在所述目标图像组中的序号,n为所述目标编码树单元在所述目标段中的序号时,可以通过上述公式获取到所述第二复杂度比例并进一步获取到所述第四分配编码时间。

在根据上述步骤可以获取所述视频序列中各个编码树单元的分配编码时间。

所述方法还包括:

s200、根据第一编码树单元前已编码的编码树单元的分配编码时间以及实际编码时间确定所述第一编码树单元中各个编码单元的划分标识,其中,所述第一编码树单元为待编码的编码树单元。

在对视频序列进行编码的过程中,对于待编码的所述第一编码树单元,是通过上述步骤获取所述第一编码树单元前已编码的编码树单元的分配编码时间,并结合所述第一编码树单元前已编码的编码树单元的实际编码时间来确定所述第一编码树单元中各个编码单元的划分标识。

具体地,所述根据第一编码树单元前已编码的编码树单元的分配编码时间以及实际编码时间确定所述第一编码树单元中各个编码单元的划分标识包括:

s210、获取所述第一编码树单元前已编码的各个编码树单元的分配编码时间之和以及实际编码时间之和。

具体地,所述第一编码树单元前已编码的各个编码树单元(不包括所述训练帧中的编码树单元)的分配编码时间之和可以表示为:为在所述视频序列中总序号为n的编码树单元(不含所述训练帧中的编码树单元)的分配编码时间,n为所述第一编码树单元前已编码的编码树单元的数量。所述第一编码树单元前已编码的各个编码树单元的实际编码时间之和可以表示为tnctu为在所述视频序列中总序号为n的编码树单元(不含所述训练帧中的编码树单元)的分配编码时间,n为所述第一编码树单元前已编码的编码树单元的数量。

s220、根据所述分配编码时间之和与所述实际编码时间之和的差值确定所述第一编码树单元对应的编码精度。

所述差值可以用公式表示为:

所述根据所述差值确定所述第一编码树单元对应的编码精度是根据预先建立的所述差值与编码精度的对应关系来获取的,所述差值与编码精度的对应关系用公式表示如下:

其中a为编码精度,en为所述差值,ao为原始的hevc编码器对应的编码精度,mt为所述训练帧中ctu的平均编码时间。即,当所述差值小于或等于-mt时,确定所述第一编码树单元对应的编码精度为低,当所述差值在-mt与0之间时,确定所述第一编码树单元对应的编码精度为中,当所述差值在0与mt之间时,确定所述第一编码树单元对应的编码精度为高,当所述差值大于mt时,按照hevc编码器对所述第一编码树单元进行编码。

s230、根据所述编码精度以及待划分的目标编码单元的编码深度获取所述目标编码单元对应的编码单元划分分类器。

所述第一编码树单元对应的编码精度为所述编码树单元中的编码单元对应的编码精度,前面已经说明,编码深度以及编码精度共同影响编码单元的划分标识,在获取到所述第一编码树单元对应的编码精度后,进一步地,前面已经说明,在所述训练帧编码完成后,是根据所述训练帧的编码结果生成了各个编码深度以及编码精度分别对应的编码单元划分分类器,那么,在判断对所述第一编码树单元中的目标编码单元是否进行划分时,根据所述目标编码单元的编码深度以及所述编码精度就可以确定所述目标编码单元适用的编码单元划分分类器。例如,所述目标编码单元在所述第一编码树单元的1层,即,所述目标编码单元对应的编码深度为1,所述第一编码树单元对应的编码精度为低,那么,获取编码深度为1且编码精度为低的条件对应的编码单元划分分类器。

s240、根据所述编码单元划分分类器确定所述目标编码单元的划分标识。

确定所述目标编码单元适用的所述编码单元划分分类器后,根据所述编码单元划分分类器确定所述目标编码单元的划分标识,即,确定所述目标编码单元是否要继续划分。

根据上述方法可以获取所述视频序列中各个待编码的编码单元的划分标识,进而对待编码的编码单元进行编码。

所述方法还包括:

s300、根据所述第一编码树单元中各个编码单元的划分标识对所述各个编码单元进行划分并编码所述各个编码单元。

对于所述第一编码树单元中的各个编码单元,分别根据各个编码单元对应的划分标识对所述各个编码单元进行划分,即,当编码单元的划分标识为不划分时,则不对该编码单元进行进一步划分,当编码单元的划分标识为划分时,对该编码单元进行进一步划分。对所述各个编码单元划分完成后,编码所述各个编码单元。

综上所述,本实施例提供的一种适用于交通场景的直播视频编码方法,将目标编码时间分类至视频序列中的各个编码树单元,根据已编码的编码树单元的分配编码时间以及预测编码时间来确定待编码的编码树单元中的编码单元如何划分,实现了在直播视频编码过程中,根据实际编码情况自动调整编码复杂度。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

实施例二

结合上述实施例,本发明还提供了一种终端,其原理框图可以如图2所示。该终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该终端的处理器用于提供计算和控制能力。该终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种适用于交通场景的直播视频编码方法。该终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的当前运行温度。

本领域技术人员可以理解,图2中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种终端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时至少可以实现以下步骤:

将目标编码时间分配至视频序列中的各个编码树单元,获取所述视频序列中各个编码树单元的分配编码时间以及实际编码时间;

根据第一编码树单元前已编码的编码树单元的分配编码时间以及实际编码时间确定所述第一编码树单元中各个编码单元的划分标识,其中,所述第一编码树单元为待编码的编码树单元;

根据所述第一编码树单元中各个编码单元的划分标识对所述各个编码单元进行划分并编码所述各个编码单元。

所述的方法,其特征在于,所述视频序列包括训练帧以及至少一个段,每个段中包括至少一个图像组,每个图像组包括预设数量个帧,每一帧中包括至少一个编码树单元,所述训练帧为所述至少一个段前的预设数量个帧,所述获取所述视频序列中各个编码树单元的分配编码时间以及实际编码时间之前包括:

通过hevc编码器对所述训练帧进行编码,获取各个所述训练帧中各个编码单元的特征以及划分结果;

以所述特征以及所述划分结果作为样本数据对预设分类器进行训练,生成至少一个编码单元划分分类器。

所述的方法,其特征在于,所述以所述特征以及所述划分结果作为样本数据对预设分类器进行训练,生成至少一个编码单元划分分类器包括:

根据预设的权重值分别设定各个编码深度以及各个编码精度分别对应的样本权重;

根据所述样本数据对分别设定了样本权重后的所述预设分类器进行训练,生成各个编码深度以及编码精度分别对应的编码单元划分分类器。

所述的方法,其特征在于,所述根据第一编码树单元前已编码的编码树单元的分配编码时间以及实际编码时间确定所述第一编码树单元中各个编码单元的划分标识包括:

获取所述第一编码树单元前已编码的各个编码树单元的分配编码时间之和以及实际编码时间之和;

根据所述分配编码时间之和与所述实际编码时间之和的差值确定所述第一编码树单元对应的编码精度;

根据所述编码精度以及待划分的目标编码单元的编码深度获取所述目标编码单元对应的编码单元划分分类器;

根据所述编码单元划分分类器确定所述目标编码单元的划分标识。

所述的方法,其特征在于,所述获取所述视频序列中各个编码树单元的分配编码时间包括:

分别获取目标编码树单元所在的目标帧、目标图像组以及目标段对应的第一分配编码时间、第二分配编码时间以及第三分配编码时间;

根据所述第一分配编码时间、所述第二分配编码时间以及所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间。

所述的方法,其特征在于,所述分别获取目标编码树单元所在的目标帧、目标图像组以及目标段对应的第一分配编码时间、第二分配编码时间以及第三分配编码时间包括:

获取所述目标段前所述视频序列的第一实际编码时间,根据所述第一实际编码时间获取所述目标段的第一分配编码时间;

获取所述所述目标段中已完成编码的图像组的第二实际编码时间,根据所述第二实际编码时间和所述第一分配编码时间获取所述目标图像组的第二分配编码时间;

获取所述目标图像组中已完成编码的帧的第三实际编码时间,根据所述第三实际编码时间和所述第二分配编码时间获取所述目标帧的第三分配编码时间。

所述的方法,其特征在于,所述根据所述第一分配编码时间、所述第二分配编码时间以及所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间包括:

获取所述目标帧中已完成编码的编码树单元的第四实际编码时间,根据所述第四实际编码时间和所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间。

所述的方法,其特征在于,所述根据所述第一实际编码时间获取所述目标段的第一分配编码时间包括:

获取所述训练帧的实际编码时间、以及所述视频序列的每个现有段的第一帧的实际编码时间,其中,所述视频序列的每个段的第一帧是根据hevc编码器进行编码的;

根据所述训练帧的实际编码时间以及所述视频序列的每个现有段的第一帧的实际编码时间获取所述目标段对应的视频序列参考编码时间;

根据所述参考编码时间以及预设的目标优化比获取所述视频序列的所述目标编码时间;

根据所述目标编码时间以及所述第一实际编码时间获取所述第一分配编码时间。

所述的方法,其特征在于,所述根据所述第二实际编码时间和所述第二分配编码时间获取所述目标图像组的第二分配编码时间包括:

获取所述第二实际编码时间和所述第二分配编码时间的差值,将所述差值平均分配至所述目标段中未编码的图像组,获取所述目标图像组的第二分配编码时间。

所述的方法,其特征在于,所述根据所述第三实际编码时间和所述第二分配编码时间获取所述目标帧的第三分配编码时间包括:

获取所述目标帧占所述目标图像组中所有未编码的帧的第一复杂度比例;

获取所述第三实际编码时间和所述第二分配编码时间的差值,根据所述第一复杂度比例将所述差值分配至所述目标帧,获取所述第三分配编码时间。

所述的方法,其特征在于,所述根据所述第四实际编码时间和所述第三分配编码时间获取所述目标编码树单元的第四分配编码时间包括:

获取所述目标编码树单元占所述目标帧中所有未编码的编码树单元的第二复杂度比例;

获取所述第四实际编码时间和所述第三分配编码时间的差值,根据所述第二复杂度比例将所述差值分配至所述目标编码树单元,获取所述第四分配编码时间。

实施例三

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

基于上述实施例,本发明还提供了一种存储介质,述存储介质存储有多条指令,所述指令适于由处理器加载并执行实施例一中所述的适用于交通场景的直播视频编码方法的步骤。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1