一种纹理压缩方法和装置

文档序号:1579945 发布日期:2020-01-31 浏览:16次 >En<

阅读说明:本技术 一种纹理压缩方法和装置 (texture compression method and device ) 是由 赖香文 于 2018-07-19 设计创作,主要内容包括:本申请实施例公开了一种纹理压缩方法及相关装置,该方法获取待压缩纹理后,根据用于标识压缩质量要求的预设条件确定待压缩纹理的种类。若待压缩纹理为压缩质量要求较高的第一类纹理,采用能够得到高压缩质量的第一压缩算法压缩该待压缩纹理,得到的压缩结果相对于待压缩纹理损失较小,保证应有的渲染质量。若待压缩纹理为压缩质量要求一般的第二类纹理,采用能够得到一般压缩质量的第二压缩算法压缩该待压缩纹理,以提高压缩效率和渲染效率。这样,使得一台处理设备可以配置多种压缩算法,针对待压缩纹理的种类,实现从所配置的多种压缩算法中自动选择适用的压缩算法压缩待压缩纹理,避免了采用单一压缩算法带来的问题,更好的满足纹理压缩需求。(The embodiment of the application discloses texture compression methods and related devices, after textures to be compressed are obtained, the types of the textures to be compressed are determined according to preset conditions for identifying compression quality requirements, if the textures to be compressed are -type textures with high compression quality requirements, the textures to be compressed are compressed by adopting a -th compression algorithm capable of obtaining high compression quality, the loss of the obtained compression result is smaller relative to the textures to be compressed, and the due rendering quality is ensured.)

一种纹理压缩方法和装置

技术领域

本申请涉及数据处理领域,特别是涉及一种纹理压缩方法和装置。

背景技术

纹理可以渲染到视频帧上,使得视频帧中展示出纹理所体现的视觉效果。例如在直播过程中,通过将特效背景对应的纹理渲染到直播对应的视频帧上,可以让观看该直播的用户看到直播视频中展示出该特效背景。

在将纹理渲染到视频帧上前,需要缓存纹理,然而,纹理的数据量一般较大,如果全量缓存的话会对处理设备造成存储压力。传统方式是将纹理压缩后缓存,在进行渲染时,可以直接将压缩后的纹理渲染到视频帧中,从而缓解了缓存压力。

但是,目前处理设备均配置单一的压缩算法对纹理进行压缩,单一压缩算法的问题在于,有些压缩算法并不能适用于所有类型的纹理,例如压缩高压缩质量要求的纹理时会造成较大的纹理损失,有些压缩算法对处理设备的兼容性不高,例如仅适用于高处理能力的处理设备,导致处理设备采用目前单一压缩算法的方式压缩纹理时,难以满足对纹理的压缩需求。

发明内容

为了解决上述技术问题,本申请提供了一种纹理压缩方法和装置,该方法可以识别待压缩纹理的类型,使得一台处理设备可以配置多种压缩算法,针对待压缩纹理的识别结果,能够实现从所配置的多种压缩算法中自动选择适用的压缩算法对待压缩纹理进行压缩,避免了采用单一压缩算法带来的问题,从而可以更好的满足纹理压缩需求。

本申请实施例公开了如下技术方案:

第一方面,本申请实施例提供一种纹理压缩方法,所述方法包括:

根据用于标识压缩质量要求的预设条件确定待压缩纹理的种类;

若确定所述待压缩纹理为第一类纹理,采用所述第一类纹理所适用的第一压缩算法压缩所述待压缩纹理;

若确定所述待压缩纹理为第二类纹理,采用所述第二类纹理所适用的第二压缩算法压缩所述待压缩纹理;

其中,所述第一类纹理的压缩质量要求高于所述第二类纹理的压缩质量要求。

第二方面,本申请实施例提供一种纹理压缩装置,所述装置包括第一确定单元、第一压缩单元和第二压缩单元:

所述第一确定单元,用于根据用于标识压缩质量要求的预设条件确定待压缩纹理的种类;

所述第一压缩单元,用于若所述第一确定单元确定所述待压缩纹理为第一类纹理,采用所述第一类纹理所适用的第一压缩算法压缩所述待压缩纹理;

所述第二压缩单元,用于若所述第一确定单元确定所述待压缩纹理为第二类纹理,采用所述第二类纹理所适用的第二压缩算法压缩所述待压缩纹理;

其中,所述第一类纹理的压缩质量要求高于所述第二类纹理的压缩质量要求。

第三方面,本申请实施例提供一种用于纹理压缩的设备,所述设备包括处理器以及存储器:

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行第一方面任一项所述的纹理压缩方法。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面中任一项所述的纹理压缩方法。

由上述技术方案可以看出,在获取待压缩纹理时,可以根据用于标识压缩质量要求的预设条件来确定待压缩纹理的种类,例如是压缩质量要求相对较高的第一类纹理还是压缩质量要求相对较低的第二类纹理。若待压缩纹理为第一类纹理,可以明确对待压缩纹理的压缩质量要求比较高,需要采用能够得到高压缩质量的第一压缩算法来压缩该待压缩纹理,得到的压缩结果相对于待压缩纹理损失较小,在采用该压缩结果进行渲染能够保证应有的渲染质量。若待压缩纹理为第二类纹理,可以明确对待压缩纹理的压缩质量要求不高,可以采用能够得到一般压缩质量的第二压缩算法来压缩该待压缩纹理,从而提高压缩效率和渲染效率。通过识别待压缩纹理的类型,使得一台处理设备可以配置多种压缩算法,针对待压缩纹理的识别结果,能够实现从所配置的多种压缩算法中自动选择适用的压缩算法对待压缩纹理进行压缩,避免了采用单一压缩算法带来的问题,从而可以更好的满足纹理压缩需求。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种纹理压缩方法的应用场景示意图;

图2为本申请实施例提供的一种纹理压缩方法的流程示意图;

图3为本申请实施例提供的一种纹理压缩方法的流程示意图;

图4为本申请实施例提供的一种纹理压缩方法的流程示意图;

图5为本申请实施例提供的一种纹理压缩方法的应用场景示意图;

图6为本申请实施例提供的一种纹理压缩方法的流程示意图;

图7a为本申请实施例提供的一种纹理压缩装置的结构图;

图7b为本申请实施例提供的一种纹理压缩装置的结构图;

图7c为本申请实施例提供的一种纹理压缩装置的结构图;

图8为本申请实施例提供的一种用于纹理压缩的设备的结构图;

图9为本申请实施例提供的一种用于纹理压缩的设备的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在传统纹理压缩方法中,一台处理设备只能配置单一的压缩算法对纹理进行压缩,由于有些压缩算法并不能适用于所有类型的纹理,例如压缩高压缩质量要求的纹理时会造成纹理损失,从而导致配置这些压缩算法的处理设备不能对高压缩质量要求的纹理进行压缩;或者,由于有些压缩算法对处理设备的兼容性不高,例如仅适用于高处理能力的处理设备,从而导致这些压缩算法只能配置在高处理能力的处理设备上。因此,传统的采用单一压缩算法的方式压缩纹理时,难以满足对纹理的压缩需求。

为此,本申请实施例提供一种纹理压缩方法,该方法可以在处理设备上配置多种压缩算法,不同的压缩算法可以适用于压缩不同种类的纹理。确定一种压缩算法适用于压缩哪一个种类的纹理需要依据于该压缩算法针对不同类型纹理的纹理压缩能力,即压缩纹理得到的压缩结果相比于压缩前纹理损失不大,如果一种压缩算法压缩一个种类的纹理得到的压缩结果纹理损失不大,不会在渲染后影响到用户的观看体验,可以确定该压缩算法为这个种类纹理所适用的压缩算法。在此基础上,还可以将压缩纹理效率、压缩结果所占用的存储空间、对系统资源的消耗或者利用该压缩结果进行渲染的纹理渲染速度等作为确定一个种类纹理所适用压缩算法的依据。一个种类纹理所适用的压缩算法在压缩纹理效率、压缩结果所占用的存储空间、对系统资源的消耗或者利用该压缩结果进行渲染的纹理渲染速度等任意一项或多项中优于其他算法。

例如,处理设备上配置有压缩算法A和压缩算法B,利用压缩算法A和压缩算法B分别压缩C种类的纹理可以得到各自对应的压缩结果,若压缩算法A对应的压缩结果的质量高于压缩算法B对应的压缩结果的质量,那么,可以认为压缩算法A是C种类的纹理所适用的压缩算法。

再如,处理设备上配置有压缩算法A和压缩算法B,利用压缩算法A和压缩算法B分别压缩D种类的纹理可以得到各自对应的压缩结果。若压缩算法A对应的压缩结果的质量和压缩算法B对应的压缩结果的质量相近,但是,与压缩算法A相比,利用压缩算法B压缩D种类的纹理时,消耗的系统资源更少,得到的压缩结果占用的存储空间更小,将该压缩结果渲染到视频帧上的渲染速度更快,那么,可以认为压缩算法B是D种类的纹理所适用的压缩算法。

这样,当获取到待压缩纹理时,可以根据压缩质量要求对待压缩纹理进行分类,从而可以根据分类结果从所配置的多种压缩算法中自动选择适用的压缩算法对待压缩纹理进行压缩,避免了采用单一压缩算法带来的问题,从而可以更好的满足纹理压缩需求。

可以理解的是,本申请实施例提供的纹理压缩方法可以应用于直播中、视频聊天、游戏等需要在视频帧上渲染纹理的场景中。

例如,在游戏使用过程中,为了提高玩家体验,游戏中可能需要进行大量的纹理渲染,在这种情况下,可以通过本实施例所提供的纹理压缩方法提高游戏中压缩效率和渲染效率。具体的,可以通过为该游戏的CocosCreator开发引擎提供一个压缩插件来实施本实施例所提供的纹理压缩方法。

本申请实施例提供的纹理压缩方法可以应用于具有纹理压缩能力的处理设备上,该处理设备可以是终端设备,也可以是服务器。其中,终端设备例如可以是智能终端、计算机、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑等。

若该处理设备是服务器,则服务器可以获取来自终端设备的待压缩纹理,从而执行该纹理压缩方法。当服务器利用该纹理压缩方法得到压缩结果时,可以将压缩结果发送到终端设备,以便终端设备将压缩结果渲染到视频帧上。

为了便于理解本申请的技术方案,下面结合实际应用场景对本申请实施例提供的纹理压缩方法进行介绍。

参见图1,图1为本申请实施例提供的纹理压缩方法的应用场景示意图。该应用场景以该纹理压缩方法应用于终端设备(处理设备为终端设备)为例进行介绍,该应用场景中包括终端设备101,终端设备101中配置多种压缩算法,不同的压缩算法可以适用于压缩不同种类的纹理。例如,终端设备101中配置了第一压缩算法和第二压缩算法,其中,第一压缩算法与第二压缩算法是两种不同的压缩算法,第一压缩算法用于压缩第一类纹理,第二压缩算法用于压缩第二类纹理,第一类纹理的压缩质量要求高于所述第二类纹理的压缩质量要求。

当终端设备101获取到待压缩纹理时,终端设备101可以根据用于标识压缩质量要求的预设条件对待压缩纹理进行分类,从而可以针对不同种类的待压缩纹理从所配置的多种压缩算法中自动选择适用的压缩算法对待压缩纹理进行压缩。例如,若终端设备101根据用于标识压缩质量要求的预设条件确定待压缩纹理为第一类纹理,则采用第一类纹理所适用的第一压缩算法压缩所述待压缩纹理;若确定待压缩纹理为第二类纹理,则采用第二类纹理所适用的第二压缩算法压缩所述待压缩纹理。

本申请实施例所提到的纹理可以用于体现需要被渲染到视频帧上的对象所包括的内容;待压缩纹理可以是指需要被压缩的纹理,通过对待压缩纹理进行压缩得到压缩结果,压缩结果在处理设备中所占用的存储空间小,可以减小处理设备的存储压力。另外,将压缩结果渲染到视频帧中,可以提高纹理渲染速度。

例如,待压缩纹理所占用的存储空间为100M,对待压缩纹理进行压缩后得到的压缩结果所占用的存储空间为50M,可见,压缩结果所占用的存储空间明显小于待压缩纹理所占用的存储空间。另外,将50M的压缩结果渲染到视频帧上所用的时间显然会小于将100M的待压缩纹理渲染到视频帧上所用的时间,从而提高纹理渲染速度。

本申请实施例所提供的方法在获取到待压缩纹理时,可以对待压缩纹理进行分类,处理设备上配置有针对不同种类压缩纹理的多种压缩算法,这样,当根据压缩质量要求确定出待压缩纹理对应的种类时,可以从所配置的多种压缩算法中自动选择适用的压缩算法对待压缩纹理进行压缩。

待压缩纹理可能属于的种类可以包括至少两种,即除了第一类纹理和第二类纹理,待压缩纹理还可能属于其他种类,并且针对不同种类的纹理具有对应的压缩算法,本申请实施例提到的第一类纹理和第二类纹理仅是两种种类示例。相应的,终端设备101中配置的压缩算法可以包括至少两种压缩算法,即除了第一压缩算法和第二压缩算法还可以配置其他压缩算法,本申请实施例所提到的第一压缩算法和第二压缩算法仅是压缩算法的两种示例。

需要说明的是,在对待压缩纹理进行压缩后,压缩结果相对于待压缩纹理可能会出现纹理损失。在利用压缩算法对待压缩纹理进行压缩时是具有压缩质量要求的,压缩质量要求可以用于反映用户可以接受的压缩结果的纹理损失程度。通常情况下,要求压缩结果所出现的纹理损失是用户难以通过肉眼发觉到的,从而保证将压缩结果渲染到视频帧上与将待压缩纹理渲染到视频帧上所体现的视觉效果相差不大。如果纹理损失大,将压缩结果渲染到视频帧上时,可能会导致用户看到不好的视觉效果,例如渲染后的视频出现变形、色差、马赛克等问题。此时,则说明利用某压缩算法对待压缩纹理进行压缩的压缩质量不好,该压缩结果可能不符合压缩质量要求,若待压缩纹理的压缩质量要求高,那么,针对该待压缩纹理,应该使用能够得到纹理损失尽可能小的压缩结果的压缩算法。

因此,为了保证针对不同压缩质量要求的待压缩纹理,都可以采用对应的压缩算法得到压缩符合质量要求的压缩结果,在对待压缩纹理进行分类时,所依据的预设条件是特定的预设条件,该预设条件可以用于标识对于压缩结果的压缩质量要求,即该预设条件可以反映出用户能够接受的压缩结果的纹理损失程度,从而针对具有不同压缩质量要求的待压缩纹理,可以选择合适的压缩算法对待压缩纹理进行压缩,得到符合压缩质量要求的压缩结果。

可以理解的是,本申请实施例是根据用于标识压缩质量要求的预设条件对待压缩纹理进行分类的,通过分类得到的纹理种类至少包括两种,例如,第一类纹理和第二类纹理,因此,第一类纹理和第二类纹理是两种具有不同压缩质量要求的纹理种类,其中,第一类纹理的压缩质量要求高于第二类纹理的压缩质量要求。终端设备101中配置有针对具有不同压缩质量要求的待压缩纹理所适用的压缩算法。

需要说明的是,上述图1所示场景仅为一种示例,在此不对本申请实施例提供的纹理压缩方法的应用场景做任何具体限定。

下面通过实施例对本申请提供的纹理压缩方法进行介绍。

参见图2,图2为本申请实施例提供的一种纹理压缩方法的流程示意图。为了便于描述,本实施例以终端设备作为执行主体进行描述,应理解,该纹理压缩方法的执行主体不限于终端设备,还可以应用于其他具有纹理压缩功能的设备,例如服务器。如图2所示,该纹理压缩方法包括:

S201、根据用于标识压缩质量要求的预设条件确定待压缩纹理的种类,若确定所述待压缩纹理为第一类纹理,执行S202,若确定所述待压缩纹理为第二类纹理,执行S203。

终端设备获取到的待压缩纹理可以具有对应的预设条件,该预设条件可以标识待压缩纹理对应的压缩质量要求,即反映出利用压缩算法对待压缩纹理进行压缩后得到的压缩结果应该达到的压缩质量。终端设备根据该预设条件可以对待压缩纹理进行分类,根据待压缩纹理的种类选择合适的压缩算法压缩待压缩纹理。

接下来,将对预设条件的可能形式进行介绍。可以理解的是,需要被渲染到视频帧上的纹理可以有不同的尺寸要求,尺寸要求体现纹理的尺寸大小。有些纹理的尺寸比较大,例如,在视频直播中,所展示的视频界面中可能会包括背景,背景对应的纹理的尺寸一般比较大,一般情况下,背景对应的纹理的尺寸可以和视频帧尺寸大小相同。由于背景对应的纹理的尺寸比较大,即使背景对应的纹理的压缩结果出现一些纹理损失,将压缩结果渲染到视频帧上,对于用户肉眼观测到的视觉效果来说影响不大。因此,尺寸比较大的纹理一般压缩质量要求比较低。

然而,有些纹理的尺寸比较小,例如,视频直播的展示界面上的一些按钮。这些纹理的尺寸本身就很小,如果按钮对应的纹理的压缩结果出现较多的纹理损失,将压缩结果渲染到视频帧上,可能会使用户肉眼观测到的原本就比较小的按钮出现较大的失真。因此,尺寸比较小的纹理一般压缩质量要求比较高。

由此可见,纹理的尺寸要求可以反映出压缩质量要求,纹理的尺寸越大,其压缩质量要求可以越低,纹理的尺寸越小,其压缩质量要求可以越高。纹理的尺寸要求具备可以表示压缩质量要求的特点,因此,纹理的尺寸要求可以作为预设条件,即可以根据纹理的尺寸要求确定待压缩纹理的种类。

应理解,需要被渲染到视频帧上的纹理除了可以有不同的尺寸要求外,还可以具有不同的颜色通道。颜色通道可以是用来存放纹理所体现的颜色信息的,所有颜色通道中的颜色叠加混合产生该纹理所对应的颜色。纹理可以具有至少一种颜色通道,例如,可以包括红色通道、黄色通道、蓝色通道、半透明通道等,使得将纹理渲染到视频帧上时,用户可以看到丰富的颜色。然而,在对具有不同颜色通道的纹理进行压缩时,有些纹理在采用某些压缩算法进行压缩时,得到的压缩结果容易在指定颜色通道上纹理损失较大,因此,针对具有指定颜色通道的纹理,压缩质量要求比较高。

例如,在采用PVR压缩算法对具有透明或者半透明通道的纹理进行压缩时,得到的压缩结果在该通道上纹理损失较大,将压缩结果渲染到视频帧上时,用户可能难以看到该通道上的纹理所体现的视觉效果。因此,在对具有透明或者半透明通道的纹理进行压缩时,压缩质量要求比较高,从而减小透明或者半透明通道上的纹理损失,保证透明或者半透明通道上的纹理所体现的视觉效果能够被用户所看到。其中,透明或者半透明通道可以作为指定颜色通道。PVR是一种纹理压缩算法,全称为Power VR。

由此可见,纹理是否具有指定颜色通道可以反映出压缩质量要求,若纹理具有指定颜色通道,其压缩质量要求可以比较高,否则,其压缩质量要求可以比较低。纹理是否具有指定颜色通道具备可以表示压缩质量要求的特点,因此,纹理是否具有指定颜色通道可以作为预设条件,即可以根据纹理是否具有指定颜色通道确定待压缩纹理的种类。

当然,纹理的尺寸要求和是否具有指定的颜色通道可以共同作为预设条件,即也可以同时根据纹理的尺寸要求和是否具有指定的颜色通道确定待压缩纹理的种类。

S202、采用所述第一类纹理所适用的第一压缩算法压缩所述待压缩纹理。

S203、采用所述第二类纹理所适用的第二压缩算法压缩所述待压缩纹理。

在本实施例,以终端设备中配置有第一压缩算法和第二压缩算法为例进行介绍,其中,第一压缩算法是第一类纹理所适用的压缩算法,第二压缩算法是第二类纹理所适用的压缩算法。在本实施例中,终端设备中可以建立纹理的种类与该种类的纹理所适用的压缩算法的对应关系,若根据用于标识压缩质量要求的预设条件确定待压缩纹理为第一类纹理,则根据对应关系确定采用第一压缩算法压缩待压缩纹理;若根据用于标识压缩质量要求的预设条件确定待压缩纹理为第二类纹理,则根据对应关系确定采用第二压缩算法压缩待压缩纹理。

需要说明的是,在实际使用时,终端设备可以是配置较高的终端设备,也可以是配置较低的终端设备,终端设备的配置不同,其上所配置的多种压缩算法可能会有所不同。接下来,将对不同配置的终端设备所配置的压缩算法进行介绍。

若终端设备为配置较高的终端设备,该终端设备能够配置纹理压缩能力较高的压缩算法,其中,纹理压缩能力可以是指压缩算法对待压缩纹理进行压缩得到符合质量要求的压缩结果的能力。为了保证该终端设备既可以在压缩质量要求较高时,得到符合压缩质量要求的压缩结果,又可以在压缩质量要求较低时,在保证压缩质量的前提下提高渲染速度,第一压缩算法可以是能配置在配置较高的终端设备上且纹理压缩能力较强的压缩算法,第二压缩算法可以是压缩能力较弱,但兼容性较高、纹理渲染速度很快、占用存储空间很低的压缩算法。这样,将第一压缩算法和第二压缩算法同时配置在终端设备上,可以根据纹理的种类选择适用的压缩算法进行纹理压缩,充分利用了第一压缩算法和第二压缩算法的优势,实现了在一台终端设备上压缩算法的混合使用。

具体的,在配置较高的终端设备上配置的第一压缩算法可以为纹理压缩能力高于第一预设条件的压缩算法,第二压缩算法可以为兼容性高于第二预设条件的压缩算法。其中,第一预设条件和第二预设条件是根据实际经验设置的。

例如,终端设备为配置有苹果操作系统(IPhone Operation System,简称IOS)7以上的终端设备,那么,该终端设备中的第一压缩算法可以是纹理压缩能力较高例如高于第一预设条件的爱立信纹理压缩2(Ericsson Texture Compression2,简称ETC2)算法,第二压缩算法可以是兼容性较高例如高于第二预设条件的PVR纹理压缩算法。这样,当待压缩纹理是第一类纹理时,可以采用第一类纹理所适用的纹理压缩能力较高的ETC2算法压缩待压缩纹理,从而保证压缩质量;当待压缩纹理是第二类纹理时,可以采用第二类纹理所适用的兼容性较高的PVR纹理压缩算法压缩待压缩纹理,从而在保证压缩质量的前提下提高渲染速度。

其中,ETC2算法对待压缩纹理的规格没有限制,ETC2算法是内嵌开放图形库(OpenGraphics Library for Embedded Systems,简称OpenGLES)3.0的标准之一,只要终端设备支持OpenGLES3.0,则该终端设备必然支持ETC2。ETC2主要使用马里纹理压缩工具(MaliTexture Compression Tool)实现纹理压缩。

PVR纹理压缩算法对待压缩纹理的规格要求较高,待压缩纹理必须是正方形且边长是2的N次幂。PVR纹理压缩算法是苹果官方推荐的纹理压缩算法,采用PVR纹理压缩算法渲染速度快,占用内存极小。PVR纹理压缩算法主要使用PVRTexTool实现纹理压缩,PVRTexTool是一种PVR纹理压缩工具。

若终端设备为配置较低的终端设备,该终端设备难以配置纹理压缩能力较高的压缩算法,因此,在配置较低的终端设备上对第一类纹理进行压缩时,无法使用例如ETC2等纹理压缩能力较高的压缩算法。但是,为了保证该终端设备可以在对待压缩纹理压缩质量要求较高时,能够减小待压缩纹理所占用的存储空间且保证得到符合压缩质量要求的压缩结果,该终端设备上配置的第一压缩算法可以是纹理缩小算法,与ETC2等纹理压缩能力较高的压缩算法不同,该纹理缩小算法可以用于缩小待压缩纹理的尺寸和/或降低待压缩纹理的精度;相应的,为了保证在压缩质量要求较低时,在不影响压缩质量的前提下提高渲染速度,在配置较低的终端设备上配置的第二压缩算法可以为兼容性高于第二预设条件的压缩算法。

当该纹理缩小算法用于缩小待压缩纹理的尺寸时,纹理缩小算法可以按照一定的比例缩小待压缩纹理的尺寸,待压缩纹理的尺寸可以用分辨率来表示。例如,待压缩文纹理的尺寸可以表示为1280*960,将该待压缩纹理的尺寸缩小到原来的二分之一,则得到的压缩结果的尺寸为640*480。

通过纹理缩小算法缩小待压缩纹理的尺寸,可以使待压缩纹理的尺寸等比缩小,因此,可以节省相应比例的存储空间,同时不会特别影响到纹理质量,能够得到符合较高压缩质量要求的压缩结果。

当该纹理缩小算法用于降低待压缩纹理的精度时,待压缩纹理的精度可以用待压缩纹理中单个像素储存信息的位数来表示,待压缩一般情况下,待压缩纹理的精度为32位,利用纹理缩小算法降低待压缩纹理的精度时,可以将待压缩纹理的精度从32位降低,例如可以将待压缩纹理的精度从32位降低到24位。待压缩纹理的精度从32位降低到越小的位数,得到的压缩结果的纹理损失可能越大,因此,可以根据压缩质量要求,将待压缩纹理的精度降低到合适的位数,从而在不会特别影响纹理质量的前提下节省存储空间。

一般情况下,在终端设备中采用convert命令来实现纹理缩小算法,以将该待压缩纹理的尺寸缩小到原来的二分之一为例,该纹理缩小算法可以表示如下:

convert${infile}’-resize 50%’${outfile}

其中,convert为用来对待压缩纹理进行纹理缩小的命令;${infile}表示读取的输入文件,即读取待压缩纹理;resize 50%表示纹理缩小算法的具体动作为将待压缩纹理的尺寸缩小到原来的50%;${outfile}表示读取的输出文件,即读取压缩结果。

需要说明的是,纹理缩小算法能够被配置较低的终端设备所支持,从而实现在配置较低的终端设备中不仅可以对压缩质量要求较低的待压缩纹理进行压缩,还可以对压缩质量要求较高的待压缩纹理进行压缩。

由上述技术方案可以看出,在获取待压缩纹理时,可以根据用于标识压缩质量要求的预设条件来确定待压缩纹理的种类,例如是压缩质量要求相对较高的第一类纹理还是压缩质量要求相对较低的第二类纹理。若待压缩纹理为第一类纹理,可以明确对待压缩纹理的压缩质量要求比较高,需要采用能够得到高压缩质量的第一压缩算法来压缩该待压缩纹理,得到的压缩结果相对于待压缩纹理损失较小,在采用该压缩结果进行渲染能够保证应有的渲染质量。若待压缩纹理为第二类纹理,可以明确对待压缩纹理的压缩质量要求不高,可以采用能够得到一般压缩质量的第二压缩算法来压缩该待压缩纹理,从而提高压缩效率和渲染效率。通过识别待压缩纹理的类型,使得一台处理设备可以配置多种压缩算法,针对待压缩纹理的识别结果,能够实现从所配置的多种压缩算法中自动选择适用的压缩算法对待压缩纹理进行压缩,避免了采用单一压缩算法带来的问题,从而可以更好的满足纹理压缩需求。

图2对应的实施例介绍了如何压缩待压缩纹理,但是可能并不是所有的纹理都需要进行纹理压缩,在本实施例中,将对如何确定是否需要压缩待压缩纹理进行介绍。

在一些情况下,有一些纹理本身所占用的存储空间就很小,即使对这些纹理进行压缩,也不会对节省存储空间带来明显的效果,在这种情况下,为了避免纹理压缩耗费的时间,提高纹理渲染的速度,对于占用存储空间较小的纹理可以不进行压缩。例如,视频直播过程中,在视频直播界面上可以存在一些固定的按钮,这些固定的按钮对应的纹理本身所占用的存储空间就比较小,因此,这些固定的按钮对应的纹理可以不进行压缩。

或者,有一些纹理比较脆弱,即使是利用压缩能力较高的压缩算法进行压缩,压缩结果也会出现较大的纹理损失,相对于将待压缩纹理渲染到视频帧上,将压缩结果渲染到视频帧上可能会影响用户所看到的视觉效果。例如,具有透明颜色通道的纹理,对具有透明颜色通道的纹理进行压缩后,容易出现较大的纹理损失,可能会使透明颜色通道丢失,因此,对于这些易出现纹理损失的纹理可以不进行压缩。

由于无需压缩哪些纹理或者具有哪些特点的纹理可以是预先知晓的,纹理可以具有对应的标识,因此,在本实施例中,可以将无需压缩的纹理对应的标识构成不压缩标识集合,通过确定待压缩纹理的标识是否处于该不压缩标识集合中来确定是否压缩该待压缩纹理,具体的,参见图3,在需要确定是否需要压缩待压缩纹理的情况下,纹理压缩方法可以包括:

S301、获取所述待压缩纹理的标识。

待压缩纹理可以具有对应的标识,标识可以用于区分不同的纹理,每个纹理具有唯一对应的标识。其中,标识可以是消息摘要算法5(Message Digest Algorithm 5,简称MD5),也可以是为不同纹理设置的数字、符号等。

终端设备在获取到待压缩纹理后,可以获取待压缩纹理的标识,以便根据标识确定是否需要压缩待压缩纹理。

S302、确定所述待压缩纹理的标识是否处于不压缩标识集合中,若处于,则执行S303,若不处于,则执行S304。

所述不压缩标识集合中包括至少一个不需压缩的纹理的标识,将待压缩纹理的标识与不压缩标识集合中包括的不需压缩的纹理的标识进行比对,若待压缩纹理的标识与不压缩标识集合中包括的任一不需压缩的纹理的标识相同,则待压缩纹理的标识处于不压缩标识集合中,此时,执行S303;否则,执行S304-S306,对所述待压缩纹理进行压缩。

其中,S304-S306依次对应于S201-S203,此处不再赘述。

S303、不压缩所述待压缩纹理。

S304、根据用于标识压缩质量要求的预设条件确定待压缩纹理的种类;若确定所述待压缩纹理为第一类纹理,执行S305,若确定所述待压缩纹理为第二类纹理,执行S306。

S305、采用所述第一类纹理所适用的第一压缩算法压缩所述待压缩纹理。

S306、采用所述第二类纹理所适用的第二压缩算法压缩所述待压缩纹理。

通过确定是否需要压缩待压缩纹理,可以保证在必要的情况下对待压缩纹理进行压缩,而非对所有待压缩纹理都进行压缩,从而避免执行一些不必要的纹理压缩方法,提高纹理渲染速度。

图3对应的实施例介绍了如何确定是否需要压缩待压缩纹理,实现了在无需压缩待压缩纹理的情况下,不压缩待压缩纹理,以可以将待压缩纹理本身渲染到视频帧上。接下来,将对另一种确定是否需要压缩待压缩纹理的方法介绍。

在一些情况下,某纹理在之前已经进行了压缩,并得到对应的已压缩纹理。若此次需要被渲染到视频帧上的纹理仍然包括该纹理,该纹理与之前相比没有被修改或发生其他改变,针对该纹理,由于之前已经压缩得到了该纹理对应的已压缩纹理,那么,为了提高纹理渲染的速度,避免不必要的数据处理,则无需重新执行S201-S203的纹理压缩方法,以重新压缩该纹理得到该纹理的压缩结果,可以直接将之前得到的已压缩纹理作为此次该纹理的压缩结果。

为此,在每次压缩纹理时,可以将在未压缩时该纹理的标识保存起来,构成已压缩标识集合。在得到已压缩纹理后,可以保存该已压缩纹理和该已压缩纹理在未压缩时对应纹理的标识的对应关系,这样,在下一次获取待压缩纹理时,可以通过待压缩纹理的标识是否与已压缩标识集合中的任一标识匹配来确定是否重新压缩该待压缩纹理。具体的,参见图4,在需要确定是否需要压缩待压缩纹理的情况下,纹理压缩方法可以包括:

S401、获取所述待压缩纹理的标识。

待压缩纹理可以具有对应的标识,标识可以用于区分不同的纹理,每个纹理具有唯一对应的标识。在本实施例中,可以将已压缩纹理作为待压缩纹理的压缩结果的前提可以是待压缩纹理与已压缩纹理在未压缩时对应的纹理应该完全一致,不应该发生任何修改或其他改变,因此,本实施例中的标识可以是MD5,MD5可以体现出待压缩纹理相对于已压缩纹理在未压缩时是否出现修改,一旦出现修改,待压缩纹理MD5与已压缩纹理在未压缩时的MD5便会不同,从而可以精确的确定该待压缩纹理之前是否已经被压缩过。

例如,对纹理A进行压缩后得到已压缩纹理B,纹理A即为已压缩纹理在未压缩时的纹理,纹理A的MD5即已压缩纹理在未压缩时的MD5。针对待压缩纹理C,若待压缩纹理C相对于纹理A出现修改,则待压缩纹理C的MD5与纹理A的MD5不同,即待压缩纹理MD5与已压缩纹理在未压缩时的MD5不同;若待压缩纹理C与纹理A完全相同,则待压缩纹理C的MD5与纹理A的MD5相同,即待压缩纹理MD5与已压缩纹理在未压缩时的MD5相同。

S402、根据所述待压缩纹理的标识与已压缩标识集合进行匹配,若所述待压缩纹理的标识与所述已压缩标识集合中的目标标识匹配,执行S403,否则,执行S404。

所述已压缩标识集合中包括至少一个已压缩纹理在未压缩时的标识。将待压缩纹理的标识与已压缩标识集合中包括的已压缩纹理在未压缩时的标识进行匹配,若待压缩纹理的标识与已压缩标识集合中包括的已压缩纹理在未压缩时的标识相匹配,例如,与目标标识匹配,则说明该待压缩纹理在之前已经被压缩过并得到对应的已压缩纹理,此时,执行S403;否则,执行S404-S406,对所述待压缩纹理进行压缩。

其中,S404-S406依次对应于S201-S203,此处不再赘述。

S403、若所述待压缩纹理的标识与所述已压缩标识集合中的目标标识匹配,将所述目标标识对应的已压缩纹理作为所述待压缩纹理的压缩结果。

其中,压缩结果也是已压缩纹理,压缩结果用来表示此次纹理压缩所得到的纹理,已压缩纹理用来表示之前纹理压缩所得到的纹理。

S404、根据用于标识压缩质量要求的预设条件确定待压缩纹理的种类,若确定所述待压缩纹理为第一类纹理,执行S405,若确定所述待压缩纹理为第二类纹理,执行S406。

S405、采用所述第一类纹理所适用的第一压缩算法压缩所述待压缩纹理。

S406、采用所述第二类纹理所适用的第二压缩算法压缩所述待压缩纹理。

通过确定是否需要压缩待压缩纹理,可以保证在已经通过纹理压缩得到过待压缩纹理对应的已压缩纹理的情况下,无需再次进行纹理压缩,可以直接将之前得到的已压缩纹理作为此次待压缩纹理的压缩结果,从而避免再次执行纹理压缩方法,提高纹理渲染速度,减少重复进行纹理压缩的时间消耗。

接下来,将结合具体应用场景对纹理压缩方法进行介绍。在该场景中,纹理的种类包括第一类纹理和第二类纹理这两类,其中,第一类纹理为压缩质量要求较高的纹理,第二类纹理为压缩质量要求较低的纹理,第一压缩算法为ETC2算法或纹理缩小算法,纹理缩小算法用于将待压缩纹理的尺寸减半,第二压缩算法为PVR压缩算法。此时,纹理压缩方法的应用场景示意图如图5所示。

在图5对应的场景下,参见图6,所述方法包括:

S601、根据用于标识压缩质量要求的预设条件确定待压缩纹理的种类。

S602、若确定所述待压缩纹理为压缩质量要求较高的纹理,且终端设备为配置较高的终端设备,采用ETC2算法压缩所述待压缩纹理,得到ETC2纹理。

S603、若确定所述待压缩纹理为压缩质量要求较高的纹理,且终端设备为配置较低的终端设备,采用纹理缩小算法压缩所述待压缩纹理,得到大小减半纹理。

S604、若确定所述待压缩纹理为压缩质量要求较低的纹理,采用PVR压缩算法压缩所述待压缩纹理,得到PVR纹理。

由上述技术方案可以看出,在获取待压缩纹理时,可以根据用于标识压缩质量要求的预设条件来确定待压缩纹理的种类,例如是压缩质量要求相对较高的第一类纹理还是压缩质量要求相对较低的第二类纹理。若待压缩纹理为第一类纹理,可以明确对待压缩纹理的压缩质量要求比较高,需要采用能够得到高压缩质量的第一压缩算法来压缩该待压缩纹理,得到的压缩结果相对于待压缩纹理损失较小,在采用该压缩结果进行渲染能够保证应有的渲染质量。若待压缩纹理为第二类纹理,可以明确对待压缩纹理的压缩质量要求不高,可以采用能够得到一般压缩质量的第二压缩算法来压缩该待压缩纹理,从而提高压缩效率和渲染效率。通过识别待压缩纹理的类型,使得一台处理设备可以配置多种压缩算法,针对待压缩纹理的识别结果,能够实现从所配置的多种压缩算法中自动选择适用的压缩算法对待压缩纹理进行压缩,避免了采用单一压缩算法带来的问题,从而可以更好的满足纹理压缩需求。

基于前述实施例提供的一种纹理压缩方法,本实施例提供一种纹理压缩装置700,参见图7a,所述装置700包括第一确定单元701、第一压缩单元702和第二压缩单元703:

所述第一确定单元701,用于根据用于标识压缩质量要求的预设条件确定待压缩纹理的种类;

所述第一压缩单元702,用于若所述第一确定单元701确定所述待压缩纹理为第一类纹理,采用所述第一类纹理所适用的第一压缩算法压缩所述待压缩纹理;

所述第二压缩单元703,用于若所述第一确定单元701确定所述待压缩纹理为第二类纹理,采用所述第二类纹理所适用的第二压缩算法压缩所述待压缩纹理;

其中,所述第一类纹理的压缩质量要求高于所述第二类纹理的压缩质量要求。

在一种实现方式中,所述预设条件包括纹理的尺寸要求和/或是否具有指定的颜色通道。

在一种实现方式中,参见图7b,所述装置700还包括第一获取单元704、第二确定单元705和不压缩单元706:

所述第一获取单元704,用于获取所述待压缩纹理的标识;

所述第二确定单元705,用于确定所述待压缩纹理的标识是否处于不压缩标识集合中,所述不压缩标识集合中包括至少一个不需压缩的纹理的标识;

所述不压缩单元706,用于所述第二确定单元705确定所述待压缩纹理的标识处于所述不压缩标识集合中,不压缩所述待压缩纹理。

在一种实现方式中,参见图7c,所述装置700还包括第二获取单元707、匹配单元708和第三确定单元709:

所述第二获取单元707,用于获取所述待压缩纹理的标识;

所述匹配单元708,用于根据所述待压缩纹理的标识与已压缩标识集合进行匹配,所述已压缩标识集合中包括至少一个已压缩纹理在未压缩时的标识;

所述第三确定单元709,用于若所述匹配单元确定所述待压缩纹理的标识与所述已压缩标识集合中的目标标识匹配,将所述目标标识对应的已压缩纹理作为所述待压缩纹理的压缩结果。

在一种实现方式中,所述第一压缩算法为纹理压缩能力高于第一预设条件的压缩算法;所述第二压缩算法为兼容性高于第二预设条件的压缩算法;

或者,

所述第一压缩算法为纹理缩小算法,用于缩小所述待压缩纹理的尺寸和/或降低待压缩纹理的精度;所述第二压缩算法为兼容性高于所述第二预设条件的压缩算法。

由上述技术方案可以看出,在获取待压缩纹理时,第一确定单元701可以根据用于标识压缩质量要求的预设条件来确定待压缩纹理的种类,例如是压缩质量要求相对较高的第一类纹理还是压缩质量要求相对较低的第二类纹理。若第一确定单元701确定待压缩纹理为第一类纹理,可以明确对待压缩纹理的压缩质量要求比较高,需要第一压缩单元702采用能够得到高压缩质量的第一压缩算法来压缩该待压缩纹理,得到的压缩结果相对于待压缩纹理损失较小,在采用该压缩结果进行渲染能够保证应有的渲染质量。若第一确定单元701确定待压缩纹理为第二类纹理,可以明确对待压缩纹理的压缩质量要求不高,第二压缩单元703可以采用能够得到一般压缩质量的第二压缩算法来压缩该待压缩纹理,从而提高压缩效率和渲染效率。通过识别待压缩纹理的类型,使得一台处理设备可以配置多种压缩算法,针对待压缩纹理的识别结果,能够实现从所配置的多种压缩算法中自动选择适用的压缩算法对待压缩纹理进行压缩,避免了采用单一压缩算法带来的问题,从而可以更好的满足纹理压缩需求。

本申请实施例还提供了一种用于纹理压缩的设备,下面结合附图对用于纹理压缩的设备进行介绍。请参见图8所示,本申请实施例提供了一种用于纹理压缩的设备800,该设备800可以是服务器,可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(Central Processing Units,简称CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在用于运动情况展示的设备800上执行存储介质830中的一系列指令操作。

用于运动情况展示的设备800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器结构。

其中,CPU 822用于执行如下步骤:

根据用于标识压缩质量要求的预设条件确定待压缩纹理的种类;

若确定所述待压缩纹理为第一类纹理,采用所述第一类纹理所适用的第一压缩算法压缩所述待压缩纹理;

若确定所述待压缩纹理为第二类纹理,采用所述第二类纹理所适用的第二压缩算法压缩所述待压缩纹理;

其中,所述第一类纹理的压缩质量要求高于所述第二类纹理的压缩质量要求。

请参见图9所示,本申请实施例提供了一种用于纹理压缩的设备900,该设备900还可以是终端设备,该终端设备可以为包括手机、平板电脑、个人数字助理(PersonalDigital Assistant,简称PDA)、销售终端(Point of Sales,简称POS)、车载电脑等任意终端设备,以终端设备为手机为例:

图9示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图9,手机包括:射频(Radio Frequency,简称RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(wireless fidelity,简称WiFi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图9对手机的各个构成部件进行具体的介绍:

RF电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器980处理;另外,将设计上行的数据发送给基站。通常,RF电路910包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,简称LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,简称GSM)、通用分组无线服务(GeneralPacket Radio Service,简称GPRS)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称WCDMA)、长期演进(Long Term Evolution,简称LTE)、电子邮件、短消息服务(Short Messaging Service,简称SMS)等。

存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元930可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示面板941,可选的,可以采用液晶显示器(Liquid CrystalDisplay,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板941。进一步的,触控面板931可覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触控面板931与显示面板941是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在手机移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路960、扬声器961,传声器962可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910以发送给比如另一手机,或者将音频数据输出至存储器920以便进一步处理。

WiFi属于短距离无线传输技术,手机通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。

手机还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本实施例中,该终端设备所包括的处理器980还具有以下功能:

根据用于标识压缩质量要求的预设条件确定待压缩纹理的种类;

若确定所述待压缩纹理为第一类纹理,采用所述第一类纹理所适用的第一压缩算法压缩所述待压缩纹理;

若确定所述待压缩纹理为第二类纹理,采用所述第二类纹理所适用的第二压缩算法压缩所述待压缩纹理;

其中,所述第一类纹理的压缩质量要求高于所述第二类纹理的压缩质量要求。

本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种纹理压缩方法中的任意一种实施方式。

本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

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

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

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

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

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像编码方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类