一种帧类型判定方法及装置与流程

文档序号:14393865阅读:189来源:国知局

本发明涉及视频编码技术领域,特别涉及一种帧类型判定方法及装置。



背景技术:

随着多媒体应用中数字视频业务的不断发展,以及对视频云计算需求的不断提高,现有的有线、无线传输网络带宽和存储资源已然无法承受原始视频信源的大数据量。因而,视频信号在传输、存储过程中的数据压缩成为目前国内外研究和应用的热点之一;视频数据压缩,也称视频编码,其目的是消除视频信号的各种数据冗余。

目前,国内外标准化工作组织在过去几十年中相继制定了多种视频编码标准。为了减少视频数据占用的传输带宽和存储空间,这些标准大都通过预测、变换、扫描、量化、熵编码等技术以有效减少上述各种数据冗余。预测技术是其中一项常用技术,其根据帧间或帧内的预测参考关系,将图像编码帧类型划分为i帧、p帧、b帧三种帧类型。i帧为帧内预测图像,在一般的编码器实现中,i帧具有量化参数小、模式决策偏向选择低损失模式、客观编码损失较少的特点,在作为后续图像的预测参考时,可以提升后续图像的压缩效率。因而,i帧除了具有随机访问特性外,还往往具有周期性恢复视频编码损失、防止视频质量不断下降的功能。

在现有技术中,一般事先设置好连续两个i帧之间的间隔,而按照上述方式设定i帧并进行视频编码时,通常将上述间隔设置为较大的值,这样连续的两个i帧之间会存在较多的p帧以及b帧。由于现有的视频编码方法多为有损编码,且p帧、b帧的编码损失相比于i帧要大,另外,p帧、b帧编码又需要以在其之前完成编码的视频帧为参考,所以,随着i帧之后各帧的编码,后续各帧的编码损失越来越大,鉴于上述情况,在相连两个i帧之间间隔较大时,易造成编码效率低。



技术实现要素:

本发明实施例公开了一种帧类型判定方法及装置,用于提高视频的编码效率。技术方案如下:

为达上述目的,第一方面,本发明实施例提供了一种帧类型判定方法,应用于编码器,所述方法包括:

确定在待编码图像之前编码的任一i帧为目标i帧;

分析第一类视频帧的编码结果,获得第一统计模型值,其中,所述第一类视频帧为:按照编码顺序,从所述目标i帧到所述待编码图像之间的i帧;

分析第二类视频帧的编码结果,获得第二统计模型值,其中,所述第二类视频帧为:按照编码顺序,从所述目标i帧到所述待编码图像之间的非i帧;

根据所述第一统计模型值以及所述第二统计模型值,判断所述待编码图像是否满足预设的i帧选择条件;

如果是,将所述待编码图像的帧类型判定为i帧。

优选的,所述根据所述第一统计模型值以及所述第二统计模型值,判断所述待编码图像是否满足预设的i帧选择条件,包括:

计算所述第一统计模型值与所述第二统计模型值之间的差值和/或比值,获得计算结果;

根据所述计算结果,判断所述待编码图像是否满足预设的i帧选择条件。

优选的,所述方法还包括:

确定目标图像集合内的图像之间是否发生场景变化,其中,所述目标图像集合,由按照编码顺序包含所述待编码图像的、连续的第一预设数量帧图像组成;

所述根据所述第一统计模型值以及所述第二统计模型值,判断所述待编码图像是否满足预设的i帧选择条件,包括:

判断以下关系是否成立,若为是,判定所述待编码图像满足预设的i帧选择条件:

所述第一统计模型值和所述第二统计模型值满足预设的数值关系,且所述目标图像集合内的图像之间未发生场景变化。

优选的,所述确定目标图像集合内的图像之间是否发生场景变化,包括:

确定第一目标图像相对于第二目标图像是否发生场景变化,若为是,判定目标图像集合内的图像之间发生场景变化;其中,

所述第一目标图像为:按照编码顺序,位于所述待编码图像前和/或后的第二预设数量帧图像;

所述第二目标图像为:所述第一目标图像的参考图像或按照编码顺序,所述第一目标图像的前一帧图像。

优选的,所述第一目标图像为:所述待编码图像当前所在图像组内的第三预设数量帧图像;

所述确定第一目标图像相对于第二目标图像是否发生场景变化,包括:

计算所述第一目标图像相比于所述第二目标图像的预测失真之和,得到第一和值;

计算所述第二目标图像的帧内预测失真之和,得到第二和值;

计算所述第一和值和所述第二和值的比值;

判断所述比值是否处于预设数值区间;

如果是,对应判定所述第一目标图像相对于所述第二目标图像发生场景变化;

如果否,对应判定所述第一目标图像相对于所述第二目标图像未发生场景变化。

优选的,所述第一目标图像为:所述待编码图像当前所在图像组内的第四预设数量帧图像;

所述确定第一目标图像相对于第二目标图像是否发生场景变化,包括:

相对于每一帧所述第一目标图像对应的第二目标图像,获得每一所述第一目标图像中各个图像块的运动幅度;

根据所获得的运动幅度,统计每一第一目标图像中运动幅度大于第一预设阈值的图像块;

针对每一第一目标图像,分别计算统计得到的图像块占整帧图像的比例;

根据计算得到的比例,判断所述第一目标图像相对于所述第二目标图像是否发生场景变化。

优选的,所述确定目标图像集合内的图像之间是否发生场景变化,包括:

确定所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化,如果是,判定所述目标图像集合内的图像之间发生场景变化,其中,所述后续图像为按照编码顺序,位于所述待编码图像后的第五预设数量帧图像。

优选的,所述确定所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化,包括:

相对于所述待编码图像,获得每一所述后续图像中各个图像的运动幅度;

根据所获得的运动幅度,统计每一所述后续图像中运动幅度大于第二预设阈值的图像块;

针对每一后续图像,分别计算统计得到的图像块占整帧图像的比例;

根据计算得到的比例,判断所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化。

优选的,所述确定所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化,包括:

计算每一帧所述后续图像相对于所述待编码图像的第一预测失真;

根据所有所述第一预测失真,判断所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化。

优选的,所述确定目标图像集合内的图像之间是否发生场景变化,包括:

基于当前参考关系,确定所述待编码图像相对其参考图像是否发生内容变化,若为是,判定目标图像集合内的图像之间发生场景变化。

优选的,所述基于当前参考关系,确定所述待编码图像相对其参考图像是否发生内容变化,包括:

基于当前参考关系,计算所述待编码图像相对于其对应的最近参考图像的目标运动值,其中,所述最近参考图像为:按照显示顺序,所述待编码图像对应的所有参考图像中,距离所述待编码图像最近的参考图像,所述目标运动值为:所述待编码图像中,运动幅度大于第三预设阈值的数据块占整帧图像的比例;

判断所述目标运动值是否大于第四预设阈值;

如果是,判定所述待编码图像相对其参考图像发生内容变化;

如果否,判定所述待编码图像相对其参考图像未发生内容变化。

优选的,所述基于当前参考关系,确定所述待编码图像相对其参考图像是否发生内容变化,包括:

基于当前参考关系,计算所述待编码图像相对于其对应的最近参考图像的第二预测失真,其中,所述最近参考图像为按照视频显示顺序,所述待编码图像对应的所有参考图像中,距离所述待编码图像最近的参考图像;

判断所述第二预测失真是否大于第五预设阈值;

如果是,判定所述待编码图像相对其参考图像发生内容变化;

如果否,判定所述待编码图像相对其参考图像未发生内容变化。

优选的,所述将所述待编码图像的帧类型判定为i帧之后,所述方法还包括:

重置当前已确定帧类型且未开始编码的图像的帧类型。

优选的,所述第一统计模型值以及所述第二统计模型值均包括:平均比特数、总比特数、最大峰值信噪比、最小峰值信噪比、平均峰值信噪比、最大结构相似性值、最小结构相似性值、平均结构相似性值、预设大小的数据块的最大残差平方和、所述预设大小的数据块的最小残差平方和或所述预设大小的数据块的平均残差平方和中的至少一种。

第二方面,本发明实施例还提供了一种帧类型判定装置,应用于编码器,所述装置包括:

第一确定模块,用于确定在待编码图像之前编码的任一i帧为目标i帧;

第一分析模块,用于分析第一类视频帧的编码结果,获得第一统计模型值,其中,所述第一类视频帧为:按照编码顺序,从所述目标i帧到所述待编码图像之间的i帧;

第二分析模块,用于分析第二类视频帧的编码结果,获得第二统计模型值,其中,所述第二类视频帧为:按照编码顺序,从所述目标i帧到所述待编码图像之间的非i帧;

判断模块,用于根据所述第一统计模型值以及所述第二统计模型值,判断所述待编码图像是否满足预设的i帧选择条件;

判定模块,用于在所述判断模块的判断结果为是的情况下,将所述待编码图像的帧类型判定为i帧。

优选的,所述判断模块,包括:

第一判断子模块,用于计算所述第一统计模型值与所述第二统计模型值之间的差值和/或比值,获得计算结果;

第二判断子模块,用于根据所述计算结果,判断所述待编码图像是否满足预设的i帧选择条件。

优选的,所述装置还包括:

第二确定模块,用于确定目标图像集合内的图像之间是否发生场景变化,其中,所述目标图像集合,由按照编码顺序包含所述待编码图像的、连续的第一预设数量帧图像组成;

所述判断模块,具体用于判断以下关系是否成立,若为是,判定所述待编码图像满足预设的i帧选择条件:

所述第一统计模型值和所述第二统计模型值满足预设的数值关系,且所述目标图像集合内的图像之间未发生场景变化。

优选的,所述第二确定模块,具体用于:

确定第一目标图像相对于第二目标图像是否发生场景变化,若为是,判定目标图像集合内的图像之间发生场景变化;其中,

所述第一目标图像为:按照编码顺序,位于所述待编码图像前和/或后的第二预设数量帧图像;

所述第二目标图像为:所述第一目标图像的参考图像或按照编码顺序,所述第一目标图像的前一帧图像。

优选的,所述第一目标图像为:所述待编码图像当前所在图像组内的第三预设数量帧图像;

所述第二确定模块,包括:

第一计算子模块,用于计算所述第一目标图像相比于所述第二目标图像的预测失真之和,得到第一和值;

第二计算子模块,用于计算所述第二目标图像的帧内预测失真之和,得到第二和值;

第三计算子模块,用于计算所述第一和值和所述第二和值的比值;

第三判断子模块,用于判断所述比值是否处于预设数值区间;

第一判定子模块,用于在所述第三判断子模块的判断结果为是的情况下,对应判定所述第一目标图像相对于所述第二目标图像发生场景变化;在所述第三判断子模块的判断结果为否的情况下,对应判定所述第一目标图像相对于所述第二目标图像未发生场景变化。

优选的,所述第一目标图像为:所述待编码图像当前所在图像组内的第四预设数量帧图像;

所述第二确定模块,包括:

第一获得子模块,用于相对于每一帧所述第一目标图像对应的第二目标图像,获得每一所述第一目标图像中各个图像块的运动幅度;

第一统计子模块,用于根据所获得的运动幅度,统计每一第一目标图像中运动幅度大于第一预设阈值的图像块;

第四计算子模块,用于针对每一第一目标图像,分别计算统计得到的图像块占整帧图像的比例;

第四判断子模块,用于根据计算得到的比例,判断所述第一目标图像相对于所述第二目标图像是否发生场景变化。

优选的,所述第二确定模块,具体用于:

确定所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化,如果是,判定所述目标图像集合内的图像之间发生场景变化,其中,所述后续图像为按照编码顺序,位于所述待编码图像后的第五预设数量帧图像。

优选的,所述第二确定模块,包括:

第二获得子模块,用于相对于所述待编码图像,获得每一所述后续图像中各个图像的运动幅度;

第二统计子模块,用于根据所获得的运动幅度,统计每一所述后续图像中运动幅度大于第二预设阈值的图像块;

第五计算子模块,用于针对每一后续图像,分别计算统计得到的图像块占整帧图像的比例;

第五判断子模块,用于根据计算得到的比例,判断所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化。

优选的,所述第二确定模块,包括:

第六计算子模块,用于计算每一帧所述后续图像相对于所述待编码图像的第一预测失真;

第六判断子模块,用于根据所有所述第一预测失真,判断所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化。

优选的,所述第二确定模块,具体用于:

基于当前参考关系,确定所述待编码图像相对其参考图像是否发生内容变化,若为是,判定目标图像集合内的图像之间发生场景变化。

优选的,所述第二确定模块,包括:

第七计算子模块,用于基于当前参考关系,计算所述待编码图像相对于其对应的最近参考图像的目标运动值,其中,所述最近参考图像为:按照显示顺序,所述待编码图像对应的所有参考图像中,距离所述待编码图像最近的参考图像,所述目标运动值为:所述待编码图像中,运动幅度大于第三预设阈值的数据块占整帧图像的比例;

第七判断子模块,用于判断所述目标运动值是否大于第四预设阈值;

第二判定子模块,用于在所述第七判断子模块的判断结果为是的情况下,判定所述待编码图像相对其参考图像发生内容变化;在所述第七判断子模块的判断结果为否的情况下,判定所述待编码图像相对其参考图像未发生内容变化。

优选的,所述第二确定模块,包括:

第八计算子模块,用于基于当前参考关系,计算所述待编码图像相对于其对应的最近参考图像的第二预测失真,其中,所述最近参考图像为按照视频显示顺序,所述待编码图像对应的所有参考图像中,距离所述待编码图像最近的参考图像;

第八判断子模块,用于判断所述第二预测失真是否大于第五预设阈值;

第三判定子模块,用于在所述第八判断子模块的判断结果为是的情况下,判定所述待编码图像相对其参考图像发生内容变化;在所述第八判断子模块的判断结果为否的情况下,判定所述待编码图像相对其参考图像未发生内容变化。

优选的,所述装置还包括:

重置模块,用于在将所述待编码图像的帧类型判定为i帧之后,重置当前已确定帧类型且未开始编码的图像的帧类型。

优选的,所述第一统计模型值以及所述第二统计模型值均包括:平均比特数、总比特数、最大峰值信噪比、最小峰值信噪比、平均峰值信噪比、最大结构相似性值、最小结构相似性值、平均结构相似性值、预设大小的数据块的最大残差平方和、所述预设大小的数据块的最小残差平方和或所述预设大小的数据块的平均残差平方和中的至少一种。

由以上可见,在本发明实施例中,在判定待编码图像的帧类型时,首先确定在该待编码图像之前编码的任一i帧为目标i帧;分析第一类视频帧的编码结果,获得第一统计模型值;分析第二类视频帧的编码结果,获得第二统计模型值;根据第一统计模型值以及第二统计模型值,判断该待编码图像是否满足预设的i帧选择条件;如果是,将该待编码图像的帧类型判定为i帧。在本发明实施例中,第一类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的i帧;第二类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的非i帧;所以本发明实施例在判定待编码图像的帧类型时,考虑了已编码的视频帧的编码结果,并根据已编码的视频帧的编码结果,确定是否将待编码图像编码为i帧。基于本发明实施例提供的帧类型判定方法进行视频编码,可以加快编码速度,提升视频的压缩效率,减少视频编码损失,提高视频的编码效率。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明第一实施例提供的一种帧类型判定方法的流程示意图;

图2为本发明第二实施例提供的一种帧类型判定方法的流程示意图;

图3为本发明第三实施例提供的一种帧类型判定方法的流程示意图;

图4为本发明第四实施例提供的一种帧类型判定方法的流程示意图;

图5为本发明第五实施例提供的一种帧类型判定方法的流程示意图;

图6为本发明一实施例提供的一种帧类型判定装置的结构示意图;

图7为本发明另一实施例提供的一种帧类型判定装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面,先对本发明实施例中涉及到的技术术语进行简单介绍。

帧类型:当前视频编码标准主要包括三种的帧类型:i帧、p帧和b帧;i帧为帧内预测图像,解码时只需要本帧数据就可以完成解码;p帧为前向预测帧,p帧的编码需要参考前面的i帧或p帧,而b帧为双向预测帧,b帧的编码需要参考前面和后面的i帧或p帧。

本领域技术人员公知的是,编码一般是有损编码,每一帧图像编码之后得到的数据相对于原始图像数据都存在信息损失,每一帧的参考帧都是有损失的,参考帧的损失越大,编码后该帧的损失也越大,相应的该损失大的帧作为后续帧的参考帧时会带来更大的损失,进而带来视频编码效率的下降;由于上述情况的存在,为保证后续各帧的编码效率,需适当插入i帧,即适当地将某些图像编码为i帧。

在现有的编码标准中,从某一i帧开始计算,至下一i帧之前的所有图像帧构成一个图像组(gop,groupofpictures),又称画面组,在一个图像组中,仅有一个i帧,例如,图像组:i、b1、b2、p1、b3、b4、p2、b5和b6。

另外,在视频编码前,可以预先确定帧类型设置规则,例如,一个图像组包含15帧,相邻参考帧之间插入2个b帧等,具体例如,按照显示顺序,预先设置一个图像组中的各图像的帧类型为i、b、b、p、b、b、p、b、b;在视频编码过程中,编码器还可以调整图像的帧类型,例如现有的场景切换检测技术中,编码器提前检测出相邻几帧间的视频图像内容的变化,根据变化的幅度判定是否需要插入i帧,i帧在场景发生变化时插入,例如在上述帧类型帧类型为i、b、b、p、b、b、p、b、b的图像组中,在对第二个准备编码为p帧的图像进行编码时,检测出相邻几帧间的视频图像内容的变化幅度超过预设阈值,则此时将该图像编码为i帧。

下面通过具体实施例来对本发明进行详细介绍。

图1为本发明第一实施例提供的一种帧类型判定方法的流程示意图;可以理解,该方法适用于视频图像中的每一帧图像,该方法应用于编码器,该方法包括:

s101:确定在待编码图像之前编码的任一i帧为目标i帧。

可以理解,目标i帧为整个视频中在待编码图像前,已编码的第k个i帧,其中,k>0;例如,在待编码图像编码之前编码的第三个i帧。

s102:分析第一类视频帧的编码结果,获得第一统计模型值;其中,第一类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的i帧。

s103:分析第二类视频帧的编码结果,获得第二统计模型值;其中,第二类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的非i帧。

应该说明的是,步骤s102和s103的执行顺序没有先后要求的,可以是先执行步骤s102,再执行步骤s103;也可以是先执行步骤s103,再执行步骤s102;还可以是同时执行步骤s102和s103。

在本发明实施例中,上述第一统计模型值以及第二统计模型值均包括:平均比特数、总比特数、最大峰值信噪比、最小峰值信噪比、平均峰值信噪比、最大结构相似性值、最小结构相似性值、平均结构相似性值、预设大小的数据块的最大残差平方和、预设大小的数据块的最小残差平方和或预设大小的数据块的平均残差平方和中的至少一种。

上述图像的峰值信噪比(psnr,peaksignaltonoiseratio)以及结构相似性(ssim,structuralsimilarityindex)值的具体计算方法可参考现有技术。

应该说明的是,当第一统计模型值确定为上述模型值中的某一种或多种时,则第二统计模型值的种类必然与第一统计模型值的种类相同。例如,如果第一统计模型值为:按照编码顺序,从目标i帧到该待编码图像之间的i帧的总比特数,则第二统计模型值为从目标i帧到该待编码图像之间的非i帧的总比特数;如果第一统计模型值为:按照编码顺序,从目标i帧到该待编码图像之间的i帧的平均比特数和平均峰值信噪比,则第二统计模型值为从目标i帧到该待编码图像之间的非i帧的平均比特数和平均峰值信噪比。

另外,本发明实施例中,统计模型值的选择并不限于上述种类,也可以是其他可以反映已编码的i帧的总比特数占已编码的所有视频图像的总比特数比例,或反映已编码的非i帧的编码质量的统计模型值。

s104:根据第一统计模型值以及第二统计模型值,判断该待编码图像是否满足预设的i帧选择条件。

在本发明实施例中,可以利用所获得的第一统计模型值以及第二统计模型值,进而获得某些可以判断当前已编码视频图像的压缩率和编码损失的目标值,该目标值就可以表明当前情况下需要插入i帧,即需要将该待编码图像编码为i帧。

在本发明实施例中,上述根据第一统计模型值以及第二统计模型值,判断该待编码图像是否满足预设的i帧选择条件(s104),可以包括:

计算第一统计模型值与第二统计模型值之间的差值和/或比值,获得计算结果;

根据计算结果,判断待编码图像是否满足预设的i帧选择条件。

在本发明实施例中,当第一统计模型值以及第二统计模型值分别为:对应按照编码顺序,从目标i帧到该待编码图像之间的i帧与非i帧的平均比特数或总比特数时,可以计算第一统计模型值与第二统计模型值的比值,如果该比值小于某一预设阈值,可以判定该待编码图像满足预设的i帧选择条件,即可以将该待编码图像编码为i帧。

当第一统计模型值以及第二统计模型值分别为:对应按照编码顺序,从目标i帧到该待编码图像之间的i帧与非i帧的最大峰值信噪比、最小峰值信噪比、平均峰值信噪比、最大结构相似性值、最小结构相似性值或平均结构相似性值时,可以计算第一统计模型值与第二统计模型值的比值,如果该比值超过某一预设阈值,可以判定该待编码图像满足预设的i帧选择条件,即可以将该待编码图像编码为i帧。

当第一统计模型值以及第二统计模型值分别为:对应按照编码顺序,从目标i帧到该待编码图像之间的i帧与非i帧的最大峰值信噪比、最小峰值信噪比、平均峰值信噪比、最大结构相似性值、最小结构相似性值或平均结构相似性值时,还可以计算第一统计模型值与第二统计模型值的差值,如果该差值超过某一预设阈值,可以判定该待编码图像满足预设的i帧选择条件,即可以将该待编码图像编码为i帧。

当第一统计模型值以及第二统计模型值分别为:对应按照编码顺序,从目标i帧到该待编码图像之间的i帧与非i帧的预设大小的数据块的最大残差平方和、预设大小的数据块的最小残差平方和或预设大小的数据块的平均残差平方和时,可以计算第一统计模型值与第二统计模型值的比值,如果该比值小于某一预设阈值,可以判定该待编码图像满足预设的i帧选择条件,即可以将该待编码图像编码为i帧。

应该说明的是,在实际的过程中,编码器可以选择仅统计一种统计模型值,例如仅统计按照编码顺序,从目标i帧到该待编码图像之间的i帧与非i帧分别对应的第一平均比特数与第二平均比特数,可以计算第一平均比特数与第二平均比特数的比值,如果该比值小于预设阈值,可以判定该待编码图像满足预设的i帧选择条件。

编码器还可以选择统计至少两种统计模型值,在所选择的各种第一统计模型值和第二统计模型值中,至少一种满足预设条件的情况下,同样可以判定待编码图像满足预设的i帧选择条件。

例如,编码器统计按照编码顺序,从目标i帧到该待编码图像之间的i帧对应的第一总比特数与第一平均峰值信噪比,还统计了按照编码顺序,从目标i帧到该待编码图像之间的非i帧对应的第二总比特数与第二平均峰值信噪比,如果第一总比特数与第二总比特数的比值,不小于一预设阈值,而第一平均峰值信噪比与第二平均峰值信噪比的差值,超过另一预设阈值,则可以判定该待编码图像满足预设的i帧选择条件。

如果是,执行s105:将该待编码图像的帧类型判定为i帧。

可以理解,将该待编码图像的帧类型判定为i帧后,编码器会将该待编码图像编码为i帧。例如,按照预先确定的帧类型设置规则,待编码图像将会被编码为b帧,当使用本发明实施例提供的方法后,将该待编码图像的帧类型判定为i帧,则编码器将该待编码图像编码为i帧。

本发明实施例中,在上述将待编码图像的帧类型判定为i帧(s105)之后,该方法还可以包括:

重置当前已确定帧类型且未开始编码的图像的帧类型。

本领域技术人员公知的是,在待编码图像编码为i帧后,按照编码顺序,待编码图像编码的后续多帧已经预读取的图像的参考关系和图像帧类型,需要以当前图像为i帧为基础进行重置。例如,待编码图像为显示顺序为pic1、pic2、pic3、pic4、pic5、pic6、pic7、pic8和pic9的图像组中的图像pic8,图像pic1、pic2、pic3、pic4、pic5、pic6、pic7、pic8和pic9对应的帧类型分别为i、b、b、p、b、b、p、b和b,显然的,此图像组的编码顺序为pic1、pic4、pic2、pic3、pic7、pic5、pic6、pic8和pic9,当将图像pic8判定为i帧后,则图像pic9的帧类型依然置为b帧,但是图像pic9的参考帧变为图像pic8。

由以上可见,在本发明实施例中,在判定待编码图像的帧类型时,首先确定在该待编码图像之前编码的任一i帧为目标i帧;分析第一类视频帧的编码结果,获得第一统计模型值;分析第二类视频帧的编码结果,获得第二统计模型值;根据第一统计模型值以及第二统计模型值,判断该待编码图像是否满足预设的i帧选择条件;如果是,将该待编码图像的帧类型判定为i帧。在本发明实施例中,第一类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的i帧;第二类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的非i帧;所以本发明实施例在判定待编码图像的帧类型时,考虑了已编码的视频帧的编码结果,并根据已编码的视频帧的编码结果,确定是否将待编码图像编码为i帧。基于本发明实施例提供的帧类型判定方法进行视频编码,可以加快编码速度,提升视频的压缩效率,减少视频编码损失,提高视频的编码效率。

本发明实施例尤其针对于会议视频,可以很好地提高会议视频的压缩效率,而且基于本发明实施例提供的帧类型判定方法,编码生成的视频符合现有视频编码标准,可以直接被常用播放器解码。

相对于图1所示方法实施例,该方法还可以包括:

s106:确定目标图像集合内的图像之间是否发生场景变化,其中,该目标图像集合,由按照编码顺序,包含该待编码图像的、连续的第一预设数量帧图像组成。

应该说明的是,图像之间的场景是否发生变化可以通过现有技术进行判断,本发明实施例对于此处的判断方法并不做限定。而且,在目标图像集合内,可以是:只要判断出任意两个图像发生场景变化,即判定目标图像集合内的图像之间发生了场景变化。

上述目标图像集合的确定应该按照编码顺序,例如,对于同一图像组的图像,假设各图像的显示顺序为i、b1、b2、p1、b3、b4、p2、b5、b6,则此图像组的编码顺序为i、p1、b1、b2、p2、b3、b4、b5、b6,假设待编码图像为b2,该第一预设数量为5,则,该目标图像集合可以是由i、p1、b1、b2、p2组成的图像集合。

在包含步骤s106的情况下,本发明实施例的步骤s101~s103与图1所示方法实施例相同,与图1所示方法实施例不同的是,在包含步骤s106的情况下,上述根据第一统计模型值以及第二统计模型值,判断该待编码图像是否满足预设的i帧选择条件(s104),可以为:

判断以下关系是否成立,若为是,判定该待编码图像满足预设的i帧选择条件:

第一统计模型值和第二统计模型值满足预设的数值关系,且该目标图像集合内的图像之间未发生场景变化。

当然,在本发明实施例中,对第一统计模型值和第二统计模型值是否满足预设的数值关系的判断过程与步骤s106的执行顺序不做限定;可以是先判断第一统计模型值和第二统计模型值是否满足预设的数值关系,并在第一统计模型值和第二统计模型值满足预设的数值关系的情况下,执行步骤s106;还可以是先执行步骤s106,在确定该目标图像集合内的图像之间未发生场景变化的情况下,判断第一统计模型值和第二统计模型值是否满足预设的数值关系,如图2所示。

图2为本发明第二实施例提供的一种帧类型判定方法的流程示意图。

如图2,在执行完步骤s106后,本发明实施例的帧类型判定方法还包括:

s1041:判断第一统计模型值和第二统计模型值是否满足预设的数值关系。

可以理解,此处步骤s1041的判断可以通过图1所示方法实施例中提供的方法,判断第一统计模型值和第二统计模型值是否满足预设的数值关系,即:相应于图1的方法实施例,步骤s104的判断结果为是时,第一统计模型值和第二统计模型值满足预设的数值关系,步骤s104的判断结果为否时,第一统计模型值和第二统计模型值不满足预设的数值关系。而目标图像集合内的图像之间未发生场景变化这一目标条件的具体判断方法除了通过现有技术实现外,还可以通过如下方法实现。

第一种可行的目标条件的判断方法,如图3所示,上述确定目标图像集合内的图像之间是否发生场景变化(s106),可以为:

s1061:确定第一目标图像相对于第二目标图像是否发生场景变化,若为是,判定目标图像集合内的图像之间发生场景变化。

其中,该第一目标图像为:按照编码顺序,位于该待编码图像前和/或后的第二预设数量帧图像;该第二目标图像为:该第一目标图像的参考图像或按照编码顺序,该第一目标图像的前一帧图像。

例如,该待编码图像为显示顺序为i、b1、b2、p1、b3、b4、p2、b5、b6的图像组中的图像b3,该图像组的编码顺序是i、p1、b1、b2、p2、b3、b4、b5、b6,若该第二预设数量为3,则该第一目标图像可以是b2、p2和b4中的至少一帧图像,例如第一目标图像是图像b2和b4,第二目标图像为按照编码顺序,对应第一目标图像的前一帧图像,则图像b2和b4对应的第二目标图像分别为b1和b3。如果图像b2相对于图像b1和/或b4相对于图像b3发生场景变化,可以判定目标图像集合内的图像之间发生了场景变化。

应该强调的是,视频编码时,由于预先确定了帧类型设置规则,所以对该待编码图像进行编码时,存在对应该待编码图像的参考图像,例如,对于显示顺序为i、b1、b2、p1、b3、b4、p2、b5、b6的一图像组,其编码顺序是i、p1、b1、b2、p2、b3、b4、b5、b6,当编码到图像b3,即图像b3为待编码图像时,器当前对应的参考图像包括图像p1和p2。

在第一种确定第一目标图像相对于第二目标图像是否发生场景变化的方法中,该第一目标图像可以为:该待编码图像当前所在图像组内的第三预设数量帧图像,当然,此第三预设数量帧图像包含在上述第二预设数量帧图像中。此时,上述确定第一目标图像相对于第二目标图像是否发生场景变化(s1061),可以为:

计算第一目标图像相比于第二目标图像的预测失真之和,得到第一和值;

计算第二目标图像的帧内预测失真之和,得到第二和值;

计算该第一和值和该第二和值的比值;

判断该比值是否处于预设数值区间;

如果是,对应判定第一目标图像相对于第二目标图像发生场景变化;

如果否,对应判定第一目标图像相对于第二目标图像未发生场景变化。

应该说明的是,上述预测失真以及帧内预测失真的具体计算方法属于现有技术,在本发明实施例在此不再赘述。

通常情况下,该第一和值和该第二和值的比值接近于1时,表明第一目标图像相对于第二目标图像发生场景变化,所以在实际使用过程中,该预设数值区间可以是[1,v],其中v可以根据实际选择,例如,v选择为1.5。

例如,该预设数值区间为[1,1.6],待编码图像为显示顺序为i、b1、b2、p、b3、b4的图像组中的图像p,该图像组的编码顺序是i、p、b1、b2、b3、b4,若该第三预设数量为2,则该第一目标图像可以是图像b1和b2,图像b1和b2对应的第二目标图像分别为p和b1。

此时,计算图像b1相对于图像p的预测失真x,和图像b2相对于图像b1的预测失真y,计算x和y的和值z;计算图像b1和b2的帧内预测失真之和,得到和值w;然后计算和值z与和值w的比值,假设该比值为1.1,则此时,判定第一目标图像相对于第二目标图像发生场景变化。

在第二种确定第一目标图像相对于第二目标图像是否发生场景变化的方法中,该第一目标图像为:该待编码图像当前所在图像组内的第四预设数量帧图像;当然,此第四预设数量帧图像包含在上述第二预设数量帧图像中。此时,上述确定第一目标图像相对于第二目标图像是否发生场景变化(s1061),可以为如下四个步骤:

相对于每一帧第一目标图像对应的第二目标图像,获得每一第一目标图像中各个图像块的运动幅度;

根据所获得的运动幅度,统计每一第一目标图像中运动幅度大于第一预设阈值的图像块;

针对每一第一目标图像,分别计算统计得到的图像块占整帧图像的比例;

根据计算得到的比例,判断第一目标图像相对于第二目标图像是否发生场景变化。

应该说明的是,当第一目标图像的数量超过一个时,对于得到的对应于每一帧第一目标图像的各个比例,可以从各个比例中选择出最大值,判断该最大值是否大于一预设阈值,如果大于,判定第一目标图像相对于第二目标图像发生了场景变化;否则,判定第一目标图像相对于第二目标图像未发生场景变化;或者,计算出各个比例的平均值,判断该平均值是否大于另一预设阈值,如果大于,判定第一目标图像相对于第二目标图像发生了场景变化;否则,判定第一目标图像相对于第二目标图像未发生场景变化。

例如,通过各个比例中的最大值来判断第一目标图像相对于第二目标图像是否发生场景变化,预设阈值为40%,上述第一预设阈值为16个整像素值。第一目标图像e和f分别对应的第二目标图像g和h;图像e相对于图像g,运动幅度大于16个整像素值的图像块的占图像e的比例为38.6%;图像f相对于图像h,运动幅度大于16个整像素值的图像块的占图像f的比例为49.2%;则此时该最大值为49.2%,由于最大值49.2%大于预设阈值40%,此时判定第一目标图像相对于第二目标图像发生了场景变化。

应该说明的是,上述运动幅度以及比例的计算方法属于现有技术,在本发明实施例在此不再赘述。

当然,在本发明实施例中,并不限定于用所得到的所有比例对应的平均值或最大值,来做第一目标图像相对于第二目标图像是否发生场景变化的判断,本领域技术人员也可以通过其它现有技术进行判断,本发明实施例在此不再赘述。

第二种可行的目标条件的判断方法,如图4所示,上述确定目标图像集合内的图像之间是否发生场景变化(s106),可以包括:

s1062:确定该待编码图像的后续图像相对于该待编码图像是否发生场景变化,如果是,判定所述目标图像集合内的图像之间发生场景变化。其中,所述后续图像为按照编码顺序,位于所述待编码图像后的第五预设数量帧图像。

可以理解,第二种可行的目标条件的判断方法,主要用于确定待编码图像相对于其后续图像是否存在参考价值。

应该说明的是,当第五预设数量大于1时,可以是只要待编码图像的后续图像中的任意一个图像相对于待编码图像发生了场景变化,就判定目标图像集合内的图像之间发生场景变化。

例如,该待编码图像为显示顺序为i、b1、b2、b3、p、b4、b5、b6的图像组中的图像b3,该图像组的编码顺序是i、p、b1、b2、b3、b4、b5、b6,若选择的第五预设数量帧图像为图像b4和b5,则分别判断图像b4和b5相对于图像b3是否发生场景变化,如果判断出图像b4相对于图像b3未发生场景变化,而图像b5相对于图像b3发生了场景变化,则判定目标图像集合内的图像之间发生场景变化。

在本发明实施例中,采用如下两种方法来确定该待编码图像的后续图像相对于该待编码图像是否发生场景变化,当然,本发明实施例并不限定于用下述两种方法来确定该待编码图像的后续图像相对于该待编码图像是否发生场景变化。

在第一种确定该待编码图像的后续图像相对于该待编码图像是否发生场景变化的方法中,上述确定所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化(s1062),可以包括下述四个步骤:

相对于该待编码图像,获得每一后续图像中各个图像的运动幅度;

根据所获得的运动幅度,统计每一后续图像中运动幅度大于第二预设阈值的图像块;

针对每一后续图像,分别计算统计得到的图像块占整帧图像的比例;

根据计算得到的比例,判断该待编码图像的后续图像相对于该待编码图像是否发生场景变化。

应该说明的是,当该待编码图像的后续图像的数量超过一个时,对于得到的对应于每一帧后续图像的各个比例,可以从各个比例中选择出最大值,判断该最大值是否大于一预设阈值,如果大于,判定该待编码图像的后续图像相对于该待编码图像发生了场景变化;否则,判定该待编码图像的后续图像相对于该待编码图像未发生场景变化;或者,计算出各个比例的平均值,判断该平均值是否大于另一预设阈值,如果大于,判定该待编码图像的后续图像相对于该待编码图像发生了场景变化;否则,判定该待编码图像的后续图像相对于该待编码图像未发生场景变化。

例如,通过此处各个比例的平均值来判断该待编码图像的后续图像相对于该待编码图像是否发生场景变化,预设阈值为45%,上述第二预设阈值为12个整像素值。后续图像e、f和g相对于待编码图像,运动幅度大于12个整像素值的图像块的分别占自身整帧图像的比例为30.2%、49%和53.8%;则此时各个比例的平均值为44.3%,由于平均值44.3%小于预设阈值45%,此时判定该待编码图像的后续图像相对于该待编码图像未发生场景变化。

应该说明的是,上述运动幅度以及比例的计算方法属于现有技术,在本发明实施例在此不再赘述。

当然,在本发明实施例中,并不限定于用所得到的所有比例对应的平均值或最大值,来确定该待编码图像的后续图像相对于该待编码图像是否发生场景变化,本领域技术人员也可以使用现有技术提供的其它确定方法,本发明实施例在此不再赘述。

在第二种确定该待编码图像的后续图像相对于该待编码图像是否发生场景变化的方法中,上述确定该待编码图像的后续图像相对于该待编码图像是否发生场景变化(s1062),可以为:

计算每一帧后续图像相对于待编码图像的第一预测失真;

根据所有第一预测失真,判断该待编码图像的后续图像相对于该待编码图像是否发生场景变化。

应该说明的是,上述预测失真的计算方法属于现有技术,在本发明实施例在此不再赘述。

在本发明实施例中,当后续图像的数量为一帧时,可以直接判断该一帧后续图像相对于待编码图像的预测失真是否大于某一预设阈值,如果大于,判定该待编码图像的后续图像相对于该待编码图像发生了场景变化。

另外,如果后续图像的数量超过一帧时,可以计算获得每一帧后续图像相对于待编码图像的预测失真;然后可以从所获得的预测失真中获得最大值,判断该最大值是否大于一预设阈值,如果大于,判定该待编码图像的后续图像相对于该待编码图像发生了场景变化,否则判定该待编码图像的后续图像相对于该待编码图像未发生场景变化;或者,可以计算所获得的所有预测失真的平均值,判断该平均值是否大于另一预设阈值,如果大于,判定该待编码图像的后续图像相对于该待编码图像发生了场景变化,否则判定该待编码图像的后续图像相对于该待编码图像未发生场景变化。

当然,在本发明实施例中,在后续图像的数量超过一帧的情况下,并不限定于用所得到的所有预测失真对应的平均值或最大值,来判断该待编码图像的后续图像相对于该待编码图像是否发生场景变化,本领域技术人员也可以通过其它现有技术进行判断,本发明实施例在此不再赘述。

第三种可行的目标条件的判断方法,如图5所示,上述确定目标图像集合内的图像之间是否发生场景变化(s106),可以为:

s1063:基于当前参考关系,确定该待编码图像相对其参考图像是否发生内容变化,若为是,判定目标图像集合内的图像之间发生场景变化。

应该说明,内容变化与场景变化实质相似,仅是图像之间数据内容变化的程度不同。

在第一种确定该待编码图像相对其参考图像是否发生内容变化的方法中,上述基于当前参考关系,确定该待编码图像相对其参考图像是否发生内容变化(s1063),可以包括:

基于当前参考关系,计算该待编码图像相对于其对应的最近参考图像的目标运动值,其中,最近参考图像为:按照显示顺序,该待编码图像对应的所有参考图像中,距离该待编码图像最近的参考图像,目标运动值为:该待编码图像中,运动幅度大于第三预设阈值的数据块占整帧图像的比例;

判断目标运动值是否大于第四预设阈值;

如果是,判定该待编码图像相对其参考图像发生内容变化;

如果否,判定该待编码图像相对其参考图像未发生内容变化。

可以理解,视频编码时,待编码图像的参考图像可能不止一帧,如果存在多帧参考图像,则最近参考图像为:按照显示顺序,距离该待编码图像最近的参考图像,例如,对于显示顺序为i、b1、b2、p1、b3、b4、p2、b5、b6的一图像组,假设当前的待编码图像为图像b4,图像b4对应的参考图像为图像p1和p2,则此时对应图像b4的最近参考图像为图像p2。

该目标运动值为:相对于待编码图像对应的最近参考图像,该待编码图像中运动幅度大于第三预设阈值的数据块占整帧图像的比例。而该目标运动值的计算方法可以参考现有技术,本发明实施例不再对该目标运动值的计算方法进行详细介绍。

在第二种确定该待编码图像相对其参考图像是否发生内容变化的方法中,上述基于当前参考关系,确定该待编码图像相对其参考图像是否发生内容变化(s1063),可以包括:

基于当前参考关系,计算该待编码图像相对于其对应的最近参考图像的第二预测失真,其中,最近参考图像为按照视频显示顺序,该待编码图像对应的所有参考图像中,距离该待编码图像最近的参考图像;

判断该第二预测失真是否大于第五预设阈值;

如果是,判定该待编码图像相对其参考图像发生内容变化;

如果否,判定该待编码图像相对其参考图像未发生内容变化。

例如,待编码图像为显示顺序为i、b1、b2、p1、b3、b4、p2、b5、b6的一图像组中的图像b3,该图像b3对应的最近参考图像为图像p1,计算图像b3相对于图像p1的预测失真,然后判断该预测失真是否大于第五预设阈值,如果大于,判定该待编码图像相对其参考图像发生了内容变化,否则判定该待编码图像相对其参考图像未发生内容变化。

在本发明实施例中,除了采用如上两种方法来确定该待编码图像的后续图像相对于该待编码图像是否发生场景变化,还可以使用其它现有技术,本发明实施例并不限定于用上述两种方法来确定该待编码图像的后续图像相对于该待编码图像是否发生场景变化。

应该强调的是,在实际应用中,上述目标条件的三种判断方法,可以选择其中一种或超过一种判断方法,当使用超过一种判断方法时,应该保证所使用的每一种判断方法都判断出目标图像集合内的图像之间未发生场景变化,才能确定目标条件的成立。

例如,同时使用了上述s1061和s1062的判定方法,当步骤s1061和s1062中的至多一个步骤判断出目标图像集合内的图像之间发生了场景变化判断时,编码器最终判定目标条件不成立;仅有步骤s1061和s1062都确定目标图像集合内的图像之间未发生场景变化判断时,编码器才会最终判定目标条件成立。

与图1所示方法实施例相同的是,本发明实施例中,在上述将待编码图像的帧类型判定为i帧(s105)之后,该方法还可以包括:

重置当前已确定帧类型且未开始编码的图像的帧类型。

由以上可见,在本发明实施例中,在判定待编码图像的帧类型时,首先确定在该待编码图像之前编码的任一i帧为目标i帧;分析第一类视频帧的编码结果,获得第一统计模型值;分析第二类视频帧的编码结果,获得第二统计模型值;根据第一统计模型值以及第二统计模型值,判断该待编码图像是否满足预设的i帧选择条件;如果是,将该待编码图像的帧类型判定为i帧。在本发明实施例中,第一类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的i帧;第二类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的非i帧;所以本发明实施例在判定待编码图像的帧类型时,考虑了已编码的视频帧的编码结果,并根据已编码的视频帧的编码结果,确定是否将待编码图像编码为i帧。基于本发明实施例提供的帧类型判定方法进行视频编码,可以加快编码速度,提升视频的压缩效率,减少视频编码损失,提高视频的编码效率。

本发明实施例尤其针对于会议视频,可以很好地提高会议视频的压缩效率,而且基于本发明实施例提供的帧类型判定方法,编码生成的视频符合现有视频编码标准,可以直接被常用播放器解码。

另外,由于需要在第一统计模型值和第二统计模型值满足预设的数值关系,且该目标图像集合内的图像之间未发生场景变化的情况下,才会将将待编码图像编码为i帧,可以有效避免短时间内,例如1s、2s时间段内等,插入过多的i帧,造成该短时间内已编码的i帧的总比特数占该短时间内所有已编码的图像的总比特数的比值过大,造成码率的波动过大,进一步避免了由此产生的视频显示不清晰问题。

下面通过具体实例来对本发明实施例进行详细介绍。

对于一视频中的待编码图像,待编码图像为显示顺序为pic1、pic2、pic3、pic4、pic5、pic6、pic7、pic8和pic9的图像组中的图像pic8,图像pic1、pic2、pic3、pic4、pic5、pic6、pic7、pic8和pic9对应的帧类型分别为i、b、b、p、b、b、p、b和b。可以理解,该图像组的编码顺序为pic1、pic4、pic2、pic3、pic7、pic5、pic6、pic8和pic9,在图像pic8编码时,图像pic1、pic4、pic2、pic3、pic7、pic5和pic6已完成编码。

在本例中,首先确定图像之前编码的图像pic1为目标i帧;然后确定图像pic1编码为i帧的比特数,并统计图像pic4、pic2、pic3、pic7、pic5和pic6编码后的总比特数,然后获得图像pic1的比特数的与该总比特数的比值。

另外,按照编码顺序,判断图像pic3、pic7、pic5和pic6相对于各自的前一幅图像是否发生场景变化,具体的判断方式是:相对于各自的前一幅图像,分别判定图像pic3、pic7、pic5和pic6中,运动幅度大于16个整像素值的数据块占整帧图像的比例是否超过30%。同时,还判定待编码图像pic8相比其参考图像pic7是否发生内容变化,具体的判定方法是,相对于图像pic7,图像pic8中运动幅度大于8个整像素值的数据块占整帧图像pic8的比例是否超过50%。

而后,在帧类型判定过程中,如果同时满足条件:

(1)上述比值小于5%;(2)相对于各自的前一幅图像,图像pic3、pic7、pic5和pic6中,不存在运动幅度大于16个整像素值的数据块占整帧图像的比例超过30%的图像;(3)待编码图像pic8相比其参考图像pic7未发生内容变化。

此时可以将图像pic8的帧类型重新判定为i帧,并将图像pic8编码为i帧。此后改变图像pic9的参考帧为图像pic8。

在使用上述判定帧类型方法的实例中,不同视频的编码效率提升如下表所示。

表1

表中,最左侧一列表示不同的视频名称;表中的y,u,v和yuv列分别表示相同y、u、v以及yuv合并质量下的码率节省,其中,负值表示节省,正值表示增加。从上表可以看出,对绝大多数video(视频)的压缩效率有提升作用,本发明实施例提供的帧类型判定方法可以很好地提高视频的压缩效率。

相应于图1所示方法实施例,如图6所示,本发明实施例提供一种帧类型判定装置,应用于编码器,所述装置包括:

第一确定模块110,用于确定在待编码图像之前编码的任一i帧为目标i帧;

第一分析模块120,用于分析第一类视频帧的编码结果,获得第一统计模型值,其中,所述第一类视频帧为:按照编码顺序,从所述目标i帧到所述待编码图像之间的i帧;

第二分析模块130,用于分析第二类视频帧的编码结果,获得第二统计模型值,其中,所述第二类视频帧为:按照编码顺序,从所述目标i帧到所述待编码图像之间的非i帧;

判断模块140,用于根据所述第一统计模型值以及所述第二统计模型值,判断所述待编码图像是否满足预设的i帧选择条件;

判定模块150,用于在所述判断模块140的判断结果为是的情况下,将所述待编码图像的帧类型判定为i帧。

具体的,所述判断模块140,可以包括第一判断子模块和第二判断子模块(图中未示出):

该第一判断子模块,用于计算所述第一统计模型值与所述第二统计模型值之间的差值和/或比值,获得计算结果;

该第二判断子模块,用于根据所述计算结果,判断所述待编码图像是否满足预设的i帧选择条件。

在实际使用时,具体的,所述装置还可以包括:

重置模块(图中未示出),用于在将所述待编码图像的帧类型判定为i帧之后,重置当前已确定帧类型且未开始编码的图像的帧类型。

具体的,所述第一统计模型值以及所述第二统计模型值均包括:平均比特数、总比特数、最大峰值信噪比、最小峰值信噪比、平均峰值信噪比、最大结构相似性值、最小结构相似性值、平均结构相似性值、预设大小的数据块的最大残差平方和、所述预设大小的数据块的最小残差平方和或所述预设大小的数据块的平均残差平方和中的至少一种。

由以上可见,在本发明实施例中,在判定待编码图像的帧类型时,首先确定在该待编码图像之前编码的任一i帧为目标i帧;分析第一类视频帧的编码结果,获得第一统计模型值;分析第二类视频帧的编码结果,获得第二统计模型值;根据第一统计模型值以及第二统计模型值,判断该待编码图像是否满足预设的i帧选择条件;如果是,将该待编码图像的帧类型判定为i帧。在本发明实施例中,第一类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的i帧;第二类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的非i帧;所以本发明实施例在判定待编码图像的帧类型时,考虑了已编码的视频帧的编码结果,并根据已编码的视频帧的编码结果,确定是否将待编码图像编码为i帧。基于本发明实施例提供的帧类型判定方法进行视频编码,可以加快编码速度,提升视频的压缩效率,减少视频编码损失,提高视频的编码效率。

本发明实施例尤其针对于会议视频,可以很好地提高会议视频的压缩效率,而且基于本发明实施例提供的帧类型判定方法,编码生成的视频符合现有视频编码标准,可以直接被常用播放器解码。

相应于图2~5所示方法实施例,相对于图6,如图7所示,所述装置还可以包括:

第二确定模块160,用于确定目标图像集合内的图像之间是否发生场景变化,其中,所述目标图像集合,由按照编码顺序包含所述待编码图像的、连续的第一预设数量帧图像组成;

所述判断模块140,具体用于判断以下关系是否成立,若为是,判定所述待编码图像满足预设的i帧选择条件:

所述第一统计模型值和所述第二统计模型值满足预设的数值关系,且所述目标图像集合内的图像之间未发生场景变化。

在实际应用中,具体的,所述第二确定模块160,可以具体用于:

确定第一目标图像相对于第二目标图像是否发生场景变化,若为是,判定目标图像集合内的图像之间发生场景变化;其中,

所述第一目标图像为:按照编码顺序,位于所述待编码图像前和/或后的第二预设数量帧图像;

所述第二目标图像为:所述第一目标图像的参考图像或按照编码顺序,所述第一目标图像的前一帧图像。

在实际应用中,更具体的,所述第一目标图像为:所述待编码图像当前所在图像组内的第三预设数量帧图像;

所述第二确定模块160,可以包括第一计算子模块、第二计算子模块、第三计算子模块、第一判断子模块和第一判定子模块(图中未示出):

该第一计算子模块,用于计算所述第一目标图像相比于所述第二目标图像的预测失真之和,得到第一和值;

该第二计算子模块,用于计算所述第二目标图像的帧内预测失真之和,得到第二和值;

该第三计算子模块,用于计算所述第一和值和所述第二和值的比值;

该第一判断子模块,用于判断所述比值是否处于预设数值区间;

该第一判定子模块,用于在所述第一判断子模块的判断结果为是的情况下,对应判定所述第一目标图像相对于所述第二目标图像发生场景变化;在所述第一判断子模块的判断结果为否的情况下,对应判定所述第一目标图像相对于所述第二目标图像未发生场景变化。

在实际应用中,更具体的,所述第一目标图像为:所述待编码图像当前所在图像组内的第四预设数量帧图像;

所述第二确定模块160,可以包括第一获得子模块、第一统计子模块、第四计算子模块和第二判断子模块(图中未示出):

该第一获得子模块,用于相对于每一帧所述第一目标图像对应的第二目标图像,获得每一所述第一目标图像中各个图像块的运动幅度;

该第一统计子模块,用于根据所获得的运动幅度,统计每一第一目标图像中运动幅度大于第一预设阈值的图像块;

该第四计算子模块,用于针对每一第一目标图像,分别计算统计得到的图像块占整帧图像的比例;

该第二判断子模块,用于根据计算得到的比例,判断所述第一目标图像相对于所述第二目标图像是否发生场景变化。

在实际应用中,所述第二确定模块160,还可以具体用于:

确定所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化,如果是,判定所述目标图像集合内的图像之间发生场景变化,其中,所述后续图像为按照编码顺序,位于所述待编码图像后的第五预设数量帧图像。

更具体的,所述第二确定模块160,可以包括第二获得子模块、第二统计子模块、第五计算子模块和第三判断子模块(图中未示出):

该第二获得子模块,用于相对于所述待编码图像,获得每一所述后续图像中各个图像的运动幅度;

该第二统计子模块,用于根据所获得的运动幅度,统计每一所述后续图像中运动幅度大于第二预设阈值的图像块;

该第五计算子模块,用于针对每一后续图像,分别计算统计得到的图像块占整帧图像的比例;

该第三判断子模块,用于根据计算得到的比例,判断所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化。

更具体的,所述第二确定模块160,还可以包括第六计算子模块和第四判断子模块(图中未示出):

该第六计算子模块,用于计算每一帧所述后续图像相对于所述待编码图像的第一预测失真;

该第四判断子模块,用于根据所有所述第一预测失真,判断所述待编码图像的后续图像相对于所述待编码图像是否发生场景变化。

在实际应用中,具体的,所述第二确定模块160,可以具体用于:

基于当前参考关系,确定所述待编码图像相对其参考图像是否发生内容变化,若为是,判定目标图像集合内的图像之间发生场景变化。

更具体的,所述第二确定模块160,可以包括第七计算子模块、第五判断子模块和第二判定子模块(图中未示出):

该第七计算子模块,用于基于当前参考关系,计算所述待编码图像相对于其对应的最近参考图像的目标运动值,其中,所述最近参考图像为:按照显示顺序,所述待编码图像对应的所有参考图像中,距离所述待编码图像最近的参考图像,所述目标运动值为:所述待编码图像中,运动幅度大于第三预设阈值的数据块占整帧图像的比例;

该第五判断子模块,用于判断所述目标运动值是否大于第四预设阈值;

该第二判定子模块,用于在所述第五判断子模块的判断结果为是的情况下,判定所述待编码图像相对其参考图像发生内容变化;在所述第五判断子模块的判断结果为否的情况下,判定所述待编码图像相对其参考图像未发生内容变化。

更具体的,所述第二确定模块160,还可以包括第八计算子模块、第六判断子模块和第三判定子模块(图中未示出):

该第八计算子模块,用于基于当前参考关系,计算所述待编码图像相对于其对应的最近参考图像的第二预测失真,其中,所述最近参考图像为按照视频显示顺序,所述待编码图像对应的所有参考图像中,距离所述待编码图像最近的参考图像;

该第六判断子模块,用于判断所述第二预测失真是否大于第五预设阈值;

该第三判定子模块,用于在所述第六判断子模块的判断结果为是的情况下,判定所述待编码图像相对其参考图像发生内容变化;在所述第六判断子模块的判断结果为否的情况下,判定所述待编码图像相对其参考图像未发生内容变化。

由以上可见,在本发明实施例中,在判定待编码图像的帧类型时,首先确定在该待编码图像之前编码的任一i帧为目标i帧;分析第一类视频帧的编码结果,获得第一统计模型值;分析第二类视频帧的编码结果,获得第二统计模型值;根据第一统计模型值以及第二统计模型值,判断该待编码图像是否满足预设的i帧选择条件;如果是,将该待编码图像的帧类型判定为i帧。在本发明实施例中,第一类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的i帧;第二类视频帧为:按照编码顺序,从目标i帧到该待编码图像之间的非i帧;所以本发明实施例在判定待编码图像的帧类型时,考虑了已编码的视频帧的编码结果,并根据已编码的视频帧的编码结果,确定是否将待编码图像编码为i帧。基于本发明实施例提供的帧类型判定方法进行视频编码,可以加快编码速度,提升视频的压缩效率,减少视频编码损失,提高视频的编码效率。

本发明实施例尤其针对于会议视频,可以很好地提高会议视频的压缩效率,而且基于本发明实施例提供的帧类型判定方法,编码生成的视频符合现有视频编码标准,可以直接被常用播放器解码。

另外,由于需要在第一统计模型值和第二统计模型值满足预设的数值关系,且该目标图像集合内的图像之间未发生场景变化的情况下,才会将将待编码图像编码为i帧,可以有效避免同一视频中插入过多的i帧,造成视频中i帧的总比特数占视频码流的比值过大,非i帧的总比特数占视频码流的比值过小,进一步避免了由此产生的视频显示不清晰问题。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:rom/ram、磁碟、光盘等。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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