用于移动端的视频解码方法、系统、存储介质及电子设备与流程

文档序号:25731034发布日期:2021-07-02 21:19阅读:57来源:国知局
用于移动端的视频解码方法、系统、存储介质及电子设备与流程

本发明涉及图像处理技术领域,尤其涉及用于移动端的视频解码方法、系统、存储介质及电子设备。



背景技术:

图像超分,是从一幅低分辨率图像或低分辨率图像序列中恢复出高分辨率图像的技术。近年来,基于深度卷积神经网络(cnn)的方法在图像超分方面取得了显著进展,出现了许多优秀的图像超分方法,但是大多数现有超分方法只是注重峰值信噪比(psnr)和一些图像主观效果,对模型的复杂度及计算量都不进行考虑,导致运算量较大,即使在一些高端的机器学习主机上,运行模型都比较慢,在移动设备实现现有超分方法的难度更大。

例如,srcnn超分方法的网络结构包含三个卷积层,使用双三次(bicubic)插值将低分辨率图像放大成目标尺寸,接着通过三层卷积网络拟合非线性映射,最后输出高分辨率图像结果。分为三个步骤:图像块的提取和特征表示,特征非线性映射和最终的重建。但是,srcnn超分方法中的卷积核比较大,数据的图像维度比较大,计算比较复杂,神经网络深度比较浅,超分效果不好。

又如,espcn超分方法的网络输入是原始低分辨率图像,通过三个卷积层后,得到通道数为r2的与输入图像大小一样的特征图像。再将特征图像每个像素的r2个通道重新排列成一个r×r的区域,对应高分辨率图像中一个大小为r×r的子块,从而大小为h×w×r2的特征图像被重新排列成rh×rw×1的高分辨率图像。但是,espcn超分方法的神经网络深度不够,超分效果不好,而且每次都超分一张完整的图片,没有考虑在解码端配合使用,效率相对较低。

因此,如何在性能较低的移动终端上,既能与解码器相结合,又能减少视频的超分计算量,以实现在移动端实时优化视频流,同时不显著增加移动端的功耗,成为一大难题。



技术实现要素:

本发明的目的在于提供用于移动端的视频解码方法、系统、存储介质及电子设备,将解码过程与超分技术相结合,在性能较低的移动端上实现了实时优化视频流,同时减少了视频的超分计算量,不显著增加移动端的功耗,从而提升用户的观看体验。

为了实现上述目的,本发明提供如下技术方案:

一种用于移动端的视频解码方法,包括:

获取视频并进行hevc解码,得到多个编码块;

依据所述编码块的类型对所述编码块分别进行优化处理,得到优化后的编码块;其中,所述优化处理包括:超分处理、双立方拉伸处理,或复制参考帧的超分数据;

将所述优化后的编码块整合成多条帧数据,对所述帧数据进行环路滤波处理并播放。

具体地,依据所述编码块的类型对所述编码块分别进行优化处理编码块的方法包括:

判断所述编码块的类型,所述类型包括帧间块、帧内块和skip块;

若所述编码块的类型为帧间块,则利用超分模型对所述编码块进行超分处理;

若所述编码块的类型为帧内块,则进一步判断所述编码块的量化参数qp;若量化参数qp不小于30则对所述编码块进行双立方拉伸处理,若量化参数qp小于30,则利用超分模型对所述编码块进行超分处理;

若所述编码块的类型为skip块,则复制参考帧的超分数据。

优选地,依据所述编码块的类型对所述编码块分别进行优化处理时,对于有残差的编码块,需要对所述残差进行对应的超分比例放大。

进一步地,所述超分模型对所述编码块进行超分处理的方法包括:

s1、利用卷积运算获取所述编码块的特征数据,标记为原始特征数据;

s2、对所述特征数据按1:(m-1)进行通道拆分,将1/m通道的特征数据提取出来并标记为超分特征数据;

s3、判断所述超分特征数据的数量是否等于(m-1);若不等于m-1,则执行步骤s4;若等于m-1,则执行步骤s5;

s4、将s2中剩余的(m-1)/m通道的特征数据利用卷积运算放大到原通道大小,并执行步骤s2;

s5、将s2最后一次运算剩余的(m-1)/m通道的特征数据利用卷积运算压缩到1/m通道大小,并标记为超分特征数据;

s6、将所有的超分特征数据进行数据融合,并利用卷积运算恢复到一个通道中,得到所述编码块超分处理后的特征数据。

进一步地,所述超分模型对所述编码块进行超分处理的方法还包括:

将所述编码块超分处理后的特征数据与所述原始特征数据进行残差相加,得到优化后的编码块。

具体地,超分模型的训练方法包括:

处理样本数据,得到训练数据;

对所述训练数据进行下采样处理,并将所述下采样处理后的训练数据输入超分模型;

对超分模型输出的训练数据进行上采样处理;

将所述上采样处理后的训练数据输入原始训练数据中,并进行归一化处理。

进一步地,处理样本数据以得到训练数据的方法包括包括:

从样本图像中读取图像数据,并将所述图像数据分为多个通道,在任一通道中随机截取子图片数据作为所述样本数据;

将所述样本数据依次进行随机化处理和归一化处理,得到所述训练数据。

一种用于移动端的视频解码系统,包括解码模块,优化模块和整合模块,其中:

所述解码模块用于对视频进行hevc解码,得到多个编码块;

所述优化模块用于依据所述编码块的类型对所述编码块分别进行优化处理,得到优化后的帧数据,所述优化处理包括:超分处理、双立方拉伸处理,或复制参考帧的超分数据;

所述整合模块用于将所述优化后的编码块整合成多条帧数据,对所述帧数据进行环路滤波处理并播放。

一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行权利要求1至7中任一项所述的用于移动端的视频解码方法。

一种电子设备,所述电子设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的用于移动端的视频解码方法。

与现有技术相比,本发明提供的用于移动端的视频解码方法、系统、存储介质及电子设备具有以下有益效果:

本发明提供的用于移动端的视频解码方法,将解码过程与超分技术相结合,对视频解码后得到的不同编码块进行相应的优化处理,既减少了视频解码超分的时间和运算量,又保证了其效果,提高用户的观看体验和应用场景的兼容率。

本发明提供的用于移动端的视频解码系统,在性能较低的移动端上,实现了实时优化视频流,同时减少了视频的超分计算量,不显著增加移动端的功耗,从而提升用户的观看体验。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例中用于移动端的视频解码方法示意图;

图2为本发明实施例中高效率视频编码hevc中编码树单元ctu和编码单元cu关系示意图;

图3为本发明实施例中依据编码块的类型对其进行优化处理的示意图;

图4为本发明实施例中超分模型对编码块进行超分处理的实例图;

图5为本发明实施例中超分模型的训练方法示意图;

图6为本发明实施例中样本图像处理示意图;

图7为本发明实施例中超分模型的训练标准示意图;

图8为本发明实施例中一种电子设备的模块结构示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。

实施例一

请参阅图1,一种用于移动端的视频解码方法,包括:

获取视频并进行hevc解码,得到多个编码块;

依据编码块的类型对编码块分别进行优化处理,得到优化后的编码块;其中,优化处理包括:超分处理、双立方拉伸处理,或复制参考帧的超分数据;

将优化后的编码块整合成多条帧数据,对帧数据进行环路滤波处理并播放。

本发明提供的用于移动端的视频解码方法,将解码过程与超分技术相结合,对视频解码后得到的不同编码块进行相应的优化处理,既减少了视频解码超分的时间和运算量,又保证了其效果,提高用户的观看体验和应用场景的兼容率。

其中,对视频进行解码以得到多个编码块的方式,可以采用高效率视频编码hevc(highefficiencyvideocoding)的视频压缩标准进行解码,该标准中基本的编码单元是编码树单元ctu(codingtreeunit),每个编码树单元ctu包括一个亮度编码树块ctb(codingtreeblock)和两个色度编码树块ctb。

请参阅图2,编码时,一帧先被分成片段ss(slicesegment),再继续分隔编码,具体方法为:片段ss(slicesegment)首先被分割为相同大小的编码树单元ctu,每个编码树单元ctu按照四叉树分割方式被划分为不同类型的编码单元cu(codingunits),其中,编码单元cu是进行决策帧间、帧内、skip/merge模式的基本单元。

请参阅图3,编码单元cu解码完成后得到编码块,依据编码块的类型对编码块分别进行优化处理编码块的方法包括:

判断编码块的类型,包括帧间块、帧内块和skip块;

若编码块的类型为帧间块,则利用超分模型对编码块进行超分处理;

若编码块的类型为帧内块,则进一步判断编码块的量化参数qp(quantizationparameter),量化参数qp反映了空间细节压缩情况,qp值越小,量化越精细,图像质量越高;若量化参数qp不小于30则对编码块进行双立方拉伸处理,若量化参数qp小于30,则利用超分模型对编码块进行超分处理;

若编码块的类型为skip块,则复制参考帧的超分数据,其中参考帧是指编码时所需参考的帧,通常包含与skip块相似的信息。

由于帧间的数据的存在,导致残差的存在,对于有残差的块,需要对其残差进行对应的超分比例放大,使其与帧间块的超分对应。

将优化后的编码块整合成多条帧数据,对帧数据进行环路滤波处理,以解决块效应和振铃现象。

其中,超分模型对编码块进行超分处理的方法包括:

s1、利用卷积运算获取编码块的特征数据,标记为原始特征数据;

s2、对特征数据按1:(m-1)进行通道拆分,将1/m通道的特征数据提取出来并标记存储为一份超分特征数据;

s3、判断超分特征数据的份数是否等于m-1;若不等于m-1,则执行步骤s4;若等于m-1,则执行步骤s5;

s4、将s2中剩余的(m-1)/m通道的特征数据利用卷积运算放大到原通道大小,并执行步骤s2;

s5、将s2最后一次运算剩余的(m-1)/m通道的特征数据利用卷积运算压缩到1/m通道大小,并标记为超分特征数据;

s6、将获取到的所有的m份超分特征数据进行数据融合,并利用卷积运算恢复到一个通道中,得到编码块超分处理后的特征数据。

其中,超分模型的网络主架构主要采用的是信息抽取的方法,逐层提取特征诗句,最终将提取的信息进行融合合并。进一步地,将编码块超分处理后的特征数据与原始特征数据进行残差相加,得到优化后的编码块。

请参阅图4,在本具体实施中,超分模型对编码块进行超分处理的具体操作可以为:

超分模型对编码块首先进行一次卷积核为3*3的卷积运算,得到原始特征数据;

然后对特征数据按1:3(即,m=4)进行通道拆分,将通道拆分成两部分:一部分占据1/4,标记并存储为一份超分特征数据;剩余一部分占据3/4;

对剩余的3/4通道的特征数据再进行一次3*3卷积核的卷积运算,放大到原通道大小,然后再次按1:3进行通道拆分,将通道拆分成两部分:一部分占据1/4,标记并存储为一份超分特征数据(目前超分特征数据的份数为2);剩余一部分占据3/4;

对剩余的3/4通道的特征数据再进行一次3*3卷积核的卷积运算,放大到原通道大小,然后再次按1:3进行通道拆分,将通道拆分成两部分:一部分占据1/4,标记并存储为一份超分特征数据(目前超分特征数据的份数为3);剩余一部分占据3/4;

此时,超分特征数据的数量为3,等于4-1(m-1),则将最后一次3/4通道的特征数据直接利用一次3*3卷积核的卷积运算得到1/4通道的特征数据,并标记存储为一份超分特征数据(目前超分特征数据的份数为4);

将获取到的所有的4份超分特征数据进行数据融合,并利用卷积运算恢复到一个通道中,得到编码块超分处理后的特征数据。

最后,将以上超分处理后的特征数据与原始特征数据进行残差相加,得到优化后的编码块

本领域技术人员应该清楚的是,上述过程中虽然进行了多次的3*3卷积核的卷积运算,但是每一个3*3卷积核的具体数值设置是不一定相同的,仅代表卷积核的大小是一样的。

请参阅图5,本实施例中使用的超分模型是通过神经网络训练得到的,其中,训练方法包括:

处理样本数据,得到训练数据。请参阅图6,具体方式为:从样本图像中读取图像数据,并将图像数据分为多个通道,在任一通道中随机截取子图片数据作为样本数据;将样本数据依次进行随机化处理和归一化处理,得到训练数据;

在具体实施过程中,样本图像可以使用2000张4k的高清图片,分批进行读取和训练,其中,每张图片只读取一个通道的图像数据(例如图6中y通道),并随机截取192*192的子图片,对子图片进行旋转、镜像等随机操作,以增加图片的随机性。最后图像数据进行归一化处理,得到训练数据。

然后将训练数据分组,依次输入模型进行训练。具体方式为:选取一组训练数据,对该组训练数据进行下采样处理,并将下采样处理后的训练数据输入超分模型进行数据处理,对超分模型输出的训练数据进行上采样处理;

其中,下采样是指,对于一幅尺寸为m*n的图像,对其进行s倍下采样,即得到(m/s)*(n/s)尺寸的分辨率图像;上采样是下采样的逆过程,也称内插(interpolating),是指在原有图像分辨率的基础上在像素点之间采用插值算法插入新的元素。

本实施例中,下采样使用的是espcn超分技术中的亚像素卷积层,通过亚像素卷积增加图像的通道数,降低的像素矩阵的长宽,虽然增加图像的通道数,但是基本不丢失图像的信息,后续处理降低超分的计算量;

一般情况下,分别作两倍下采样和上采样,从而达到超分两倍的效果。本实施例中为了进一步降低数据计算量,超分两倍时,分别作四倍下采样和两倍上采样,不仅可以有效的降低4倍的计算量,而且基本不影响图像的超分效果。

将上采样处理后的训练数据加入原始训练数据,使输出的图像保持原来的信息,使超分图像不失真,并进行归一化处理,保持输出的图像数据在[0,1]之间。

模型训练规则请参阅图7,计算当前一组训练数据的损失函数,使用优化器最优化损失函数,将优化后的一组训练数据进行数据验证:若数据验证通过,则保存目前模型,训练完成;若数据验证不通过,则不保存目前模型,并使用下一组训练数据重复上述训练规则直至数据验证通过,训练完成。训练完成后,将保存的模型进行模型转换。

本实施例中,训练数据的损失函数可计算为mse损失函数和vgg损失函数之和,本实施例的损失函数为:

其中,为mse损失函数,公式为:

为vgg损失函数,公式为

本实施例中,损失函数的优化器可以选择adam优化器,adam优化器可以自适应的调整学习率,平稳的优化损失函数。训练的推理引擎可以使用mnn,mnn是一个轻量级的深度神经网络推理引擎,具有高效、易用、体积小的特点,使超分模型能够接入移动端运行。因此训练完成后,将保存的超分模型进行模型转换,可以先将超分模型转化为tensorflowpb模型,再将pb模型转化为mnn推理引擎使用的mnn模型。

本实施例中,超分模型实现了对于任意分辨率图像的进行2倍或者4倍的图像超分,对于一帧完整的图像,可以分块超分,各个图片块超分完成后,可以合成一张完整的超分图像,各个超分快结合处平滑过渡。在性能比较低的手机上,针对低分辨率的视频,例如320*240分辨率,对视频进行超分两倍(640*480)实时进行播放,不出现卡顿现象,且不显著增加移动端的功耗,手机耗电量增加不超过30%,明显提升了主观的清晰度,相比基于单纯的双线性拉伸的超分方法的峰值信噪比psnr可提升2db左右。

实施例二

一种用于移动端的视频解码系统,包括解码模块,优化模块和整合模块,其中:解码模块用于对视频进行hevc解码,得到多个编码块;优化模块用于依据编码块的类型对编码块分别进行优化处理,得到优化后的帧数据,优化处理包括:超分处理、双立方拉伸处理,或复制参考帧的超分数据;整合模块用于将优化后的编码块整合成多条帧数据,对帧数据进行环路滤波处理并播放。

本发明提供的用于移动端的视频解码系统,采用上述实施例一中的用于移动端的视频解码方法,实现了实时优化视频流,同时减少了视频的超分计算量,不显著增加移动端的功耗,从而提升用户的观看体验。与现有技术相比,本发明实施例提供的用于移动端的视频解码系统的有益效果与上述实施例一提供的用于移动端的视频解码方法的有益效果相同,且用于移动端的视频解码系统的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。

实施例三

本发明实施例提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行上述实施例一中的用于移动端的视频解码方法。

本发明实施例提供的计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读存储介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。

上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。

或者,上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定,例如,优化模块还可以被描述为“根据编码块类型而进行优化处理的模块”。

本发明提供的计算机可读存储介质,存储有用于执行上述用于移动端的视频解码的方法的计算机可读程序指令,将解码过程与超分技术相结合,对视频解码后得到的不同编码块进行相应的优化处理。与现有技术相比,本发明实施例提供的计算机可读存储介质的有益效果与上述实施例一提供的用于移动端的视频解码的方法的有益效果相同,在此不做赘述。

实施例四

本发明实施例提供一种电子设备,电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例一中的用于移动端的视频解码的方法。

下面参考图8,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图8所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(rom)中的程序或者从存储装置加载到随机访问存储器(ram)中的程序而执行各种适当的动作和处理。在ram中,还存储有电子设备操作所需的各种程序和数据。处理装置、rom以及ram通过总线彼此相连。输入/输出(i/o)接口也连接至总线。

通常,以下系统可以连接至i/o接口:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种系统的电子设备,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从rom被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。

本发明提供的电子设备,采用上述实施例一中的用于移动端的视频解码方法,在性能较低的移动端上,从超分模型和解码两个方面减少视频的超分计算量,实现了在移动端实时超分视频流,并不显著增加移动端的功耗,从而提升用户的观看体验。与现有技术相比,本发明实施例提供的电子设备的有益效果与上述实施例一提供的用于移动端的视频解码方法的有益效果相同,且该电子设备的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。

应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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