《一种保留ALPHA通道的图片压缩方法.pdf》由会员分享,可在线阅读,更多相关《一种保留ALPHA通道的图片压缩方法.pdf(8页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102821279 A (43)申请公布日 2012.12.12 C N 1 0 2 8 2 1 2 7 9 A *CN102821279A* (21)申请号 201210270594.9 (22)申请日 2012.07.31 H04N 7/26(2006.01) H04N 11/02(2006.01) (71)申请人北京天神互动科技有限公司 地址 100027 北京市东城区朝阳门北大街6 号首创大厦B座12B (72)发明人朱希顺 石波涛 张春平 (74)专利代理机构北京海虹嘉诚知识产权代理 有限公司 11129 代理人张涛 李翀 (54) 发明名称 一种保留alp。
2、ha通道的图片压缩方法 (57) 摘要 本发明涉及一种保留alpha通道的图片压缩 方法,其步骤包括:1)读取图片数据,对图片数据 进行逐像素的扫描,将每个像素的alpha通道数 据分离出来;2)所有像素的alpha通道数据合并 成alpha通道文件;3)所有像素的RGB通道数据 进行有损压缩,生成RGB压缩文件;4)alpha通道 文件和RGB压缩文件合并到一个中间文件中;将 中间文件进行无损压缩,生成压缩数据。经过上述 两次压缩之后,压缩数据中保存了经过无损压缩、 完整的alpha通道文件和经过有损压缩、压缩率 更低的RGB压缩文件。从而既保留带ARGB通道数 据的图片文件的alpha通道。
3、数据,又能增加图片 文件的压缩率,除此之外,这种压缩方法还可以用 于对图片文件进行加密。 (51)Int.Cl. 权利要求书1页 说明书4页 附图2页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 4 页 附图 2 页 1/1页 2 1.一种图片压缩方法,其步骤包括: 1)读取图片数据,对所述图片数据进行逐像素的扫描,将每个像素的alpha通道数据 分离出来; 2)所有像素的alpha通道数据合并成alpha通道文件; 3)所有像素的RGB通道数据进行有损压缩,生成RGB压缩文件; 4)所述alpha通道文件和所述RGB压缩文件合并到一个中间文件中;将。
4、所述中间文件 进行无损压缩,生成压缩数据。 2.如权利要求1所述的一种图片压缩方法,其特征在于:所述步骤1)中的alpha通道 数据通过位操作分离。 3.如权利要求1所述的一种图片压缩方法,其特征在于:所述步骤4)中的所述中间文 件为二进制文件。 4.如权利要求1或2或3所述的一种图片压缩方法,其特征在于:所述中间文件包括: 图片宽度、像素总数、alpha通道文件、RGB压缩文件。 5.如权利要求4所述的一种图片压缩方法,其特征在于:所述压缩数据的解压缩步骤 包括: a)对所述压缩数据进行解压缩得到所述中间文件; b)在所述中间文件中读取所述图片宽度和所述像素总数,图片高度=像素总数/图片 宽。
5、度; c)按照所述图片高度和所述图片宽度在存储器中创建一个空白图片; d)读取所述alpha通道文件和所述RGB压缩文件,对所述RGB压缩文件解压缩,生成 RGB通道文件; e)将所述alpha通道文件中的alpha通道数据和所述RGB通道文件中的RGB通道数据 合并为像素值,将所述像素值填入所述空白图片中,还原成所述图片数据。 6.如权利要求1或2或3或5所述的一种图片压缩方法,其特征在于:所述有损压缩 方法采用哈夫曼编码。 7.如权利要求1或2或3或5所述的一种图片压缩方法,其特征在于:所述无损压缩 方法采用deflate算法。 8.如权利要求5所述的一种图片压缩方法,其特征在于:压缩步骤。
6、在服务器中进行,生 成所述压缩数据,将所述压缩数据通过网络传入客户端中;所述解压缩步骤在所述客户端 中进行,对所述压缩数据解压缩后得到图片数据。 9.如权利要求8所述的一种图片压缩方法,其特征在于:所述图片数据在客户端生成 对用户显示的界面。 权 利 要 求 书CN 102821279 A 1/4页 3 一种保留 alpha 通道的图片压缩方法 技术领域 0001 本发明涉及一种图像处理领域,具体涉及一种保留alpha通道的图片压缩方法。 背景技术 0002 alpha通道是一个8位的灰度通道,该通道用0-255级灰度来记录图像中的透明度 信息,定义透明、不透明和半透明区域,其中黑表示全透明,。
7、白表示不透明,灰表示半透明。 网页游戏的场景制作中,经常利用alpha通道的透明特性制作出丰富的效果,经过alpha通 道的叠加与合成,可使图片中某一部分依据不同原理透明。即将所选颜色从图片中去除,从 而使去除颜色的图片部分透出背景,没有去掉颜色的部分依旧保留原来的色彩。 0003 如图1所示,图片文件由带有ARGB通道数据的像素组成,每个像素都是一个ARGB (alpha,red,green,blue)色,分为alpha通道,red通道,green通道,blue通道,其中alpha 通道为透明通道。像素值包括32位二进制数,取值范围从0x00000000到0xFFFFFFFF,可划 分为al。
8、pha通道数据、red通道数据、green通道数据、blue通道数据。其中每个通道数据 为8位二进制数,取值范围是0-255。由于带有alpha通道数据的ARGB图片文件比普通的 RGB图片文件大得多,因此对于那些对图片质量和数量都要求较高的情况下,提高图片文件 的压缩率对于图片文件的存储和传输都具有非常重大的实际意义。 0004 现有技术中对于含有alpha通道的图片文件压缩方法通常为:一、对图片文件进 行无损压缩得到压缩文件,在解压缩后可还原包括alpha通道数据在内的原始数据而不引 起任何失真;但是由于无损压缩的压缩率通常仅为60%左右,使得压缩文件的大小仍旧很 大,不能满足大的图片文件。
9、存储和传输的要求。二、对图片文件进行有损压缩,虽然有损压 缩的压缩率能够达到14%左右,但是现有的有损压缩方法通常要牺牲alpha通道数据,解压 缩后得到的解压文件相对于原始的图片文件严重失真,无法实现原始图片的特定效果。因 此,目前还没有一种能够既保留alpha通道数据,又能够对图片进行有损压缩的图片压缩 方法。 0005 为了保护原创性设计作品的知识产权,作者希望对设计作品进行加密处理,以确 保自己的设计作品在网络上流通的过程中被别人利用和修改。而由于图片的文件格式都是 固定的,如果作者使用普通的压缩软件对作品进行压缩和加密,势必会被一些针对于压缩 软件的分析器轻易破解,对作者造成不可弥补。
10、的损失。 发明内容 0006 本发明针对现有技术的不足,提出了一种在压缩时既保留带ARGB通道数据的图 片文件的alpha通道数据,又能增加图片文件的压缩率,还可以对图片文件进行加密的保 留alpha通道数据的图片压缩方法。 0007 本发明的技术方案如下: 0008 一种图片压缩方法,其步骤包括: 0009 1)读取图片数据,对所述图片数据进行逐像素的扫描,将每个像素的alpha通道 说 明 书CN 102821279 A 2/4页 4 数据分离出来; 0010 2)所有像素的alpha通道数据合并成alpha通道文件; 0011 3)所有像素的RGB通道数据进行有损压缩,生成RGB压缩文件。
11、; 0012 4)所述alpha通道文件和所述RGB压缩文件合并到一个中间文件中;将所述中间 文件进行无损压缩,生成压缩数据。 0013 所述步骤1)中的alpha通道数据通过位操作分离。 0014 所述步骤4)中的中间文件为二进制文件。 0015 所述中间文件包括:图片宽度、像素总数、alpha通道文件、RGB压缩文件。 0016 所述压缩数据的解压缩步骤包括: 0017 a)对所述压缩数据进行解压缩得到所述中间文件; 0018 b)在所述中间文件中读取所述图片宽度和所述像素总数,图片高度=像素总数/ 图片宽度; 0019 c)按照所述图片高度和所述图片宽度在存储器中创建一个空白图片; 00。
12、20 d)读取所述alpha通道文件和所述RGB压缩文件,对所述RGB压缩文件解压缩,生 成RGB通道文件; 0021 e)将所述alpha通道文件中的alpha通道数据和所述RGB通道文件中的RGB通道 数据合并为像素值,将所述像素值填入所述空白图片中,还原成所述图片数据。 0022 所述有损压缩方法采用哈夫曼编码。 0023 所述无损压缩方法采用deflate算法。 0024 压缩步骤在服务器中进行,生成所述压缩数据,将所述压缩数据通过网络传入客 户端中;所述解压缩步骤在所述客户端中进行,对所述压缩数据解压缩后得到图片数据。 0025 所述图片数据在客户端生成对用户显示的界面。 0026 。
13、本发明的技术效果如下: 0027 本发明的一种保留alpha通道的图片压缩方法,其步骤包括:1)读取图片数据,对 图片数据进行逐像素的扫描,将每个像素的alpha通道数据分离出来;2)所有像素的alpha 通道数据合并成alpha通道文件;3)所有像素的RGB通道数据进行有损压缩,生成RGB压 缩文件;4)alpha通道文件和RGB压缩文件合并到一个中间文件中;将中间文件进行无损压 缩,生成压缩数据。经过上述两次压缩之后,压缩数据中保存了经过无损压缩、完整的alpha 通道文件和经过有损压缩、压缩率更低的RGB压缩文件。从而既保留带ARGB通道数据的图 片文件的alpha通道数据,又能增加图片。
14、文件的压缩率,除此之外,这种压缩方法还可以用 于对图片文件进行加密。 0028 由于在第一次压缩后将alpha通道数据和RGB压缩文件合并到一个中间文件中, 除了可以简化程序开发的复杂性,还可避免两个文件在加载中因先后顺序颠倒而导致的加 载失败的风险。进一步,如果将alpha通道数据和RGB压缩文件分成两个文件保存,那么这 两个独立文件会包含各自的文件头信息,增加文件大小。而将alpha通道数据和RGB压缩 文件存成一个二进制文件时是不带文件头信息的,存储的就是像素信息,而一个文件的体 积和压缩比更高。 0029 由于二进制文件没有文件头,因此将中间文件以二进制的格式存储,使经过无损 压缩后生。
15、成的压缩数据容量更小。 说 明 书CN 102821279 A 3/4页 5 附图说明 0030 图1是带有ARGB通道的图片文件结构示意图 0031 图2是本发明的对图片文件进行二次压缩的流程示意图 具体实施方式 0032 下面结合附图对本发明进行说明。 0033 在以下描述中,描述一些具体细节为计算机领域的技术人员提供对本发明的整体 理解。在实施例中,以示意图或者框图的形式表明实现具体功能的元件,以便突出技术重 点,而不会在不必要的细节方面模糊本发明。比如,由于本领域普通技术人员的理解范围中 涵盖了关于网络通信、电磁信号指令技术、用户接口或输入/输出技术等本领域中公开的、 常识性的细节,因。
16、而在实施例中最大程度上省略了上述技术细节,而不认为这些细节是获 得本发明完整技术方案所必须的特征。 0034 以网页游戏中对图片文件的压缩和解压缩的过程为例,通常一个网页游戏的系统 包括游戏服务器1和客户端2,图片文件的压缩过程在游戏服务器1中进行,压缩后生成压 缩文件,将压缩文件通过网络传入客户端2中;解压缩的过程在客户端2中进行,对压缩文 件进行解压缩后得到解压文件;客户端2使用解压文件生成游戏界面,对用户进行显示。 0035 如图2所示,本发明在游戏服务器1中对图片文件进行拆分,将alpha通道数据从 ARGB通道数据中分离出来,并对余下的RGB通道数据进行有损压缩,生成RGB压缩文件。。
17、之 后将alpha通道数据和RGB压缩文件合并到一个中间文件中,再对这个中间文件进行无损 压缩,生成最终的压缩文件。其具体步骤如下: 0036 1)首先从游戏服务器1的游戏数据库中读取资源数据,然后只保留图片文件,过 滤掉其他文件,如游戏中角色场景AI等配置信息; 0037 2)对图片数据进行逐个像素的扫描,通过位操作将每个像素的alpha通道数据从 ARGB通道数据中分离出来,所有像素的alpha通道数据合并成alpha通道文件; 0038 3)将剩下所有像素的RGB通道数据合并为RGB通道文件,并采用哈夫曼编码对这 一RGB通道文件进行有损压缩,生成RGB压缩文件,RGB压缩文件的图片质量。
18、可以根据需求 进行调整; 0039 4)将步骤2)中分离出的alpha通道文件和步骤3)中的RGB压缩文件以二进制的 格式合并到一个中间文件中;这个中间文件的内容包括:图片宽度,为4个字节;像素总数, 为4个字节;alpha通道文件,RGB压缩文件; 0040 5)将合并后的中间文件再次采用deflate算法进行无损压缩,生成图片文件的压 缩文件。 0041 配合于游戏服务器1中的二次压缩,本发明在客户端2中对压缩文件进行解压 缩: 0042 a)对压缩数据使用deflate算法解压缩得到由二进制数据组成的中间文件; 0043 b)在中间文件中读取4个字节的图片宽度和4个字节的像素总数,其中图。
19、片高度 =像素总数/图片宽度; 0044 c)按照图片高度和图片宽度在客户端2的缓存中创建一个空白图片; 说 明 书CN 102821279 A 4/4页 6 0045 d)根据像素总数计算出由所有像素的alpha通道数据组成的alpha通道文件的长 度,再读取相应长度的数据;剩余的数据为经过有损压缩的RGB压缩文件,使用哈夫曼编码 解码该RGB压缩文件,生成RGB通道文件; 0046 e)将alpha通道文件中的alpha通道数据和RGB通道文件中对应的RGB通道数据 合并为像素值,将每个像素值按照先后顺序填入步骤c)已经创建好的空白图片中,生成解 压文件进行使用。 0047 应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理解本发明 创造,但不以任何方式限制本发明创造。因此,尽管本说明书参照附图和实施例对本发明创 造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改 或者等同替换,总之,一切不脱离本发明创造的精神和范围的技术方案及其改进,其均应涵 盖在本发明创造专利的保护范围当中。 说 明 书CN 102821279 A 1/2页 7 图1 说 明 书 附 图CN 102821279 A 2/2页 8 图2 说 明 书 附 图CN 102821279 A 。