视频编码方法及装置与流程

文档序号:31059959发布日期:2022-08-09 19:25阅读:105来源:国知局
视频编码方法及装置与流程

1.本技术涉及计算机技术领域,特别涉及一种视频编码方法。本技术同时涉及一种视频编码装置,一种计算设备,以及一种计算机可读存储介质。


背景技术:

2.随着技术的发展,视频平台也得到了迅猛发展,越来越多的用户分享、观看视频,对于平台而言,随着用户数量的不断增长,用于视频传输的带宽成本也越来越大,为了降低该成本,需要压缩性更好的转码系统,在保证视频质量的同时,显著降低视频压缩文件的大小,从而降低传输所需的网络流量。


技术实现要素:

3.有鉴于此,本技术实施例提供了一种视频编码方法。本技术同时涉及一种视频编码装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的通过恒定码率模式编码视频的过程中,编码质量不稳定,编码准确率较低的问题。
4.根据本技术实施例的第一方面,提供了一种视频编码方法,包括:
5.获取待编码视频片段;
6.解码所述待编码视频片段,获得待编码视频帧集合;
7.基于所述待编码视频帧集合提取所述待编码视频片段的时空域特征信息和编码特征信息;
8.根据所述时空域特征信息和所述编码特征信息确定所述待编码视频片段的码率因子;
9.根据预设视频编码分值和所述码率因子编码所述待编码视频片段,获得目标视频片段。
10.根据本技术实施例的第二方面,提供了一种视频编码装置,包括:
11.获取模块,被配置为获取待编码视频片段;
12.解码模块,被配置为解码所述待编码视频片段,获得待编码视频帧集合;
13.提取模块,被配置为基于所述待编码视频帧集合提取所述待编码视频片段的时空域特征信息和编码特征信息;
14.确定模块,被配置为根据所述时空域特征信息和所述编码特征信息确定所述待编码视频片段的码率因子;
15.编码模块,被配置为根据预设视频编码分值和所述码率因子编码所述待编码视频片段,获得目标视频片段。
16.根据本技术实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述视频编码方法的步骤。
17.根据本技术实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算
机指令,该计算机指令被处理器执行时实现所述视频编码方法的步骤。
18.本技术提供的视频编码方法,获取待编码视频片段;解码所述待编码视频片段,获得待编码视频帧集合;基于所述待编码视频帧集合提取所述待编码视频片段的时空域特征信息和编码特征信息;根据所述时空域特征信息和所述编码特征信息确定所述待编码视频片段的码率因子;根据预设视频编码分值和所述码率因子编码所述待编码视频片段,获得目标视频片段。
19.本技术一实施例实现了根据待编码视频帧集合提取时空域特征信息和编码特征信息,并基于时空域特征信息和编码特征信息来预测用于视频编码的码率因子,并基于预设的视频编码分值和码率因子来对视频进行编码,从而获得目标视频片段,通过预测的码率因子和恒定视频编码分值的方法,使得视频编码的准确率得到了有效提升,即保证视频质量,又显著降低了视频压缩文件的大小。
附图说明
20.图1是本技术一实施例提供的一种视频编码方法的流程图;
21.图2是本技术一实施例提供的码率因子预测模型的结构示意图;
22.图3是本技术一实施例提供的一种应用于视频t编码的视频编码方法的处理流程图;
23.图4是本技术一实施例提供的一种视频编码装置的结构示意图;
24.图5是本技术一实施例提供的一种计算设备的结构框图。
具体实施方式
25.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
26.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
27.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
28.首先,对本技术一个或多个实施例涉及的名词术语进行解释。
29.crf:constant rate factor恒定码率因子模式,是视频编码的一种码率控制方式。
30.rf:rate factor码率因子,crf编码模式的编码参数,可以控制编码文件的码率和质量。
31.vmaf:video multimethod assessment fusion视频多维度混合评价因子,一种衡量编码后视频质量的全参考评价方法。
32.glcm:gray level co-occurrence matrix灰度共生信息,是一种可以描述视频空间纹理复杂度的特征。
33.ncc:normalized correlation coefficient归一化信息,是一种可以描述视频时域复杂度的特征。
34.h.264:一种视频编码标准。
35.随着技术的发展,视频平台也得到了迅猛发展,越来越多的用户分享、观看视频,对于视频平台而言,随着用户数量的不断增长,用于视频传输的带宽成本也越来越大,为了降低该成本,需要压缩性更好的转码系统,在保证视频质量的同时,显著降低视频压缩文件的大小,从而降低传输所需的网络流量。
36.目前常见的编码模式包括固定量化参数模式、恒定码率模式、可变码率模式,目前最常用的是恒定码率模式,在该模式下输出的码流具有稳定的码率,可以改善播放卡顿的问题,但是该模式确定了恒定码率,对于所有的视频使用同一个码率进行编码,对于场景内容丰富的视频,无法保障所有的片段的画质体验,也无法避免码率浪费,比如对于复杂场景,使用总体平均码率编码,会由于码率不足导致画质明显下降,对于简单场景而言,平均码率又太高,造成不必要的码率浪费。
37.为了同时保障画质体验以及避免码率浪费,还可以采用恒定质量编码模式,具体而言,可以设定一个目标质量,再使用编码器对视频进行编码,获得满足该质量的码流文件,该编码模式的目标是使编码后视频的质量尽可能的与设定目标质量接近,其准确度越高,编码效果越好,否则,当实际质量低于目标质量的情况下,会损伤画质体验;当质量超过目标质量的情况下,会造成码率的浪费。
38.但是这种方式在编码之前,编码的码率因子与最终编码结果的质量之间的关系是未知的,无法通过设定的目标质量直接得到准确的码率因子,对于此,一种策略是进行多次编码,采用后验的方式,搜索得到最优的码率因子,但是这种方法需要消耗巨大的计算资源;另一种策略是对码率因子进行预测,可以通过机器学习的方式,在编码之前根据视频的时空域特征对码率因子进行预测,从而得到期望的编码结果,但是该方法通常是一次预测和编码的方式,即根据预设的目标,通过视频时空域特征对码率因子进行预测,然后基于预测的码率因子对视频进行编码,此种方法需要对整个视频进行编码预测,无法做到各个场景的质量恒定,其预测准确率较低,对于热门视频而言,不足以稳定地保障画质体验和避免码率浪费。
39.基于此,在本技术中,提供了一种视频编码方法,本技术同时涉及一种视频编码装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
40.图1示出了根据本技术一实施例提供的一种视频编码方法的流程图,具体包括以下步骤:
41.步骤102:获取待编码视频片段。
42.其中,待编码视频片段具体是指在本技术中基于质量恒定视频编码方法进行编码的视频片段,在实际应用中,待编码视频片段具体是指单镜头片段,即没有转场镜头的视频片段。通常情况下,一个单镜头片段中所展示的内容通常是相似的、连贯的,因此,单镜头片
段在进行编码处理时,使用相同的码率因子会使得视频编码更加合理。
43.具体的,获取待编码视频片段,包括:
44.获取待编码视频;
45.对所述待编码视频进行场景检测,将所述待编码视频拆分为多个单镜头视频片段;
46.确定每个单镜头视频片段为待编码视频片段。
47.其中,待编码视频具体是指用户上传的一段完整的视频文件,待编码视频可以是用户自己录制的视频文件,也可以是用户从其他视频文件中截取的视频文件,也可以是用户由多个视频文件为基础创作的视频文件,在本技术中,对待编码视频的具体内容不做限定。
48.在获取到待编码视频后,对待编码视频进行场景检测,检测出待编码视频中的单镜头视频片段,并基于单镜头视频片段对待编码视频进行分割,分割出的每个单镜头视频片段均可以做为待编码视频片段。在实际应用中,需要分别对每个待编码视频片段进行编码。在本技术提供的实施例中,以对某一个待编码视频片段进行编码处理为例进行解释说明。
49.在本技术提供的一具体实施方式中,以视频为v为例,接收到用户上传的视频v,视频v为即为待编码视频,调用开源编码器x264对视频v进行编码,并打开场景检测开关,得到对应的场景切换检测结果,根据检测结果,将视频v分割成t个独立的单镜头视频片段(v1、v2
……
vt),每个单镜头视频片段均为一个待编码视频片段。
50.步骤104:解码所述待编码视频片段,获得待编码视频帧集合。
51.在获得待编码视频片段后,即可进一步对待编码视频片段进行处理,即对待编码视频片段进行解码,将待编码视频片段转换为对应的待编码视频帧集合。
52.在本技术提供的一具体实施方式中,以待编码视频片段v1为例,对待编码视频片段v1进行解码,读取待编码视频片段中的每个待编码视频帧,组成由n个待编码视频帧组成的待编码视频帧集合(f1、f2、
……
fn)。
53.步骤106:基于所述待编码视频帧集合提取所述待编码视频片段的时空域特征信息和编码特征信息。
54.在获得待编码视频帧集合后,即可根据待编码视频帧集合来提取待编码视频片段的时空域特征信息和编码特征信息,其中,时空域特征信息用于表达待处理视频片段的时空复杂度,编码特征信息用于表达待处理视频片段的特征信息。
55.其中,基于所述待编码视频帧集合提取所述待编码视频片段的时空域特征信息,包括:
56.基于所述待编码视频帧集合提取待编码视频帧集合的灰度共生信息和归一化信息;
57.根据所述灰度共生信息和所述归一化信息拼接生成所述待编码视频片段的时空域特征信息。
58.灰度共生信息(gray level co-occurrence matrix,glcm),是一种用于描述视频空间纹理复杂度的特征。
59.在实际应用中,待编码视频帧集合中的每个视频帧,可以计算获得一个m*m的二维
glcm矩阵,glcm矩阵中每个元素的取值范围是0-1,对于这个矩阵可以进一步求解信息熵(entropy)、对比度(contrast)、相关度(inverse different moment)、能量、自相关(correlation)等5个特征值,再对所有待处理视频帧的对应特征值计算均值、方差、偏度和峰度等4个统计值,例如,计算每个待处理视频帧的信息熵的均值、方差、偏度和峰度等等。最终会获得共计20(5*4)个特征值。同时为了考量视频多尺度特性,会再将每个待处理视频帧分别缩小4倍和16倍,再进行两次glcm特征提取,因此,最终针对待编码视频帧集合共计提取60个特征值,即60个glcm特征值。
60.归一化信息(normalized correlation coefficient,ncc),是一种用于描述时域复杂度的特征。
61.在实际应用中,ncc是对待处理视频帧集合中每对相邻的待处理视频帧进行计算,得到一个长宽和原待处理视频帧一样大的二维相关系数矩阵,矩阵中每个元素的取值为0-1,表示相邻两个待处理视频帧对应位置的时域相关性,获得多个相关系数矩阵,一段有n个待处理视频帧的待处理视频帧集合,会有n-1个相邻视频帧,会获得n-1个相关系数矩阵,再计算n-1个相关系数矩阵的均值、方差、峰度、偏度和信息熵等共计5个特征值,对于每个特征值,再从时域上计算均值和方差,最终可以得到10个(5*2)特征值,即10个ncc特征值。
62.在获得glcm特征值和glcm特征值之后,将两者进行拼接,即可获得70个特征值,组成待编码视频片段的时空域特征信息,时空域特征信息通过向量形式表示。
63.相应的,除了提取待编码视频片段的时空域特征信息之后,还需要提取待编码视频片段的编码特征信息,具体的,基于所述待编码视频帧集合提取所述待编码视频片段的编码特征信息,包括:
64.根据所述待编码视频帧集合生成待编码视频帧对集合;
65.对所述待编码视频帧对集合中的每个视频帧对分别做帧内编码和帧间编码,获得所述待编码视频片段的编码特征信息。
66.在实际应用中,获取待编码视频帧集合后,还需要对待编码视频帧集合做视频帧预处理,将待编码视频帧集合中,除去首帧和尾帧之外的其他待编码视频帧进行复制,并将复制后的待编码视频帧放在每个原始待编码视频帧之后,组成待编码视频帧对集合,例如,待编码视频帧集合为(f1、f2、
……
fn),除f1和fn之外,将f2至fn-1的每个视频帧进行复制,获得待编码视频帧对集合(f1、f2、f2、f3、f3
……
fn-2、fn-2、fn-1、fn-1、fn),其中,(f1、f2)、(f2、f3)
……
(fn-2、fn-1)、(fn-1、fn)为待编码视频帧对。
67.在获得待编码视频帧对集合后,采用显卡内置的硬件h.264编码器对待编码视频帧对集合进行预编码,采用固定量化参数模式,优选的,量化参数取29,编码帧结构采用ip结构,其中,i指帧内编码,p指帧间编码,在这种编码方式下,除了首帧和尾帧之外,每个待编码视频帧均被编码了两次,帧内编码可以衡量待编码视频帧的空间编码复杂度,帧间编码可以衡量待编码视频帧是与编码复杂度,在对每个待编码视频帧对进行ip编码之后,即可获得所述待编码视频片段的编码特征信息。
68.具体的,对所述待编码视频帧对集合中的每个视频帧对分别做帧内编码和帧间编码,获得所述待编码视频片段的编码特征信息,包括:
69.对所述待编码视频帧对集合中每个视频帧对的第一视频帧做帧内编码,获得帧内编码信息;
70.对所述待编码视频帧对集合中每个视频帧对做帧间编码,获得帧间编码信息;
71.拼接所述帧内编码信息和所述帧间编码信息,获得编码特征信息。
72.其中,在每个待编码视频帧对中存在两个视频帧,在先的视频帧为第一视频帧,在后的视频帧为第二视频帧,例如,对于待编码视频帧对(f1、f2),则f1为第一视频帧,f2为第二视频帧;对于待编码视频帧对(f2、f3),则f2为第一视频帧,f3为第二视频帧,以此类推,对于每个待编码视频帧对中的第一视频帧做帧内编码,帧内编码用于衡量视频帧的空间编码复杂度,提取每个帧内编码的特征值,例如比特数、帧内各种预测模式的占比值等等,共计34个特征值,然后对所有帧内编码的对应特征值计算均值、方差、偏度、峰度和信息熵等共计5个统计值,最终得到170个(34*5)个帧间编码信息。
73.对于每个待编码视频帧对,还需要提取每个视频帧对的帧间编码特征信息,例如对于待编码视频帧对(f1、f2),则计算f1、f2的帧间编码特征信息;对于待编码视频帧对(f2、f3),则计算f2、f3的帧间编码特征信息,依此类推,对每个待编码视频帧对做帧间编码,帧间编码用于衡量视频时域编码复杂度,提取每个待编码视频帧对的编码比特数、帧间运动矢量幅度分布等共计26个特征值,再对所有帧间编码的对应特征值计算均值、方差、偏度、峰度和信息熵等共计5个统计值,最终得到130个(26*5)帧间编码信息。
74.将170个帧间编码信息和130个帧间编码信息进行拼接,获得300个待编码视频片段的编码特征信息。编码特征信息也通过向量形式表示。
75.步骤108:根据所述时空域特征信息和所述编码特征信息确定所述待编码视频片段的码率因子。
76.在获得时空域特征信息和编码特征信息之后,即可根据这两个特征信息预测用于视频编码的码率因子(rate factor,rf),码率因子是指恒定码率因子编码模式的编码参数,用于控制编码文件的码率和质量,码率因子的取值通常在0-50的范围之间,码率因子的取值越大,码率越低,编码质量越差,反之,码率因子的取值越小,码率越高,编码质量越好。
77.在本技术提供的方法中,码率因子是根据时空域特征信息和编码特征信息共同预测获得的。具体的,根据所述时空域特征信息和所述编码特征信息确定所述待编码视频片段的码率因子,包括:
78.将所述时空域特征信息和所述编码特征信息拼接生成第一待处理特征信息;
79.将所述第一待处理特征信息输入至第一码率因子预测模型,其中,所述第一码率因子预测模型被训练于根据所述第一待处理特征信息生成预测码率因子;
80.接收所述第一码率因子预测模型根据所述第一待处理特征信息生成的第一码率因子。
81.其中,第一待处理特征信息具体是指由时空域特征信息和编码特征信息拼接生成的,用于预测码率因子的特征信息,在上述步骤中可以得知,时空域特征信息是有70个特征值的向量,编码特征信息是有300个特征值的向量,将两个向量进行拼接之后,可以获得370个特征值的第一待处理特征信息,第一待处理特征信息用于表达一个视频片段的时空特性。
82.在获得第一待处理特征信息之后,将第一待处理特征信息输入至第一码率因子预测模型中进行处理。第一码率因子预测模型是一个预先训练好的深度神经网络模型,该神经网络模型的结构如图2所示,图2示出了本技术一实施例提供的码率因子预测模型的结构
示意图,如图2所示,该码率因子预测模型由批归一化模块,注意力机制模块,残差模块,全连接模块,注意力机制模块,全连接模块组成。
83.批归一化模块用于将原始输入的特征归一化为具有均值为0,方差为1高斯分布的特征,从而消除特征之间差异带来的影响,归一化后的特征再经过注意力机制模块,该模块可以为每个特征计算一个权重,为具有更高辨识度的特征赋予更大的权重值,为信息量较低的特征赋予较小的权重,以此自动地对特征进行筛选,提高预测的准确度。经过筛选后的特征,再经过一系列残差模块、注意力机制模块和全连接模块之后,输出预测的码率因子参数值。
84.码率因子预测模型中的模型参数需要提前从数据中学习训练获得,在实际应用中,码率因子预测模型通过下述训练方法获得:
85.获得样本特征信息和所述样本特征信息对应的样本码率因子;
86.将所述样本特征信息输入至码率因子预测模型进行处理,接收所述码率因子预测模型输出的预测码率因子;
87.根据所述预测码率因子和所述样本码率因子计算模型损失值;
88.根据所述模型损失值调整所述码率因子预测模型的模型参数,并继续训练所述码率因子预测模型直至达到模型训练停止条件。
89.其中,样本特征信息和样本码率因子是用于训练码率因子预测模型的样本训练对,样本特征信息是通过上述获得第一待处理特征信息的方法获得的信息,样本码率因子是真正的码率因子。真正的码率因子通过对样本特征信息进行多次搜索获得,不断尝试使用不同的码率因子参数对训练视频进行编码,从而确定最优的码率因子。
90.将样本特征信息输入至码率因子预测模型中进行处理,获得码率因子预测模型输出的预测码率因子,再根据预测码率因子和样本码率因子计算模型损失值,计算模型损失值的损失函数可以是交叉熵损失函数、最大损失函数、平均值损失函数、0-1损失函数等等,在本技术中,对损失函数的具体选择不做限定,以实际应用为准。
91.在计算模型损失值后,反向传播该模型损失值,并调整码率因子预测模型的模型参数,同时继续对码率因子预测模型进行训练,直至达到模型训练停止条件,具体的,模型训练停止条件可以是模型损失值低于预设阈值,和/或模型训练的轮次达到了预设轮次。关于模型训练停止条件的具体设定,在本技术中也不做限定,以实际应用为准。
92.步骤110:根据预设视频编码分值和所述码率因子编码所述待编码视频片段,获得目标视频片段。
93.在获得码率因子之后,即可使用转码系统对应的编码器通过该码率因子对待编码视频片段进行编码处理,从而获得编码结果,此时,还需要计算该编码结果的编码分值,即vmaf值(video multimethod assessment fusion),vmaf值是一种衡量编码后视频质量的参考评价分值。若该vmaf值符合预设视频编码分值,则获得目标视频片段,或该vmaf值不符合预设视频编码分值,则需要进行再次视频编码。
94.具体的,根据预设视频编码分值和所述码率因子编码所述待编码视频片段,获得目标视频片段,包括:
95.基于所述第一码率因子对所述待编码视频片段进行第一次编码,获得初始视频片段,并确定所述初始视频片段的第一编码分值;
96.根据所述预设视频编码分值确定视频编码分值区间;
97.在所述第一编码分值位于所述视频编码分值区间之内的情况下,确定所述初始视频片段为目标视频片段;
98.在所述第一编码分值位于所述视频编码分值区间之外的情况下,基于所述时空域特征信息、所述编码特征信息、所述第一码率因子和所述第一编码分值编码所述初始视频片段,获得目标视频片段。
99.在实际应用中,在获得第一码率因子后,即根据第一码率因子通过转码系统对应的编码器对待编码视频片进行第一次编码,编码完成后,获得初始视频片段,其中,初始视频片段具体是指待编码视频片段通过第一码率因子进行编码后获得的视频片段,同时计算初始视频片段的第一编码分值,第一编码分值具体是指第一次编码后的视频质量分值。
100.预设视频编码分值具体是指预先设置的恒定编码质量分值,例如91分,若视频的编码分值达到91分,即可认为视频编码质量是合格的,在实际应用中,还会允许一定范围内的误差,例如在预设视频编码分值的基础上可以上下浮动1分,组成视频编码分值区间,依然以预设视频编码分值为91分为例,其上下浮动的范围为1分,则可以确定预设视频编码分值为90-92分。
101.若第一编码分值位于预设视频编码分值区间之内(包括区间的端点),则可以直接确定第一次编码后得到的初始视频片段是符合要求的视频片段,即确定初始视频片段为目标视频片段即可。
102.若第一编码分值位于预设视频编码分值区间之外(不包括区间的端点),则需要对初始视频片段进行进一步编码,具体的,基于所述时空域特征信息、所述编码特征信息、所述第一码率因子和所述第一编码分值编码所述初始视频片段,包括:
103.基于所述时空域特征信息、所述编码特征信息、所述第一码率因子和所述第一编码分值编码确定第二码率因子;
104.根据所述第二码率因子编码所述初始视频片段。
105.在实际应用中,若第一次视频编码计算获得的第一编码分值位于视频编码分值区间之外,则需要重新预测码率因子,并再次对初始视频片段进行编码,具体的,在第二次编码过程中,除了根据上述的时空域特征信息和编码特征信息外,还需要加入第一码率因子和第一编码分值来确定第二码率因子,其中,第二码率因子具体是指用于第二次视频编码的码率因子。
106.具体的,基于所述时空域特征信息、所述编码特征信息、所述第一码率因子和所述第一编码分值编码确定第二码率因子,包括:
107.将所述时空域特征信息、所述编码特征信息、所述第一码率因子和所述第一编码分值拼接生成第二待处理特征信息;
108.将所述第二待处理特征信息输入至第二码率因子预测模型,其中,所述第二码率因子预测模型被训练于根据所述第二待处理特征信息生成预测码率因子;
109.接收所述第二码率因子预测模型根据所述第二待处理特征信息生成的第二码率因子。
110.与上述步骤中确定第一待处理特征信息相似,第二待处理特征信息是在第一待处理特征信息的基础上,加入了第一码率因子和第一编码分值,即第一待处理特征信息为370
个特征值,再加上第一码率因子和第一编码分值,组成了有372个特征值的第二待处理特征信息。
111.将第二待处理特征信息输入至第二码率因子预测模型,第二码率因子预测模型的模型结构参见上述的码率因子预测模型,第二码率因子预测模型的训练方法也参见上述码率因子预测模型的训练方法,第二码率因子预测模型与第一码率因子预测模型的区别在于:第二码率因子预测模型的输入比第一码率因子预测模型的输入多了第一码率因子和第一编码分值的两个特征值。
112.第二码率因子预测模型根据第二待处理特征信息与车第二码率因子。在确定第二次视频编码的第二码率因子之后,根据所述第二码率因子编码所述初始视频片段,使用转码系统所使用的编码器对初始视频片段进行二次编码,经过多次试验显示,第二次视频编码之后,获得的编码分值有99%的概率落在了预设视频编码分值区间之内,因此,可以直接信任第二次视频编码的结果。
113.在对每个待编码视频片段进行编码之后,所述方法还包括:
114.基于每个待编码视频片段在所述待编码视频中的顺序拼接每个待编码视频片段对应的目标视频片段,获得所述待编码视频对应的目标视频。
115.对一个待编码视频中的每个待编码视频片段进行上述的编码操作之后,可以获得每个待编码视频片段对应的目标视频片段,将每个待编码视频片段的编码结果写入到最终的视频码流文件中,再根据每个待编码视频片段在该待编码视频中的顺序对每个目标视频片段进行拼接,最终获得待编码视频对应的目标视频,最终完成对该待编码视频的编码处理。
116.本技术一实施例提供的方法,实现了根据待编码视频帧集合提取时空域特征信息和编码特征信息,并基于时空域特征信息和编码特征信息来预测用于视频编码的码率因子,并基于预设的视频编码分值和码率因子来对视频进行编码,从而获得目标视频片段,通过预测的码率因子和恒定视频编码分值的方法,使得视频编码的准确率得到了有效提升,即保证视频质量,又显著降低了视频压缩文件的大小。
117.在提取待编码视频的编码特征信息过程中,将待编码视频帧集合转换为待编码视频帧对集合,并通过帧内编码和帧间编码的方法,充分提取待编码视频的空间编码复杂度和时域编码复杂度,为后续预测码率因子提供了丰富的参考依据。
118.通过大量的实验数据表明,经过第一次预测和编码后,视频的准确率为40%,因此,只有60%的视频片段会经过第二次预测和编码,因此,本技术提供的方法的平均编码复杂度为1.6次编码,在这样的编码复杂度下,该方法可以输出该视频片段质量恒定的视频码流,可以稳定地保障画质体验,同时避免码率浪费。
119.下述结合附图3,以本技术提供的视频编码方法在对视频t的编码的应用为例,对所述视频编码方法进行进一步说明。其中,图3示出了本技术一实施例提供的一种应用于视频t编码的视频编码方法的处理流程图,具体包括以下步骤:
120.步骤302:获取视频t,对视频t进行场景检测,将视频t分割为多个待编码视频片段。
121.步骤304:确定待编码视频片段,并解码所述待编码视频片段,获得待编码视频帧集合。
122.步骤306:基于所述待编码视频帧集合提取待编码视频帧集合的灰度共生信息和归一化信息。
123.步骤308:根据所述灰度共生信息和所述归一化信息拼接生成所述待编码视频片段的时空域特征信息。
124.步骤310:根据所述待编码视频帧集合生成待编码视频帧对集合。
125.步骤312:对所述待编码视频帧对集合中的每个视频帧对分别做帧内编码和帧间编码,获得所述待编码视频片段的编码特征信息。
126.步骤314:将所述时空域特征信息和所述编码特征信息拼接生成第一待处理特征信息。
127.步骤316:将所述第一待处理特征信息输入至第一码率因子预测模型,获得第一码率因子预测模型输出的第一码率因子。
128.步骤318:基于所述第一码率因子对所述待编码视频片段进行第一次编码,获得初始视频片段,并确定所述初始视频片段的第一编码分值。
129.步骤320:根据所述预设视频编码分值确定视频编码分值区间。
130.步骤322:判断所述第一编码分值是否位于视频编码分值区间内,若是,则执行步骤324,若否,则执行步骤326-330。
131.步骤324:确定所述初始视频片段为目标视频片段。
132.步骤326:将所述时空域特征信息、所述编码特征信息、所述第一码率因子和所述第一编码分值拼接生成第二待处理特征信息。
133.步骤328:将所述第二待处理特征信息输入至第二码率因子预测模型,获得第二码率因子预测模型输出的第二码率因子。
134.步骤330:根据所述第二码率因子编码所述初始视频片段,获得目标视频片段。
135.步骤332:基于每个待编码视频片段在视频t中的顺序拼接每个待编码视频片段对应的目标视频片段,获得视频t对应的目标视频。
136.本技术一实施例提供的方法,实现了根据待编码视频帧集合提取时空域特征信息和编码特征信息,并基于时空域特征信息和编码特征信息来预测用于视频编码的码率因子,并基于预设的视频编码分值和码率因子来对视频进行编码,从而获得目标视频片段,通过预测的码率因子和恒定视频编码分值的方法,使得视频编码的准确率得到了有效提升,即保证视频质量,又显著降低了视频压缩文件的大小。
137.在提取待编码视频的编码特征信息过程中,将待编码视频帧集合转换为待编码视频帧对集合,并通过帧内编码和帧间编码的方法,充分提取待编码视频的空间编码复杂度和时域编码复杂度,为后续预测码率因子提供了丰富的参考依据。
138.与上述视频编码方法实施例相对应,本技术还提供了视频编码装置实施例,图4示出了本技术一实施例提供的一种视频编码装置的结构示意图。如图4所示,该装置包括:
139.获取模块402,被配置为获取待编码视频片段;
140.解码模块404,被配置为解码所述待编码视频片段,获得待编码视频帧集合;
141.提取模块406,被配置为基于所述待编码视频帧集合提取所述待编码视频片段的时空域特征信息和编码特征信息;
142.确定模块408,被配置为根据所述时空域特征信息和所述编码特征信息确定所述
待编码视频片段的码率因子;
143.编码模块410,被配置为根据预设视频编码分值和所述码率因子编码所述待编码视频片段,获得目标视频片段。
144.可选的,所述提取模块406,进一步被配置为:
145.基于所述待编码视频帧集合提取待编码视频帧集合的灰度共生信息和归一化信息;
146.根据所述灰度共生信息和所述归一化信息拼接生成所述待编码视频片段的时空域特征信息。
147.可选的,所述提取模块406,进一步被配置为:
148.根据所述待编码视频帧集合生成待编码视频帧对集合;
149.对所述待编码视频帧对集合中的每个视频帧对分别做帧内编码和帧间编码,获得所述待编码视频片段的编码特征信息。
150.可选的,所述提取模块406,进一步被配置为:
151.对所述待编码视频帧对集合中每个视频帧对的第一视频帧做帧内编码,获得帧内编码信息;
152.对所述待编码视频帧对集合中每个视频帧对做帧间编码,获得帧间编码信息;
153.拼接所述帧内编码信息和所述帧间编码信息,获得编码特征信息。
154.可选的,所述确定模块408,进一步被配置为;
155.将所述时空域特征信息和所述编码特征信息拼接生成第一待处理特征信息;
156.将所述第一待处理特征信息输入至第一码率因子预测模型,其中,所述第一码率因子预测模型被训练于根据所述第一待处理特征信息生成预测码率因子;
157.接收所述第一码率因子预测模型根据所述第一待处理特征信息生成的第一码率因子。
158.可选的,所述编码模块410,进一步被配置为:
159.基于所述第一码率因子对所述待编码视频片段进行第一次编码,获得初始视频片段,并确定所述初始视频片段的第一编码分值;
160.根据所述预设视频编码分值确定视频编码分值区间;
161.在所述第一编码分值位于所述视频编码分值区间之内的情况下,确定所述初始视频片段为目标视频片段;
162.在所述第一编码分值位于所述视频编码分值区间之外的情况下,基于所述时空域特征信息、所述编码特征信息、所述第一码率因子和所述第一编码分值编码所述初始视频片段,获得目标视频片段。
163.可选的,所述编码模块410,进一步被配置为:
164.基于所述时空域特征信息、所述编码特征信息、所述第一码率因子和所述第一编码分值编码确定第二码率因子;
165.根据所述第二码率因子编码所述初始视频片段。
166.可选的,所述编码模块410,进一步被配置为:
167.将所述时空域特征信息、所述编码特征信息、所述第一码率因子和所述第一编码分值拼接生成第二待处理特征信息;
168.将所述第二待处理特征信息输入至第二码率因子预测模型,其中,所述第二码率因子预测模型被训练于根据所述第二待处理特征信息生成预测码率因子;
169.接收所述第二码率因子预测模型根据所述第二待处理特征信息生成的第二码率因子。
170.可选的,所述装置还包括训练模块,被配置为:获得样本特征信息和所述样本特征信息对应的样本码率因子;
171.将所述样本特征信息输入至码率因子预测模型进行处理,接收所述码率因子预测模型输出的预测码率因子;
172.根据所述预测码率因子和所述样本码率因子计算模型损失值;
173.根据所述模型损失值调整所述码率因子预测模型的模型参数,并继续训练所述码率因子预测模型直至达到模型训练停止条件。
174.可选的,所述装置还包括:
175.视频获取模块402,被配置为获取待编码视频;
176.检测模块,被配置为对所述待编码视频进行场景检测,将所述待编码视频拆分为多个单镜头视频片段;
177.视频确定模块,被配置为确定每个单镜头视频片段为待编码视频片段。
178.可选的,所述装置还包括:
179.拼接模块,被配置为基于每个待编码视频片段在所述待编码视频中的顺序拼接每个待编码视频片段对应的目标视频片段,获得所述待编码视频对应的目标视频。
180.本技术一实施例提供的装置,实现了根据待编码视频帧集合提取时空域特征信息和编码特征信息,并基于时空域特征信息和编码特征信息来预测用于视频编码的码率因子,并基于预设的视频编码分值和码率因子来对视频进行编码,从而获得目标视频片段,通过预测的码率因子和恒定视频编码分值的方法,使得视频编码的准确率得到了有效提升,即保证视频质量,又显著降低了视频压缩文件的大小。
181.在提取待编码视频的编码特征信息过程中,将待编码视频帧集合转换为待编码视频帧对集合,并通过帧内编码和帧间编码的方法,充分提取待编码视频的空间编码复杂度和时域编码复杂度,为后续预测码率因子提供了丰富的参考依据。
182.通过大量的实验数据表明,经过第一次预测和编码后,视频的准确率为40%,因此,只有60%的视频片段会经过第二次预测和编码,因此,本技术提供的方法的平均编码复杂度为1.6次编码,在这样的编码复杂度下,该方法可以输出该视频片段质量恒定的视频码流,可以稳定地保障画质体验,同时避免码率浪费。
183.上述为本实施例的一种视频编码装置的示意性方案。需要说明的是,该视频编码装置的技术方案与上述的视频编码方法的技术方案属于同一构思,视频编码装置的技术方案未详细描述的细节内容,均可以参见上述视频编码方法的技术方案的描述。
184.图5示出了根据本技术一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
185.计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网
(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
186.在本技术的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
187.计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
188.其中,处理器520执行所述计算机指令时实现所述的视频编码方法的步骤。
189.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的视频编码方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述视频编码方法的技术方案的描述。
190.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述视频编码方法的步骤。
191.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的视频编码方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述视频编码方法的技术方案的描述。
192.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
193.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
194.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
195.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
196.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1