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

图像处理方法、电子设备及可读存储介质

文献发布时间:2024-04-18 19:58:26


图像处理方法、电子设备及可读存储介质

技术领域

本申请属于图像处理技术领域,具体涉及一种图像处理方法、电子设备及可读存储介质。

背景技术

目前,随着移动互联网的发展,电子设备显示的图像帧是多种多样的。其中,以游戏应用为例,图像后处理是游戏开发中不可或缺的环节,它可以提高游戏应用中的图像帧的质量。

传统的图像后处理通常采用图形处理器进行计算,不同的应用会开发出各自的图像后处理算法用于调节图像帧的显示效果,效率低下。

发明内容

本申请实施例的目的是提供一种图像处理方法、电子设备及可读存储介质,能够解决效率低下的问题。

第一方面,本申请实施例提供了一种图像处理方法,应用于电子设备,该方法包括:

从至少一个缓冲队列中确定第一缓冲队列,第一缓冲队列中存储有第一应用的第一图像帧;

对第一图像帧进行图像后处理,生成第二图像帧;

将第二图像帧存储于第二缓冲队列;

显示第三图像帧,第三图像帧为根据第二缓冲队列中的第二图像帧得到。

第二方面,本申请实施例提供了一种电子设备,该电子设备包括:

第一确定模块,用于从至少一个缓冲队列中确定第一缓冲队列,所述第一缓冲队列中存储有第一应用的第一图像帧;

图像处理模块,用于对所述第一图像帧进行图像后处理,生成第二图像帧;

存储模块,用于将所述第二图像帧存储于第二缓冲队列;

显示模块,用于显示第三图像帧,所述第三图像帧为根据所述第二缓冲队列中的所述第二图像帧得到。

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

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

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

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

在本申请的实施例中,通过从至少一个缓冲队列中确定第一缓冲队列,第一缓冲队列中存储有第一应用的第一图像帧,由此,能够从至少一个缓冲队列中,确定出需要进行图像后处理的第一应用对应的第一缓冲队列,便于后续对第一缓冲队列中的第一图像帧进行图像后处理,然后,由电子设备对第一图像帧进行图像后处理,生成第二图像帧,由于该过程无需由应用进程执行,因此,不需要由各应用侧开发和维护图像后处理源代码,提升了效率,接着,将第二图像帧存储于第二缓冲队列,最后,显示根据第二缓冲队列中的第二图像帧得到的第三图像帧。由此,能够提升第一应用的图像显示效果,而且该图像处理过程可以适用于电子设备中的任意需要进行图像后处理的第一应用,避免了由各应用侧开发和维护图像后处理源代码,提升了效率。

附图说明

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

图2是本申请实施例提供的一种图像超分算法的示意图;

图3是本申请实施例提供的一种图像插帧算法的示意图;

图4是本申请实施例提供的一种电子设备的结构图;

图5是本申请实施例的电子设备的硬件结构示意图之一;

图6是本申请实施例的电子设备的硬件结构示意图之二。

具体实施方式

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

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

后处理,对单帧图像帧进行算法处理,以改善或增强其视觉效果的过程。

高动态范围成像(High Dynamic Range Imaging,HDR),在计算机图形学与电影摄影术中,是用来实现比普通数位图像技术更大曝光动态范围(即更大的明暗差别)的一组技术。可以使图像在明暗区域之间更加平衡,使图像细节更加丰富。

图层投递者(SurfaceFlinger,SF),是Android系统中的一个系统服务,它负责管理和控制所有的显示操作,包括应用程序的图形绘制、窗口的布局、窗口的层次结构、动画效果、切换、滑动等,最终将所有的图形内容合成为一个完整的屏幕显示画面。

缓冲队列(BufferQueue,BQ),是系统中用于管理图形缓冲区的一个对象,它的作用是将应用程序的图形数据缓冲区与SF进程中的图形显示缓冲区进行交互,以便在屏幕上显示出来。

缓冲队列,也称生产者消费者模型,在生产者消费者模型中,存在生产者和消费者两种角色,它们通过内存缓冲区进行通信,生产者生产消费者需要的数据,消费者获取生产者生产的数据进行消费。

如果没有生产者消费者模型,那么生产者和消费者是直接调用关系,生产速度的和消费速度相互拖累,必须在消费完成之后才能进行下一次生产;

有了生产者和消费者模型之后,生产者生产的数据存到缓冲队列,消费者从队列中取数据去消费,互不影响,互不拖累,耦合性低。

硬件合成器(Hardware Composer,HWC),是系统中的一个系统服务,其作用是将SF进程中的图形数据合成为最终的图形显示内容,并将其传递给显示硬件进行显示。

本申请实施例提供的图像处理方法至少可以应用于下述应用场景中,下面进行说明。

目前,随着移动互联网的发展,电子设备显示的画面是多种多样的。其中,以游戏应用为例,图像后处理是游戏开发中不可或缺的环节,它可以提高游戏应用中的图像帧的质量,即游戏画面的质量,增强游戏的沉浸感,提高游戏的可玩性和视觉效果。

传统的游戏图像后处理通常采用图形处理器进行计算,计算量大,不同的游戏应用会开发出各自的图像后处理算法用于调节游戏画面的显示效果,效率低下。

而且,随着电子设备不断的推陈出新,电子设备的硬件也不断升级,应用中原先的代码也不再完全适应于升级后的硬件,游戏应用的开发方需要更新应用版本,耗费资源及人力,导致效率低下。

针对相关技术出现的问题,本申请实施例提供一种图像处理方法、电子设备及可读存储介质,能够解决相关技术中效率低下的问题。

下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的图像处理方法进行详细地说明。

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

如图1所示,该图像处理方法可以包括步骤110-步骤140,该方法应用于电子设备,具体如下所示:

步骤110,从至少一个缓冲队列中确定第一缓冲队列,第一缓冲队列中存储有第一应用的第一图像帧。

其中,至少一个缓冲队列包括多个应用对应的缓冲队列,其中,第一应用生成的第一图像帧是本申请实施例中需要进行图像后处理的图像帧。第一应用可以是电子设备中安装的任意应用。

由此,通过从至少一个缓冲队列中,确定出需要进行图像后处理的第一应用对应的第一缓冲队列,便于后续对第一缓冲队列中的第一图像帧进行图像处理。

本申请实施例基于电子设备对第一图像帧进行图像后处理,所以本申请实施例新增了对第一缓冲队列的处理过程,所以需要从至少一个应用进程对应的缓冲队列中确定第一缓冲队列,以便于后续对第一缓冲队列中的第一图像帧进行图像处理。

在一种可能的实施例中,步骤110之前,还可以包括以下步骤:

在启动第一应用的情况下,创建与第一应用对应的第一缓冲队列。

其中,每个应用对应各自的缓冲队列,缓冲队列中可以存储应用的图像帧。这里,在启动第一应用的情况下,说明后续需要显示第一应用的图像帧,所以此时创建与第一应用对应的第一缓冲队列,以用于将第一应用的第一图像帧存储于第一缓冲队列中,以便于后续对第一缓冲队列中的第一图像帧进行图像处理。

应用进程调用自己的绘制代码并绘制出第一图像帧。若第一应用为游戏应用,则第一图像帧可以包括:游戏角色、游戏景色和地形等图像元素。当第一图像帧绘制结束时,即应用进程生成第一图像帧后,将第一图像帧存储于第一缓冲队列。

在一种可能的实施例中,步骤110中,具体可以包括以下步骤:

根据第一标识,从至少一个缓冲队列中确定第一缓冲队列,第一缓冲队列与第一标识对应;第一应用对应第一标识。

其中,第一标识可以为第一应用的应用名称,或者用于指示第一应用的符号。比如游戏应用有特定的标识。

由于不是每个应用进程生成的图像帧都需要进行图像后处理,所以需要从至少一个缓冲队列中识别出需要进行图像后处理的第一缓冲队列,便于后续对第一缓冲队列中的第一图像帧进行图像处理。

因此,可以通过第一缓冲队列中的第一标识,从至少一个缓冲队列中确定第一缓冲队列,便于后续对第一图像帧进行图像处理,提升图像处理的效率。

为了快速准确地从至少一个缓冲队列中确定第一缓冲队列,在一种可能的实施例中,在上述涉及到的根据第一标识,从至少一个缓冲队列中确定第一缓冲队列的步骤之前,还可以包括以下步骤:

在检测到启动第一应用的情况下,确定第一应用的第一标识;

将第一缓冲队列的接口参数的参数值,设置为第一标识。

在检测到启动第一应用的情况下,确定第一应用的第一标识,其中,第一标识可以根据第一应用的安装包的名称确定。

具体可以调用标识生成算法,根据第一应用的安装包的名称生成第一标识,第一标识用于指示第一应用的应用进程的调用过程。

将第一缓冲队列的接口参数的参数值,设置为第一标识,便于之后可以根据第一标识,从至少一个缓冲队列中确定第一缓冲队列。

另外,还可以将第二缓冲队列的操作接口的接口参数的参数值,设置为第一标识,便于之后可以根据第一标识,从至少一个缓冲队列中确定第二缓冲队列。

由于本申请实施例,需要将第一缓冲队列的接口参数的参数值,设置为第一标识,所以需要在系统的应用框架代码层中修改缓冲队列中的调用方法,当应用程序调用缓冲队列的创建方法创建缓冲队列时,需要修改原有的请求创建逻辑。具体的实现方式如下所示:

在一种可能的实施例中,在上述涉及到的将第一缓冲队列的接口参数的参数值,设置为第一标识的步骤之前,还可以包括以下步骤:

扩展第一缓冲队列的操作接口的接口参数,接口参数用于指示应用标识。

另外,还可以扩展第二缓冲队列的操作接口的接口参数,接口参数用于指示应用标识。

为了使SF进程能识别不同的应用进程对应的缓冲队列,需要扩展第一缓冲队列和第二缓冲队列的操作接口的接口参数,接口参数用于指示应用标识。

通过扩展系统的缓冲队列模块相关的接口源码实现方法,使得SF可以监控指定的应用进程的缓冲队列操作动作。缓冲队列是应用进程与SF进程服务之间提供图像缓冲区交互的一个交互中间组件,所以可以对缓冲队列的操作接口进行扩展,具体扩展第一缓冲队列和第二缓冲队列的操作接口的接口参数,接口参数用于指示应用标识,应用标识用于标注应用进程的调用过程。

其中,操作接口包括:图像缓存生产者接口(Graphic Buffer ProducerInterface)和图像缓存消费者接口(Graphic Buffer Consumer Interface),生产者接口用于供应用进程来继承并实现,其作用是产生游戏图像帧数据缓冲区,即一个图像缓存对象;消费者接口用于供SF进程等系统服务组件来继承并实现,其作用是对产生的图像帧数据缓冲区进行一些操作,如旋转图像,放大图像到与显示屏分辨率一样的大小,还可以裁剪不可见的图像区域。

相应地,在检测到启动第一应用的情况下,即要针对游戏进程进行游戏画面超分辨率显示效果增强时,调用缓冲队列的创建方法,确定第一应用的第一标识,填充第一标识到生产者接口的接口方法中,使系统中其它进程获取此接口时能判断出创建的应用进程对应的应用。

具体可以扩展生产者接口,使生产者接口的接口参数支持字段标识,字段类型为整型;扩展消费者接口,使消费者接口的接口参数支持字段标识,字段类型为整型。

步骤120,对第一图像帧进行图像后处理,生成第二图像帧;

其中,对第一图像帧进行图像后处理,生成第二图像帧的步骤是由电子设备中内置的图像后处理的运行代码实现的,无需更改第一应用的源代码,第一应用的处理过程不变,不会对第一应用造成干扰,也不会影响第一应用的稳定性。

而且该图像处理过程可以适用于电子设备中的多个需要进行图像后处理的第一应用,能够提升资源利用率。

在一种可能的实施例中,电子设备的系统进程中具有图像后处理的运行代码,系统进程用于对第一图像帧进行图像后处理,生成第二图像帧;

其中,图像后处理的运行代码包括:图像超分算法的运行代码,和/或,图像插帧算法的运行代码。

可以理解,进程是二进制可运行程序,也即二进制可运行代码。图像后处理的运行代码,可以理解为具有图像后处理功能的二进制可运行程序。

在SF进程的运行代码中具有新功能代码,新功能代码包括:图像后处理的运行代码和缓冲队列创建代码。其实现的功能包括:初始化进程时,创建额外的第二缓冲队列对象,以及在启动新功能代码时,初始化电子设备中的图像后处理框架模块;图像后处理框架模块中包括:图像后处理的运行代码。

其中,图像后处理的运行代码包括:图像超分算法的运行代码,和图像插帧算法的运行代码,下面分别进行说明:

图像超分算法,旨在将低分辨率图像转换为高分辨率图像,例如将480p分辨率的视频转换为1080p分辨率的视频。常见的图像超分算法包括插值法、基于统计的算法和基于学习的算法。

其中,插值法:最简单的图像超分方法是插值法,它将低分辨率图像中的像素值直接插值到高分辨率图像中。最常用的插值方法是双线性插值,但该方法在边缘处的效果较差。

基于统计的算法:改进的方法是基于统计的算法,如最小二乘重建和基于学习的映射算法。这些算法使用统计知识来更好地理解图像,并在计算上进行优化,以生成更准确的图像。

基于学习的算法:最近的发展是使用深度学习算法实现图像超分。

图像插帧算法,一般对两个相邻的图像帧进行中间插值,产生一个新的图像帧,并显示到屏幕中,这样可使得第一应用渲染出来的第一数量的图像帧以第二数量的图像帧显示到屏幕,达到提高游戏视频的显示帧率;用户感受到游戏的帧率提升,画面更流畅;第二数量大于第一数量,第二数量可以为第一数量的2倍。

由此,在系统内部集成适用于提升游戏画质的图像后处理的运行代码,与第一应用的源代码没有直接关系,便于电子设备中的软硬件系统更新升级。

在一种可能的实施例中,步骤120中,具体可以包括以下步骤:

调用图像超分算法的运行代码,对第一图像帧进行图像处理,生成第二图像帧。

如图2所示,把第一应用的应用进程提交到系统的第一图像帧当作输入图像,调用图像超分算法的运行代码,将低分辨率的第一图像帧增强显示效果后,扩大到与电子设备显示屏的显示区域的分辨率一致的第二图像帧,使显示的应用画面效果远比直接经过系统线性放大显示到显示屏的显示区域的画面效果更加清晰。

由此,调用图像超分算法的运行代码,对第一图像帧进行图像处理,生成第二图像帧,实现了画面效果增强,并将第二图像帧缩放到与显示屏分辨率一致的大小,达到提高图像显示清晰度的目的。

在一种可能的实施例中,步骤120中,具体可以包括以下步骤:

调用图像插帧算法的运行代码,对第一数量的第一图像帧进行图像处理,生成第二数量的第二图像帧;第二数量大于第一数量,第一数量为大于1的正整数。

第一缓冲队列和第二缓冲队列的双缓冲队列机制,使应用进程的图像绘制的帧率更新节奏与SF的帧显示的帧率节奏隔离开,方便使SF的显示帧率提升到高帧率,如通过AI硬件在游戏进程提交的相邻图像帧之间插值出一个中间帧,提高显示帧率。比如,第一数量为30;第一数量为60。

如图3所示,调用图像插帧算法的运行代码,对第一数量的第一图像帧进行图像处理,生成第二数量的第二图像帧,第二数量大于第一数量,由此,能够产生更多的图像帧,使得第三图像帧以更高的帧率显示。

这里,通过调用图像插帧算法的运行代码,对第一数量的第一图像帧进行图像处理,生成第二数量的第二图像帧,能够降低图形处理器的功耗开销,提升单位时间内的显示帧率。

由此,第一缓冲队列和第二缓冲队列的双缓冲队列机制,使应用进程的生成第一图像帧的进度和显示第三图像帧的进度间隔开,便于提升画质。

步骤130,将第二图像帧存储于第二缓冲队列。

将第二图像帧存储于第二缓冲队列,此时通知SF进程获取第二缓冲队列中的第二图像帧,然后就可以进行后续的显示合成,并显示到显示屏上,该执行步骤是SF进程原有的功能执行流程,其作用是将图像帧缓存的内容显示到显示屏。

对于上述调用图像插帧算法的运行代码,对第一数量的第一图像帧进行图像处理,生成的第二数量的第二图像帧的处理过程,第二图像帧中包括第一图像帧,也包括新生成的中间图像帧,将第二数量的第二图像帧提交到SF进程,设置SF以适当的时间间隔显示第二数量的第二图像帧。

例如,如果应用进程以每秒30帧的速率产生第一图像帧,而图像图像处理模块通过图像插帧算法的运行代码,对第一数量的第一图像帧进行图像处理,生成第二数量的第二图像帧。第二数量可以为第一数量的2倍,这样就可以使每秒30帧的游戏画面以每秒60帧的速率进行显示,能够使得游戏画面中的人物动画更加平滑,游戏视频更流畅。

步骤140,显示第三图像帧,第三图像帧为根据第二缓冲队列中的第二图像帧得到。

SF将图像图像处理模块存入的所有的第二图像帧进行适当的旋转操作后,就可以让HWC进行显示合成,并显示到显示屏上,即在显示屏上显示第三图像帧。由此,本申请实施例的图像处理方案可以快速的应用到不同的应用上,解决之前应用程序推出的新技术应用到不同硬件平台时之间存在的兼容性问题。

而且,由于该图像处理过程可以适用于电子设备中的多个需要进行图像后处理的第一应用,能够提升资源利用率。

另外,电子设备的开发商也可以自主的控制新技术在不同的硬件平台的升级迭代,发布新型号的电子设备时,也能快速适配到不同的应用,做到新硬件平台最大化的适配电子设备的开发商开发的图像处理算法,大大提高应用画面的画质体验。

在本申请的实施例中,通过从至少一个缓冲队列中确定第一缓冲队列,第一缓冲队列中存储有第一应用的第一图像帧,由此,能够从至少一个缓冲队列中,确定出需要进行图像后处理的第一应用对应的第一缓冲队列,便于后续对第一缓冲队列中的第一图像帧进行图像后处理,然后,由电子设备对第一图像帧进行图像后处理,生成第二图像帧,由于该过程无需由应用进程执行,因此,不需要由各应用侧开发和维护图像后处理源代码,提升了效率,接着,将第二图像帧存储于第二缓冲队列,最后,显示根据第二缓冲队列中的第二图像帧得到的第三图像帧。由此,能够提升第一应用的图像显示效果,而且该图像处理过程可以适用于电子设备中的任意需要进行图像后处理的第一应用,避免了由各应用侧开发和维护图像后处理源代码,提升了效率。

本申请实施例提供的图像处理方法,执行主体可以为电子设备。本申请实施例中以电子设备执行图像处理方法为例,说明本申请实施例提供的电子设备。

图4是本申请实施例提供的一种电子设备的框图,该电子设备400包括:

第一确定模块410,用于从至少一个缓冲队列中确定第一缓冲队列,第一缓冲队列中存储有第一应用的第一图像帧;

图像处理模块420,用于对第一图像帧进行图像后处理,生成第二图像帧;

存储模块430,用于将第二图像帧存储于第二缓冲队列;

显示模块440,用于显示第三图像帧,第三图像帧为根据第二缓冲队列中的第二图像帧得到。

在一种可能的实施例中,电子设备的系统进程中具有图像后处理的运行代码,系统进程用于对第一图像帧进行图像后处理,生成第二图像帧;

其中,图像后处理的运行代码包括:图像超分算法的运行代码,和/或,图像插帧算法的运行代码。

在一种可能的实施例中,图像处理模块420,具体用于:

调用图像超分算法的运行代码,对第一图像帧进行图像处理,生成第二图像帧。

在一种可能的实施例中,图像处理模块420,具体用于:

调用图像插帧算法的运行代码,对第一数量的第一图像帧进行图像处理,生成第二数量的第二图像帧;第二数量大于第一数量,第一数量为大于1的正整数。

在一种可能的实施例中,第一确定模块410,具体用于:

根据第一标识,从至少一个缓冲队列中确定第一缓冲队列,第一缓冲队列与第一标识对应;第一应用对应第一标识。

在一种可能的实施例中,该电子设备400还可以包括:

第二确定模块,用于在检测到启动第一应用的情况下,确定第一应用的第一标识;

设置模块,用于将第一缓冲队列的接口参数的参数值,设置为第一标识。

在一种可能的实施例中,该电子设备400还可以包括:

创建模块,用于在启动第一应用的情况下,创建与第一应用对应的第一缓冲队列。

在本申请的实施例中,通过从至少一个缓冲队列中确定第一缓冲队列,第一缓冲队列中存储有第一应用的第一图像帧,由此,能够从至少一个缓冲队列中,确定出需要进行图像后处理的第一应用对应的第一缓冲队列,便于后续对第一缓冲队列中的第一图像帧进行图像后处理,然后,由电子设备对第一图像帧进行图像后处理,生成第二图像帧,由于该过程无需由应用进程执行,因此,不需要由各应用侧开发和维护图像后处理源代码,提升了效率,接着,将第二图像帧存储于第二缓冲队列,最后,显示根据第二缓冲队列中的第二图像帧得到的第三图像帧。由此,能够提升第一应用的图像显示效果,而且该图像处理过程可以适用于电子设备中的任意需要进行图像后处理的第一应用,避免了由各应用侧开发和维护图像后处理源代码,提升了效率。

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

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

本申请实施例提供的电子设备能够实现上述方法实施例实现的各个过程,为避免重复,这里不再赘述。

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

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

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

该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、以及处理器610等部件。

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

其中,处理器610,用于从至少一个缓冲队列中确定第一缓冲队列,第一缓冲队列中存储有第一应用的第一图像帧;

处理器610,还用于对第一图像帧进行图像后处理,生成第二图像帧;

存储器609,用于将第二图像帧存储于第二缓冲队列;

显示单元606,用于显示第三图像帧,第三图像帧为根据第二缓冲队列中的第二图像帧得到。

可选地,电子设备600的系统进程中具有图像后处理的运行代码,系统进程用于对第一图像帧进行图像后处理,生成第二图像帧;

其中,图像后处理的运行代码包括:图像超分算法的运行代码,和/或,图像插帧算法的运行代码。

可选地,处理器610,还用于调用图像超分算法的运行代码,对第一图像帧进行图像处理,生成第二图像帧。

可选地,处理器610,还用于调用图像插帧算法的运行代码,对第一数量的第一图像帧进行图像处理,生成第二数量的第二图像帧;第二数量大于第一数量,第一数量为大于1的正整数。

可选地,处理器610,还用于根据第一标识,从至少一个缓冲队列中确定第一缓冲队列,第一缓冲队列与第一标识对应;第一应用对应第一标识。

可选地,处理器610,还用于在检测到启动第一应用的情况下,确定第一应用的第一标识;

处理器610,还用于将第一缓冲队列的接口参数的参数值,设置为第一标识。

可选地,处理器610,还用于在启动第一应用的情况下,创建与第一应用对应的第一缓冲队列。

在本申请的实施例中,通过从至少一个缓冲队列中确定第一缓冲队列,第一缓冲队列中存储有第一应用的第一图像帧,由此,能够从至少一个缓冲队列中,确定出需要进行图像后处理的第一应用对应的第一缓冲队列,便于后续对第一缓冲队列中的第一图像帧进行图像后处理,然后,由电子设备对第一图像帧进行图像后处理,生成第二图像帧,由于该过程无需由应用进程执行,因此,不需要由各应用侧开发和维护图像后处理源代码,提升了效率,接着,将第二图像帧存储于第二缓冲队列,最后,显示根据第二缓冲队列中的第二图像帧得到的第三图像帧。由此,能够提升第一应用的图像显示效果,而且该图像处理过程可以适用于电子设备中的任意需要进行图像后处理的第一应用,避免了由各应用侧开发和维护图像后处理源代码,提升了效率。

应理解的是,本申请实施例中,输入单元604可以包括图形处理器(GraphicsProcessing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频图像捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频图像的图像数据进行处理。显示单元606可包括显示面板6061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板6061。用户输入单元607包括触控面板6071以及其他输入设备6072中的至少一种。触控面板6071,也称为触控屏触控屏。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、动作杆,在此不再赘述。存储器609可用于存储软件程序以及各种数据,包括但不限于应用程序和动作系统。处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理动作系统、用户页面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。

存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器609可以包括易失性存储器或非易失性存储器,或者,存储器x09可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(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)。本申请实施例中的存储器609包括但不限于这些和任意其它适合类型的存储器。

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

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

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

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

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

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

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

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

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

相关技术
  • 图像处理方法和装置、电子设备、计算机可读存储介质
  • 图像处理方法、装置、电子设备及计算机可读存储介质
  • 图像处理方法和装置、电子设备、计算机可读存储介质
  • 图像处理方法和装置、电子设备、计算机可读存储介质
  • 图像处理方法和装置、电子设备、计算机可读存储介质
  • 图像处理方法、图像处理装置、电子设备和可读存储介质
  • 图像处理方法、图像识别方法、电子设备和可读存储介质
技术分类

06120116488367