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

图像处理方法、装置、设备及介质

文献发布时间:2024-04-18 20:02:18


图像处理方法、装置、设备及介质

技术领域

本申请属于图像处理技术领域,具体涉及一种图像处理方法、装置、设备及介质。

背景技术

在一些应用场景如游戏、图形3D演示、虚拟仿真等领域,为了方便用户观看,通常会进行图像渲染。但渲染后的图像的分辨率可能无法满足需求,因此需要调整渲染后的图像的分辨率。

目前主要是基于人工智能(Artificial Intelligence,AI)算法对每一帧渲染后的图像进行处理,以调整图像的分辨率。

这种方案需要进行大量的计算,处理时间较长,容易造成图像延迟和卡顿的情况。

发明内容

本申请实施例的目的是提供一种图像处理方法、装置、设备及介质,能够解决相关技术在调整图像的分辨率时,造成图像延迟和卡顿的问题。

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

接收渲染请求,渲染请求包括第一图像帧的图像参数;

响应于渲染请求,根据图像参数确定第一图像帧包含的至少一个组件;

调整第一组件的分辨率,得到第二组件,第一组件为至少一个组件中的组件;

根据第二组件进行渲染,得到第二图像帧。

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

接收模块,用于接收渲染请求,渲染请求包括第一图像帧的图像参数;

确定模块,用于响应于渲染请求,根据图像参数确定第一图像帧包含的至少一个组件;

调整模块,用于调整第一组件的分辨率,得到第二组件,第一组件为至少一个组件中的组件;

渲染模块,用于根据第二组件进行渲染,得到第二图像帧。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,存储器存储可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面所述的方法的步骤。

第四方面,本申请实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如第一方面所述的方法的步骤。

第五方面,本申请实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面所述的方法的步骤。

第六方面,本申请实施例提供了一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法的步骤。

本申请实施例通过接收渲染请求,渲染请求包括第一图像帧的图像参数;响应于渲染请求,根据图像参数确定第一图像帧包含的至少一个组件;调整第一组件的分辨率,得到第二组件,第一组件为至少一个组件中的组件;根据第二组件进行渲染,得到第二图像帧。即本申请实施例根据第一图像帧的图像参数确定第一图像帧包含的组件,在对组件渲染之前,先调整至少部分组件的分辨率,由此可以降低计算量,缩短处理时长,从而可以改善图像的延迟和卡顿问题。

附图说明

图1为本申请实施例提供的一种图像处理方法的流程图;

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

图3为本申请实施例提供的一种各个第一组件的初始分辨率的示意图;

图4为本申请实施例提供的一种各个第一组件的目标分辨率的示意图;

图5为本申请实施例提供的一种图像处理装置的结构示意图;

图6为本申请实施例提供的一种电子设备的结构示意图;

图7为本申请实施例提供的一种电子设备的硬件结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。

下面结合附图,通过具体的实施例对本申请实施例提供的图像处理方法、装置、设备及介质进行详细地说明。

本申请实施例提供的图像处理方法可以应用于电子设备,该电子设备包括渲染引擎,该渲染引擎例如可以是Unity引擎。

如图1所示,该图像处理方法可以包括以下步骤:

S110、接收渲染请求。

渲染请求包括第一图像帧的图像参数。

S120、响应于渲染请求,根据图像参数确定第一图像帧包含的至少一个组件。

S130、调整第一组件的分辨率,得到第二组件。

第一组件为至少一个组件中的组件。

S140、根据第二组件进行渲染,得到第二图像帧。

本申请实施例通过接收渲染请求,渲染请求包括第一图像帧的图像参数;响应于渲染请求,根据图像参数确定第一图像帧包含的至少一个组件;调整第一组件的分辨率,得到第二组件,第一组件为至少一个组件中的组件;根据第二组件进行渲染,得到第二图像帧。即本申请实施例根据第一图像帧的图像参数确定第一图像帧包含的组件,在对组件渲染之前,先调整至少部分组件的分辨率,由此可以降低计算量,缩短处理时长,从而可以改善图像的延迟和卡顿问题。

下面对上述步骤进行详细说明,具体如下所示:

在S110中,渲染请求用于请求电子设备对第一图像帧进行渲染。示例性地,渲染请求可以包括第一图像帧的图像参数。图像参数可以包括但不限于第一图像帧的资源文件、第一图像帧包含的组件数量、以及各个组件的参数信息等。资源文件可以是各个第一图像帧所对应的3D模型文件。

各个组件的参数信息例如可以包括各组件的初始分辨率、颜色信息、深度信息等。

示例性地,第一图像帧可以是游戏应用的每一个图像帧,也可以是其他应用如壁纸类应用的图像帧。第一图像帧所属场景的场景类型例如可以包括游戏场景、壁纸类场景等。

简单来说,组件就是对象,是对数据和方法的简单封装。针对某一个图像帧来说,组件可以是对对象的简单封装。

例如第一图像帧包含人物、建筑和地形等,则第一图像帧的组件可以包括人物组件、建筑组件和地形组件等。

以第一图像帧为某游戏应用的图像帧为例,示例性地,渲染请求可以由游戏应用发送给渲染引擎,并由渲染引擎调用图形应用程序编程接口(Application ProgrammingInterface,API),转发给操作系统。

渲染引擎用于合成各个渲染后的组件,得到渲染后的图像帧。本申请实施例以渲染引擎为Unity引擎为例。

图形API为电子设备中操作系统的接口,通过该图形API,渲染引擎可以调用图形处理器(Graphics Processing Unit,GPU)进行图像渲染。示例性地,该图形API可以是OpenGLES或Vulkan等。

在S120中,操作系统收到渲染请求后,可以根据图像参数确定第一图像帧包含的各个组件、各个组件的渲染顺序以及各个组件需要申请的缓冲区的大小等。

以第一图像帧包含场景和人物为例,示例性地,各个组件的渲染顺序可以是先场景组件再人物组件。各个组件需要申请的缓冲区的大小可以基于各个组件的初始分辨率确定,各个组件的初始分辨率为游戏应用指定的分辨率。

在S130中,第一组件为第一图像帧所包含的各个组件的至少一个,也即本申请实施例可以对第一图像帧包含的部分组件的分辨率进行调整,也可以对第一图像帧包含的全部组件的分辨率进行调整,如此提高了分辨率调整的灵活性。

例如,针对对人物清晰度要求比较高的场景,可以仅对人物组件的分辨率进行调整。

调整第一组件的分辨率,也即调整第一组件所包含内容的像素点的数量,例如分辨率提升可以是像素点的数量增加,分辨率降低可以是像素点的数量减少。

相较于利用AI算法对渲染后的图像进行处理,以改变渲染后的图像的分辨率的方案,本申请实施例在渲染组件之前,可以先调整至少部分组件的分辨率,以达到改变图像帧的分辨率的目的,计算量更小,处理时间更短,从而可以有效缓解图像的卡顿和延迟问题。

以游戏场景为例,示例性地,操作系统可以识别第一组件所属的游戏,得到游戏名或游戏标识,方便后续判断是否需要调整第一图像帧的分辨率。

示例性地,可以针对第一组件的组件类型以及游戏名或游戏标识,确定第一组件的目标分辨率,并将第一组件的分辨率由初始分辨率替换为目标分辨率,从而实现调整第一组件的分辨率的目的。

目标分辨率可以大于初始分辨率,也可以小于初始分辨率,也即本申请实施例可以提升图像的分辨率,也可以降低图像的分辨率,如此可以提高分辨率调整的灵活性。

本申请实施例对目标分辨率的具体确定过程不进行限定,例如操作系统中可以存储预设场景下各个组件的目标分辨率,因此,操作系统接收到渲染请求后,可以将第一组件的游戏名或游戏标识以及组件类型与预先存储的场景以及目标分辨率进行比较,得到第一组件的目标分辨率。

再如,也可以基于电子设备的功耗,确定第一组件的目标分辨率,例如电子设备的功耗较大时,目标分辨率较小,电子设备的功耗较小时,目标分辨率较大,如此可以基于电子设备的功耗动态调整第一组件的目标分辨率,调整更加精细化。

当然还可以采用其他方式确定第一组件的目标分辨率,本申请实施例不进行限定。

以第一组件的初始分辨率为720x1280为例,示例性地,可以将第一组件的分辨率由初始分辨率调整为1080x1920,如此,实现了将第一组件的分辨率从720P超分到1080P,提升了第一组件的分辨率。

依次类推,可以按照类似的方式调整第一图像帧的其他组件分辨率,如此可以改变第一图像帧的分辨率。

在S140中,第一组件的分辨率调整之后,即可根据第二组件进行渲染,得到第二图像帧。

示例性地,可以使GPU根据第二组件进行渲染,得到第二图像帧。

示例性地,当对第一图像帧的部分组件的分辨率进行调整时,GPU不仅需要对第二组件进行渲染,还需要对分辨率未进行调整的组件进行渲染。

示例性地,当对第一图像帧的全部组件的分辨率进行调整时,GPU可以直接对第二组件进行渲染。

以GPU渲染第二组件为例,示例性地,GPU可以对第二组件的深度信息如depthmap进行渲染,在第二组件为场景组件时,GPU也可以对第二组件的场景信息进行渲染,在第二组件为人物组件时,GPU也可以对第二组件的人物信息进行渲染。

示例性地,GPU对各个组件渲染完成,将渲染后的组件发送给操作系统,由操作系统发送给渲染引擎,并通过渲染引擎对渲染后的组件进行合成处理,得到第二图像帧。因为渲染后的组件的分辨率发生变化,因此,合成之后的第二图像帧的分辨率相较于第一图像帧,也发生了变化,由此改变了第二图像帧的分辨率。

本申请实施例在对组件渲染之前,先对至少部分组件的分辨率进行调整,然后再对调整后的组件进行渲染,在渲染之前,调整组件的分辨率,比直接对渲染后的图像帧进行调整,计算量更小,处理时间更短,尤其是针对实时的应用场景,可以明显改善图像的延迟和卡顿问题,提升了用户的使用体验。

为了提高渲染的准确性,在一些实施例中,电子设备接收到渲染请求后,可以组件进行验证,验证成功之后,再执行后续的图像处理过程。在一些实施例中,如图2所示,该图像处理方法可以包括以下步骤:

S210、接收渲染请求。

S220、响应于渲染请求,根据图像参数确定第一图像帧包含的至少一个组件。

S230、根据第一图像帧所属场景的场景类型、第一组件的组件类型以及第一组件的初始分辨率中的至少一种,对第一组件进行验证。

S240、在验证成功的情况下,调整第一组件的分辨率,得到第二组件。

S250、根据第二组件进行渲染,得到第二图像帧。

其中,S210、S220和S250的过程与上述S110、S120和S140的过程相同,具体可以参见上述S110、S120和S140的描述,为简洁描述,此处不再赘述。

下面对上述其他步骤进行详细说明,具体如下所示:

在S230中,第一图像帧所属场景的场景类例如可以包括游戏场景、壁纸类场景等。

组件类型例如可以包括场景组件、人物组件等。以第一图像帧为某游戏应用的图像帧为例,第一组件的初始分辨率可以是该游戏应用指定的第一组件的分辨率。

示例性地,可以根据第一图像帧所属场景的场景类型、第一组件的组件类型以及初始分辨率中的至少一种,对第一组件进行验证,以确定第一组件是否为需要渲染的组件。

以根据第一图像帧所属场景的场景类型、第一组件的组件类型以及初始分辨率对第一组件进行验证为例,示例性地,可以将组件类型、场景类型以及初始分辨率与本地存储的第一信息表进行匹配,如果组件类型、场景类型以及初始分辨率与第一信息表匹配成功,可以确定第一组件验证成功,如果组件类型、场景类型以及初始分辨率至少有一个与第一信息表不匹配,可以确定第一组件验证失败。

第一信息表用于存储组件类型、场景类型以及初始分辨率的对应关系,这里的匹配成功,可以是第一组件的组件类型、场景类型以及初始分辨率的之间的对应关系,与第一信息表中存储的组件类型、场景类型以及初始分辨率之间的对应关系相同,也即如果第一组件的组件类型、场景类型以及初始分辨率记载在第一信息表中,可以认为第一组件为待渲染的组件,也即第一组件验证成功。如此可以提高渲染的准确性。

在S240中,在第一组件验证成功的情况下,可以调整第一组件的分辨率,得到第二组件。

在第一组件验证失败的情况下,电子设备可以向渲染引擎返回验证失败的结果,并由渲染引擎返回给游戏应用。

本申请实施例在调整第一组件的分辨率之前,先基于第一组件的组件类型、场景类型以及初始分辨率中的至少之一对第一组件进行验证,在验证成功的情况下,再对第一组件的分辨率进行调整,如此提高了渲染的准确性。

以图像参数包括第一组件的组件类型以及第一组件的初始分辨率为例,在一些实施例中,上述S130可以包括以下步骤:

根据组件类型和初始分辨率,确定与第一组件对应的目标分辨率;

将第一组件的分辨率由初始分辨率调整为目标分辨率,得到第二组件。

在一些实施例中,可以基于组件类型和初始分辨率,查找第二信息表,获取与组件类型和初始分辨率对应的目标分辨率。第二信息表用于存储组件类型、初始分辨率以及目标分辨率之间的关系。

第二信息表可以预先存储在操作系统中,后续操作系统每接收到一次渲染请求,即可将第一组件的组件类型以及初始分辨率与第二信息表进行匹配,获取与组件类型以及初始分辨率对应的目标分辨率,在初始分辨率与目标分辨率不同的情况下,可以将第一组件的分辨率由初始分辨率调整为目标分辨率。

第二信息表中存储的目标分辨率可以小于初始分辨率,也可以大于初始分辨率,还可以等于初始分辨率,在目标分辨率与初始分辨率相同的情况下,初始分辨率也即目标分辨率。

示例性地,在目标分辨率大于初始分辨率的情况下,操作系统可以增加第一组件所包含内容的像素点的数量,如此可以还原第一图像帧缺失的细节,如纹理、颜色变化等,在提高图像分辨率的同时,可以提高图像的质量。

在一些实施例中,也可以基于组件类型,确定第一组件的目标分辨率,例如在第一组件为场景组件的情况下,可以适当降低第一组件的分辨率,也即目标分辨率小于初始分辨率。例如在第一组件为人物组件的情况下,可以适当提高第一组件的分辨率,也即目标分辨率大于初始分辨率,由此可以突出第一图像帧中的人物。

本申请实施例可以基于第一组件的组件类型以及初始分辨率,确定第一组件的目标分辨率,并将第一组件的分辨率由初始分辨率调整为目标分辨率,修改更加简单,处理时间更短,而且整个过程无需获取和标注大量的高分辨率图像和低分辨率图像,从而可以降低这些图像的获取和标注所需耗费的大量的时间和人力成本。

在一些实施例中,上述S130可以包括以下步骤:

S1301、获取电子设备的属性信息,属性信息包括电子设备的使用负载和剩余电量中的至少一种;

S1302、根据使用负载和剩余电量中的至少一种,调整第一组件的分辨率,得到第二组件。

电子设备的使用负载为电子设备当前使用的负载,也即当前正在运行的负载。当前运行的负载越多,功耗越多,剩余电量也会逐渐减少。

例如,在电子设备的使用负载较大,可以降低第一组件的分辨率,在电子设备的使用负载较小,可以提升第一组件的分辨率。

再如,在电子设备的剩余电量较多时,可以提升第一组件的分辨率,在电子设备的剩余电量较少时,可以降低第一组件的分辨率。

再如,在电子设备的使用负载较大,剩余电量较少时,可以降低第一组件的分辨率,在电子设备的使用负载较大,剩余电量较多时,可以提升第一组件的分辨率,在电子设备的使用负载较少,剩余电量较多时,可以提升第一组件的分辨率,在电子设备的使用负载较多,剩余电量较少时,可以降低第一组件的分辨率。

本申请实施例可以根据电子设备当前使用的负载以及剩余电量中的至少一种动态的调整各个组件的分辨率,使分辨率的调整更加精细化。

以属性信息包括电子设备的使用负载和剩余电量为例,在一些实施例中,上述S1302可以包括以下步骤:

在使用负载小于第一阈值,且剩余电量大于第二阈值的情况下,将第一组件的分辨率由初始分辨率升高至第一分辨率,得到第二组件;

在使用负载大于或等于第一阈值,且剩余电量小于或等于第二阈值的情况下,将第一组件的分辨率由初始分辨率降低至第二分辨率,得到第二组件。

第一阈值和第二阈值的大小可以根据实际需要设定,第一分辨率和第二分辨率的大小也可以根据实际需要设定。第一分辨率大于初始分辨率,第二分辨率小于初始分辨率。

示例性地,在使用负载小于第一阈值,剩余电量大于第二阈值,也即使用负载低,电量充足的情况下,可以适当提升第一组件的分辨率,例如可以将第一组件的分辨率由初始分辨率升高至第一分辨率。

示例性地,在使用负载大于或等于第一阈值,剩余电量小于或等于第二阈值,也即使用负载高,电量低的情况下,可以适当降低第一组件的分辨率,例如可以将第一组件的分辨率由初始分辨率降低至第一分辨率。

本申请实施例在平衡性能和功耗的条件下,调整图像的分辨率,实现了在帧级别对图像分辨率进行动态调控的目的,更加精细化。

示例性地,参考图3,图3为各个组件的初始分辨,其中,pass1、pass2、pass3和pass4分别为第一图像帧包含的组件,pass1、pass2、pass3和pass4的初始分辨率分别为1920x864、128x128、512x512和256x256,pass5为各个渲染组件合成后的图像帧的分辨率,具体为1920x864。

经过上述分析,需要提升pass1、pass2和pass4的分辨率,分辨率调整后的各个组件的示意图可以参见图4,分辨率调整调整后的各个渲染组件再次合成后,得到的新的图像帧的分辨率为2400x1080,如此改变了渲染后图像帧的分辨率。

整个过程无需获取高分辨率和低分辨率的图像,从而可以节省获取和标注高分辨率和低分辨率的图像所耗费的时间和人力成本,而且可以还原图像缺失的纹理、颜色变化等细节,在提高分辨率的同时,可以提高图像的质量,缓解图像的延迟和卡顿问题。

在一些实施例中,在S130之后,该图像处理方法还可以包括以下步骤:

根据第二组件的分辨率,调整第二组件的缓冲区的大小。

第一组件的分辨率改变后,第一组件所需的缓冲区的大小也要相应改变。也即电子设备在调整完第一组件的分辨率,得到第二组件后,还需要调整第二组件在操作系统占用的缓冲区的大小,使缓冲区的大小与第二组件的分辨率相适应。

例如,第一组件的初始分辨率为512x512,则对应的缓冲区的大小可以认为是131072,缓冲区的大小与物理机器的内存位数有关,这里可以以分辨率的乘积值代替。

如果需要将第一组件的分辨率提升至1024x512,则缓冲区的大小需要调整为524288。

本申请实施例在第一组件的分辨率改变后,会同时调整第一组件所占用的缓冲区的大小,使调整后的缓冲区的大小与调整后的第一组件的分辨率相匹配,避免因缓冲区过大占用较多的缓存空间,或者缓冲区过小无法存储分辨率调整后的第一组件的情况。

以第一组件包括第一图像帧的部分组件为例,在一些实施例中,上述S140可以包括以下步骤:

根据第二组件的组件类型,确定第二组件的第一渲染参数,以及根据第三组件的组件类型,确定第三组件的第二渲染参数,第三组件为至少一个组件中除第一组件之外的组件;

根据第一渲染参数对第二组件进行渲染,得到第一渲染组件,以及根据第二渲染参数对第三组件进行渲染,得到第二渲染组件;

对第一渲染组件和第二渲染组件进行合成处理,得到第二图像帧。

以对第一图像帧中的全部组件进行渲染为例,第三组件为各组件中除第一组件之外的组件,也即本申请实施例不进行可以对分辨率发生改变的组件进行渲染,也可以对分辨率未发生改变的组件进行渲染,如此可以提升用户的使用体验。

第一渲染参数为第二组件的渲染参数,第一渲染参数与第二组件的组件类型有关,例如第二组件为人物组件时,第一渲染参数可以包括第二组件的颜色信息以及深度信息等。根据第一渲染参数可以将第二组件渲染为需要的组件。

第二渲染参数为第三组件的渲染参数,也即分辨率未发生改变的组件的渲染参数。第二渲染参数与第三组件的类型有关。

电子设备基于第二组件的组件类型,可以确定第一渲染参数以及根据第三组件的组件类型,可以确定第二渲染参数。

第一渲染参数和第二渲染参数确定之后,即可基于第一渲染参数对第二组件进行渲染,得到第一渲染组件,以及基于第二渲染参数对第三组件进行渲染,得到第二渲染组件。

示例性地,可以通过GPU对第二组件和第三组件进行渲染。

渲染完成之后,即可对渲染后的各组件进行合成处理,得到第二图像帧。示例性地,可以由渲染引擎对渲染后的各组件进行合成处理,得到第二图像帧,并输出给对应的应用。

本申请实施例先对组件的分辨率进行调整,然后再对分辨率调整后的组件以及分辨率未调整的组件进行渲染,最后对渲染后的组件进行合成,得到分辨率调整后的图像帧,计算量更小,图像的处理时间更短,可以明显改善图像的延迟和卡顿问题。

在一些实施例中,渲染引擎在向操作系统发送渲染请求之前,可以基于视野范围对游戏应用发送的资源文件进行视椎体裁剪,即将视野外的物体和区域排除在渲染范围之外。

在一些实施例中,渲染引擎还可以基于场景中的光源信息,对各个组件的着色和阴影进行计算,并基于各个组件的深度信息进行排序,保证后续渲染的准确性。

在一些实施例中,渲染引擎在接收到操作系统发送的各个渲染组件后,还可以对渲染组件进行后处理,例如可以对渲染组件进行模糊、色彩调整、抗锯齿等处理,以提高渲染效果和图像质量。

在一些实施例中,渲染引擎合成各个渲染组件后,可以将合成结果输出到屏幕上进行显示。

需要说明的是,本申请实施例提供的图像处理方法,执行主体可以为图像处理装置,或者该图像处理装置中的用于执行图像处理方法的处理模块。本申请实施例中以图像处理装置执行图像处理方法为例,说明本申请实施例提供的图像处理装置。

图5为本申请实施例提供的一种图像处理装置的结构示意图。

如图5所示,该图像处理装置500可以包括:

接收模块501,用于接收渲染请求,渲染请求包括第一图像帧的图像参数;

确定模块502,用于响应于渲染请求,根据图像参数确定第一图像帧包含的至少一个组件;

调整模块503,用于调整第一组件的分辨率,得到第二组件,第一组件为至少一个组件中的组件;

渲染模块504,用于根据第二组件进行渲染,得到第二图像帧。

本申请实施例通过接收渲染请求,渲染请求包括第一图像帧的图像参数;响应于渲染请求,根据图像参数确定第一图像帧包含的至少一个组件;调整第一组件的分辨率,得到第二组件,第一组件为至少一个组件中的组件;根据第二组件进行渲染,得到第二图像帧。即本申请实施例根据第一图像帧的图像参数确定第一图像帧包含的组件,在对组件渲染之前,先调整至少部分组件的分辨率,由此可以降低计算量,缩短处理时长,从而可以改善图像的延迟和卡顿问题。

在本申请实施例的一些可能实现中,调整模块503,具体用于:

根据第一图像帧所属场景的场景类型、第一组件的组件类型以及第一组件的初始分辨率中的至少一种,对第一组件进行验证;

在验证成功的情况下,调整第一组件的分辨率,得到第二组件。

在本申请实施例的一些可能实现中,图像参数包括第一组件的组件类型以及第一组件的初始分辨率;

确定模块502,还用于根据组件类型和初始分辨率,确定与第一组件对应的目标分辨率;

调整模块503,具体用于:

将第一组件的分辨率由初始分辨率调整为目标分辨率,得到第二组件。

在本申请实施例的一些可能实现中,调整模块503,具体用于:

获取电子设备的属性信息,属性信息包括电子设备的使用负载和剩余电量中的至少一种;

根据使用负载和剩余电量中的至少一种,调整第一组件的分辨率,得到第二组件。

在本申请实施例的一些可能实现中,属性信息包括电子设备的使用负载和剩余电量;

调整模块503,具体用于:

在使用负载小于第一阈值,且剩余电量大于第二阈值的情况下,将第一组件的分辨率由初始分辨率升高至第一分辨率,得到第二组件;

在使用负载大于或等于第一阈值,且剩余电量小于或等于第二阈值的情况下,将第一组件的分辨率由初始分辨率降低至第二分辨率,得到第二组件。

在本申请实施例的一些可能实现中,第一组件包括第一图像帧的部分组件;

确定模块502,还用于根据第二组件的组件类型,确定第二组件的第一渲染参数,以及根据第三组件的组件类型,确定第三组件的第二渲染参数,第三组件为至少一个组件中除第一组件之外的组件;

渲染模块504,具体用于:

根据第一渲染参数对第二组件进行渲染,得到第一渲染组件,以及根据第二渲染参数对第三组件进行渲染,得到第二渲染组件;

该图像处理装置500还可以包括:

合成模块,用于对第一渲染组件和第二渲染组件进行合成处理,得到第二图像帧。

本申请实施例从组件的角度,根据第一图像帧的图像参数确定第一图像帧包含的组件,在对组件渲染之前,先调整至少部分组件的分辨率,由此可以降低计算量,缩短处理时长,从而可以改善图像的延迟和卡顿问题。

本申请实施例中的应用于电子设备的图像处理装置可以是装置,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。

本申请实施例中的电子设备可以为具有操作系统的电子设备。该操作系统可以为安卓(Android)操作系统,可以为iOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。

本申请实施例提供的图像处理装置能够实现图1至图4的图像处理方法实施例中的各个过程,为避免重复,这里不再赘述。

如图6所示,本申请实施例还提供一种电子设备600,包括处理器601和存储器602,存储器602存储可在处理器601上运行的程序或指令,该程序或指令被处理器601执行时实现上述图像处理方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。

图7为本申请实施例提供的一种电子设备的硬件结构示意图。

该电子设备700包括但不限于:射频单元701、网络模块702、音频输出单元703、输入单元704、传感器705、显示单元706、用户输入单元707、接口单元708、存储器709、以及处理器710等部件。

本领域技术人员可以理解,电子设备700还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器710逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图7中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。

其中,处理器710用于:

接收渲染请求,渲染请求包括第一图像帧的图像参数;

响应于渲染请求,根据图像参数确定第一图像帧包含的至少一个组件;

调整第一组件的分辨率,得到第二组件,第一组件为至少一个组件中的组件;

根据第二组件进行渲染,得到第二图像帧。

本申请实施例通过接收渲染请求,渲染请求包括第一图像帧的图像参数;响应于渲染请求,根据图像参数确定第一图像帧包含的至少一个组件;调整第一组件的分辨率,得到第二组件,第一组件为至少一个组件中的组件;根据第二组件进行渲染,得到第二图像帧。即本申请实施例根据第一图像帧的图像参数确定第一图像帧包含的组件,在对组件渲染之前,先调整至少部分组件的分辨率,由此可以降低计算量,缩短处理时长,从而可以改善图像的延迟和卡顿问题。

在本申请实施例的一些可能实现中,处理器710具体用于:

根据第一图像帧所属场景的场景类型、第一组件的组件类型以及第一组件的初始分辨率中的至少一种,对第一组件进行验证;

在验证成功的情况下,调整第一组件的分辨率,得到第二组件。

在本申请实施例的一些可能实现中,图像参数包括第一组件的组件类型以及第一组件的初始分辨率;

处理器710具体用于:

根据组件类型和初始分辨率,确定与第一组件对应的目标分辨率;

将第一组件的分辨率由初始分辨率调整为目标分辨率,得到第二组件。

在本申请实施例的一些可能实现中,处理器710具体用于:

获取电子设备的属性信息,属性信息包括电子设备的使用负载和剩余电量中的至少一种;

根据使用负载和剩余电量中的至少一种,调整第一组件的分辨率,得到第二组件。

在本申请实施例的一些可能实现中,属性信息包括电子设备的使用负载和剩余电量;

处理器710具体用于:

在使用负载小于第一阈值,且剩余电量大于第二阈值的情况下,将第一组件的分辨率由初始分辨率升高至第一分辨率,得到第二组件;

在使用负载大于或等于第一阈值,且剩余电量小于或等于第二阈值的情况下,将第一组件的分辨率由初始分辨率降低至第二分辨率,得到第二组件。

在本申请实施例的一些可能实现中,第一组件包括第一图像帧的部分组件;

处理器710具体用于:

根据第二组件的组件类型,确定第二组件的第一渲染参数,以及根据第三组件的组件类型,确定第三组件的第二渲染参数,第三组件为至少一个组件中除第一组件之外的组件;

根据第一渲染参数对第二组件进行渲染,得到第一渲染组件,以及根据第二渲染参数对第三组件进行渲染,得到第二渲染组件;

对第一渲染组件和第二渲染组件进行合成处理,得到第二图像帧。

本申请实施例根据第一图像帧的图像参数确定第一图像帧包含的组件,在对组件渲染之前,先调整至少部分组件的分辨率,由此可以降低计算量,缩短处理时长,从而可以改善图像的延迟和卡顿问题。

应理解的是,本申请实施例中,输入单元704可以包括图形处理器(GraphicsProcessing Unit,GPU)7041和麦克风7042,图形处理器7041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元706可包括显示面板7061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板7061。用户输入单元707包括触控面板7071以及其他输入设备7072中的至少一种。触控面板7071,也称为触摸屏。触控面板7071可包括触摸检测装置和触摸控制器两个部分。其他输入设备7072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。

存储器709可用于存储软件程序以及各种数据。存储器709可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器709可以包括易失性存储器或非易失性存储器,或者,存储器709可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器709包括但不限于这些和任意其它适合类型的存储器。

处理器710可包括一个或多个处理单元;可选的,处理器710集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器710中。

本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,处理器为上述实施例中所述的电子设备中的处理器。可读存储介质包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。

本申请实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。

本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

技术分类

06120116576836