一种视频实时超分辨率处理方法、装置、终端及存储介质转让专利

申请号 : CN202210848722.7

文献号 : CN115361582B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈作舟薛雅利邹龙昊陈梓豪陶小峰

申请人 : 鹏城实验室

摘要 :

本发明公开了一种视频实时超分辨率处理方法、装置、终端及存储介质,方法包括:获取超分模型及待超分视频,并确定待超分视频中各视频帧的类型;根据各视频帧的类型确定待超分视频中的关键帧和非关键帧,并通过超分模型对关键帧进行超分处理,根据超分后的关键帧更新解码器解码缓冲区和参考帧列表;确定非关键帧中的场景切换帧和非场景切换帧,通过超分模型对场景切换帧进行超分处理,并根据插值算法和参考帧列表对非场景切换帧进行超分处理;根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧。本发明通过采用深度学习和插值算法相结合的方式,既保证了超分效率又保证了超分视频质量。

权利要求 :

1.一种视频实时超分辨率处理方法,其特征在于,所述视频实时超分辨率处理方法包括:获取超分模型及待超分视频,并确定所述待超分视频中各视频帧的类型;

根据各视频帧的类型确定所述待超分视频中的关键帧和非关键帧,并通过所述超分模型对所述关键帧进行超分处理,根据超分后的关键帧更新解码器解码缓冲区和参考帧列表;

确定所述非关键帧中的场景切换帧和非场景切换帧,通过所述超分模型对所述场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓冲区和参考帧列表,并根据插值算法和所述参考帧列表对所述非场景切换帧进行超分处理;

根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧。

2.根据权利要求1所述的视频实时超分辨率处理方法,其特征在于,所述获取超分模型及待超分视频,并确定所述待超分视频中各视频帧的类型,包括:获取服务器发送的超分模型及待超分视频;

解析所述待超分视频的压缩码流语义信息;

根据所述压缩码流语义信息确定所述待超分视频中各视频帧的类型。

3.根据权利要求2所述的视频实时超分辨率处理方法,其特征在于,所述解析待超分视频的压缩码流语义信息,包括:通过网络抽象层对所述待超分视频进行分帧处理,得到各视频帧。

4.根据权利要求1所述的视频实时超分辨率处理方法,其特征在于,所述根据各视频帧的类型确定所述待超分视频中的关键帧和非关键帧,并通过所述超分模型对所述关键帧进行超分处理,包括:根据各视频帧的类型判断当前视频帧是否为所述关键帧;

若当前视频帧为所述关键帧,则根据视频解码流程对当前视频帧进行解码,得到解码后的未压缩视频帧数据;其中,所述未压缩视频帧数据为YUV视频帧数据;

将解码后的YUV视频帧数据转换为RGB视频帧数据,并加载对应的超分模型对所述RGB视频帧数据进行超分处理;

将超分后的RGB格式的超分帧转换为YUV格式的超分帧。

5.根据权利要求1所述的视频实时超分辨率处理方法,其特征在于,根据超分后的关键帧更新解码器解码缓冲区和参考帧列表,包括:将超分后的关键帧按照原始码流的参考关系存入所述解码器的解码图片缓存区中;

构建所述参考帧列表,并根据所述超分后的关键帧对应的编码顺序更新所述参考帧列表。

6.根据权利要求1所述的视频实时超分辨率处理方法,其特征在于,所述确定非关键帧中的场景切换帧和非场景切换帧,通过所述超分模型对所述场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓冲区和参考帧列表,包括:若当前视频帧为所述非关键帧,则遍历当前视频帧的所有编码块,解码得到各编码块的预测模式;

计算当前视频帧内编码块的比例,并通过所述比例判断当前视频帧是否为所述场景切换帧;

若当前视频帧为所述场景切换帧,则加载所述超分模型,并对所述场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓冲区和参考帧列表。

7.根据权利要求6所述的视频实时超分辨率处理方法,其特征在于,所述遍历当前视频帧的所有编码块,解码得到各编码块的预测模式,包括:遍历当前视频帧的编码树单元,并以四叉树的形式划分所述编码树单元;

判断当前编码块是否满足继续划分的条件;

若当前编码块满足所述继续划分的条件,则进一步对当前编码块进行划分;

若当前编码块不满足所述继续划分的条件,则解码得到当前编码块的预测模式。

8.根据权利要求6所述的视频实时超分辨率处理方法,其特征在于,所述计算当前视频帧内编码块的比例,并通过所述比例判断当前视频帧是否为场景切换帧,包括:确定当前视频帧的原始宽度和原始高度;

确定当前视频帧内编码块的数量、各编码块高度以及各编码块宽度;

根据所述原始宽度、所述原始高度、所述编码块的数量、各编码块高度以及各编码块宽度,计算当前视频帧内编码块的比例;

判断所述比例是否大于比例阈值;

若所述比例大于所述比例阈值,则判定当前视频帧为所述场景切换帧;

若所述比例小于或等于所述比例阈值,则判定当前视频帧为所述非场景切换帧。

9.根据权利要求1所述的视频实时超分辨率处理方法,其特征在于,所述根据插值算法和所述参考帧列表对所述非场景切换帧进行超分处理,包括:若当前视频帧为所述非场景切换帧,将预测值和残差值通过插值上采样后叠加,得到超分后的帧内编码块重建值;

将运动矢量上采样后计算得到上采样后的预测值,并将残差值上采样,与预测值叠加,得到超分后的帧间编码块数据;

根据超分后的非场景切换帧更新解码器解码缓冲区和参考帧列表。

10.根据权利要求1所述的视频实时超分辨率处理方法,其特征在于,所述根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧,包括:判断所述解码器是否处于解码输出状态;

若所述解码器处于所述解码输出状态,则根据所述输出顺序从所述解码器的缓存区中获取及输出超分后的视频帧。

11.一种视频实时超分辨率处理装置,其特征在于,包括:获取模块,用于获取超分模型及待超分视频,并确定所述待超分视频中各视频帧的类型;

关键帧超分模块,用于根据各视频帧的类型确定所述待超分视频中的关键帧和非关键帧,并通过所述超分模型对所述关键帧进行超分处理,根据超分后的关键帧更新解码器解码缓冲区和参考帧列表;

非关键帧超分模块,用于确定所述非关键帧中的场景切换帧和非场景切换帧,通过所述超分模型对所述场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓冲区和参考帧列表,并根据插值算法和所述参考帧列表对所述非场景切换帧进行超分处理;

输出模块,用于根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧。

12.一种终端,其特征在于,包括:处理器以及存储器,所述存储器存储有视频实时超分辨率处理程序,所述视频实时超分辨率处理程序被所述处理器执行时用于实现如权利要求

1‑10中任意一项所述的视频实时超分辨率处理方法。

13.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质存储有视频实时超分辨率处理程序,所述视频实时超分辨率处理程序被处理器执行时用于实现如权利要求1‑10中任意一项所述的视频实时超分辨率处理方法。

说明书 :

一种视频实时超分辨率处理方法、装置、终端及存储介质

技术领域

[0001] 本发明涉及视频处理技术领域,尤其涉及的是一种视频实时超分辨率处理方法、装置、终端及存储介质。

背景技术

[0002] 传输时使用低分辨率视频,大幅降低传输带宽,在解码端将低分辨率视频实时超分到高分辨率,提升用户观看视频质量。既大幅降低了视频传输带宽又保证了用户的观看体验。
[0003] 已有的视频超分技术分为以下几类:
[0004] 第一类是采用深度学习方法,虽然这种技术的超分效果好,但是耗时时间长且实时性差;
[0005] 第二类是采用传统插值上采样方法,虽然这种技术的实时性好,但是超分视频质量差;
[0006] 第三类是将深度学习和传统插值算法结合,对GOP中的关键帧使用深度学习方法上采样,GOP中其他帧进行插值上采样。虽然这种技术在一定程度上兼顾了实时性和超分效果,但是视频中除了关键帧GOP组中其他帧也存在场景切换情况,所以当帧间有场景切换时,超分效果质量差。
[0007] 因此,现有技术还有待改进。

发明内容

[0008] 本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种视频实时超分辨率处理方法、装置、终端及存储介质,以解决现有的视频超分技术实时性及超分效果质量差的技术问题。
[0009] 本发明解决技术问题所采用的技术方案如下:
[0010] 第一方面,本发明提供一种视频实时超分辨率处理方法,包括:
[0011] 获取超分模型及待超分视频,并确定所述待超分视频中各视频帧的类型;
[0012] 根据各视频帧的类型确定所述待超分视频中的关键帧和非关键帧,并通过所述超分模型对所述关键帧进行超分处理,根据超分后的关键帧更新解码器解码缓冲区和参考帧列表;
[0013] 确定所述非关键帧中的场景切换帧和非场景切换帧,通过所述超分模型对所述场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓冲区和参考帧列表,并根据插值算法和所述参考帧列表对所述非场景切换帧进行超分处理;
[0014] 根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧。
[0015] 在一种实现方式中,所述获取超分模型及待超分视频,并确定所述待超分视频中各视频帧的类型,包括:
[0016] 获取服务器发送的超分模型及待超分视频;
[0017] 解析所述待超分视频的压缩码流语义信息;
[0018] 根据所述压缩码流语义信息确定所述待超分视频中各视频帧的类型。
[0019] 在一种实现方式中,所述解析待超分视频的压缩码流语义信息,包括:
[0020] 通过网络抽象层对所述待超分视频进行分帧处理,得到各视频帧。
[0021] 在一种实现方式中,所述根据各视频帧的类型确定所述待超分视频中的关键帧和非关键帧,并通过所述超分模型对所述关键帧进行超分处理,包括:
[0022] 根据各视频帧的类型判断当前视频帧是否为所述关键帧;
[0023] 若当前视频帧为所述关键帧,则根据视频解码流程对当前视频帧进行解码,得到解码后的未压缩视频帧数据;其中,所述未压缩视频帧数据为YUV视频帧数据;
[0024] 将解码后的YUV视频帧数据转换为RGB视频帧数据,并加载对应的超分模型对所述RGB视频帧数据进行超分处理;
[0025] 将超分后的RGB格式的超分帧转换为YUV格式的超分帧。
[0026] 在一种实现方式中,根据超分后的关键帧更新解码器解码缓冲区和参考帧列表,包括:
[0027] 将超分后的关键帧按照原始码流的参考关系存入所述解码器的解码图片缓存区中;
[0028] 构建所述参考帧列表,并根据所述超分后的关键帧对应的编码顺序更新所述参考帧列表。
[0029] 在一种实现方式中,所述确定非关键帧中的场景切换帧和非场景切换帧,通过所述超分模型对所述场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓冲区和参考帧列表,包括:
[0030] 若当前视频帧为所述非关键帧,则遍历当前视频帧的所有编码块,解码得到各编码块的预测模式;
[0031] 计算当前视频帧内编码块的比例,并通过所述比例判断当前视频帧是否为所述场景切换帧;
[0032] 若当前视频帧为所述场景切换帧,则加载所述超分模型,并对所述场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓冲区和参考帧列表。
[0033] 在一种实现方式中,所述遍历当前视频帧的所有编码块,解码得到各编码块的预测模式,包括:
[0034] 遍历当前视频帧的编码树单元,并以四叉树的形式划分所述编码树单元;
[0035] 判断当前编码块是否满足继续划分的条件;
[0036] 若当前编码块满足所述继续划分的条件,则进一步对当前编码块进行划分;
[0037] 若当前编码块不满足所述继续划分的条件,则解码得到当前编码块的预测模式。
[0038] 在一种实现方式中,所述计算当前视频帧内编码块的比例,并通过所述比例判断当前视频帧是否为场景切换帧,包括:
[0039] 确定当前视频帧的原始宽度和原始高度;
[0040] 确定当前视频帧内编码块的数量、各编码块高度以及各编码块宽度;
[0041] 根据所述原始宽度、所述原始高度、所述编码块的数量、各编码块高度以及各编码块宽度,计算当前视频帧内编码块的比例;
[0042] 判断所述比例是否大于比例阈值;
[0043] 若所述比例大于所述比例阈值,则判定当前视频帧为所述场景切换帧;
[0044] 若所述比例小于或等于所述比例阈值,则判定当前视频帧为所述非场景切换帧。
[0045] 在一种实现方式中,所述根据插值算法和所述参考帧列表对所述非场景切换帧进行超分处理,包括:
[0046] 若当前视频帧为所述非场景切换帧,将预测值和残差值通过插值上采样后叠加,得到超分后的帧内编码块重建值;
[0047] 将运动矢量上采样后计算得到上采样后的预测值,并将残差上采样,与预测值叠加,得到超分后的帧间编码块数据;
[0048] 根据超分后的非场景切换帧更新解码器解码缓冲区和参考帧列表。
[0049] 在一种实现方式中,所述根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧,包括:
[0050] 判断所述解码器是否处于解码输出状态;
[0051] 若所述解码器处于所述解码输出状态,则根据所述输出顺序从所述解码器的缓存区中获取及输出超分后的视频帧。
[0052] 第二方面,本发明提供一种视频实时超分辨率处理装置,包括:
[0053] 获取模块,用于获取超分模型及待超分视频,并确定所述待超分视频中各视频帧的类型;
[0054] 关键帧超分模块,用于根据各视频帧的类型确定所述待超分视频中的关键帧和非关键帧,并通过所述超分模型对所述关键帧进行超分处理,根据超分后的关键帧更新解码器解码缓冲区和参考帧列表;
[0055] 非关键帧超分模块,用于确定所述非关键帧中的场景切换帧和非场景切换帧,通过所述超分模型对所述场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓冲区和参考帧列表,并根据插值算法和所述参考帧列表对所述非场景切换帧进行超分处理;
[0056] 输出模块,用于根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧。
[0057] 第三方面,本发明提供一种终端,包括:处理器以及存储器,所述存储器存储有视频实时超分辨率处理程序,所述视频实时超分辨率处理程序被所述处理器执行时用于实现如第一方面所述的视频实时超分辨率处理方法。
[0058] 第四方面,本发明还提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有视频实时超分辨率处理程序,所述视频实时超分辨率处理程序被处理器执行时用于实现如第一方面所述的视频实时超分辨率处理方法。
[0059] 本发明采用上述技术方案具有以下效果:
[0060] 本发明根据各视频帧的类型确定待超分视频中的关键帧和非关键帧,并通过超分模型对关键帧进行超分处理,可以根据超分后的关键帧更新解码器解码缓冲区和参考帧列表;以及通过确定非关键帧中的场景切换帧和非场景切换帧,利用超分模型对场景切换帧进行超分处理,将超分后的场景切换帧更新到参考帧列表,并根据插值算法和参考帧列表对非场景切换帧进行超分处理,从而根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧。本发明通过采用深度学习和插值算法相结合的方式,将关键帧和选取的场景切换帧使用深度学习模型进行超分,其余视频帧参考模型超分帧进行插值上采样超分,既保证了超分效率又保证了超分视频质量。

附图说明

[0061] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0062] 图1是本发明的一种实现方式中视频实时超分辨率处理方法的流程图。
[0063] 图2是本发明的一种实现方式中终端的功能原理图。
[0064] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0065] 为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0066] 示例性方法
[0067] 在现有的超分方式中,采用深度学习方法耗时时间长且实时性差,采用传统插值上采样方法超分视频质量差,而采用深度学习和传统插值算法结合的方法在帧间有场景切换时,超分效果质量差。
[0068] 针对上述技术问题,本实施例中提供了一种视频实时超分辨率处理方法,通过采用深度学习和插值算法相结合的方式,将关键帧和选取的场景切换帧使用深度学习模型进行超分,其余视频帧参考模型超分帧进行插值上采样超分,既保证了超分效率又保证了超分视频质量。
[0069] 如图1所示,本发明实施例提供一种视频实时超分辨率处理方法,包括以下步骤:
[0070] 步骤S100,获取超分模型及待超分视频,并确定所述待超分视频中各视频帧的类型。
[0071] 在本实施例中,所述视频实时超分辨率处理方法应用于终端上,所述终端包括但不限于:计算机以及移动终端等设备。
[0072] 在本实施例中,利用压缩码流的语义信息确定当前视频帧的类型和帧间编码块的比例大小,从而选取出关键帧和场景切换帧。将关键帧和选取的场景切换帧使用深度学习模型进行超分,其余视频帧参考模型超分帧进行插值上采样超分。场景切换帧的判断过程利用了压缩码流已有的信息,计算量很小。另外,采用超分模型和插值超分的方法,利用模型超分后的视频帧作为插值超分的参考帧,在保证超分后视频质量的同时提升了视频超分的速率,实现在低性能电子设备上实时超分视频。
[0073] 具体地,在本实施例的一种实现方式中,步骤S100包括以下步骤:
[0074] 步骤S101,获取服务器发送的超分模型及待超分视频;
[0075] 步骤S102,解析所述待超分视频的压缩码流语义信息;
[0076] 步骤S103,根据所述压缩码流语义信息确定所述待超分视频中各视频帧的类型。
[0077] 在本实施例中,需要接收服务器发送的超分模型及待超分视频;其中,所述超分模型为通过服务端训练得到的深度学习模型,用于将低分辨率的视频图像超分为高分辨率的视频图像;所述待超分视频即为低分辨率的视频,对超分后的视频(即目标分辨率的视频)而言,若当前视频的分辨率小于超分后视频的分辨率,可以认为该视频为低分辨率的视频。
[0078] 在接收待超分视频后,通过解析压缩码流语义信息,获取待超分视频中的视频帧类型。所述解析压缩码流语义信息即为视频解码的过程,包括:H.264视频和HEVC视频的解码过程;对于H.264视频和HEVC视频,语义信息包括:SPS(序列参数集)、PPS(图像参数集)、I/P/B Slice(帧内编码图像帧、预测编码图像帧、双向预测编码图像帧)。
[0079] 在本实施例中,在解析压缩码流语义信息的过程中,可以参照H.264视频或者HEVC视频的解码流程进行解码。
[0080] 具体地,在本实施例的一种实现方式中,步骤S102包括以下步骤:
[0081] 步骤S102a,通过网络抽象层对所述待超分视频进行分帧处理,得到各视频帧。
[0082] 在本实施例中,在解析压缩码流语义信息的过程中,可通过解析NALU(网络抽象层)进行分帧,每个NALU都以固定的start code(启动码)进行分帧处理;在分帧处理之后,可以通过NALU TYPE(网络抽象层的类型判断)确认当前帧的类型。
[0083] 如图1所示,在本发明实施例的一种实现方式中,视频实时超分辨率处理方法还包括以下步骤:
[0084] 步骤S200,根据各视频帧的类型确定所述待超分视频中的关键帧和非关键帧,并通过所述超分模型对所述关键帧进行超分处理,根据超分后的关键帧更新解码器解码缓冲区和参考帧列表。
[0085] 在本实施例中,根据各视频帧的类型确定所述待超分视频中的关键帧和非关键帧,进而将关键帧和选取的场景切换帧使用深度学习模型进行超分处理,其余视频帧参考模型超分帧进行插值上采样超分处理。
[0086] 具体地,在本实施例的一种实现方式中,步骤S200包括以下步骤:
[0087] 步骤S201,根据各视频帧的类型判断当前视频帧是否为所述关键帧;
[0088] 步骤S202,若当前视频帧为所述关键帧,则根据视频解码流程对当前视频帧进行解码,得到解码后的未压缩视频帧数据;其中,所述未压缩视频帧数据为YUV视频帧数据;
[0089] 步骤S203,将解码后的YUV视频帧数据转换为RGB视频帧数据,并加载对应的超分模型对所述RGB视频帧数据进行超分处理;
[0090] 步骤S204,将超分后的RGB格式的超分帧转换为YUV格式的超分帧。
[0091] 在本实施例中,根据视频帧类型判断当前帧是否为关键帧;其中,所述关键帧为I帧(即Intra‑coded picture,帧内编码图像帧)或IDR帧(即Intantaneous decodeing refresh,即时解码刷新帧)。
[0092] 在判断当前帧是否为关键帧时,如果视频帧为关键帧,则按照正常解码流程解码当前帧,以得到解码后未压缩视频帧数据;其中,正常解码流程可以参照HEVC视频或者H.264视频解码流程,解码后数据为YUV数据。
[0093] 进一步地,将解码后的YUV视频帧数据转换为RGB格式,通过加载对应的超分模型对视频帧数据进行超分(即将低分辨率的视频图像超分辨率为高分辨率的视频图像),超分后将RGB格式的超分帧转换为YUV格式;在此过程中,超分模型的输入和输出都是RGB格式,视频格式为YUV格式,因此,需要将YUV视频帧转换为RGB后输入给超分模型。
[0094] 具体地,在本实施例的一种实现方式中,步骤S200还包括以下步骤:
[0095] 步骤S205,将超分后的关键帧按照原始码流的参考关系存入所述解码器的解码图片缓存区中;
[0096] 步骤S206,构建所述参考帧列表,并根据所述超分后的关键帧对应的编码顺序更新所述参考帧列表。
[0097] 在本实施例中,在转换为YUV格式的超分帧后,可以将超分后的视频帧(包括已解码的关键帧超分帧,场景切换超分帧以及插值上采样超分后的帧)按照原始码流的参考关系存入到解码器的解码图片缓存区DPB中,并更新到参考帧列表,给后面的其他帧(即非关键帧中的非场景切换帧)作参考帧使用;其中,原始码流的参考关系为指视频中的帧间参考关系,该帧间参考关系由编码器决定。
[0098] 在更新参考帧列表的过程中,先根据当前帧的POC和DPB中视频帧的POC顺序构建当前帧的参考帧列表,其中,参考帧列表包括:短期参考图像参数集和长期参考图像参数集;然后,根据所述超分后的关键帧对应的编码顺序更新所述参考帧列表。
[0099] 在本实施例中,充分利用压缩码流的语义信息,实现对视频实时超分;而在使用超分模型对关键帧进行超分时,可以根据视频文件选取超分模型,支持加载任意超分模型,可实现视频帧级别的模型选取,可对不同帧使用不同的超分模型(即针对视频内容或者应用场景使用不同的超分模型),从而可以根据实际需求使用最合适的超分模型。
[0100] 如图1所示,在本发明实施例的一种实现方式中,视频实时超分辨率处理方法还包括以下步骤:
[0101] 步骤S300,确定所述非关键帧中的场景切换帧和非场景切换帧,通过所述超分模型对所述场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓冲区和参考帧列表,并根据插值算法和所述参考帧列表对所述非场景切换帧进行超分处理。
[0102] 在本实施例中,在判断当前帧是否为关键帧的过程中,如果视频帧为非关键帧,则进一步根据是否为场景切换帧(即视频内容发生某种意义上的变化造成视频内容不连续的帧),以执行不同的超分策略;其中,所述非关键帧为P帧(Predictive‑coded picture,预测编码图像帧)和B帧(Bidirectionally predicted picture,双向预测编码图像帧)。
[0103] 具体地,在本实施例的一种实现方式中,步骤S300包括以下步骤:
[0104] 步骤S301,若当前视频帧为所述非关键帧,则遍历当前视频帧的所有编码块,解码得到各编码块的预测模式;
[0105] 步骤S302,计算当前视频帧内编码块的比例,并通过所述比例判断当前视频帧是否为所述场景切换帧;
[0106] 步骤S303,若当前视频帧为所述场景切换帧,则加载所述超分模型,并对所述场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓冲区和参考帧列表。
[0107] 在本实施例中,如果视频帧为非关键帧,则遍历当前帧的所有编码块,解码得到每个编码块的预测模式,并计算当前帧帧内编码块的比例大小(即当前帧内所有编码块面积占当前帧面积的比例)。
[0108] 进一步地,通过计算得到的帧内编码块的比例,判断当前帧是否是场景切换帧。如果是场景切换帧,则根据关键帧的超分流程加载超分模型,以对场景切换帧进行超分处理。
[0109] 同样地,在对场景切换帧进行超分处理的过程中,可以根据视频文件选取超分模型,支持加载任意超分模型,可实现视频帧级别的模型选取,可对不同帧使用不同的超分模型(即针对视频内容或者应用场景使用不同的超分模型),从而可以根据实际需求使用最合适的超分模型。
[0110] 具体地,在本实施例的一种实现方式中,步骤S301包括以下步骤:
[0111] 步骤S301a,遍历当前视频帧的编码树单元,并以四叉树的形式划分所述编码树单元;
[0112] 步骤S301b,判断当前编码块是否满足继续划分的条件;
[0113] 步骤S301c,若当前编码块满足所述继续划分的条件,则进一步对当前编码块进行划分;
[0114] 步骤S301d,若当前编码块不满足所述继续划分的条件,则解码得到当前编码块的预测模式。
[0115] 在本实施例中,在解码得到各编码块的预测模式的过程中,需要将当前视频帧划分为若干个互不重叠的编码树单元,在编码树单元内部,采用基于四叉树的循环分层结构进行划分,直至编码块无法被继续划分,编码块是否被继续划分取决于分割标志(即split flag),即根据分割标志判断当前编码块是否满足继续划分的条件,若有分割标志,则表示可以继续划分。
[0116] 以HEVC视频为例,解码一帧视频图像所有编码单元的预测模式流程:
[0117] 步骤S21,解析压缩码流,得到视频帧数据;
[0118] 步骤S22,如果当前帧是B帧、P帧,获取BSlice数据、P Slice数据(Slice是图像条带,即视频帧数据);
[0119] 步骤S23,遍历当前帧的所有CTU(Coding tree unit编码树单元);
[0120] 步骤S24,划分CTU四叉树(HEVC中CTU可以划分得到不同大小的编码单元);
[0121] 步骤S25,判断当前编码块是否可以继续划分,如果是,则继续返回到S24步骤进一步划分;
[0122] 步骤S26,如果当前编码块无法继续划分,则解码当前编码块的预测模式;即从编码块数据中解码出当前编码块是帧内编码块还是帧间编码块。
[0123] 在本实施例中,在计算当前视频帧内编码块的比例的过程中,可以通过比例算法计算得到,进而根据计算得到的比例和设定的比例阈值来判断当前视频帧为场景切换帧。
[0124] 具体地,在本实施例的一种实现方式中,步骤S302包括以下步骤:
[0125] 步骤S302a,确定当前视频帧的原始宽度和原始高度;
[0126] 步骤S302b,确定当前视频帧内编码块的数量、各编码块高度以及各编码块宽度;
[0127] 步骤S302c,根据所述原始宽度、所述原始高度、所述编码块的数量、各编码块高度以及各编码块宽度,计算当前视频帧内编码块的比例;
[0128] 步骤S302d,判断所述比例是否大于比例阈值;
[0129] 步骤S302e,若所述比例大于所述比例阈值,则判定当前视频帧为所述场景切换帧;
[0130] 步骤S302f,若所述比例小于或等于所述比例阈值,则判定当前视频帧为所述非场景切换帧。
[0131] 在本实施例中,设当前视频帧原始视频宽度为W,高度为H;设当前视频帧帧内编码块的数目为N;设当前视频帧第i个编码块的宽度为wi,高度为hi;设当前视频帧帧内编码块的比例为 则
[0132]
[0133] 设帧内编码块比例阈值为k,则当 时,表示当前帧为场景切换帧,当 时,不为场景切换帧。
[0134] 在本实施例中,通过计算视频帧帧间编码块的占比大小,来判断视频帧是否为场景切换帧。上面的过程中只设置了一个阈值k,对不同类型的视频帧,例如B帧和P帧设置不同的阈值同样在实施例的保护范围内。
[0135] 同时限制每个GOP(即Group of picture,图像组)中最大的场景切换帧数目也属于实施例的保护范围。上述过程完全利用压缩码流语义信息来计算非关键帧是否为场景切换帧,最大程度利用了编码器信息,且计算代价小,对超分流程几乎没有带来性能的影响,同时又大幅提升了超分质量。
[0136] 具体地,在本实施例的一种实现方式中,步骤S300还包括以下步骤:
[0137] 步骤S304,若当前视频帧为所述非场景切换帧,将预测值和残差值通过插值上采样后叠加,得到超分后的帧内编码块重建值;
[0138] 步骤S305,将运动矢量上采样后计算得到上采样后的预测值,并将残差上采样,与预测值叠加,得到超分后的帧间编码块数据;
[0139] 步骤S306,根据超分后的非场景切换帧更新解码器解码缓冲区和参考帧列表。
[0140] 在本实施例中,判断当前视频帧是否为场景切换帧时,如果当前帧不是场景切换帧,则利用插值方法和参考帧列表中的已超分的参考视频帧,超分得到当前帧的超分帧(此过程不需要超分模型)。
[0141] 具体地,在对非场景切换帧超分处理时,对于帧内编码块,将预测值和残差值通过插值上采样后叠加,得到超分后的帧内编码块重建值;而对于帧间编码块,通过将运动矢量上采样后计算得到上采样后的预测值,再将残差上采样,与预测值叠加得到超分后的帧间编码块数据。
[0142] 同样地,对于超分后的非场景切换帧,按照原始码流的参考关系存入所述解码器的解码图片缓存区中。
[0143] 如图1所示,在本发明实施例的一种实现方式中,视频实时超分辨率处理方法还包括以下步骤:
[0144] 步骤S400,根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧。
[0145] 具体地,在本实施例的一种实现方式中,步骤S400包括以下步骤:
[0146] 步骤S401,判断所述解码器是否处于解码输出状态;
[0147] 步骤S402,若所述解码器处于所述解码输出状态,则根据所述输出顺序从所述解码器的缓存区中获取及输出超分后的视频帧。
[0148] 在本实施例中,在视频中所有视频帧超分后,通过判断解码器是否要输出解码视频帧,输出超分后的视频帧;即如果解码器即将要输出解码视频帧,则则根据输出顺序(根据视频帧的POC(Picture Order Count)值顺序输出)从解码器解码缓存区DPB中获取超分后的视频帧,并进行输出。
[0149] 本实施例将选取的关键帧和场景切换帧通过超分模型进行超分后,直接存储到解码器的解码缓存区DPB中,并根据原来编码器的信息更新到对应的参考帧列表。在对其他非关键帧进行超分时,遍历当前帧的所有编码块,如果是帧内编码块,直接使用三立方插值按超分倍数对编码块上采样,如果是帧间编码块,则将解码得到的预测值和残差值通过三立方插值按超分倍数上采样,然后根据参考关系找到对应参考帧的超分后的视频帧,对当前编码块进行解码超分重建,最终完成当前视频帧的超分。超分过程中使用了通过模型超分的视频帧作为解码重建的参考帧,得到的超分效果比直接采用传统插值算法更好,提升了视频超分的整体质量。
[0150] 本实施例通过上述技术方案达到以下技术效果:
[0151] 本实施例根据各视频帧的类型确定待超分视频中的关键帧和非关键帧,并通过超分模型对关键帧进行超分处理,可以根据超分后的关键帧更新解码器解码缓冲区和参考帧列表;以及通过确定非关键帧中的场景切换帧和非场景切换帧,利用超分模型对场景切换帧进行超分处理,并根据插值算法和参考帧列表对非场景切换帧进行超分处理,从而根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧。本实施例通过采用深度学习和插值算法相结合的方式,将关键帧和选取的场景切换帧使用深度学习模型进行超分,其余视频帧参考模型超分帧进行插值上采样超分,既保证了超分效率又保证了超分视频质量。
[0152] 示例性设备
[0153] 基于上述实施例,本发明还提供一种视频实时超分辨率处理装置,包括:
[0154] 获取模块,用于获取超分模型及待超分视频,并确定所述待超分视频中各视频帧的类型;
[0155] 关键帧超分模块,用于根据各视频帧的类型确定所述待超分视频中的关键帧和非关键帧,并通过所述超分模型对所述关键帧进行超分处理,根据超分后的关键帧更新解码器解码缓冲区和参考帧列表;
[0156] 非关键帧超分模块,用于确定所述非关键帧中的场景切换帧和非场景切换帧,通过所述超分模型对所述场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓冲区和参考帧列表,并根据插值算法和所述参考帧列表对所述非场景切换帧进行超分处理;
[0157] 输出模块,用于根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧。
[0158] 基于上述实施例,本发明还提供一种终端,其原理框图可以如图2所示。
[0159] 该终端包括:通过系统总线连接的处理器、存储器、接口、显示屏以及通讯模块;其中,该终端的处理器用于提供计算和控制能力;该终端的存储器包括存储介质以及内存储器;该存储介质存储有操作系统和计算机程序;该内存储器为存储介质中的操作系统和计算机程序的运行提供环境;该接口用于连接外部设备,例如,移动终端以及计算机等设备;该显示屏用于显示相应的信息;该通讯模块用于与云端服务器或移动终端进行通讯。
[0160] 该计算机程序被处理器执行时用以实现一种视频实时超分辨率处理方法。
[0161] 本领域技术人员可以理解的是,图2中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0162] 在一个实施例中,提供了一种终端,其中,包括:处理器和存储器,存储器存储有视频实时超分辨率处理程序,视频实时超分辨率处理程序被处理器执行时用于实现如上的视频实时超分辨率处理方法。
[0163] 在一个实施例中,提供了一种存储介质,其中,存储介质存储有视频实时超分辨率处理程序,视频实时超分辨率处理程序被处理器执行时用于实现如上的视频实时超分辨率处理方法。
[0164] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。
[0165] 综上,本发明提供了一种视频实时超分辨率处理方法、装置、终端及存储介质,方法包括:获取超分模型及待超分视频,并确定待超分视频中各视频帧的类型;根据各视频帧的类型确定待超分视频中的关键帧和非关键帧,并通过超分模型对关键帧进行超分处理,根据超分后的关键帧更新解码器解码缓存区和参考帧列表;确定非关键帧中的场景切换帧和非场景切换帧,通过超分模型对场景切换帧进行超分处理,根据超分后的场景切换帧更新解码器解码缓存区和参考帧列表并根据插值算法和参考帧列表中对应的参考帧的超分帧对非场景切换帧进行超分处理;根据输出顺序从解码器的缓存区中获取及输出超分后的视频帧。本发明通过采用深度学习和插值算法相结合的方式,既保证了超分效率又保证了超分视频质量。
[0166] 应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。