掌桥专利:专业的专利平台
掌桥专利
首页

视频处理方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 16:08:01



技术领域

本申请涉及云计算技术领域,尤其涉及一种视频处理方法、装置、电子设备及存储介质。

背景技术

随着网络技术和移动通信技术的发展,视频处理的应用需求日益增长,如网络直播、视频点播、实时通信(Real Time Communication,RTC)、播放器播放、视频会议等场景,需要在用户终端上播放视频。用户终端的操作系统不同,例如,可以是安卓Android/IOS/Mac/Windows等操作系统,不同操作系统、不同机型的用户终端进行视频优化的开销和优化效果不同。对于不同的用户终端,在播放视频时,为了增强画质、提升视频视觉效果,需要效果显著且性能开销足够小。为了满足用户对视频视觉效果的追求,迫切需要高质量且计算开销较小的视频质量优化解决方案。

发明内容

本申请实施例提供一种视频处理方法、装置、电子设备及存储介质,以实现在保证视频处理质量的情况下,减少性能开销。

第一方面,本申请实施例提供了一种视频处理方法,包括:

获取待处理视频;

确定按照第一质量优化方式对待处理视频进行质量优化处理的第一性能开销;

基于第一性能开销,确定待处理视频的目标质量优化方式;

基于目标质量优化方式,对待处理视频进行质量优化处理。

第二方面,本申请实施例提供了一种视频处理装置,包括:

视频获取模块,用于获取待处理视频;

第一确定模块,用于确定模块,用于确定按照第一质量优化方式对待处理视频进行质量优化处理的第一性能开销;

第二确定模块,用于基于第一性能开销,确定待处理视频的目标质量优化方式;

视频处理模块,用于基于目标质量优化方式,对待处理视频进行质量优化处理。

第三方面,本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,处理器在执行计算机程序时实现本申请任一实施例提供的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现本申请任一实施例提供的方法。

与现有技术相比,本申请具有如下优点:

本申请实施例提供的视频处理方法、装置、电子设备及存储介质,获取待处理视频;确定按照第一质量优化方式对待处理视频进行质量优化处理的第一性能开销;基于第一性能开销,确定待处理视频的目标质量优化方式;基于目标质量优化方式,对待处理视频进行质量优化处理。本申请技术方案中,在对视频进行处理时,将质量优化方式的性能开销作为考虑因素,基于性能开销,确定目标质量优化方式,如此,在保证视频处理质量的情况下,减少了性能开销。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。

图1为本申请一实施例提供的视频处理方法的系统架构的示意图;

图2为本申请一实施例提供的视频处理方法的流程图;

图3为本申请一实施例提供的质量优化方式切换的示意图;

图4为本申请一实施例提供的结构重参数化的示意图;

图5为本申请一实施例提供的像素重排的示意图;

图6为本申请一实施例提供的按照第一质量优化方式进行质量优化的示意图;

图7为本申请一实施例提供的卷积上采样的示意图;

图8为本申请一实施例提供的三层卷积上采样的示意图;

图9为本申请一实施例提供的三层卷积上采样的示意图;

图10为本申请一实施例提供的反像素重排的示意图;

图11为本申请一实施例提供的按照第二质量优化方式进行质量优化的示意图;

图12为本申请一实施例提供的按照第二质量优化方式进行质量优化的示意图;

图13为本申请一实施例提供的按照第三质量优化方式进行质量优化的示意图;

图14为本申请一实施例提供的按照第三质量优化方式进行质量优化的示意图;

图15为本申请一实施例提供的视频处理装置的示意图;

图16为用来实现本申请实施例的电子设备的框图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明,以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。

为了更清楚地展示本申请实施例中提供的视频处理方法,首先介绍可用于实现该方法的应用场景。

本申请技术方案可以应用于需要对视频进行质量优化处理的场景中,例如,网络直播、视频点播、RTC、播放器播放视频、视频会议场景等。

图1为本申请一实施例提供的视频处理方法的系统架构的示意图;如图1所示,云服务器可以为运行在物理服务器上的计算服务。云服务器配置视频的多种质量优化方式,将多种质量优化方式发送到应用服务器,应用服务器将质量优化方式发送到多个用户终端,用户终端根据多个质量优化方式各自对应的性能开销,来确定目标质量优化方式,利用目标质量优化方式对视频进行质量优化处理,播放优化处理后的视频供用户观看。其中,应用服务器可以是向用户提供视频服务的服务器,例如,视频播放平台的服务器,社交媒体平台的服务器等。用户终端可以是固定终端,例如,个人电脑等,用户终端也可以是移动终端,例如,手机、平板电脑等。

图2为本申请一实施例提供的视频处理方法的流程图,该方法可以应用于视频处理装置,该装置可以部署于用户终端、服务器或其它处理设备中。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图2所示,视频处理方法包括:

步骤S201,获取待处理视频。

本实施例中,执行主体可以是用户终端。其中,待处理视频可以是任意视频播放场景的视频,例如,网络直播、视频点播、RTC、播放器播放视频、视频会议场景中的视频。

用户终端可以从应用服务器获取到待处理视频,也可以接收其他终端发送的视频。待处理视频的内容可以是多种类型,例如,人像、风景、影视剧、短视频等。

步骤S202,确定按照第一质量优化方式对待处理视频进行质量优化处理的第一性能开销。

用户终端接收应用服务器发送的多种不同的质量优化方式,将其中的任一种质量优化方式作为第一质量优化方式,确定第一质量优化方式的性能开销。可选的,可以将质量优化效果较好的质量优化方式作为第一质量优化方式。

其中,性能开销可以是以下至少一项:单帧平均耗时、设备耗电、中央处理器(central processing unit,CPU)负荷。

需要说明的是,性能开销也可以是对视频进行质量优化处理的其他开销,本申请对此不作限定。

步骤S203,基于第一性能开销,确定待处理视频的目标质量优化方式。

根据第一性能开销,来确定将第一质量优化方式作为目标质量优化方式,或者将第一质量优化方式之外的质量优化方式作为目标质量优化方式。可选的,目标质量优化方式可以是性能开销较小的质量优化方式。

步骤S204,基于目标质量优化方式,对待处理视频进行质量优化处理。

基于所确定的目标质量优化方式,对待处理视频中的各帧图像进行质量优化处理,具体的质量优化处理实现的效果可以是增强画质、提升视频播放的视觉效果等。

本申请实施例提供的视频处理方法,在对视频进行处理时,将质量优化方式的性能开销作为考虑因素,基于性能开销,确定目标质量优化方式,如此,在保证视频处理质量的情况下,减少了性能开销。

其中,如何在多种质量优化方式中确定目标质量优化方式,具体见如下实施例:

在一种可能的实现方式中,步骤S203,基于第一性能开销,确定待处理视频的目标质量优化方式,包括:

若第一性能开销不超过与第一质量优化方式对应的第一性能开销阈值,则将第一质量优化方式确定为目标质量优化方式。

在实际应用中,为每种质量优化方式配置对应的性能开销阈值,计算利用第一质量优化方式对待处理视频进行质量优化处理的性能开销,即第一性能开销,如果第一性能开销不超过第一性能开销阈值,则将第一质量优化方式确定为目标质量优化方式。

在一种可能的实现方式中,步骤S203,基于第一性能开销,确定待处理视频的目标质量优化方式,包括:

若第一性能开销超过第一性能开销阈值,则至少一次切换待处理视频的质量优化方式,直到待处理视频当前使用的质量优化方式对应的第二性能开销不超过与第二质量优化方式对应的第二性能开销阈值,则将第二质量优化方式确定为目标质量优化方式。

在实际应用中,若第一性能开销超过第一性能开销阈值,则切换到第二质量优化方式,计算第二质量优化方式的第二性能开销,如果第二性能开销不超过与第二质量优化方式对应的第二性能开销阈值,则将第二质量优化方式确定为目标质量优化方式。如果第二性能开销超过与第二质量优化方式对应的第二性能开销阈值,切换到其他质量优化方式,继续计算性能开销。其中,各质量优化方式各自对应的性能开销阈值可以根据具体需要进行配置,可以相同也可以不同。

在一示例中,图3为本申请一实施例提供的质量优化方式切换的示意图,如图3所示,本实施例中,配置了第一质量优化方式、第二质量优化方式和第三质量优化方式。第一质量优化方式、第二质量优化方式和第三质量优化方式的复杂度依次递减,对待处理视频的质量优化效果依次递减。性能开销为对待处理视频进行优化处理的单帧平均耗时。如果用户终端使用第一质量优化方式的单帧平均耗时超过阈值1,则切换到第二质量优化方式。如果用户终端使用第二质量优化方式的单帧平均耗时超过阈值2,则切换到第三质量优化方式,利用第三质量优化方式对待处理视频进行质量优化处理。

需要说明的是,本申请技术方案中,不限于三种质量优化方式,可以包括多种质量优化方式,可以根据具体需要进行配置,可以根据各质量优化方式各自对应的性能开销是否超过阈值,在各质量优化方式之间进行切换。

其中,将第一质量优化方式作为目标质量优化方式对视频进行质量优化处理的具体实现方式见如下实施例:

在一种可能的实现方式中,若目标质量优化方式为第一质量优化方式,步骤S204,基于目标质量优化方式,对待处理视频进行质量优化处理,包括:

基于第一质量优化模型,对待处理视频中的图像进行质量优化处理;第一质量优化模型对应的训练样本包括样本图像和样本图像的质量处理图像,或者样本图像的质量处理图像;质量处理图像的处理参数根据用户的选择指令或对待处理视频进行处理的设备确定。

在实际应用中,可以在云服务器训练第一质量优化模型,将训练完成的模型发送到用户终端,用户终端利用第一质量优化模型对视频进行质量优化处理。第一质量优化模型可以是残差块resblock结构的深度学习模型,例如,卷积神经网络模型(ConvolutionalNeural Networks,CNN)。第一质量优化模型对应的训练样本可以是样本图像和样本图像的质量处理图像,或者将样本图像处理成两种不同质量的质量处理图像作为训练样本。可选的,第一质量优化模型的训练样本可以包括多个图像对,其中每个图像对由样本图像和样本图像的质量处理图像组成;或者每个图像对由两种不同质量的质量处理图像组成。

其中,处理参数可以是将样本图像处理成质量处理图像的参数,可以在云服务器上进行配置,处理参数配置时,可以根据用户的选择指令,针对不同类型的视频或图像配置相应的处理参数。或者,处理参数可以是根据对待处理视频进行处理的设备的规格材质、环境条件等确定的,其中,环境条件可以是光照等。对待处理视频进行处理的设备可以是会议室、安防的摄像头、相机镜头等。

本实施例中,通过将待处理视频中的图像输入第一质量优化模型,得到优化图像。由于第一质量优化模型是利用大量训练样本训练得到的,则对待处理视频进行优化的效果更好。

在一种可能的实现方式中,第一质量优化模型包括第一卷积模块和上采样模块;第一卷积模块或上采样模块通过使用多个卷积层的线性组合进行训练得到。

在实际应用中,在进行模型训练时,对于模型中的第一卷积模块或上采样模块中的卷积层,可以使用多个卷积层的线性组合进行训练得到,例如,可以采用结构重参数化的方式训练第一卷积模块或上采样模块中的卷积层。可选的,第一质量优化模型可以包括第一卷积模块、上采样模块和激活函数。与相关技术中采用卷积层、池化层、全连接层或其他层进行质量优化的模型相比,本实施例中的第一质量优化模型的性能开销更小,更适合部署在用户终端使用。

在一示例中,采用结构重参数化的方式训练第一卷积模块或上采样模块中的卷积层。在训练上采样模块时,对于1.5倍上采样,可以使用卷积核为4×4,步长stride=2的卷积,先两倍下采样,再用stride=3,卷积核为3×3的反卷积进行上采样。卷积核为4×4,步长stride=2的卷积,可以使用结构重参数化的方式进行训练。重参数化处理中涉及到的参数调控,可以开放给用户进行调控,以调控最终生成图像的语义边缘效果。图4为本申请一实施例提供的结构重参数化的示意图。如图4所示,先将输入的样本图像四周填充一个像素值为0的像素,训练一个卷积层时,可以构造三个分支:第一个分支,卷积核为4×4(如图所示的4×4卷积),stride=2;第二个分支,依次是卷积核为1×1(如图所示的1×1卷积),求梯度卷积核为3×3(如图所示的3×3卷积),卷积核为2×2(如图所示的2×2卷积),stride=2;第三个分支,依次是卷积核为1×1(如图所示的1×1卷积),卷积核为3×3(如图所示的3×3卷积),卷积核为2×2(如图所示的2×2卷积),stride=2,训练三个分支,将结果相加,相当于卷积核为4×4(如图4所示的4×4卷积),stride=2的卷积层的结果,在进行训练时,采用多个分支,可以使模型学习到更多的信息,提高模型的学习能力。在模型训练完成使用时,可以不再通过三个分支进行处理,而是使用卷积核为4×4,stride=2的卷积层,可以减小计算量。其中,虚线框中的两个卷积核为1×1的卷积,也可以省略,保留可以起到升通道的作用。

在图4中,虚线框中的2×2卷积,可以参数初始化成:权重weight[:,:,:,:]=0.25/nin,nin是weight的第二个维度的维数;偏置bias=0。虚线框中2×2卷积,训练后可以开放参数供给用户进行调节,求梯度的卷积可以开放一个全局scale参数,调节求梯度结果的权重,由线性关系,这个全局scale参数也可以合并到虚线框中2×2卷积的参数调控中。通过调控这些参数可以调节最终结果的语义边缘效果。其中,求梯度可以利用拉普拉斯laplace算子或索贝尔sobel算子进行计算,可以用3×3卷积实现。图4中画出三个分支相加,只是一个示例,可以构造更多分支,比如,其中的求梯度可以有多个分支。图4中未标注的卷积步长stride默认为1。各分支里的卷积可以无填充。

其中,一个卷积核为3×3,步长stride=1的卷积加一个2×2,stride=2卷积合成一个4×4,stride=2卷积的公式如下:

设输入尺寸为[batch,in_chs,h,w],输出为[batch,out_chs,h/2,w/2]。

卷积核为4×4的卷积处理的参数如下:

卷积核为4×4的卷积的weight:[out_chs,in_chs,4,4],卷积核为4×4的卷积的偏置bias:[out_chs],stride=2,padding=1。

结构重参数化的两个卷积:卷积核为3×3,stride=1和卷积核为2×2,stride=2参数如下:

weight1:[med_chs,in_chs,3,3],bias1:[med_chs],stride=1,padding=0

weight2:[out_chs,med_chs,2,2],bias2:[out_chs],stride=2,padding=0

weight4x4[:,:,0,0]=weight2[:,:,0,0]×weight1[:,:,0,0]

weight4x4[:,:,0,1]=weight2[:,:,0,1]×weight1[:,:,0,0]+weight2[:,:,0,0]×weight1[:,:,0,1]

weight4x4[:,:,0,2]=weight2[:,:,0,1]×weight1[:,:,0,1]+weight2[:,:,0,0]×weight1[:,:,0,2]

weight4x4[:,:,0,3]=weight2[:,:,0,1]×weight1[:,:,0,2]

weight4x4[:,:,1,0]=weight2[:,:,1,0]×weight1[:,:,0,0]+weight2[:,:,0,0]×weight1[:,:,1,0]

weight4x4[:,:,1,1]=weight2[:,:,1,1]×weight1[:,:,0,0]+weight2[:,:,1,0]×weight1[:,:,0,1]+weight2[:,:,0,1]×weight1[:,:,1,0]+weight2[:,:,0,0]×weight1[:,:,1,1]

weight4x4[:,:,1,2]=weight2[:,:,1,1]×weight1[:,:,0,1]+weight2[:,:,1,0]×weight1[:,:,0,2]+weight2[:,:,0,1]×weight1[:,:,1,1]+weight2[:,:,0,0]×weight1[:,:,1,2]

weight4x4[:,:,1,3]=weight2[:,:,1,1]×weight1[:,:,0,2]+weight2[:,:,0,1]×weight1[:,:,1,2]

weight4x4[:,:,2,0]=weight2[:,:,1,0]×weight1[:,:,1,0]+weight2[:,:,0,0]×weight1[:,:,2,0]

weight4x4[:,:,2,1]=weight2[:,:,1,1]×weight1[:,:,1,0]+weight2[:,:,1,0]×weight1[:,:,1,1]+weight2[:,:,0,1]×weight1[:,:,2,0]+weight2[:,:,0,0]×weight1[:,:,2,1]

weight4x4[:,:,2,2]=weight2[:,:,1,1]×weight1[:,:,1,1]+weight2[:,:,1,0]×weight1[:,:,1,2]+weight2[:,:,0,1]×weight1[:,:,2,1]+weight2[:,:,0,0]×weight1[:,:,2,2]

weight4x4[:,:,2,3]=weight2[:,:,1,1]×weight1[:,:,1,2]+weight2[:,:,0,1]×weight1[:,:,2,2]

weight4x4[:,:,3,0]=weight2[:,:,1,0]×weight1[:,:,2,0]

weight4x4[:,:,3,1]=weight2[:,:,1,1]×weight1[:,:,2,0]+weight2[:,:,1,0]×weight1[:,:,2,1]

weight4x4[:,:,3,2]=weight2[:,:,1,1]×weight1[:,:,2,1]+weight2[:,:,1,0]×weight1[:,:,2,2]

weight4x4[:,:,3,3]=weight2[:,:,1,1]×weight1[:,:,2,2]

要计算卷积核为4×4的偏置bias,可以先把bias1拓展成尺寸为[1,med_chs,2,2]的B1,满足:B1[:,i,:,:]=ones*bias1[i],其中,ones是尺寸为[1,1,2,2]的矩阵,元素均是1;i=0,1,2,…,med_chs–1。

用weight2对B1做卷积得到B11,尺寸为[1,out_chs,1,1],再降维(不改变B11内部元素值)到尺寸为[out_chs]。最后得到:bias4×4=B11+bias2。

其中,输入输出都是四维张量,batch表示批量大小batch size,可以设置为1,in_chs表示输入图/层的深度,h表示输入图/层的高度,w表示输入图/层的宽度。out_chs表示输出图/层的深度。med_chs表示中间结果也就是第一个卷积(卷积核为3×3的卷积)输出结果图/层的深度。

在一种可能的实现方式中,质量处理图像包括质量优化图像和/或质量退化图像;质量优化图像是对样本图像进行增强处理和滤波处理得到的;质量退化图像是对样本图像进行噪声处理和模糊处理得到的。

在实际应用中,第一质量优化模型对应的训练样本可以是样本图像和样本图像的质量优化图像组成的图像对,此时,模型的学习对象(groundtruth)是样本图像的质量优化图像;或者训练样本可以是样本图像和样本图像的质量退化图像组成的图像对,此时,模型的学习对象是样本图像;训练样本还可以是样本图像的质量优化图像和样本图像的质量退化图像组成的图像对,此时,模型的学习对象是样本图像的质量优化图像。

其中,质量优化图像可以是对样本图像进行增强处理和滤波处理得到的。

增强处理可以是锐化增强或者高动态范围成像(High Dynamic Range Imaging,HDR)增强。锐化增强可以是对样本图像进行自适应锐化,具体实现方式可以包括:若样本图像为YUV图像,则计算每个样本图像的Y通道的边缘信息,可以通过拉普拉斯laplace算子,索贝尔sobel算子等计算并进行综合。建立边缘信息到锐化强度的映射关系,例如,一个像素的laplace算子的值是10,对应锐化强度是1;另一个像素的laplace算子的值是20,对应锐化强度是1.5。根据以下公式可以得到锐化增强处理后每个像素的锐化增强结果:

锐化增强结果(p)=锐化强度(p)*(样本图像(p)-样本图像的滤波结果(p))+样本图像(p) (1)

其中,p表示样本图像中的像素,锐化强度(p)表示像素p的锐化强度,可以是预先配置的经验值,样本图像的滤波结果(p)表示对样本图像进行滤波处理之后的像素值,样本图像(p)表示样本图像中的像素的像素值。样本图像的滤波结果可以是经过盒式滤波器boxfilter得到的结果。

除了锐化增强之外,也可以是HDR增强,根据以下公式可以得到HDR增强处理后每个像素的HDR增强结果:

HDR增强结果(p)=样本图像(p)*HDR强度(p) (2)

其中,p表示样本图像中的像素,HDR强度(p)表示像素p的HDR强度,可以是预先配置的经验值,HDR强度大于等于0。

对样本图像进行滤波处理可以是自适应双边滤波,具体实现方式可以包括:

对于每个像素p,以该像素点为中心,对周围包括该像素点在内的n×n区域(n可以取3或者5或者7等),计算这片区域的像素的方差D(p)。

双边滤波公式如下:

I

其中,I

利用自适应锐化加自适应双边滤波的方法得到质量优化图像,可以获得自然生动清晰美观的图像锐化增强效果,同时利用自适应双边滤波压制锐化所可能产生的失真artifacts。自适应双边滤波也可以换成导向滤波,以原图作为引导图,自适应锐化结果作为待处理图像。

另外,还可以通过预设方式对样本图像进行质量优化处理,得到质量优化图像。可以将将样本图像按照不同增强风格,不同增强强度处理成质量优化图像。将样本图像和质量优化图像作为训练样本,训练多个质量优化模型供用户选择,或者通过算法客观评估这些质量优化模型的优化效果,确定一个质量优化模型作为默认使用的模型。

此外,还可以根据用户选择调节参数进一步调节云服务器训练模型的效果。例如,调节自适应锐化、自适应双边滤波中的映射方式或者其中的参数,选择使用哪些质量优化图像,以及在训练中这些质量优化图像所混合使用的比例。

另外,质量退化图像是对样本图像进行噪声处理和模糊处理得到的。

对样本图像进行噪声处理的具体实现方式可以包括:

根据图像采集设备(例如,会议室/安防的摄像头、相机镜头等)的规格材质,以及环境条件,比如光照等,确定随机噪声的参数,例如,泊松噪声、高斯Gauss噪声,或者两者兼有,也可以是均值和方差等,使随机噪声尽可能接近实际噪声。或者,对于图像数据格式为uint8的图像,用函数np.random.randint(inf,sup)构造随机噪声,其中,sup、inf表示噪声值的上、下边界。第一质量优化模型的训练可以部署在云服务器上,噪声参数都可根据用户的指令进行调控。

在对样本图像加了噪声的基础上,可以再进行模糊处理,例如,高斯Gauss模糊。或者,也可以根据对视频质量优化处理的设备的对焦范围、环境条件确定模糊的参数。高斯模糊函数可以是cv2.GaussianBlur(input,(r,r),sigma),其中,半径r可以为3或5或7等;标准差sigma可以为0.1-1.5。在对样本图像进行噪声处理时,可以设置r取3、5、7的各自概率,以及配置sigma在某个区间内设定的取值概率进行分布取值。按照实际设备和环境条件确定所述取值概率和取值区间,可以根据用户的指令进行配置。

可选的,可以按概率将上述Gauss模糊换成运动模糊(motionblur),具体用什么样的motionblur本申请不做限定。

可选的,在对样本图像进行退化处理时,可以先进行下采样,在进行噪声处理和模糊处理。

如果下采样的目标图像宽高尺寸为(h,w),可以先下采样到更小的宽高尺寸(h0,w0),在这个尺寸上加噪声,再上采样到(h,w)的宽高尺寸。这样造出来的噪声图像更符合实际,训练获得的第一质量优化模型降噪效果更好。其中,h0,w0可以取区间[h/2,h]-[w/2,w]范围内的值。可以每处理一个样本图像,随机或按概率分布取区间[h/2,h]-[w/2,w]内的值。质量退化图像的过程可以为先将样本图像下采样到(h0,w0),然后添加噪声,再上采样到(h,w),再进行模糊处理。

可选的,在进行模糊处理之后,还可以通过配置“调节/退化”亮度(gamma)或整体的HDR。使训练获得的第一质量优化模型具有更好的光影效果。

另外,也可以改变参数训练多个质量优化模型供用户选择。云服务器可以测试用户上传的待处理图像样张,将处理完结果供给用户挑选。进一步的,如果用户也提供了样张所对应的预期效果,则可以测试每个质量优化模型的质量优化结果的客观评价指标,例如,峰值信噪比(Peak Signal to Noise Ratio,PSNR),结构相似性(Structural Similarity,SSIM),视频质量的多方法融合评价(Video Multi-Method Assessment Fusion,VMAF)等,输出结果给用户作为辅助参考,指标更高的网络一般实际效果也更好。也可以多次人机互动选择:在用户的一次选择反馈给云服务器后,云服务器根据用户的选择,搜索参数的范围进一步缩小,在这个更小范围内精分参数再训练多个质量优化模型,供给用户做二次选择。同理,可进一步做三次、四次、…,直到迭代到用户满意为止。

质量优化模型训练完成之后,就可以使用训练好的模型对视频进行优化处理了。

在一种可能的实现方式中,待处理视频中的图像包括YUV图像,基于第一质量优化模型,对待处理视频中的图像进行质量优化处理,包括:

将YUV图像的第一Y通道图像输入第一质量优化模型,得到第一质量优化模型输出的优化处理后的第一Y通道图像;

基于第一质量优化模型,对待处理视频中的图像进行质量优化处理,还包括:

对YUV图像的第一UV通道图像进行上采样处理,得到处理后的第一UV通道图像;

基于处理后的第一Y通道图像和处理后的第一UV通道图像,得到YUV图像的质量优化图像。

在实际应用中,待处理视频中的图像可以是YUV图像,将YUV图像的第一Y通道图像输入第一质量优化模型,得到优化处理后的第一Y通道图像。将YUV图像的第一UV通道图像进行上采样处理,得到处理后的第一UV通道图像,可选的,上采样处理可以是通过双线性插值法实现。得到处理后的第一Y通道图像和处理后的第一UV通道图像之后,进行合并处理,得到YUV图像的质量优化图像。

其中,如果待处理视频中的图像为RGB图像,则将RGB图像转换成YUV图像进行处理。可选的,可以将RGB图像转换成YUV图像中的Y通道图像,然后输入第一质量优化模型进行处理,得到质量优化后的图像。

在一种可能的实现方式中,将YUV图像的第一Y通道图像输入第一质量优化模型,得到第一质量优化模型输出的优化处理后的第一Y通道图像,包括:

将YUV图像的第一Y通道图像进行像素重排,将像素重排Y通道图像输入第一质量优化模型,得到第一质量优化模型输出的优化处理后的像素重排Y通道图像;

将优化处理后的像素重排Y通道图像进行反像素重排处理,得到优化处理后的Y通道图像。

在实际应用中,可以首先对输入图像进行像素重排处理,然后在输入质量优化模型,对于质量优化模型输出的图像,再进行像素反重排处理。像素重排可以减小质量优化模型的输入输出的图像宽高,宽高越大,越不容易发挥图形处理器(graphics processingunit,GPU)、神经网络处理器(neural-network process units,NPU)的并行计算优势,计算耗时相对更大。通过像素重排和反重排,可以减小质量优化模型的计算耗时。

图5为本申请一实施例提供的像素重排的示意图。如图5所示,尺寸为2×2×1的像素,重排之后,得到1×1×4的像素;尺寸为3×3×1的像素,重排之后,得到1×1×9的像素。如图5所示,通过像素重排可以减小图像的宽高尺寸。

图6为本申请一实施例提供的按照第一质量优化方式进行质量优化的示意图。如图6所示,待处理视频中的图像为YUV图像,将YUV图像中的Y通道图像进行像素重排(如图6中所示的PILE),将像素重排Y通道图像输入第一质量优化模型(如图6中所示的“网络输入”),得到第一质量优化模型输出的优化处理后的像素重排Y通道图像(如图6中所示的“网络输出”);其中,第一质量优化模型可以部署在NPU或者GPU上。将优化处理后的像素重排Y通道图像进行反像素重排处理(如图6中所示的UNPILE),得到优化处理后的Y通道图像(如图6中所示的“最终Y”)。利用双线性插值法对YUV图像的UV通道图像进行上采样处理(如图6中所示的“双线性上采样”),得到处理后的UV通道图像(如图6中所示的“最终UV”);将处理后的Y通道图像和处理后的UV通道图像进行合并,得到YUV图像的质量优化图像(如图6中所示的“结果”)。其中,第一质量优化模型可以部署在NPU或者GPU中(如图6中所示的“npu/gpu推理”)。

在一种可能的实现方式中,若目标质量优化方式为第二质量优化方式,步骤S204,基于目标质量优化方式,对待处理视频进行质量优化处理,包括:

基于第二质量优化模型,对待处理视频中的图像进行质量优化处理;第二质量优化模型包括第二卷积模块;第二卷积模块通过使用多个卷积层的线性组合进行训练得到。

在实际应用中,可以在云服务器训练第二质量优化模型,将训练完成的模型发送到用户终端,用户终端利用第二质量优化模型对视频进行质量优化处理。第二质量优化模型可以是残差块resblock结构的深度学习模型,例如,卷积神经网络模型。第二质量优化模型对应的训练样本可以是样本图像和样本图像的质量处理图像,或者将样本图像处理成两种不同质量的质量处理图像作为训练样本。可选的,第二质量优化模型的训练样本可以包括多个图像对,其中每个图像对由样本图像和样本图像的质量处理图像组成;或者每个图像对由两种不同质量的质量处理图像组成。第二质量优化模型包括第二卷积模块;第二卷积模块通过使用多个卷积层的线性组合进行训练得到。在进行模型训练时,对于模型中的第二卷积模块中的卷积层,可以使用多个卷积层的线性组合进行训练得到,例如,可以采用结构重参数化的方式训练第二卷积模块。其中,采用结构重参数化的方式训练第二卷积模块的具体方式与上述实施例中训练第一卷积模块的步骤类似,此处不再赘述。另外,第二质量优化模型的训练样本的构造方法也和第一质量优化模型训练样本的构造方法类似,此处不再赘述。

其中,第二质量优化模型与第一质量优化模型相比,不包括上采样模块。可以理解为,第二质量优化模型的复杂度低于第一质量优化模型的复杂度。待处理视频中的图像输入第二质量优化模型后,第二质量优化模型输出第一质量优化模型的输出结果的中间值。

在一种可能的实现方式中,待处理视频中的图像包括YUV图像,基于第二质量优化模型,对待处理视频中的图像进行质量优化处理,包括:

将YUV图像的第二Y通道图像输入第二质量优化模型,得到第二质量优化模型输出的第二Y通道图像的锐化强度;

基于目标质量优化方式,对待处理视频进行质量优化处理,还包括:

基于锐化强度对第二Y通道图像进行处理,得到处理后的第二Y通道图像;

基于处理后的第二Y通道图像和YUV图像的第二UV通道图像,得到YUV图像的质量优化图像。

在实际应用中,将YUV图像的第二Y通道图像输入第二质量优化模型,可以得到第二质量优化模型输出的第二Y通道图像中的像素的锐化强度;将锐化强度作用在第二Y通道图像的像素上,可以得到处理后的第二Y通道图像,将处理后的第二Y通道图像和YUV图像的第二UV通道图像进行合并,得到YUV图像的质量优化图像。

可选的,在将处理后的第二Y通道图像和第二UV通道图像进行合并之前,可以分别将处理后的第二Y通道图像和第二UV通道图像进行上采样,得到上采样之后的第二Y通道图像和第二UV通道图像,然后再进行合并处理。

可选的,为了降低第二质量优化模型的性能开销,输出第二Y通道图像的锐化强度对应的图像的宽高可以比输入图像的宽高小,比如,可以是输入图像宽高的1/4。然后通过下采样算子、或者池化pooling、或者步长stride>1的卷积等操作,来实现网络输出宽高小于网络输入的宽高。

可选的,可以先将YUV图像的第二Y通道图像进行卷积上采样,再输入第二质量优化模型;或者,也可以先将第二Y通道图像输入第二质量优化模型,再将模型输出进行卷积上采样。

图7为本申请一实施例提供的卷积上采样的示意图。如图7所示,本实施例通过三层卷积实现上采样。其中,s1、s2、s3表示卷积核的大小,可以取3或5或7等,第一层卷积输入1个通道,输出n1个通道;第二层卷积输入n1个通道,输出n2个通道;第三层是反卷积,输入n2个通道,输出1个通道。每层卷积后面可配置对应的激活函数,比如,线性整流函数relu。也可以是其他激活函数,本申请对此不作限定。为保证效果和降低开销,可以取n1,n2与s3*s3近似。这个三层卷积可以以原始数据作为学习对象,原始数据下采样作为输入,进行训练。最后一层反卷积也可用输入n2通道,输出s3*s3通道的1×1卷积等效替换,然后将模型输出做反像素重排获得最终结果。

图8为本申请一实施例提供的三层卷积上采样的示意图。如图8所示,对于2倍采样(如图8中所示的2×),输入图像维度是1×540×960×1,卷积核包含权重W(weight)和偏置B(bias)两部分,经过第一次卷积处理(如图8中左图从上往下数第一个Conv),其中,第一次卷积处理的W为4×1×5×5,B为4,经过一个激活函数Relu;再经过第一次卷积处理(如图8中左图从上往下数第二个Conv),其中,第二次卷积处理的W为12×4×3×3,B为12,经过一个激活函数Relu;经过第三次卷积处理(如图8中左图从上往下数第三个Conv),其中,第三次卷积处理的W为4×12×1×1,B为4,输出图像维度是1×540×960×4;然后再经过调整函数Depthtospace进行处理,得到最终的输出图像的维度为1×1080×1920×1,其中,调整函数Depthtospace也可以用上采样算法pixelshuffle实现。第三次卷积处理和调整函数Depthtospace实现的功能与反卷积等效。

对于1.5倍采样(如图8中所示的1.5×),输入图像维度是1×720×1280×1,经过第一次卷积处理(如图8中右图从上往下数第一个Conv),其中,第一次卷积处理的W为4×1×5×5,B为4,经过一个激活函数Relu;再经过第一次卷积处理(如图8中右图从上往下数第二个Conv),其中,第二次卷积处理的W为8×4×4×4,B为8,经过一个激活函数Relu;经过第三次卷积处理(如图8中右图从上往下数第三个Conv),其中,第三次卷积处理的W为9×8×1×1,B为9,输出图像维度是1×360×640×9;然后再经过调整函数Depthtospace进行处理,得到最终的输出图像的维度为1×1080×1920×1,其中,调整函数Depthtospace也可以用上采样算法pixelshuffle实现。与左图同理,第三次卷积处理和调整函数Depthtospace实现的功能与反卷积等效。

实现三层卷积上采样的具体方式可以有多种,图9为本申请一实施例提供的三层卷积上采样的示意图。如图9所示,对于2倍采样(如图9中所示的2×),输入图像维度是1×540×960×1,经过第一次卷积处理(如图9中左图从上往下数第一个Conv),其中,第一次卷积处理的W为4×1×5×5,B为4,经过一个激活函数Relu;再经过第一次卷积处理(如图9中左图从上往下数第二个Conv),其中,第二次卷积处理的W为12×4×3×3,B为12,经过一个激活函数Relu;经过第三次卷积处理(如图9中左图从上往下数第三个Conv),其中,第三次卷积处理的W为4×12×3×3,B为4,输出图像维度是1×540×960×4;然后再经过调整函数Depthtospace进行处理,得到最终的输出图像的维度为1×1080×1920×1,其中,调整函数Depthtospace也可以用上采样算法pixelshuffle实现。第三次卷积处理和调整函数Depthtospace实现的功能与反卷积等效,如果图8所示的实施例为普通反卷积,则此处为相当于升级反卷积。

对于1.5倍采样(如图9中所示的1.5×),输入图像维度是1×720×1280×1,经过第一次卷积处理(如图9中右图从上往下数第一个Conv),其中,第一次卷积处理的W为4×1×5×5,B为4,经过一个激活函数Relu;再经过第一次卷积处理(如图9中右图从上往下数第二个Conv),其中,第二次卷积处理的W为8×4×4×4,B为8,经过一个激活函数Relu;经过第三次卷积处理(如图9中右图从上往下数第三个Conv),其中,第三次卷积处理的W为9×8×3×3,B为9,输出图像维度是1×360×640×9;然后再经过调整函数Depthtospace进行处理,得到最终的输出图像的维度为1×1080×1920×1,其中,调整函数Depthtospace也可以用上采样算法pixelshuffle实现。与左图同理,第三次卷积处理和调整函数Depthtospace实现的功能与反卷积等效,如果图8所示的实施例为普通反卷积,则此处为相当于升级反卷积。

图10为本申请一实施例提供的反像素重排的示意图。如图10所示,尺寸为1×1×4的像素,反像素重排之后,得到2×2×1的像素;尺寸为1×1×9的像素,反像素重排之后,得到3×3×1的像素。如图10所示,通过反像素重排可以增大图像的宽高尺寸。其中,反像素重排可以通过NEON语言实现,具体的,可以通过NEON的指令VLD2或VLD3读取反像素重排的输出结果。另外,本申请技术方案中涉及的像素重排也可以通过NEON语言实现。本实施例中,由于卷积计算可并行度高,可用CPU多线程处理实现,降低处理耗时,也可部署于GPU或者NPU。

在一种可能的实现方式中,基于锐化强度对第二Y通道图像进行处理,得到处理后的第二Y通道图像,包括:

获取第二Y通道图像的边缘控制参数;

基于锐化强度和边缘控制参数,对第二Y通道图像进行处理,得到处理后的第二Y通道图像。

在实际应用中,通过第二质量优化模型获取到Y通道图像的每个像素点的锐化强度之后,再获取边缘控制参数。由于图像中语义边缘区域,比如人脸轮廓、花叶边缘等的锐化强度需要控制,否则锐化强度过大就容易出白边黑边等失真效果。边缘控制可以实现对图像边缘处的锐化强度适当弱化,可以通过多种方式进行边缘控制,获取边缘控制参数。

在一示例中,获取边缘控制参数的实现方式可以包括:计算Y通道图像的拉普拉斯Laplace梯度L,设置阈值Th,Th可以根据具体需要配置,例如,可以取70。边缘控制参数LL可以为LL=np.clip(L,0,255),LL=np.clip(LL-Th,0,1),LL=1.0–LL。其中,np.clip()为截取函数。

获取到锐化强度和边缘控制参数之后,将边缘控制参数和锐化强度逐个像素对应相乘,得到边缘控制的锐化强度。将边缘控制的锐化强度作用于Y通道图像中,得到处理后的第二Y通道图像。

图11为本申请一实施例提供的按照第二质量优化方式进行质量优化的示意图。如图11所示,待处理视频中的图像为YUV图像,将YUV图像中的Y通道图像进行像素重排(如图11中所示的PILE),将像素重排Y通道图像输入第二质量优化模型(如图11中所示的“网络输入”),得到第二质量优化模型输出的Y通道图像的像素重排后的锐化强度(如图11中所示的“网络输出”),利用双线性插值方法进行上采样处理,得到Y通道图像的每个像素的锐化强度(如图11中所示的“图像增强/锐化因子”),将锐化强度作用于Y通道图像,再通过边缘控制参数进行边缘控制,得到边缘控制后的图像。另外,对Y通道图像进行滤波处理得到图像YF,其中,滤波处理可以是双边滤波或导向滤波处理,导向滤波可以用Y通道图像本身做引导图,将YF再次进行滤波处理,得到boxfilter(YF),将图像YF和boxfilter(YF)进行减法运算得到图像dY,图像dY和边缘控制后的图像进行乘法运算,得到图像dYN,将图像YF和图像dYN做加法运算,得到图像YN,将图像YN进行双立方插值Bicubic或者兰索士Lanczons插值或者卷积上采样处理,得到最终的图像Y;利用双线性插值法对YUV图像的UV通道图像进行上采样处理(如图11中所示的“双线性上采样”),得到处理后的UV通道图像(如图11中所示的“最终UV”);将最终的图像Y和处理后的UV通道图像进行合并,得到YUV图像的质量优化图像(如图11中所示的“结果”)。其中,第二质量优化模型可以部署在NPU或者GPU中(如图11中所示的“npu/gpu推理”)。

图12为本申请一实施例提供的按照第二质量优化方式进行质量优化的示意图。如图12所示,待处理视频中的图像为YUV图像,将YUV图像中的Y通道图像进行像素重排(如图12中所示的PILE),将像素重排Y通道图像输入第二质量优化模型(如图12中所示的“网络输入”),得到第二质量优化模型输出的Y通道图像的像素重排后的锐化强度(如图12中所示的“网络输出”),利用双线性插值方法进行上采样处理,得到Y通道图像的每个像素的锐化强度(如图12中所示的“图像增强/锐化因子”),将锐化强度作用于Y通道图像,再通过边缘控制参数进行边缘控制,得到边缘控制后的图像。同时,对Y通道图像进行双立方插值Bicubic或者兰索士Lanczons插值或者卷积上采样处理,得到Yup图像,将Yup进行滤波处理,得到boxfilter(Yup),将图像Yup和boxfilter(Yup)进行减法运算得到图像dYup,将图像dYup和边缘控制后的图像进行乘法运算,得到图像dYupN,将图像Yup和图像dYupN做加法运算,得到图像YupN,将图像YupN进行滤波处理,得到最终的图像Y;其中,滤波处理可以是双边滤波或导向滤波处理,导向滤波可以用Y通道图像本身做引导图。在进行导向滤波处理时,如果Y通道图像和图像YupN宽高不一样,要将Y通道图像和图像YupN处理成相同的宽高。利用双线性插值法对YUV图像的UV通道图像进行上采样处理(如图12中所示的“双线性上采样”),得到处理后的UV通道图像(如图12中所示的“最终UV”);将最终的图像Y和处理后的UV通道图像进行合并,得到YUV图像的质量优化图像(如图12中所示的“结果”)。其中,第二质量优化模型可以部署在NPU或者GPU中(如图12中所示的“npu/gpu推理”)。

需要说明的是,图11、图12中所示的“图像增强/锐化因子”还可以是HDR强度,可以替换锐化强度作用于Y通道图像,之后再进行边缘控制,后续的各个步骤进行增减或者调整各个图像处理步骤的执行顺序,本申请对此不作限定。

可以理解的是,在上述实施例中,图11、图12中的双立方插值Bicubic或者兰索士Lanczons插值或者卷积上采样处理,以及双边滤波或导向滤波处理,具体执行的位置可以根据具体需要灵活配置,相应的可以灵活对各个步骤进行增减或者调整各个图像处理步骤的执行顺序,本申请对此不作限定。

在一种可能的实现方式中,若目标质量优化方式为第三质量优化方式,步骤S204,待处理视频中的图像包括YUV图像,基于目标质量优化方式,对待处理视频进行质量优化处理,包括:

获取YUV图像的第三Y通道图像的边缘信息,基于边缘信息,确定第三Y通道图像的锐化强度;

基于锐化强度对第三Y通道图像进行处理,得到处理后的第三Y通道图像;

基于处理后的第三Y通道图像和YUV图像的第三UV通道图像,得到YUV图像的质量优化图像。

在实际应用中,也可以不采用神经网络模型进行图像优化处理,而是通过边缘信息确定锐化强度,实现对图像的优化处理。具体实现方式可以包括:若样本图像为YUV图像,则计算每个样本图像的Y通道的边缘信息,可以通过拉普拉斯laplace算子,索贝尔sobel算子等计算并进行综合。建立边缘信息到锐化强度的映射关系,根据上述实施例中的公式(1)可以得到锐化增强处理后每个像素的锐化增强结果。上述获取样本图像的质量优化图像实施例中已经进行了介绍,此处不再赘述。基于锐化强度对第三Y通道图像进行处理,得到处理后的第三Y通道图像;将处理后的第三Y通道图像和第三UV通道图像进行合并,得到YUV图像的质量优化图像。可选的,利用锐化强度对第三Y通道图像进行处理之后,可以再利用边缘控制参数进行边缘控制。边缘控制的具体实现方式已在上述实施例中进行介绍,此处不再赘述。

需要说明的是,本申请技术方案中能够并行/独立计算的部分,比如Y通道的处理和UV通道的处理,可以分开部署、部署在不同的计算单元:CPU、GPU、NPU,如果都部署在CPU的话,可以考虑用不同线程分别执行这些相互独立的计算。

图13为本申请一实施例提供的按照第三质量优化方式进行质量优化的示意图。如图13所示,待处理视频中的图像为YUV图像,通过自适应锐化因子计算方式,计算YUV图像中的Y通道图像的锐化强度(如图13中所示的锐化因子),将锐化强度作用于Y通道图像,再通过边缘控制参数进行边缘控制,得到边缘控制后的图像。同时,对Y通道图像进行滤波处理,得到boxfilter(Y),将图像Y和图像boxfilter(Y)做减法运算,得到图像dY。将图像dY和边缘控制后的图像进行乘法运算,得到图像dYN,将图像Y和图像dYN做加法运算,得到图像YN,将图像YN进行滤波处理,得到YN1;其中,滤波处理可以是双边滤波或导向滤波处理,导向滤波可以用Y通道图像本身做引导图。利用双立方插值Bicubic或者兰索士Lanczons插值或者卷积上采样,对YN1进行处理,得到最终的Y。利用双线性插值法对YUV图像的UV通道图像进行上采样处理(如图13中所示的“双线性上采样”),得到处理后的UV通道图像(如图13中所示的“最终UV”);将最终的图像Y和处理后的UV通道图像进行合并,得到YUV图像的质量优化图像(如图13中所示的“结果”)。

图14为本申请一实施例提供的按照第三质量优化方式进行质量优化的示意图。如图14所示,待处理视频中的图像为YUV图像,通过自适应锐化因子计算方式,计算YUV图像中的Y通道图像的锐化强度(如图14中所示的锐化因子),利用双线性插值方法对锐化强度进行上采样,得到上采样锐化因子,将上采样锐化因子作用于Y通道图像,再通过边缘控制参数进行边缘控制,得到边缘控制后的图像。同时,对Y通道图像进行双立方插值Bicubic或者兰索士Lanczons插值或者卷积上采样处理,得到Yup图像,将Yup进行滤波处理,得到boxfilter(Yup),将图像Yup和boxfilter(Yup)进行减法运算得到图像dYup,将图像dYup和边缘控制后的图像进行乘法运算,得到图像dYupN,将图像Yup和图像dYupN做加法运算,得到图像YupN,将图像YupN进行滤波处理,得到最终的图像Y;其中,滤波处理可以是双边滤波或导向滤波处理,导向滤波可以用Y通道图像本身做引导图。利用双线性插值法对YUV图像的UV通道图像进行上采样处理(如图14中所示的“双线性上采样”),得到处理后的UV通道图像(如图14中所示的“最终UV”);将最终的图像Y和处理后的UV通道图像进行合并,得到YUV图像的质量优化图像(如图14中所示的“结果”)。

需要说明的是,图13、图14中所示的“锐化因子”还可以是HDR强度,可以替换锐化强度作用于Y通道图像,之后再进行边缘控制,后续的各个步骤进行增减或者调整各个图像处理步骤的执行顺序,本申请对此不作限定。

可以理解的是,在上述实施例中,图13、图14中的双立方插值Bicubic或者兰索士Lanczons插值或者卷积上采样处理,以及双边滤波或导向滤波处理,具体执行的位置可以根据具体需要灵活配置,相应的可以灵活对各个步骤进行增减或者调整各个图像处理步骤的执行顺序,本申请对此不作限定。

与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供一种视频处理装置。如图15所示,该视频处理装置可以包括:

视频获取模块1501,用于获取待处理视频;

第一确定模块1502,用于确定按照第一质量优化方式对所述待处理视频进行质量优化处理的第一性能开销;

第二确定模块1503,用于基于所述第一性能开销,确定所述待处理视频的目标质量优化方式;

视频处理模块1504,用于基于所述目标质量优化方式,对所述待处理视频进行质量优化处理。

本申请实施例提供的视频处理装置,在对视频进行处理时,将质量优化方式的性能开销作为考虑因素,基于性能开销,确定目标质量优化方式,如此,在保证视频处理质量的情况下,减少了性能开销。

在一种可能的实现方式中,第二确定模块1503,具体用于:

若第一性能开销不超过与第一质量优化方式对应的第一性能开销阈值,则将第一质量优化方式确定为目标质量优化方式。

在一种可能的实现方式中,第二确定模块1503,具体用于:

若第一性能开销超过第一性能开销阈值,则至少一次切换待处理视频的质量优化方式,直到待处理视频当前使用的质量优化方式对应的第二性能开销不超过与第二质量优化方式对应的第二性能开销阈值,则将第二质量优化方式确定为目标质量优化方式。

在一种可能的实现方式中,视频处理模块1504,用于:

若目标质量优化方式为第一质量优化方式,基于第一质量优化模型,对待处理视频中的图像进行质量优化处理;第一质量优化模型对应的训练样本包括样本图像和样本图像的质量处理图像,或者样本图像的质量处理图像;质量处理图像的处理参数根据用户的选择指令或对待处理视频进行处理的设备确定。

在一种可能的实现方式中,第一质量优化模型包括第一卷积模块和上采样模块;第一卷积模块或上采样模块通过使用多个卷积层的线性组合进行训练得到。

在一种可能的实现方式中,质量处理图像包括质量优化图像和/或质量退化图像;质量优化图像是对样本图像进行增强处理和滤波处理得到的;质量退化图像是对样本图像进行噪声处理和模糊处理得到的。

在一种可能的实现方式中,视频处理模块1504,用于:

待处理视频中的图像包括YUV图像,将YUV图像的第一Y通道图像输入第一质量优化模型,得到第一质量优化模型输出的优化处理后的第一Y通道图像;

视频处理模块1504,还用于:

对YUV图像的第一UV通道图像进行上采样处理,得到处理后的第一UV通道图像;

基于处理后的第一Y通道图像和处理后的第一UV通道图像,得到YUV图像的质量优化图像。

在一种可能的实现方式中,视频处理模块1504在将YUV图像的第一Y通道图像输入第一质量优化模型,得到第一质量优化模型输出的优化处理后的第一Y通道图像时,用于:

将YUV图像的第一Y通道图像进行像素重排,将像素重排Y通道图像输入第一质量优化模型,得到第一质量优化模型输出的优化处理后的像素重排Y通道图像;

将优化处理后的像素重排Y通道图像进行反像素重排处理,得到优化处理后的Y通道图像。

在一种可能的实现方式中,视频处理模块1504,用于:

若目标质量优化方式为第二质量优化方式,基于第二质量优化模型,对待处理视频中的图像进行质量优化处理;第二质量优化模型包括第二卷积模块;第二卷积模块通过使用多个卷积层的线性组合进行训练得到。

在一种可能的实现方式中,视频处理模块1504,用于:

待处理视频中的图像包括YUV图像,将YUV图像的第二Y通道图像输入第二质量优化模型,得到第二质量优化模型输出的第二Y通道图像的锐化强度;

视频处理模块1504,还用于:

基于锐化强度对第二Y通道图像进行处理,得到处理后的第二Y通道图像;

基于处理后的第二Y通道图像和YUV图像的第二UV通道图像,得到YUV图像的质量优化图像。

在一种可能的实现方式中,视频处理模块1504在基于锐化强度对第二Y通道图像进行处理,得到处理后的第二Y通道图像时,用于:

获取第二Y通道图像的边缘控制参数;

基于锐化强度和边缘控制参数,对第二Y通道图像进行处理,得到处理后的第二Y通道图像。

在一种可能的实现方式中,视频处理模块1504,用于:

若目标质量优化方式为第三质量优化方式,获取YUV图像的第三Y通道图像的边缘信息,基于边缘信息,确定第三Y通道图像的锐化强度;

基于锐化强度对第三Y通道图像进行处理,得到处理后的第三Y通道图像;

基于处理后的第三Y通道图像和YUV图像的第三UV通道图像,得到YUV图像的质量优化图像。

本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,并具备相应的有益效果,在此不再赘述。

图16为用来实现本申请实施例的电子设备的框图。如图16所示,该电子设备包括:存储器1610和处理器1620,存储器1610内存储有可在处理器1620上运行的计算机程序。处理器1620执行该计算机程序时实现上述实施例中的方法。存储器1610和处理器1620的数量可以为一个或多个。

该电子设备还包括:

通信接口1630,用于与外界设备进行通信,进行数据交互传输。

如果存储器1610、处理器1620和通信接口1630独立实现,则存储器1610、处理器1620和通信接口1630可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(PeripheralComponent Interconnect,PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器1610、处理器1620及通信接口1630集成在一块芯片上,则存储器1610、处理器1620及通信接口1630可以通过内部接口完成相互间的通信。

本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。

本申请实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。

本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。

应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Srocessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。

进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。

应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。

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

技术分类

06120114717446