纹理压缩文件生成方法技术

技术编号:14173299 阅读:66 留言:0更新日期:2016-12-13 01:24
本公开揭示了一种纹理压缩文件生成的方法及装置,该方法包括:获取待压缩图像数据;根据输入的目标分辨率以及所述待压缩图像数据,生成具有标识作用的头文件;提取所述待压缩图像数据中图像的颜色像素和图像的透明通道并将两者分离;根据所述目标分辨率对所述透明通道进行调整;对调整后的透明通道和所述颜色像素进行纹理压缩;将压缩后的透明通道、压缩后的颜色像素与所述头文件封装。本发明专利技术提高了纹理的压缩率,大大减少了内存的占用率,且本发明专利技术可普及应用到所有支持OPENGL ES 2.0的设备上,适用性高。

Texture compression file generation method

The disclosed method and apparatus for texture compression file generation, the method includes: acquiring image data to be compressed; according to the input of the target resolution and the compressed image data, generated with a logo function header file; transparent channel to extract the image to be compressed image data in pixel and image and color to separate; according to the target resolution on the transparent channel adjustment; on transparent channel after adjustment and the color pixel texture compression; color pixel transparent channel, compressed compressed and the head file package. The invention improves the compression rate of texture, greatly reducing the memory occupancy rate, and the invention can be popularized and applied to all support OPENGL ES 2 devices, high applicability.

【技术实现步骤摘要】

本公开用于图像数据处理,尤其是一种用于图像数据处理的纹理压缩文件生成方法
技术介绍
随着科技的进步,手机在成为人们必不可少的生活用品之一的同时,其所具备的功能越来越多,例如,在手机上玩游戏等。要想在手机上实现玩游戏等类似功能,那么GPU,即显卡等图形硬件则是支持游戏等功能中必不可少的硬件设备。GPU可以对图像中的纹理进行处理。纹理是在计算因图像画面的光栅化所产生的片段的色彩或外观时使用的一维、二维或多维数据项阵列。纹理可以是图像数据(照相的或计算机生成的)、颜色或透明度数据、粗糙度/光滑度数据、反射率数据等等。提供逼真的图形一般要求很多高质量的细节纹理。提供这样的纹理可能加重可用的内存和带宽的负担。GPU可以允许纹理在硬件设备中保持压缩状态,在所需的样本上实时1解压缩从而还原完整的图像,可以大幅减少所需的内存和带宽量。纹理包括的颜色或透明度数据,即为颜色像素和透明通道。在许多应用场景下,例如游戏,3D模型等,在对颜色像素进行纹理压缩的基础上,能够支持透明通道的压缩会进一步提高压缩率,减少所需的内存和带宽量。但是,由于标准等原因,现有支持透明通道纹理压缩的压缩技术只能应用在一小部分移动设备上。目前,大多数移动设备只支持到OpenGL ES 2.0。OpenGL ES 2.0是Khronos集团在2007年3月份制定的一种业界标准应用程序编程接口(API),可以大大提高不同消费电子设备的3D图形渲染速度,在嵌入式系统上实现了全面可编程的3D图形。现有的支持透明通道压缩的压缩技术,例如PVRTC纹理压缩并未被收入OPENGL ES 2.0的标准之内。换而言之,PVRTC技术只能应用在一小部分移动设备上,例如IMAGINE TECHNOLOGIES公司授权的GPU芯片上。目前并没有一项支持透明通道的纹理压缩技术能够广泛应用在手机等移动设备上,因此,实现OpenGL ES 2.0的标准上,支持透明通道的纹理压缩便成为迫在眉睫的问题。
技术实现思路
鉴于上述存在的缺陷,有必要提供一种纹理压缩文件生成方法,实现了在OpenGL ES 2.0的标准上,支持透明通道的纹理压缩。本公开提供一种纹理压缩文件生成方法,所述方法包括:获取待压缩图像数据,所述待压缩图像数据包括图像本身以及与图像关联的数据信息;根据输入的目标分辨率以及所述待压缩图像数据,将所述目标分辨率以及所述待压缩图像数据中任意一种或多种数据进行合并,生成具有标识作用的头文件;提取所述待压缩图像数据中图像的透明通道,将所述待压缩图像数据中图像的颜色像素与图像的透明通道分离;根据所述目标分辨率对所述透明通道进行分辨率调整,将所述透明通道的分辨率不断调低,直至与所述目标分辨率等同;对调整后的透明通道和所述颜色像素进行纹理压缩,所述纹理压缩使用的技术包括ETC纹理压缩;将压缩后的透明通道、压缩后的颜色像素与所述头文件封装。另外,还有必要提供一种纹理压缩文件生成装置,该装置包括:第一获取单元,用于获取待压缩图像数据,所述待压缩图像数据包括图像本身以及与图像关联的数据信息;头文件生成模块,用于根据输入的目标分辨率以及所述待压缩图像数据,将所述目标分辨率以及所述待压缩图像数据中任意一种或多种数据进行合并,生成具有标识作用的头文件;分离单元,用于提取所述待压缩图像数据中图像的透明通道,将所述待压缩图像数据中的颜色像素和图像的透明通道分离;分辨率调整模块,用于根据所述目标分辨率对所述透明通道进行分辨率调整,将所述透明通道的分辨率不断调低,直至与所述目标分辨率等同;压缩单元,用于对调整后的透明通道和所述颜色像素进行纹理压缩,所述纹理压缩使用的技术包括ETC纹理压缩;封装单元,用于将压缩后的透明通道、压缩后的颜色像素与所述头文件封装。本公开的实施例提供的技术方案可以包括以下有益效果:本专利技术通过获取待压缩图像数据;根据输入的目标分辨率以及待压缩图像数据,生成具有标识作用的头文件;提取待压缩图像数据中图像的透明通道,将待压缩图像中图像的颜色像素和图像的透明通道分离,便于后续对颜色和图像透明通道的处理;根据所述目标分辨率对所述透明通道进行分辨率调整;对调整后的透明通道和所述颜色像素进行纹理压缩;将压缩后的透明通道、压缩后的颜色像素与所述头文件封装,以支持OpenGL ES 2.0的标准为基础,在此基础上实现了对透明通道纹理压缩的支持,该方法能够广泛应用于大多数移动设备上,大大提高了普及性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并于说明书一起用于解释本专利技术的原理。图1是一个实施例中图像压缩方法的方法流程图;图2是图1中跟据输入的目标分辨率以及所述待压缩图像数据,生成头文件步骤的方法流程图;图3是图1中根据所述目标分辨率对所述透明通道进行调整步骤的方法流程图;图4是透明通道减分辨率算法的示意图;图5是一个实施例中图像压缩装置的装置示意图;图6是图4中头文件生成模块的装置示意图;图7是图4中分辨率调整模块的装置示意图。具体实施方式这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。在一个实施例中,请参考图1,具体的,该纹理压缩文件生成的方法及装置,包括:步骤110,获取待压缩图像数据。待压缩的图像数据包括图像、与图像捆绑的图像格式标识、图像著作权、图像作者、图像分辨率、图像的高度以及图像的宽度等。获取待压缩图像数据的方式可以是通过检测用户选取待压缩图像行为,进而获取与待压缩图像关联存储的待压缩图像数据。步骤120,根据输入的目标分辨率以及待压缩图像数据,生成具有标识作用的头文件。目标分辨率即为用户输入的所需求分辨率。将目标分辨率以及待压缩图像数据中任意数据信息进行合并,生成具有标识作用的头文件,将头文件写入对应的头文件内存缓冲区域。步骤130,提取待压缩图像数据中图像的透明通道,将待压缩图像数据中图像的颜色像素和图像的透明通道进行分离。在大多数例如手机游戏等应用场景中,对透明通道的分辨率要求不是太高,所以,对透明通道的分辨率可以进行降低等调整,丛刻减少内存占用率和节省存储空间。在此讲图像的透明通道进行单独提取,与图像中的颜色像素进行分离,以便后续步骤中对透明通道分辨率通道进行调整。另外,多数支持OpenGL ES 2.0标准的压缩技术直接对图像进行纹理压缩可能会造成透明通道的丢失,此步骤同时也保护了透明通道不被丢失。步骤140,根据目标分辨率对透明通道进行调整。如前述,待压缩图像中的透明通道具有可调整的空间,根据用户输入的目标分辨率对透明通道进行调整,直至透明通道的分辨率与目标分辨率等同。步骤150,对颜色像素和调整后的透明通道进行纹理压缩。需要说明的是,这里所述的纹理压缩必须是能够支持OpenGL ES 2.0标准的纹理压缩技术,例如由爱立信研发的ETC1技术。另外,针对进行纹理压缩后的颜色像素、压缩后的透明通道预置有对本文档来自技高网
...
纹理压缩文件生成方法

【技术保护点】
一种纹理压缩文件生成方法,其特征在于,包括:获取待压缩图像数据;根据输入的目标分辨率以及所述待压缩图像数据,生成具有标识作用的头文件;提取所述待压缩图像数据中图像的透明通道,将所述待压缩图像数据中图像的颜色像素与图像的透明通道分离;根据所述目标分辨率对所述透明通道进行分辨率调整;对调整后的透明通道和所述颜色像素进行纹理压缩;将压缩后的透明通道、压缩后的颜色像素与所述头文件封装。

【技术特征摘要】
1.一种纹理压缩文件生成方法,其特征在于,包括:获取待压缩图像数据;根据输入的目标分辨率以及所述待压缩图像数据,生成具有标识作用的头文件;提取所述待压缩图像数据中图像的透明通道,将所述待压缩图像数据中图像的颜色像素与图像的透明通道分离;根据所述目标分辨率对所述透明通道进行分辨率调整;对调整后的透明通道和所述颜色像素进行纹理压缩;将压缩后的透明通道、压缩后的颜色像素与所述头文件封装。2.根据权利要求1所述的图像压缩方法,其特征在于,所述根据输入的目标分辨率以及所述待压缩图像数据,生成具有标识作用的头文件的步骤包括:获取输入的目标分辨率;读取所述待压缩图像数据中图像的宽度信息和图像的长度信息,将所述图像的宽度信息、长度信息以及所述输入的目标分辨率进行合并,生成具有标识作用的头文件。3.根据权利要求1所述的图像压缩方法,其特征在于,所述根据所述目标分辨率对所述透明通道进行调整的步骤包括:将所述透明通道的宽和高均减至原有数值的一半,生成新的透明通道,所述新生成的透明通道的分辨率为调整前的四分之一;根据所述目标分辨率,对所述新生成的透明通道进行判别,若所述新生成的透明通道分辨率等同于所述目标分辨率,进行后续步骤;若不等,重复上述分辨率调整步骤,直至生成的透明通道分辨率与目标分辨率等同。4.根据权利要求1所述的方法,其特征在于,所述对调整后的透明通道和所述颜色像素进行纹理压缩的步骤中,进行所述纹理压缩所使用的方法包括爱立信纹理压缩。5....

【专利技术属性】
技术研发人员:连冠荣
申请(专利权)人:深圳市创梦天地科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1