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

应用界面显示方法及电子设备

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


应用界面显示方法及电子设备

技术领域

本申请涉及图像处理技术领域,尤其涉及一种应用界面显示方法及电子设备。

背景技术

目前,应用程序的应用界面中的图片(如应用界面上的控件图标)的格式一般是以图片压缩格式(如无损位图压缩(portable network graphics,png)格式、有损位图压缩(jpeg/jpg)格式)等)存储的。当电子设备需显示应用程序的应用界面时,表明需显示该应用界面的图片,则电子设备先将图片压缩格式的图片解码成纹理图片,该纹理图片的格式为纹理格式(如RGBA(red green blue alpha)格式)。之后,电子设备渲染该纹理图片,以显示该图片。

然而,电子设备在渲染纹理图片时,纹理图片需要占用较大的内存空间。例如,纹理格式为RGBA格式,由于RGBA格式对应的每个颜色通道的颜色值都要存储,因此,导致渲染该RGBA格式的图片时,占用内存较大。

发明内容

有鉴于此,本申请提供了一种应用界面显示方法及电子设备,降低图片渲染时所占用的内存。

第一方面,本申请提供一种应用界面显示方法,该方法应用于电子设备,该电子设备在接收到用于触发该电子设备显示电子设备上第一应用的第一界面的第一操作后,响应于该第一操作,电子设备获取第一目标图片,该第一目标图片的格式为纹理压缩格式,该纹理压缩格式为无损纹理压缩格式或有损纹理压缩格式,且该第一目标图片的画质高于预设画质标准。电子设备渲染该第一目标图片,在该电子设备的显示屏上显示包括该第一目标图片的第一界面。

在本申请实施例中,电子设备接收到第一操作后,表明需要显示该电子设备上的相关应用程序(即第一应用)中的应用界面(即第一界面),则该电子设备先确定该第一界面的格式为纹理压缩格式的第一目标图片,且该第一目标图片的画质高于预设画质标准,也即该第一目标图片的画质质量满足要求。然后,该电子设备直接渲染该第一目标图片。相较于纹理图片,电子设备渲染纹理压缩图片时所需占用的内存较少,因此,电子设备在渲染第一界面的图片时,可以减少渲染图片所需占用的内存,并且可以提高图片渲染速度。同时,由于显示的图片的画质高于预设画质标准,可以避免显示图片不清晰。

在一种可能的设计中,上述第一目标图片可以是电子设备实时压缩得到的,其具体过程包括:

该电子设备响应于上述第一操作,先获取该第一界面的第一图片,该第一界面的第一图片的格式为图片压缩格式。之后,该电子设备解码该第一图片,得到第一纹理图片。之后,该电子设备对该第一纹理图片进行无损纹理压缩,得到该第一目标图片,该第一目标图片的格式为无损纹理压缩格式;或者,

该电子设备对该第一纹理图片进行有损纹理压缩,得到该第二纹理压缩图片。在该第二纹理压缩图片的画质高于预设画质标准的情况下,该电子设备将该第二纹理压缩图片作为该第一目标图片,该第一目标图片的格式为无损纹理压缩格式。

在本申请实施例中,电子设备在接收到第一操作后,表明需显示第一界面,则该电子设备先获取第一界面的图片压缩格式的第一图片。之后,该电子设备解码该第一图片,得到相应的第一纹理图片。之后,该电子设备对第一该纹理图片进行无损纹理压缩或有损纹理压缩,得到无损纹理压缩图片或者有损纹理压缩图片。由于无损纹理压缩对图片画质没有损耗,因此,当得到无损纹理压缩图片时,电子设备可以直接认为该无损纹理压缩图片的画质质量符合要求,则该电子设备可以直接将该无损纹理压缩图片作为该第一目标图片。由于有损纹理压缩对图片画质损耗程度可能会较大,因此,当得到有损纹理压缩图片时,该电子设备先判断该有损纹理压缩图片的画质质量是否符合要求,也即判断该有损纹理压缩图片的画质是否高于预设画质标准,当高于时,表明该有损纹理压缩图片的画质质量符合要求,则电子设备可以将该有损纹理压缩图片的画质作为该第一目标图片,使得在需显示第一界面的图片时,实现图片的实时纹理压缩。

在一种可能的设计中,电子设备在实时得到该第一目标图片后,将该第一目标图片保存在电子设备的缓存文件中,该缓存文件用于保存该第一应用的缓存数据,以供电子设备再次需要显示该目标图片时,能够直接从该缓存文件中获取到该第一目标图片,而无需再基于第一图片生成该第一目标图片,避免图片纹理压缩开销,可以有效缩短图片显示所需的时间。

在一种可能的设计中,电子设备包括第一处理器。上述实时对第一纹理图片进行纹理压缩得到第一目标图片的过程是该第一处理器执行的。

示例性的,该第一处理器包括GPU。

在一种可能的设计中,上述电子设备可以在该电子设备支持无损纹理压缩的情况下,对该第一纹理图片进行无损纹理压缩。在该电子设备不支持无损纹理压缩的情况下,该电子设备对该第一纹理图片进行有损纹理压缩。

在本申请实施例中,由于无损纹理压缩对图片画质没有损耗,因此,电子设备在得到纹理图片后,可以先判断该电子设备是否支持无损纹理压缩,当支持时,则该电子设备直接对该纹理图片进行无损纹理压缩,保证得到的纹理压缩图片的画质质量。当该电子设备不支持无损纹理压缩时,该电子设备可以对该纹理图片进行有损纹理压缩,以保证图片能够实现纹理压缩。

在一种可能的设计中,上述电子设备在得到第二纹理压缩图片后,可以对该第二纹理压缩图片进行画质检测,得到该第二纹理压缩图片的画质检测结果,该画质检测结果用于指示图片画质是否高于预设画质标准,实现有损纹理压缩图片的画质质量的确定。

在一种可能的设计中,上述对第二纹理压缩图片进行画质检测的过程具体包括:

该电子设备获取该第一纹理图片中的各个第一像素的第一像素值,并获取该第二纹理压缩图片中的各个第二像素的第二像素值;

该电子设备基于所述各个第一像素的第一像素值和各个第二像素的第二像素值,确定该第二纹理压缩图片对应的压缩峰值误差和/或峰值信噪比;该压缩峰值误差指示纹理压缩前后的图片的像素块之间的最大的画质差异程度;该像素块包括多个像素;该峰值信噪比指示纹理压缩后的图片的失真程度;

该电子设备根据该压缩峰值误差和/或峰值信噪比,生成该第二纹理压缩图片的画质检测结果。

其中,上述压缩峰值误差的生成过程如下:

上述第一纹理图片包括至少一个第一像素块,上述第二纹理压缩图片包括至少一个第二像素块。该电子设备对于上述第二纹理压缩图片中的每个第二像素块,根据该第二像素块中的第二像素的像素值和与该第二像素块对应的第一像素块中的第一像素的像素值,确定该第二像素块对应的压缩误差;该第二像素块对应的压缩误差指示该第二像素块和与该第二像素块对应的第一像素块之间的画质差异程度;该第二像素块对应的第一像素块所在的图片位置与该第二像素块所在的图片位置相同;

该电子设备从各个第二像素块对应的压缩误差中确定最大的压缩误差,并将该最大的压缩误差作为该第二纹理压缩图片的压缩峰值误差。

在本申请实施例中,由于有损纹理压缩对图片的画质损耗程度较大,因此,电子设备在对第一纹理图片进行有损纹理压缩,得到第二纹理压缩图片后,基于纹理压缩前后的图片,也即该第一纹理图片以及该第二纹理压缩图片中的像素的像素值确定该第二纹理压缩图片对应的压缩峰值误差和/或峰值信噪比,以供电子设备利用该压缩峰值误差和/或峰值信噪比确定纹理压缩前后的图片之间的差异程度,也即确定有损纹理压缩对该第一纹理图片的画质损耗程度,从而得到该第二纹理压缩图片的画质检测结果,实现第一界面的有损纹理压缩图片的画质准确检测,进而可以保证渲染的图片的画质质量能够满足要求,保证用户使用满意度。

下面通过几种示例介绍生成第二纹理压缩图片的画质检测结果的过程。

一个示例中,根据压缩峰值误差生成画质检测结果,也即在第二纹理压缩图片的压缩峰值误差小于第一预设误差值的情况下,该电子设备确定该第二纹理压缩图片的画质检测结果指示图片画质高于预设画质标准;

在该第二纹理压缩图片的压缩峰值误差大于或等于第一预设误差值的情况下,该电子设备确定该第二纹理压缩图片的画质检测结果指示图片画质低于预设画质标准。

在本申请实施例中,由于压缩峰值误差是基于像素块维度确定的,因此,压缩峰值误差可以反映出有损纹理压缩图片的各个部分的画质质量是否均满足要求,从而实现该图片的画质质量准确判断,保证了得到的画质检测结果的准确性,实现图片画质的快速准确检测。

另一个示例中,根据峰值信噪比生成画质检测结果,也即在第二纹理压缩图片的峰值信噪比大于或等于第二预设误差值的情况下,该电子设备确定该第二纹理压缩图片的画质检测结果指示图片画质高于预设画质标准;

在该第二纹理压缩图片的峰值信噪比小于第二预设误差值的情况下,该电子设备确定该第二纹理压缩图片的画质检测结果指示图片画质低于预设画质标准。

在本申请实施例中,峰值信噪比是基于图片维度确定的,电子设备利用该峰值信噪比实现有损纹理压缩图片的画质检测。

另一个示例中,根据压缩峰值误差和峰值信噪比生成画质检测结果,也即在第二纹理压缩图片的压缩峰值误差小于第一预设误差值,且该第二纹理压缩图片的峰值信噪比大于或等于第二预设误差值的情况下,该电子设备确定该第二纹理压缩图片的画质检测结果指示图片画质高于预设画质标准;

在该第二纹理压缩图片的压缩峰值误差大于或等于第一预设误差值,或者该第二纹理压缩图片的峰值信噪比小于第二预设误差值的情况下,该电子设备确定该第二纹理压缩图片的画质检测结果指示图片画质低于预设画质标准。

在本申请实施例中,由于压缩峰值误差是基于像素块维度确定的,峰值信噪比是基于图片维度确定的,因此,电子设备利用压缩峰值误差以及峰值信噪比可以分别从部分以及整体维度上确定图片的画质质量是否满足要求,保证得到的画质检测结果的准确性。

在一种可能的设计中,上述第一目标图片可以是电子设备提前压缩得到的,也即在接收到上述第一操作之前,该电子设备便已经压缩得到该第一目标图片,换言之,电子设备在安装该第一界面所属的第一应用后,便可以生成该第一界面的纹理压缩图片,其具体过程包括:

该电子设备安装所述第一应用后,可以先从该电子设备上存储的该第一应用的应用宝中获取该第一应用的一个或多个第二界面的第一图片,该第二界面的第一图片的格式为图片压缩格式,该一个或多个第二界面包括上述第一界面。之后,该电子设备解码该第二界面的图片,得到该第二界面的第二纹理图片。之后,该电子设备对该第二纹理图片进行无损纹理压缩,得到第三纹理压缩图片,并将该第三纹理压缩图片作为该第二界面的第二目标图片,保存该第二目标图片,该第三纹理压缩图片的格式为无损纹理压缩格式。或者,该电子设备对该第二纹理图片进行有损纹理压缩,得到该四纹理压缩图片。若该第四纹理压缩图片的画质高于预设画质标准,则将该第四纹理压缩图片作为该第二界面的第二目标图片,并保存该第二目标图片。该第四纹理压缩图片的格式为有损纹理压缩格式。

其中,该第二界面的图片表示在该电子设备上的本地图片。第二目标图片可以包括上述第一目标图片中的一个或多个。

在本申请实施例中,电子设备可以在用户使用第一应用之前的任意时刻,例如,在安装第一应用后,便可以对该第一应用的应用包中的第二界面的图片进行解码以及纹理压缩,生成该第二界面的第二目标图片,实现图片的提前纹理压缩,从而在电子设备需显示该第一应用的第一界面的图片时,该电子设备能够直接从该第二目标图片中获取该第一界面的图片中的第二界面的图片所对应的第二目标图片,并将其作为该第一界面的第一目标图片,使得电子设备能够直接渲染纹理压缩图片,在减少图片渲染所需占用的内存的同时可以提高图片渲染的效率。

在一种可能的设计中,上述电子设备可以在该电子设备支持无损纹理压缩的情况下,对该第二纹理图片进行无损纹理压缩。在该电子设备不支持无损纹理压缩的情况下,该电子设备对该第二纹理图片进行有损纹理压缩。

在一种可能的设计中,电子设备在保存上述第二目标图片时,可以将该第二目标图片保存在该电子设备的磁盘上。

在本申请实施例中,由于电子设备是提前对纹理图片进行纹理压缩的,因此,该电子设备在得到的第二目标图片,也即纹理压缩图片后,可以将该第二目标图片保存至电子设备的磁盘中。当需要渲染该第二界面时,电子设备才将该第二界面的第二目标图片加载至内存,从而可以减少对内存占用的时间,避免由于长时间无需渲染该第二界面的第二目标图片导致该第二界面的第二目标图片无效占用内存。

在一种可能的设计中,上述电子设备在得到该第二界面的第四纹理压缩图片后,可以对该第四纹理压缩图片进行画质检测,得到该第四纹理压缩图片的画质检测结果,该画质检测结果用于指示图片画质是否高于预设画质标准。

其中,确定第四纹理压缩图片的画质检测结果的过程与上述确定第二纹理压缩图片的画质检测结果的过程类似。

示例性的,上述提前纹理压缩生成第二界面的第二目标图片的过程可以是电子设备上的第二处理器执行的。

其中,上述第一图片包括透明度或者不包括透明度。本申请对第一图片的透明度不进行限制,提高图片处理的便捷性。

示例性的,上述第二处理器包括CPU。

在一种可能的设计中,上述电子设备存储有上述第一应用的应用包,该应用包包括上述第一界面的第二图片,该第二图片的格式为纹理压缩格式。相应的,上述获取第一界面的第一目标图片的过程包括:

在该电子设备支持该第二图片的纹理压缩格式的情况下,该电子设备将该应用包中的该第二图片作为该第一目标图片。

在本申请实施例中,在确定电子设备支持第二图片的纹理压缩格式的情况下,表明电子设备能够处理该第二图片,则电子设备可以直接渲染该第二图片,以在显示屏上显示包括该第二图片的第一界面,而无需再对图片压缩格式的图片进行解码以及纹理压缩,因此不存在纹理压缩耗时,且可以保证显示的图片的画质的质量,并且可以减少图片渲染所占用的内存。

在一种可能的设计中,该应用包还包括该第一界面的第二图片对应的第三图片,该第三图片为图片压缩格式,且该第三图片与该第二图片的图片内容相同。电子设备在该电子设备不支持该第二图片的纹理压缩格式的情况下,该电子设备从该应用包中获取该第三图片,并解码该第三图片,得到第三纹理图片;第三纹理图片的格式为纹理格式。该电子设备基于该第三纹理图片进行图片渲染显示。

在一种可能的设计中,上述基于该第三纹理图片进行图片渲染显示的过程包括:电子设备渲染该第三纹理图片,或者该电子设备基于该第三纹理图片生成相应的纹理压缩图片,并对该纹理压缩图片进行渲染。

在本申请实施例中,在确定电子设备不支持第二图片的纹理压缩格式的情况下,表明电子设备不能够处理该第二图片,也即电子设备无法直接渲染该第二图片,则电子设备可以先从该应用界面所属的应用包中获取该应用界面的格式为图片压缩格式的图片,即该第二图片对应的原图,并将该原图作为第三图片。之后,电子设备解码该第三图片,得到第三纹理图片。之后,电子设备可以直接渲染该第三纹理图片,或者电子设备基于其所支持的纹理格式,对该第三纹理图片进行纹理压缩,得到相应的纹理压缩图片,且该纹理压缩图片的画质高于预设画质标准,以供电子设备可以渲染该纹理压缩图片,实现图片的正常渲染显示。

在一种可能的设计中,上述第一操作用于启动上述第一应用。上述第一目标图片可以是电子设备从服务器中下载的。

在本申请实施例中,在电子设备上的应用程序启动时,电子设备可以先直接从服务器中下载其所支持的一种纹理压缩格式的该应用程序中的应用界面的图片。然后,电子设备可以渲染该纹理压缩图片,使得在减少图片渲染所占用的内存的同时,可以减少图片纹理压缩耗时,并且由于无需对第一界面的图片进行纹理压缩,能够减少电子设备的功耗。以及服务器中的纹理压缩图片的画质是高于预设画质标准的,因此,能够保证电子设备显示的图片的画质质量。

第二方面,本申请提供一种电子设备,所述电子设备包括显示屏、存储器和多个处理器;所述显示屏、所述存储器和所述处理器耦合;所述显示屏用于显示所述处理器生成的图像,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;所述处理器包括CPU和GPU;当所述处理器执行所述计算机指令时,使得所述电子设备执行如上所述的应用界面显示方法。

第三方面,本申请提供一种计算机存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如上所述的应用界面显示方法。

第四方面,本申请提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如上所述的应用界面显示方法。

附图说明

图1为本申请实施例提供的一种应用界面示意图;

图2为本申请实施例提供的一种图片显示过程的示意图一;

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

图4为本申请实施例提供的一种应用界面显示方法的流程示意图一;

图5为本申请实施例提供的一种图片显示过程的示意图二;

图6为本申请实施例提供的一种图片显示过程的示意图三;

图7为本申请实施例提供的一种应用界面显示方法的流程示意图二;

图8为本申请实施例提供的一种图片显示过程的示意图四;

图9为本申请实施例提供的一种应用界面显示方法的流程示意图三;

图10为本申请实施例提供的一种图片显示过程的示意图五。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。

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

如图1和图2所示,应用程序的应用界面一般是由文字和图片(如图1所示的搜索界面中的控件图标10和控件图标11)组成。应用界面的图片的格式一般是图片压缩格式。例如,应用界面的本地图片(如控件图标)是以图片压缩格式存储在电子设备上的,该本地图片可以包括电子设备下载的该应用程序对应的应用包中的图片。又例如,电子设备在显示应用界面时,所下载的网络图片的格式也为图片压缩格式。其中,图片压缩格式可以包括jpeg/jpg、png格式等。

如图2所示,在显示应用界面时,由于电子设备无法渲染图片压缩格式的图片,因此,电子设备上的中央处理器(central processing unit,CPU)可以先解码该图片,得到纹理图片,该纹理图片的格式为纹理格式。之后,该CPU可以将该纹理图片传输至电子设备上的图形处理器(graphics processing unit,GPU)。该GPU可以渲染该纹理图片,以在该应用界面上显示该纹理图片。然而,纹理图片在渲染时需要占用的电子设备的内存较大,当应用界面上需显示的图片的数量较多时,对内存的影响较大,从而影响电子设备的性能。

示例性的,上述纹理格式可以为RGBA格式。RGBA格式对应四个颜色通道,单个颜色通道的颜色值需要8bit的内存空间进行存储,相应的,一个像素需要4*8bit=32bit的内存空间存储,而一张图片包含的像素的数量一般较多,因此,电子设备在渲染一张图片时,所需占用的电子设备的内存较大。

因此,针对上述问题,本申请提出一种应用界面显示方法。电子设备上的CPU先解码图片压缩格式的应用界面的图片,得到纹理图片。之后,该CPU或者电子设备上的GPU可以继续纹理压缩该纹理图片,得到纹理压缩图片,该纹理压缩图片的格式为纹理压缩格式。具体的,该CPU或者电子设备上的GPU可以确定电子设备是否支持无损纹理压缩,该无损纹理压缩在压缩图片时对图片的画质没有损耗。

当电子设备支持无损纹理压缩时,该CPU或者该GPU可以基于无损纹理压缩算法,将纹理图片压缩成纹理压缩图片。当确定电子设备不支持无损纹理压缩时,该CPU或GPU可以基于有损纹理压缩算法,将解码后的图片压缩成纹理压缩图片,并对该纹理压缩图片进行画质检测,以确定该纹理压缩图片的画质质量是否满足要求。当满足要求时,该电子设备可以继续处理该纹理压缩图片。

当是CPU纹理压缩纹理图片时,CPU在得到该纹理压缩图片后,将该纹理压缩图片发送至该GPU,以供GPU直接渲染该纹理压缩图片,显示包括该纹理压缩图片的应用界面。当是该GPU压缩纹理图片时,GPU可以直接渲染该纹理压缩图片。由于纹理压缩格式相较于纹理格式所需占用的内存更少,因此,GPU在渲染显示纹理压缩图片时,所需占用的内存较小。例如,对于纹理图片,一个像素需要32bit的内存空间,而基于纹理压缩的方式,一个像素可以占用4bit的内存空间,由此可以降低图片渲染过程对内存的占用。即使当应用界面上的需显示的图片的数量较多时,基于本申请实施例提供的显示方法,对内存的影响也较小,进而可以降低对电子设备性能的影响,提高用户体验。

示例性的,本申请实施例中的电子设备可以是手机、平板电脑、可穿戴设备、个人数字助理(personal digital assistant,PDA)、车载终端、物联网设备等具有显示功能的设备,本申请实施例对该移动终端的具体形态不作特殊限制。

示例性的,图3示出了电子设备100的结构示意图。

电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。

可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,GPU,图像信号处理器(image signalprocessor,ISP),CPU,存储器,视频编解码器,数字信号处理器(digital signalprocessor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

其中,该CPU可以包括控制器,该控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。

在一些实施例中,CPU上内置有2D图形处理函数(skia)库,skia库是用于2d界面渲染的基础库。

在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

在一些实施例中,电子设备100还包括SoC(system-on-a-chip)芯片。该SOC芯片上的特定硬件(如图形编解码单元(JPU))可以对图片进行解码。

充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。

电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。

天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。

移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。

调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。

无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。

电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。

电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。

外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。

内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。

电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。

传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。

按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。

马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。

SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。

一般而言,应用程序中的应用界面都包括图片。电子设备在显示应用界面时,需要显示该应用界面的图片,该图片的存储格式一般为图片压缩格式。为了减少显示该图片所占用的电子设备的内存,电子设备可以先确定与该图片对应的纹理压缩图片,该纹理压缩图片是通过无损纹理压缩算法或有损纹理压缩算法对纹理图片进行纹理压缩后得到的。应理解,基于本申请实施例提供的方法,当通过纹理压缩得到的纹理压缩图片的画质高于预设画质标准,该纹理压缩图片可以占用更小内存,同时也可以满足画质质量的要求。其中,该纹理压缩图片的格式为纹理压缩格式,该纹理压缩格式包括有损纹理压缩格式和无损纹理压缩格式。该纹理图片的格式为纹理格式。

在一些实施例中,当纹理压缩图片的格式为无损纹理压缩格式,该纹理压缩图片的画质默认是高于预设画质标准的。当该纹理压缩图片的格式为有损纹理压缩格式,该纹理压缩图片的画质需与预设画质标准进行比较,以确定该纹理压缩图片的画质是否高于该预设画质标准。

电子设备可以直接渲染压缩后的纹理压缩图片,以显示包括该纹理压缩图片的应用界面。由于该电子设备渲染的是纹理压缩图片,而不是渲染纹理图片,且纹理压缩图片相较于纹理图片占用的内存较少。因此,电子设备可以减少渲染图片所需占用的内存,即使需显示的图片较多,对内存的影响也较小。

下面将以上述电子设备为手机为例,通过具体实施例对本申请提供的应用界面显示方法进行介绍。

实施例一

本申请实施例提供一种应用界面显示方法。在该实施例中,手机可以先解码图片压缩格式的图片,得到纹理图片。例如,手机可以解码jpg图片,得到RGBA图片。然后,手机可以对该纹理图片进行纹理压缩,得到纹理压缩图片,以供手机在需显示相应的应用界面时,可以直接渲染该应用界面中的纹理压缩图片,从而减少渲染图片所需占用的内存。具体的,如图4所示,本申请实施例提供的应用界面显示方法可以包括S401-S408。

S401、手机获取应用界面的第一图片,该第一图片的格式为图片压缩格式。

在一些实施例中,该应用界面的第一图片指示显示该应用界面时所需加载的图片。如图5所示,该图片包括本地图片和/或网络图片(即手机显示该应用界面时所需下载的图片),该第一图片的数量为至少一个。其中,本地图片可以指已经存储在手机本地(如磁盘)上的图片。

示例性的,上述本地图片可以为该应用界面所属的应用程序对应的应用包中的图片,如控件图标、应用界面的背景图片等。该本地图片也可以为手机之前显示该应用界面时下载并保存在本地的图片。

应当理解,本申请实施例提供的显示方法并不需要对第一图片的透明度、色彩等参数进行限制,因此可以适用于各种类型的图片的渲染和显示,满足各种使用场景的显示需求。相应的,手机在得到第一图片后,无需检测该第一图片的相关参数,以供利用该相关参数对第一图片进行转换解码得到纹理图片,从而可以提高得到纹理图片的效率。示例性的,该相关参数为透明度。手机在获取到第一图片后,无需判断该第一图片的透明度,便可以解码该第一图片,得到相应的纹理图片。

在一些实施例中,上述应用界面的第一图片可以是手机当前正在运行的应用程序中的应用界面中的图片,如手机正在加载的应用界面中的图片。例如,用户启动该应用1,该应用1需显示初始界面,则该初始界面中的图片为上述应用界面的第一图片。当然,上述应用界面的第一图片还可以是手机上已安装的任一应用程序对应的应用包中的图片。

S402、手机解码上述应用界面的第一图片,得到纹理图片。

其中,该纹理图片的格式为纹理格式。示例性的,纹理格式包括RGBA格式、ARGB(alpha red green blue)格式、YUV格式和RGB(red green blue)格式等中的至少一个。

在申请实施例中,由于图片压缩格式的图片不能直接显示,因此,对于上述每个图片压缩格式的第一图片,手机可以采用软件解码方式或者硬件解码方式,解码该第一图片,得到纹理图片。

示例性的,上述对第一图片的解码可以是手机上的CPU执行的。

一种实现方式中,手机采用软件解码方式解码上述的第一图片。例如,对于每张第一图片,手机上的CPU可以采用软件解码方式,解码该第一图片。

另一种实现方式中,手机采用硬件解码方式解码上述的第一图片。例如,对于每张第一图片,手机上的CPU可以采用硬件解码方式,解码该第一图片。

另一种实现方式中,手机采用软件解码方式和硬件解码方式解码上述的第一图片。例如,手机上的CPU可以采用软件解码方式解码该第一图片中的一部分图片,且采用硬件解码方式解码该第一图片中的剩余部分图片。

在一些实施例中,手机可以根据预设规则确定上述解码的实现方式。例如,当第一图片的数量小于一定数量时,手机可以随机采用硬件解码方式或者软件解码方式,对每张第一图片进行解码。当该第一图片的数量大于或等于一定数量时,手机可以采用软件解码方式对预设比例数量(如一半数量)的第一图片进行解码,而采用硬件解码方式,对剩余的第一图片进行解码。当然,手机也可以基于其它规则确定上述解码的实现方式,例如,为了提高解码速度,手机采用硬件解码方式对第一图片进行解码,本申请不对如何确定图片的解码方式进行限定。

图片压缩格式与解码算法之间可以具有相互关联。示例性的,在基于上述软件解码方式解码该第一图片时,CPU可以通过存储在该CPU上的skia库,调用相关解码算法对该第一图片进行解码。例如,CPU在对jpeg格式的第一图片进行解码时,手机可以调用libjpeg算法解码该第一图片。又例如,在对png格式的第一图片进行解码时,手机可以调用libpng算法解码该第一图片。

在基于上述硬件解码方式解码该第一图片时,CPU可以通过SoC芯片上的特定硬件(如JPU)执行相关解码算法,解码该第一图片。例如,该CPU可以将该第一图片发送给特定硬件,该特定硬件基于该相关解码算法(如上述libjpeg算法、libpng算法等),对该第一图片进行解码。

S403、手机判断是否支持无损纹理压缩。

在本申请实施例中,手机在得到纹理图片后,为了减少渲染该图片所需占用的内存,手机需对该纹理图片进行纹理压缩。在进行纹理压缩时,手机可以进行有损纹理压缩或者无损纹理压缩。由于无损纹理压缩一般对图片的画质没有损耗,因此,手机可以先判断手机是否支持无损纹理压缩,以供根据判断结果对纹理图片进行纹理压缩。

示例性的,手机上的CPU可以通过确定手机上的GPU所支持的纹理压缩格式,也即通过确定GPU所能够识别并渲染的纹理压缩格式来判断手机是否支持无损纹理压缩。当该纹理压缩格式中存在无损纹理压缩格式时,CPU可以确定手机支持无损纹理压缩。当该纹理压缩格式不存在无损纹理压缩格式时,而仅存在有损纹理压缩格式,CPU可以确定手机不支持有损纹理压缩,而支持有损纹理压缩。

在一些实施例中,手机上的CPU可以通过调用手机上的GPU所提供的接口,查询该GPU的型号所支持的纹理压缩格式,该接口一般是GPU厂商在GPU出厂前便已经设置完成。CPU也可以通过其它方式确定该GPU所支持的纹理压缩格式,例如,手机(如磁盘)预存有不同型号的GPU所支持的纹理压缩格式,因此,CPU可以查询到该手机上的GPU的型号所支持的纹理压缩格式。

示例性的,上述无损纹理压缩格式可以包括ARM

在S403之后,当手机支持无损纹理压缩时,表明手机能够对上述纹理图片进行无损纹理压缩,手机可以执行S404。当手机不支持无损纹理压缩时,表明手机不能够对该纹理图片进行无损纹理,手机可以执行S405-S407。

S404、手机基于无损纹理压缩算法,将上述纹理图片压缩成第一无损纹理压缩图片,并将该第一无损纹理压缩图片作为该上述应用界面的目标图片。

其中,该第一无损纹理压缩图片的格式为无损纹理压缩格式。

在本申请实施例中,手机在确定支持无损纹理压缩的情况下,可以先执行无损纹理压缩算法,将上述纹理图片压缩成第一无损纹理压缩图片。该第一无损纹理压缩图片可以作为该应用界面的目标图片。手机在需显示上述应用界面时,可以直接渲染该应用界面的目标图片,以在手机的显示屏上显示该目标图片,实现图片的正常显示,并且可以减少渲染该应用界面的图片所需占用的内存,以及可以提高图片的渲染速度。

S405、手机基于有损纹理压缩算法,将上述纹理图片压缩成第一有损纹理压缩图片。

S406、手机对该第一有损纹理压缩图片进行画质检测,得到画质检测结果。

其中,上述第一有损纹理压缩图片的格式为有损纹理压缩格式。示例性的,该有损纹理压缩格式包括自适应纹理压缩(adaptive scalable texture compression,ASTC)格式、爱立信

在本申请实施例中,由于手机上的GPU一般均支持有损纹理压缩,在手机不支持无损纹理压缩情况下,手机可以执行有损纹理压缩算法,对上述纹理图片进行有损纹理压缩,得到第一有损纹理压缩图片。之后,由于有损纹理压缩会对画质损耗程度较大,因此,手机可以对该第一有损纹理压缩图片进行画质检测,得到该第一有损纹理压缩图片的画质检测结果。该画质检测结果指示图片画质是否高于预设质量标准,也即指示该第一有损纹理压缩图片的画质质量是否满足要求。

其中,手机在对纹理图片进行有损纹理压缩时,是基于像素块进行压缩的。示例性的,手机基于DXT纹理压缩算法对纹理图片进行有损纹理压缩时,是把该纹理图片中的4x4的像素块压缩成一个64或128位的数据块。

在一些实施例中,上述对纹理图片进行的有损纹理压缩可以是手机上的GPU或者CPU执行的。其中,GPU或CPU执行有损纹理压缩的过程与上述GPU或CPU执行无损纹理压缩的过程类似。在此,不再对其赘述。

在一些实施例中,在对第一有损纹理压缩图片进行画质检测时,手机可以通过峰值信噪比(peak signal to noise ratio,PSNR)和/或压缩峰值误差确定该第一有损纹理压缩图片的画质检测结果。该压缩峰值误差指示纹理压缩前后的图片的像素块之间的最大的画质差异程度,该PSNR指示纹理压缩后的图片的失真程度。下面将结合具体示例介绍确定画质检测结果的具体过程。

一种示例中,手机可以通过压缩峰值误差确定画质检测结果,该压缩峰值误差是基于像素块维度确定的。一般地,手机在对纹理图片进行有损纹理压缩时,是基于像素块进行压缩的,因此,该纹理图片和第一有损纹理压缩图片均是由多个像素块组成,该像素块包括多个像素。手机可以确定各个像素块对应的压缩误差,该压缩误差指示纹理压缩前后的像素块的画质差异程度,也即指示纹理压缩前后的像素块中的像素的像素值的差异程度。

之后,手机可以从各个像素块对应的压缩误差中选取最大的压缩误差,并将该最大的压缩误差作为压缩峰值误差。之后,手机可以判断该压缩峰值误差是否小于第一预设误差值。

当该压缩峰值误差小于第一预设误差值时,表明纹理压缩前后图片的各个像素块的差异程度均较低,也即表明纹理压缩对图片的画质损耗较小时,该手机可以确定该第一有损纹理压缩图片的画质检测结果指示图片画质高于预设画质标准。

当该压缩峰值误差大于或等于第一预设误差值时,表明纹理压缩后的图片存在画质低于预设画质标准的像素块,该手机可以确定该第一有损纹理压缩图片的画质检测结果指示图片画质低于预设画质标准。

其中,上述像素块对应的压缩误差可以通过

其中,上述第一预设误差值可以根据实际情况设置,对显示的图片画质质量的要求越高,该第一预设误差值可以越小。

在该示例中,由于压缩峰值误差是基于像素块维度确定的,因此,压缩峰值误差可以反映出第二纹理压缩图片的各个部分的画质质量是否均满足要求,从而实现该图片的画质质量准确判断,保证了得到的画质检测结果的准确性,实现图片画质的快速准确检测。

另一种示例中,手机可以通过PSNR确定画质检测结果,该PSNR是基于整张图片维度确定的。具体的,手机可以基于纹理压缩前后的图片中的像素的像素值确定均方误差。之后,手机可以根据该均方误差得到PSNR。之后,手机可以判断该PSNR是否大于第二预设误差值。

当小于第二预设误差值时,表明纹理压缩后的图片失真程度较大,也即表明纹理压缩对图片的画质影响较大,手机可以确定该第一有损纹理压缩图片的画质检测结果指示图片画质低于预设画质标准。

当该压缩峰值误差大于或等于第二预设误差值时,表明纹理压缩后的图片失真程度较小,也即表明纹理压缩对图片的画质影响较小,手机可以确定该第一有损纹理压缩图片的画质检测结果指示图片画质高于预设画质标准。

示例性的,上述纹理图片以及第一有损纹理压缩图片的小大均为m*n。该纹理图片为纹理压缩前的图片。该第一有损纹理压缩图片为纹理压缩后的图片。手机在计算均方误差可以通过

手机在计算PSNR时,可以根据

其中,上述第二预设误差值可以根据实际情况设置,对显示的图片画质质量的要求越高,该第二预设误差值可以越大。

在该示例中,峰值信噪比是基于图片维度确定的,手机利用该峰值信噪比可以实现第一有损纹理压缩图片的画质检测。

另一种示例中,手机可以通过PSNR和压缩峰值误差确定画质检测结果。该手机可以确定各个像素块对应的压缩误差,并基于纹理压缩前后的图片中的像素的像素值确定均方误差。之后,手机可以从各个像素块对应的压缩误差中选取最大的压缩误差,并将该最大的压缩误差值作为压缩峰值误差,以及手机可以根据该均方误差得到PSNR。之后,手机可以判断该压缩峰值误差是否小于第一预设误差值,以及可以判断该PSNR是否大于或等于第二预设误差值。

当该压缩峰值误差小于该第一预设误差值,且该PSNR大于或等于第二预设误差值时,表明有损纹理压缩对图片的画质损耗较小,第一有损纹理压缩图片的画质质量满足要求,该手机可以确定该第一有损纹理压缩图片的画质检测结果指示图片画质高于预设画质标准。

当该压缩峰值误差大于或等于该第一预设误差值,或者该PSNR小于该第二预设误差值时,表明有损纹理压缩对图片的画质损耗较大,该第一有损纹理压缩图片的画质质量满足要求,手机可以确定该第一有损纹理压缩图片的画质检测结果指示图片画质低于预设画质标准。

在一些实施例中,上述确定第一有损纹理压缩图片的画质检测结果的过程可以是手机上的GPU或者CPU执行的。例如,手机上的CPU在得到第二纹理压缩图片后,可以确定该第二纹理压缩图片的画质检测结果。又例如,手机上的GPU在得到第二纹理压缩图片后,可以确定该第二纹理压缩图片的画质检测结果。

在该示例中,由于压缩峰值误差是基于像素块维度确定的,峰值信噪比是基于图片维度确定的,因此,手机利用压缩峰值误差以及峰值信噪比可以分别从部分以及整体维度上确定图片的画质质量是否满足要求,保证得到的画质检测结果的准确性。

S407、在该第一有损纹理压缩图片的画质检测结果指示图片画质高于预设画质标准的情况下,手机将该第一有损纹理压缩图片作为上述应用界面的目标图片。

S408、在该第一有损纹理压缩图片的画质检测结果指示图片画质低于预设画质标准的情况下,手机可以保存上述纹理图片。

在本申请实施例中,在得到第一有损纹理压缩图片的画质检测结果后,当该画质检测结果指示图片画质高于预设画质标准时,表明该有损纹理压缩的图片画质质量满足要求,手机可以先保存该第二纹理压缩图片。当手机在需显示上述应用界面的图片时,手机可以直接渲染该第一有损纹理压缩图片,减少图片渲染所占用的内存,并且可以保证显示的图片的画质质量。

当该画质检测结果指示图片画质低于预设画质标准时,该手机不再保存该第一有损纹理压缩图片,而是保存相应的纹理图片。当手机在需显示上述应用界面的图片时,手机仍渲染该纹理图片,保证手机显示的图片的画质质量,避免出现图片不清楚的问题。

在一些实施例中,当上述第一有损纹理压缩图片的画质检测结果指示图片画质质量低时,手机可以重新采用手机支持的其它有损纹理压缩算法,生成相应有损纹理压缩图片,并可以确定该有损纹理压缩图片的画质检测结果。当该画质检测结果指示图片画质高于预设画质标准时,手机将该有损纹理压缩图片作为上述应用界面的目标图片。当该画质检测结果指示图片画质低于预设画质标准时,手机可以继续采用手机支持的其它有损纹理压缩算法进行纹理压缩,直至得到画质检测结果指示图片画质高于预设画质标准的有损纹理压缩图片,或者,手机在通过其所支持的各个有损纹理压缩算法得到的各个有损纹理压缩图片的的画质检测结果均指示图片画质低于预设画质标准时,手机可以保存上述纹理图片。

在另一些实施例中,在S405之后,手机可以不执行上述确定第一有损纹理压缩图片的画质检测结果以及根据该第一有损纹理压缩图片的画质检测结果进行相关操作的过程。也就是说,在S405之后,手机可以不执行上述S406-S408,而是可以直接将该第一有损纹理压缩图片作为上述应用界面的目标图片。

应理解,由于无损纹理压缩对图片的画质没有损耗,因此,上述第一无损纹理压缩图片的画质可以默认是高于预设画质标准的。也就是说,手机在得到该第一无损纹理压缩图片后,无需对该第一无损纹理压缩图片进行上述画质检测,便可以直接默认该第一无损纹理压缩图片的画质检测结果指示图片画质高于预设画质标准,从而可以将该第一无损纹理压缩图片作为应用界面的目标图片。

在本申请实施例中,在得到应用界面的纹理图片后,由于无损纹理压缩对图片画质没有损耗,因此,手机可以判断是否支持无损纹理压缩。在支持无损纹理压缩的情况下,手机可以对纹理图片进行无损纹理压缩,得到无损纹理压缩图片,并可以将无损纹理压缩图片作为该应用界面的目标图片进行保存。在不支持无损纹理压缩的情况下,由于手机上的GPU一般均支持有损纹理压缩,因此,手机可以对该纹理图片进行有损纹理压缩,得到该应用界面的图片所对应的有损纹理压缩图片。并且由于有损纹理压缩对图片的画质损耗程度可能会较大,因此,手机在得到该有损纹理压缩图片后,可以继续确定该有损纹理压缩图片所的画质检测结果。当该画质检测结果指示图片画质高于预设画质标准时,表明该有损纹理压缩的图片画质质量满足要求,手机可以将该有损纹理压缩图片作为该应用界面的目标图片,并保存该应用界面的目标图片。在需显示该应用界面时,手机可以直接获取并渲染该应用界面的目标图片,而不是渲染该应用界面对应的纹理图片,从而减少渲染图片所需占用的内存,并可以提高图片渲染速度。

示例性的,手机在保存上述应用界面的目标图片时,可以将该目标图片保存在缓存文件或磁盘中。

在一些实施例中,上述生成应用界面的目标图片的过程可以是手机实时执行的。具体的,手机在接收第一操作后,该第一操作用于触发手机显示上述应用界面,手机响应于该第一操作,对上述应用界面的图片压缩格式的图片进行解码以及纹理压缩,生成该应用界面的目标图片。例如,手机响应于该第一操作,可以执行上述S401-S407。之后,手机渲染该应用界面的目标图片,在手机的显示屏上显示包括该应用界面的目标图片的应用界面。

示例性的,上述第一操作可以为用户启动该应用界面所属的应用程序的操作,相应的,该应用界面可以包括该应用程序的初始界面。该初始界面表示应用程序启动后首个显示的应用界面。上述第一操作也可以为用户点击应用程序显示的某个界面上的控件的操作,该操作用于触发手机显示上述应用界面。例如,该第一操作可以用于触发手机由当前显示的界面跳转至另一界面(即上述应用界面)。该第一操作还可以为其它操作,如触发界面刷新的操作,在此,不对该第一操作进行限制,只需能够触发手机显示图片即可。

在该实施例中,上述对纹理图片进行的纹理压缩(如有损纹理压缩或无损纹理压缩),以生成目标图片的过程可以是手机上的GPU执行的。由于GPU可以并发处理图片,因此,GPU无损纹理压缩的图片的速度较快,从而GPU可以实时对图片进行纹理压缩。例如,如图5所示,在手机需显示应用界面时,手机上的CPU可以对该应用界面的图片压缩格式的图片进行解码,得到该应用界面的纹理图片,并将该纹理图片发送至该手机上的GPU。之后,该GPU可以对该纹理图片进行无损纹理压缩或者有损纹理压缩,生成纹理压缩图片,从而得到该应用界面的目标图片,而无需提前生成该应用界面的目标图片,避免由于需保存提前生成的目标图片而导致资源的浪费。例如,这里的提前生成该应用界面的目标图片是指手机在应用程序安装后,便对该应用程序对应的应用包中的图片进行解码以及无损纹理压缩,以生成该应用界面的目标图片。

示例性的,GPU在接收到CPU发送的应用界面的纹理格式的图像后,可以通过OpenCL接口或OpenGL接口去执行压缩算法程序(如ComputeShader程序),对该应用界面的纹理图片进行纹理压缩。

在一些实施例中,该GPU在基于该应用界面的纹理图片得到该应用界面的目标图片后,可能会无法直接渲染该应用界面的目标图片,则GPU可以将该应用界面的目标图片发送给CPU,使得该CPU获知需渲染该应用界面的目标图片。然后该CPU可以通过调用OpenGL的glCompressedTexImage2D接口,将该应用界面的目标图片发送至该GPU,该GPU便能够成功渲染该目标图片。

可以理解,由于CPU是通过OpenGL的glCompressedTexImage2D接口将应用界面的目标图片,也即纹理压缩图片发送至GPU的,因此,OpenGL的调用指令中会存在该glCompressedTexImage2D接口对应的数据包,该数据包括可以包括该纹理压缩图片。

在一些实施例中,在手机(如手机上的GPU)实时生成应用界面的目标图片后,GPU可以直接将进行该目标图片保存至手机的缓存文件中。其中,该缓存文件用于保存该应用界面所属的应用程序的缓存数据。当手机需再次显示该目标图片时,手机能够直接从该缓存文件中获取该目标图片,无需再次进行纹理压缩,减少图片纹理压缩开销,并可以缩短图片显示所需的时间。GPU也可以将该目标图片保存在手机的其它位置(如磁盘)中,本申请不对目标图片的保存位置限制。

在另一些实施例中,上述生成应用界面的目标图片的过程可以是手机提前执行的。具体的,手机在接收到上述第一操作之前或者在安装应用界面所属的应用程序后,便可以执行上述S401-S407,对该应用界面的图片压缩格式的图片进行解码以及纹理压缩,生成该应用界面的目标图片。当手机接收到该第一操作时,手机可以直接获取该应用界面的目标图片,以供手机渲染该应用界面的目标图片,在手机的显示屏上显示包括该应用界面的目标图片的应用界面。

相应的,由于手机(如CPU)是提前生成应用界面的目标图片的,因此,CPU在得到该应用界面的目标图片后,可以将该目标图片保存至手机的磁盘中。当需要显示该应用界面时,CPU才将磁盘中的该应用界面的目标图片加载至内存,并且CPU将该目标图片,也即纹理压缩图片传输至GPU,从而可以减少对内存占用的时间,避免由于长时间无需渲染该目标图片导致该目标图片无效占用内存。并且,CPU是将该纹理压缩图片传输至GPU,相较于传输纹理图片,可以减少传输带宽。

应理解,由于CPU是提前生成应用界面的图片对应的目标图片,因此,该应用界面的图片可以是存储在手机本地的图片,而不是网络图片。该CPU也可以实时对应用界面的图片(如应用界面的图片中的网络图片)所对应的纹理图片进行纹理压缩(如有损纹理压缩或无损纹理压缩),也即CPU实时生成该应用界面的目标图片,只不过会增加压缩开销,增加应用界面的图片的显示时间。

在本申请实施例中,手机可以在用户使用上述应用界面所属的应用程序之前的任意时刻(例如,在安装该应用程序后)对该应用程序的应用包中的该应用界面的图片进行解码以及纹理压缩,生成该应用界面的目标图片,实现图片的提前纹理压缩。在该手机需显示该应用界面时,该手机能够直接渲染显示该应用界面的目标图片,在减少图片渲染所需占用的内存的同时可以提高图片渲染的效率。

在一些实施例中,上述手机在渲染应用界面的目标图片时,可以是由手机上的GPU渲染(如图5所示)。具体的,GPU内部预存了纹理压缩格式对应的解压缩算法,使得该GPU可以直接渲染显示纹理压缩图片。该纹理压缩图片的格式为有损纹理压缩格式或无损纹理压缩格式。示例性的,该GPU在渲染该纹理压缩图片时,可以调用解压缩算法,对该图片进行解压缩,并显示解压缩后的图片。

下面将结合一个具体示例对实施例一所描述的应用界面显示方法进行介绍。

示例性的,手机可以实时生成应用界面的目标图片。如图6所示,手机接收第一操作,表明该手机需显示相应的应用界面,则响应于该第一操作,手机上的CPU可以对该应用界面的图片压缩格式的图片进行解码,得到纹理图片。其中,应用界面的图片压缩格式的图片包括网络图片和/或本地图片。该图片压缩格式可以包括jpg、png格式等。该纹理图片的格式可以为如RGBA格式等纹理格式。

之后,CPU可以将该纹理图片发送至GPU。之后,该GPU可以判断是否支持无损纹理压缩。当支持无损纹理压缩时,该GPU可以将该纹理图片压缩成无损纹理压缩图片。将该无损纹理压缩图片作为该应用界面的目标图片,并删除该纹理图片。该无损纹理压缩图片的格式为无损纹理压缩格式。

当不支持无损纹理压缩时,该GPU可以将该纹理图片压缩成有损纹理压缩图片,并确定该有损纹理压缩图片的画质检测结果。当该画质检测结果指示图片画质高于预设画质标准时,该GPU可以将该有损纹理压缩图片作为该应用界面的目标图片,并该删掉该纹理图片。该有损纹理压缩图片的格式为有损纹理压缩格式。

之后,该GPU可以将上述应用界面的目标图片保存在手机的缓存文件中,并且该GPU可以渲染该应用界面的目标图片,显示包括该目标图片的应用界面,实现图片的正常显示,且图片在渲染时,在内存中的是该纹理压缩图片,而不是纹理图片。如表1所示,压缩前后的图片的大小,可以有效减少内存的占用。

表1

实施例二

本申请实施例提供另一种应用界面显示方法。在该实施例中,在应用程序的开发阶段,相关设备可以基于应用程序中的应用界面的图片压缩格式的图片生成纹理压缩图片,并将该纹理压缩图片与原图(即该图片压缩格式的图片)一起打包至该应用程序对应的应用包中,实现纹理压缩图片资源的预制。手机在下载并使用该应用程序时,可以直接利用该应用程序对应的应用包中的预制的纹理压缩图片资源进行应用界面的显示。具体的,如图7所示,本申请实施例提供的应用界面显示方法可以包括S701-S705。

S701、手机在显示应用界面的情况下,从该应用界面所属的应用包中获取该应用界面对应的第二图片,该第二图片的格式为纹理压缩格式,该纹理压缩格式为无损纹理压缩格式或有损纹理压缩格式。

其中,上述第二图片的画质检测结果指示图片画质高于预设画质标准。上述应用包中还包括第二图片对应的图片压缩格式的图片(即原图,也即第三图片)。

示例性的,在应用程序的开发阶段,开发人员可以先利用相关设备(如电脑)解码需打包至该应用程序对应的应用包中的图片(或称为原图),得到纹理图片。该原图的格式为图片压缩格式,且该原图为该应用程序中的应用界面的图片。之后,相关设备可以对该纹理图片进行无损纹理压缩或有损纹理压缩,得到相应的纹理压缩图片,并将该纹理压缩图片作为第二图片,实现纹理压缩图片资源的预制。之后,该相关设备可以将该第二图片和原图一起打包至该应用包中,使得手机在安装该应用程序时,所下载的该应用程序对应的应用包中包括原图以及第二图片,该第二图片也成为手机本地上的纹理压缩图片(或称为本地纹理压缩图片)。

其中,相关设备对图片进行无损纹理压缩的过程可以与上述实施例一中的手机对图片进行无损纹理压缩的过程类似,以及相关设备对图片进行有损纹理压缩的过程可以与上述实施例一中的手机对图片进行有损纹理压缩的过程类似。

在一些实施例中,当相关设备对纹理图片进行有损纹理压缩时,相关设备在得到第二有损纹理压缩图片后,可以继续确定该第二有损纹理压缩图片的画质检测结果。当该画质检测结果指示图片画质高于预设画质标准时,该相关设备可以直接将该第二有损纹理压缩图片作为第二图片打包至应用包中。当该画质检测结果指示图片画质低于预设画质标准时,该相关设备可以重新采用其它有损纹理压缩算法进行纹理压缩,直至得到画质质量满足要求的有损纹理压缩图片。

S702、手机判断是否支持上述第二图片的格式。

在本申请实施例中,手机在加载应用界面时,表明需渲染该应用界面的图片,则对于该应用界面的图片中的第二图片,手机可以判断是否支持该第二图片的格式,以供根据判断结果确定手机是否能够直接渲染该第二图片。

示例性的,手机上的CPU可以通过确定手机上的GPU所支持的纹理压缩格式,也即确定GPU所能够识别并渲染的纹理压缩格式判断手机是否支持该第二图片的格式。当该纹理压缩格式中存在该第二图片的格式时,手机可以确定该手机支持该第二图片的格式。当该纹理压缩格式不存在第三纹理压缩格式时,手机可以确定该手机不支持该第二图片的格式。

在S702之后,当手机支持上述第二图片的格式时,表明手机能够渲染该第二图片,手机可以执行S703。当手机不支持上述第三纹理压缩格式时,表明手机无法渲染该第二图片,手机可以执行S704-S705。

S703、手机渲染该第二图片,显示包括该第二图片的应用界面。

在本申请实施例中,在确定手机支持第二图片的格式的情况下,表明手机能够处理该第二图片,手机可以直接渲染该第二图片,以在手机显示的上述应用界面上显示该第二图片,而无需再对原图进行解码以及纹理压缩,因此不存在纹理压缩耗时。并且可以保证显示的图片的画质的质量,以及可以减少图片渲染所占用的内存。

在一些实施例中,上述对第二图片进行的渲染可以是手机上的GPU执行的。示例性的,如图8所示,手机上的CPU可以将该第二图片(或称为本地纹理压缩图片)通过内存映射mmap函数加载至内存,该mmap指示将一个文件或者其它对象映射进内存。之后,手机上的GPU可以渲染该第二图片,在手机的显示屏上显示该第二图片。

其中,GPU渲染第二图片的过程与上述GPU渲染应用界面的目标图片的过程类似,在此,不再对其进行赘述。

S704、手机从该应用界面所属的应用包中获取应用界面的第三图片,该第三图片的格式为图片压缩格式。

S705、手机解码该第三图片,得到纹理图片,并渲染该纹理图片,或者,手机对该纹理图片进行纹理压缩,渲染显示纹理压缩后的图片。

在本申请实施例中,在确定手机不支持第二图片的格式的情况下,表明手机不能够处理该第二图片,换言之,手机无法直接渲染该第二图片,手机可以从该应用界面所属的应用包中获取该应用界面的格式为图片压缩格式的图片,并将该图片压缩格式的的图片作为第三图片。该第三图片为该第二图片对应的原图。之后,手机可以解码该第三图片,得到纹理图片。之后,手机可以直接渲染该纹理图片,在手机的显示屏上显示包括该纹理图片的应用界面,或者手机可以基于其所支持的纹理压缩格式,对该纹理图片进行纹理压缩,以渲染显示纹理压缩后的图片。

在一些实施例中,在基于其所支持的纹理格式,对该纹理图片进行纹理压缩时,手机可以判断是否支持无损纹理压缩。当支持无损纹理压缩时,手机基于无损纹理压缩算法,将该纹理图片压缩成第二无损纹理压缩图片,并渲染该第二无损纹理压缩图片。

当不支持无损纹理压缩时,手机可以基于有损纹理压缩算法,将该纹理图片压缩成格式为第三有损纹理压缩图片,并对该第三有损纹理压缩图片进行画质检测,得到画质检测结果。在该画质检测结果指示图片画质高于预设画质标准的情况下,手机渲染该第三有损纹理压缩图片。在该画质检测结果指示图片画质低于预设画质标准的情况下,手机可以直接渲染该纹理图片。

本申请实施例中,在确定手机不支持第二图片的格式的情况下,表明该电子设备无法渲染该第二图片,则该手机可以获取第三图片,该第三图片为该第二图片对应的原图。然后该手机对该第三图片进行解码,得到纹理图片,以供利用该纹理图片进行渲染显示,保证图片的正常显示。

需要说明的是,上面介绍显示手机所需显示的应用界面的第二图片(即本地纹理压缩图片)的过程,对于该应用界面的网络图片,手机可以基于实施例一所介绍的网络图片的显示过程进行处理(例如手机对下载的网络图片进行解码以及纹理压缩,并渲染显示纹理压缩后的图片)。手机也可以基于下面实施例三所介绍的网络图片的显示过程进行处理(例如手机从服务器中下载纹理压缩格式的网络图片,并渲染显示该网络图片)。

实施例三

本申请实施例提供另一种应用界面显示方法。在该实施例中,手机在应用程序启动时,可以直接从该应用程序对应的服务器中下载所需纹理压缩图片,然后手机可以显示该纹理压缩图片。具体的,如图9所示,本申请实施例提供的应用界面显示方法包括S901-S902。

S901、手机在应用程序启动的情况下,从该应用程序对应的服务器中下载该应用程序中的应用界面的第四图片,该第四图片的格式为纹理压缩格式。

其中,该纹理压缩格式为无损纹理压缩格式或有损纹理压缩格式。

S902、手机渲染上述第四图片,显示包括该第四图片的应用界面。

其中,上述第四图片的画质检测结果指示图片画质高于预设画质标准。该第四图片也是相关设备预制后保存在服务器上的。该第四图片指示纹理压缩格式的网络图片(或称为网络纹理压缩图片)。

在一些实施例中,当上述应用程序的初始界面上存在网络图片时,手机下载的应用界面的第四图片不仅可以包括该应用程序的初始界面的图片,还可以包括应用程序中的其它界面(例如,该应用程序的所有应用界面的图片,或者该应用程序中的特定应用界面的图片)。或者,手机下载的应用界面的第四图片可以仅包括该应用程序的初始界面的图片。而对于其它界面的图片,手机可以在需显示该其它界面时,从服务器中下载。

当该应用程序的初始界面上不存在网络图片时,在应用程序启动时,手机可以下载应用程序中的其它界面的图片。

在本申请实施例中,上述服务器可以保存有该应用程序的至少一种纹理压缩格式的图片。手机在该应用程序启动时,从该服务器保存的该应用程序的所有纹理压缩格式的图片中判断是否存在该手机所支持的纹理压缩格式的图片。当存在该手机支持的纹理压缩格式的图片时,手机可以从该服务器中下载该应用程序中的应用界面的第四图片。也就是说,该第四图片的格式为该手机支持的一种纹理压缩格式。

示例性的,如图10所示,在手机从服务器中下载该应用界面的第四图片(即网络纹理压缩图片)后,手机上的CPU可以将该第四图片发送至手机上的GPU,以供GPU对该第四图片进行渲染显示。

应理解,上述手机中的CPU也可以实现上述GPU的功能。例如,该CPU执行上述实施例中GPU所执行的步骤。该GPU也可以实现该CPU的功能。上述CPU或GPU的功能也可以通过该手机中的其它处理器实现,本申请不对执行上述实施例所公开的方法的处理器进行限制。

在一些实施例中,当服务器保存的该应用程序的纹理压缩格式中仅存在一种手机所支持的纹理压缩格式时,手机可以下载该纹理压缩格式的图片。在另一些实施例中,当该服务器保存的该应用程序的纹理压缩格式中存在多种手机所支持的纹理压缩格式,则手机可以随机选取一种纹理压缩图片,并下载选取的纹理压缩图片。手机也可以按照其它方式选取一种纹理压缩图片。例如,按照纹理压缩格式对应的优先级,手机选取优先级最高的纹理压缩图片,本申请不对选取服务器中的纹理压缩格式的图片的方式限定,只需能够选取一种纹理压缩格式的图片即可。

上面介绍了服务器中存在手机所支持的纹理压缩格式的图片的情况,也可能出现服务器中不存在手机所支持的纹理压缩格式的图片,换言之手机无法直接从服务器中获取上述应用界面的纹理压缩格式的图片情况。在该情况下,手机可以从服务器中下载该应用界面的第五图片。该第五图片的格式为图片压缩格式,该第五图片为该第四图片对应的原图。之后,手机可以解码该第五图片,得到纹理图片。之后,手机直接渲染该纹理图片,或者手机可以基于其所支持的纹理压缩格式,继续将该纹理图片压缩成纹理压缩图片,并渲染该纹理压缩图片。该纹理压缩图片的格式为有损纹理压缩格式或无损纹理压缩格式。

其中,上述第四图片和第五图片可以指示网络图片,即在手机显示相关应用界面时,需下载的图片。

在一些实施例中,手机在从服务器中下载该第四图片后,可以将该第四图片保存在手机的缓存文件中,或者将该第四图片保存在手机的磁盘中,使得手机后续在需显示该第四图片时,可以直接从该缓存文件或该磁盘中获取,而无需再次下载,实现纹理压缩图片的快速获取。

在一些实施例中,由于游戏APP的应用界面的图片一般变化较小,游戏APP的版本更新时,应用界面的图片可能会发生变化,因此,上述应用程序可以指示游戏APP。当然,其它类型的应用程序(如视频APP)也可以采用实施例三所提供的方案,在此,不对实施例三中的应用程序进行限定。

在本申请实施例中,在手机上的应用程序启动时,手机可以先直接从服务器中下载其所支持的一种纹理压缩格式的该应用程序中的应用界面的图片,得到第四图片。然后,手机可以渲染该第四图片,显示该第四图片,使得在减少图片渲染所占用的内存的同时,可以减少图片纹理压缩耗时,并且由于无需对应用界面的图片进行纹理压缩,能够减少手机的功耗。以及服务器中的纹理压缩格式的画质检测结果指示图片画质高于预设画质标准,因此,能够保证显示的图片的画质质量,但需要服务器用于保存纹理压缩图片。

需要说明的是,上面介绍了显示手机所需显示的应用界面的网络图片的过程,对于该应用界面的本地图片,手机可以基于实施例一或者实施例二所介绍的显示本地图片的过程进行处理。

在一些实施例中,本申请提供一种计算机存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行如上所述的应用界面显示方法。

在一些实施例中,本申请提供一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如上所述的应用界面显示方法。

通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

技术分类

06120116556837