一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像画质增强方法、装置、终端及可读存储介质与流程

2022-04-25 03:06:44 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,具体而言,涉及一种图像画质增强方法、装置、终端及可读存储介质。


背景技术:

2.随着互联网时代的发展,显卡能力逐步加强,用户对终端侧高画质,高流畅性的直播体验日益加剧。
3.在传统的直播流程中,画质和码率成负相关,画质越高,码率需要越高,传输压力越大,后台转码增强瓶颈越来越明显,现有的画质增强都是在服务侧进行的,然而,服务器侧用来进行画质增强的模型经过几代更替,导致画质增强效果无法被提升,再加上服务侧现有的gpu图源逐渐被消耗,使得画质增强效果遇到瓶颈,无法得到更好的效果,满足不了用户的需求。


技术实现要素:

4.本发明的目的之一在于提供一种图像画质增强方法、装置、终端及可读存储介质,用以提高画质增强效果和效率,满足用户对高画质的需求,本发明的实施例可以这样实现:
5.第一方面,本发明提供一种图像画质增强方法,应用于终端,所述方法包括:
6.获得终端的设备类型、直播间类型、直播码率以及增强模型配置信息;
7.根据所述设备类型、直播间类型、直播码率以及增强模型配置信息,确定目标增强模型;
8.当确定存在画质增强需求,根据所述目标增强模型,对待增强图像进行增强。
9.第二方面,本发明提供一种图像画质增强装置,包括:
10.获得模块,用于获得终端的设备类型、直播间类型、直播码率以及增强模型配置信息;
11.确定模块,用于根据所述设备类型、直播间类型、直播码率以及增强模型配置信息,确定目标增强模型;
12.增强模块,用于当确定存在画质增强需求,根据所述目标增强模型,对待增强图像进行画质增强。
13.第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现第一方面所述的方法。
14.第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。
15.本发明提供的图像画质增强方法、装置、终端及可读存储介质,应用于终端,所述方法包括:获得终端的设备类型、直播间类型、直播码率以及增强模型配置信息;根据所述设备类型、直播间类型、直播码率以及增强模型配置信息,确定目标增强模型;当确定存在
画质增强需求,根据所述目标增强模型,对待增强图像进行增强。可以看出,本发明实施例提供的图像画质增强方法的整个过程均是在终端完成的,有效缓解了服务器侧的资源压力,同时,本发明实施例提供的方法可以根据终端的类型以及直播间类型去确定适配的增强模型,区分平台硬件的增强模型,使得增强方案的兼容性更强,满足人们对高画质的需求。
附图说明
16.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
17.图1为现有的一种画质增强的应用场景示意图;
18.图2为本发明实施例提供的终端的结构示意图;
19.图3为本发明实施例提供的图像画质增强方法的示意性流程图;
20.图4为本发明实施例提供的步骤s303的示意性流程图;
21.图5为本发明实施例提供的不同类型终端的处理前和处理后的数据资源的示意图;
22.图6为本发明实施例提供的步骤s303的另一种实现方式的示意性流程图;
23.图7为发明实施例提供的另一种图像画质增强方法的示意性流程图;
24.图8为本发明实施例提供的图像画质增强装置的功能模块图。
具体实施方式
25.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
26.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
28.在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
29.此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
30.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
processor,np)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器112也可以是任何常规的处理器等。
42.通信接口113用于将各种输入/输出装置耦合至处理器112以及存储器111。
43.下面介绍本发明实施例提供的图像画质增强方法的实现过程,该图像画质增强方法可以由图2中的终端110进行执行,请参见图3,图3为本发明实施例提供的图像画质增强方法的示意性流程图,该方法可以包括:
44.s301,获得终端的设备类型、直播间类型、直播码率以及增强模型配置信息。
45.s302,根据设备类型、直播间类型、直播码率以及增强模型配置信息,确定目标增强模型。
46.s303,当确定存在画质增强需求,根据目标增强模型,对待增强图像进行增强。
47.根据本发明实施例提供的图像画质增强方法,首先获得终端的设备类型、直播间类型、直播码率以及增强模型配置信息,进而可以根据设备类型、直播间类型、直播码率以及增强模型配置信息,确定目标增强模型,最后在存在增强去求的情况下,基于增强模型待增强图像进行增强,可以看出,本发明实施例提供的图像画质增强方法的整个过程均是在终端完成的,有效缓解了服务器侧的资源压力,同时,本发明实施例提供的方法可以根据终端的类型以及直播间类型去确定适配的增强模型,区分平台硬件的增强模型,使得增强方案的兼容性更强,满足用户对高画质的需求。
48.下面对上述实施例中各个示例性步骤s301至步骤s304进行介绍。
49.在步骤s301中、获得终端的设备类型、直播间类型、直播码率以及增强模型配置信息。
50.本发明实施例中,终端的设备类型可以但不限于是pc端、移动设备端针对智能手机,还可以按照移动设备端内部安装的移动操作系统进行区分,例如,ios终端、android终端等,以获得与不同移动操作系统适配的增强模型;直播间类型指的是用户当前进入的直播间或者用户开通的直播间的类型。
51.本发明实施例中,上述的增强模型配置信息可以但不限于是由服务器下发给终端的,对于每个增强模型,配置信息中可以包括模型名称,针对每个模型名称,可以包括但不限于如下信息:框架名字、直播间类型、直播码率、增强类型、版本、相关框架后缀等,设备终端可以通过“框架名字”选择需要匹配的增强框架,直播间类型和直播码率可以用于验证当前直播间可否使用该模型;增强类型由终端性能决定所属最优的模型类型,可以但不限于用不同的数字来区分不同的增强类型,例如,“0”表示任何模型类型都可以,“1”表示增强模型,“2”表示超分模型,需要说明的是,增强类型这个变量主要用于使用了android操作系统的终端上,不同芯片选取不同的模型所用。
52.在步骤s302中、根据设备类型、直播间类型、直播码率以及增强模型配置信息,确定目标增强模型。
53.目前,现有比较比较常用的增强框架有mnn,tnn和ncnn等,但是这些增强框架在使用的过程中,都不可避免的会遇到同一个问题,经过终端解码输出的图源与增强框架的统一输入不匹配,这意味着,在进行增强之前,都需要将解码输出的图像数据转化为增强框架
的统一输入,这一过程中必然会存在不少的性能消耗,大大提高了产品上线难度。
54.为了解决上述问题,本发明实施例针对不同操作系统的终端,结合该不同终端的解码输出,设计了不同的增强模型,以下实施例将以pc端、ios终端和android终端进行举例以说明。
55.在pc端,解码输出的图源的数据格式为d3d11texture,因此,本发明实施例优选采用d3d11 computer shader(一种渲染器)来实现了增强处理需要的一般卷积、转置卷积等,以此满足增强流程的实现。可以认为,将pc端解码的数据经过增强流程之后,就会得到类似d3d11texture的一个图像数据,方便后续直接用于分层渲染,可以理解的是,针对pc端的增强模型的输入和输出都是d3d11texture,无需额外处理,避免了不必要的转换和拷贝,能提高增强效率。
56.本实施例中,针对pc端,由于其设备和传统的后台服务器增强很接近,故此,可以采用之前后台增强使用的模型来进行端上增强。
57.在ios终端上,解码输出的图源的数据格式为cvpixelbufferref,因此,本发实施例优选采用现有的mlcore框架来进行相关增强处理操作,然而由于mlcore模型无法存在于静态库中,因此,为了克服这个问题,可以使用mlcore框架自带的函数,通过线上下载,本地编译的方式导入到app中,整个过程可以采用加载同步,编译异步的方式。
58.本实施例中,针对ios终端,增强模型可以采用了七层普通卷积和一个反置卷积的模型进行增强模型设计。
59.在android终端上,解码输出的图源的数据格式为gl.texture,在现有的各大端上增强框架中,输入都设定为各个平台相关的buffer接口,这存在增强耗时长,拷贝耗时一直居高不下的缺陷。因此,本发明实施首先将解码输出的图像数据封装到对应的handler里面,然后将增强处理过的封装数据,利用opengl技术,绘制到gl.texture上面即可。
60.本实施例中,针对android终端,可以采用了三层极类unet结构,拥有两次下采样和三次上采样的模型进行增强模型设计。
61.在步骤s303中,当确定存在画质增强需求,根据目标增强模型,对待增强图像进行增强。
62.本发明实施例中,为了确定用户当前是否存在画质增强需求,本发明实施例还给出了一种可能的实施方式:
63.a1,根据确定的目标增强模型,输出画质增强标识。
64.a2,当接收到针对画质增强标识的启用操作,确定存在画质增强需求。
65.基于上述配置信息,终端可以根据配置信息进行匹配,若有与该终端和直播间类型匹配的信息,则可以输出画质增强标识,也就是在直播间展示用户可操作标识,例如,该可操作标识是以按钮的形式展示在直播间,这样一来用户就可以根据自己的需求,选择打开还是关闭该按钮,若用户打开该按钮,则可以认为用户存在画质增强需求,若用户关闭该按钮,则可以确定不存在画质增强需求。
66.可以理解的是,若终端检测到没有匹配的增强模型配置信息,则在直播间就会出现画质增强标识,但是可以向用户输出不支持画质增强等提示信息,以方便用户及时进行调整。
67.在一些实施例,待增强图像例如可以是视频的多个视频连续帧中的一帧。通过对
视频中的每一帧执行更有针对性的图像画质增强处理,增强了视频整体的主观质量,并且提升了用户观看视频的体验。
68.可选地,本发明实施例中,在获得目标增强模型之后,即可对待增强图像进行画质增强,在一种可能的实施方式中,上述步骤s303可以按照如下方式进行,请参见图4,图4为本发明实施例提供的步骤s303的示意性流程图:
69.s303-3,当确定存在画质增强需求,根据目标增强模型,创建增强推理器。
70.在本发明实施中,增强推理器可以理解为一个增强实例,是基于确定的目标增强模型,生成的一套具有增强处理功能的算法,增强推理器的输入可以是待增强图像数据,输出的图像数据的格式与输出的图像数据的格式匹配。
71.s303-4,对待增强图像进行解码,根据解码后的待增强图像和增强推理器,获得增强后的图像。
72.为了方便理解上述步骤s303-4中,下面将以pc端、ios终端和android终端进行举例以说明。
73.上述步骤s303-4的实现方式可以是:当设备类型为第一类设备,将解码后的待增强图像输入到增强推理器进行处理,将输出的图像作为增强后的图像。
74.在本发明实施例中,pc端为第一类设备,pc端解码后的待增强图像的数据格式是d3d11texture,可以直接输入增强推理器中,输出的数据格式仍然是d3d11texture,可以直接作为后续渲染的输入,不需要进行额外处理,提高了增强效率。
75.上述步骤s303-4的实现方式可以是:当设备类型为第二类设备,提取解码后的待增强图像的明亮度通道数据,将明亮度通道数据输入增强推理器进行处理,将输出的图像作为增强后的图像。
76.在本发明实施例中,ios终端为第二类设备,ios终端解码后的待增强图像的数据格式为pixelbuffer,输入增强推理器的是提取到的明亮度通道数据,输出的是增强后的明亮度通道数据,数据格式也为pixelbuffer,输出的pixelbuffer格式数据可以直接用于渲染的。
77.上述步骤s303-4的实现方式可以是:当设备类型为第三类设备,将解码后的待增强图像封装为预设数据格式的数据,并将预设格式的数据输入增强推理器,将输出数据绘制到解码后的待增强图像,得到增强后的图像。
78.在本发明实施例中,android终端为第三类设备,在一种可能的实施方式中,可以根据android终端的图像解码器可以结合预设的参数对输入的图源进行解码,解码得到的图像数据可以经过转换器进行封装,封装后的数据可以直接输入到增强推理器中进行增强处理,输出对应的buffer(增强后的数据),进而利用opengl技术将增强后的数据绘制到gl.texture,得到的gl.texture可以直接作为后续渲染的输入。
79.从上述内容中可以看出,针对不同类型的终端,增强模型的输入的数据格式和输出的数据格式不同,以图5为例,图5为本发明实施例提供的不同类型终端的处理前和处理后的数据资源的示意图。
80.为了减少数据量的拷贝,各平台都需要以其解码输出资源作为增强流程的输入,以增强流程的输出作为渲染流程的输入,在传统的增强流程上,需要消耗2次cpu到gpu拷贝和2次gpu到cpu拷贝,导致cpu/gpu使用率过高和耗电严重的问题,但从图5中可以看出,本
发明实施例在增强流程上的优化主要体现在数据拷贝次数的减少,例如:
81.pc终端解码的输出可以直接作为增强模型的输入,增强模型的输出可以直接作为渲染的输入,因此只进行了0次拷贝。
82.ios终端在增强之前需要提取出明亮度通道数据,增强之后的输出pixelbuffer可以直接作为渲染输入,无需拷贝,因此仅仅进行1次cpu到gpu的拷贝。
83.android终端上需要在增强输出里面多增加一个拷贝的流程,就是将cpu数据转化为渲染需要的texture资源,因此也仅仅进行了为1次cpu到gpu拷贝。
84.因此,本发明实施例采用了针对不同终端的增强模型,在增强处理流程中可以大大减少数据量的拷贝,防止出现cpu/gpu使用率过高和耗电严重的问题。
85.可选地,在上述步骤s303-3之前,方法还可以包括如图6所示的步骤,图6为本发明实施例提供的步骤s303的另一种实现方式的示意性流程图:
86.s303-1,确定是否存在预先生成的增强推理器。
87.若存在,则执行步骤s303-2,将获得预先生成的增强推理器。
88.若不存在,则执行步骤s303-3。
89.也就是说,在根据目标增强模型,创建增强推理器之前,还可以先确定是否存在已经创建完成的增强推理器,若不存在则可以创建新的增强推理器。若存在则直接使用,防止过度创建,浪费图源。
90.可选地,在上述步骤s303之前,还可以包括以下步骤:
91.c1,确定终端是否存在目标增强模型。
92.c2,若存在,则加载目标增强模型。
93.c3,若不存在,则从服务端下载目标增强模型,并响应针对目标增强模型的编译操作。
94.本发明实施例上述步骤c1至步骤c3主要针对ios终端,由前述内容可以看出ios终端对应的增强模型是mlcore模型,无法存在于静态库中,因此,若终端类型是ios终端,则可以先确定终端是否存在模型文件,当不存在模型文件的时候,端上开关不显示,后台进行下载文件和编译文件的能力,当文件存在的时候,同步加载文件,这就是加载同步,编译异步的概念。
95.可选地,本发明实施例还可以根据增强后的数据进行渲染,以实现在终端显示增强后的图像的效果,因此,在上述步骤s303之后,还可以包括如图7所示的步骤,图7为发明实施例提供的另一种图像画质增强方法的示意性流程图:
96.s304,获取增强后的待增强图像对应的明亮度通道数据。
97.s305,基于明亮度通道数据进行渲染,将渲染得到的图像进行显示。
98.可以看出,在渲染过程中,本发明实施例选择的是增强后的待增强图像对应的明亮度通道数据,使用增强后的明亮度通道数据覆盖原本的yuv(y表示明亮度、u和v表示色度)三通道中的y通道的数据图源,然后渲染到屏幕上来,以此完成渲染流程。也就是说,渲染的y通道数据来自增强后的y通道数据,渲染的uv通道数据来自增强前的uv通道数据。
99.本发明实施例之所以选择明亮度通道(y通道)数据进行渲染,原因是考虑到传统的rgba四通道增强的数据量是w*h*4,数据量较大,运算复杂度较高,并且,在模型验证的过程中,得出了yuv三通道增强的主要增强点,在于y通道而不是uv通道,故此,可以抛弃uv分
量的增强,转为y单通道数据的增强,已优化增强速度,满足端上实时增强的需求,同时数据量从原本的w*h*4减少为w*h,极大的优化了运算复杂度。
100.为了实现上述实施例中各个步骤以实现图像画质增强效果,本发明实施例提供的图像画质增强方法可以在硬件设备或者以软件模块的形式实现中执行,当特征提取模型的训练方法以软件模块的形式实现时,本发明实施例还提供一种图像画质增强装置,请参见图8,图8为本发明实施例提供的图像画质增强装置的功能模块图,该图像画质增强装置400可以包括:
101.获得模块410,用于获得终端的设备类型、直播间类型、直播码率以及增强模型配置信息。
102.确定模块420,用于根据设备类型、直播间类型、直播码率以及增强模型配置信息,确定目标增强模型。
103.增强模块430,用于当确定存在画质增强需求,根据目标增强模型,对待增强图像进行画质增强。
104.可以理解的是,本发明实施例提供的获得模块410、确定模块420和增强模块430可以协同执行图3中的各个步骤以实现图像画质增强的效果。
105.在可选的实施方式中,增强模块430,具体用于:当确定存在画质增强需求,根据目标增强模型,创建增强推理器;对待增强图像进行解码,根据解码后的待增强图像和增强推理器,获得增强后的图像。
106.在可选的实施方式中,增强模块430,还具体用于:提取解码后的待增强图像的明亮度通道数据,并将明亮度通道数据、输入增强推理器进行处理,将输出的图像作为增强后的图像;或者,将解码后的待增强图像输入到增强推理器进行处理,将输出的图像作为增强后的图像;或者,将解码后的待增强图像封装为预设数据格式的数据,并将预设格式的数据输入增强推理器,将输出数据绘制到解码后的待增强图像,得到增强后的图像。
107.在可选的实施方式中,确定模块420,还用于:确定是否存在预先生成的增强推理器;若存在,则将获得预先生成的增强推理器;若不存在,则执行根据目标增强模型,创建增强推理器的步骤。
108.在可选的实施方式中,该图像画质增强装置400还可以包括渲染模块,用于获取增强后的待增强图像对应的明亮度通道数据;基于明亮度通道数据进行渲染,将渲染得到的图像进行显示。
109.在可选的实施方式中,确定模块420,还用于确定终端是否存在目标增强模型;若存在,则加载目标增强模型;若不存在,则从服务端下载目标增强模型,并响应针对目标增强模型的编译操作。
110.在可选的实施方式中,确定模块420,还用于根据确定的目标增强模型,输出画质增强标识;当接收到针对画质增强标识的启用操作,确定存在画质增强需求。
111.本发明实施例还提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项的图像画质增强方法。该计算机可读存储介质可以是,但不限于,u盘、移动硬盘、rom、ram、prom、eprom、eeprom、磁碟或者光盘等各种可以存储程序代码的介质。
112.应该理解到,在本技术所揭露的装置和方法,也可以通过其它的方式实现。以上所
描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
113.另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
114.功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
115.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献