- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(提取网页图片链接地址代码
原计划中使用过的LZW图片压缩算法:
LZW压缩算法是一种新颖的压缩方法,由Lemple-Ziv-Welch 三人共同创造,用他们的名字命名。
它采用了一种先进的串表压缩不,将每个第一次出现的串放在一个串表中,用一个数字来表示串,压
缩文件只存贮数字,则不存贮串,从而使图象文件的压缩效率得到较大的提高。奇妙的是,不管是在
压缩还是在解压缩的过程中都能正确的建立这个串表,压缩或解压缩完成后,这个串表又被丢弃。
1.基本原理 首先建立一个字符串表,把每一个第一次出现的字符串放入串表中,并用一个数字来表示,这个
数字与此字符串在串表中的位置有关,并将这个数字存入压缩文件中,如果这个字符串再次出现时,
即可用表示它的数字来代替,并将这个数字存入文件中。压缩完成后将串表丢弃。如print 字符串
,如果在压缩时用266表示,只要再次出现,均用266表示,并将print字符串存入串表中,在图象解
码时遇到数字266,即可从串表中查出266所代表的字符串print,在解压缩时,串表可以根据压缩数
据重新生成。
2.实现方法 A.初始化串表 在压缩图象信息时,首先要建立一个字符串表,用以记录每个第一次出现的字符串。一个字符串
表最少由两个字符数组构成,一个称为当前数组,一个称为前缀数组,因为在GIF文件中每个基本字符
串的长度通常为2(但它表示的实际字符串长度可达几百甚至上千),一个基本字符串由当前字符和它
前面的字符(也称前缀)构成。前缀数组中存入字符串中的首字符,当前数组存放字符串中的尾字符
,其存入位置相同,因此只要确定一个下标,就可确定它所存贮的基本字符串,所以在数据压缩时,
用下标代替基本字符串。一般串表大小为4096个字节(即2 的12次方),这意味着一个串表中最多能
存贮4096个基本字符串,在初始化时根据图象中色彩数目多少,将串表中起始位置的字节均赋以数字
,通常当前数组中的内容为该元素的序号(即下标),如第一个元素为0,第二个元素为1,第15个元
素为14 ,直到下标为色彩数目加2的元素为止。如果色彩数为256,则要初始化到第258个字节,该字
节中的数值为257。其中数字256表示清除码,数字257 为图象结束码。后面的字节存放文件中每一个
第一次出现的串。同样也要音乐会 前缀数组初始化,其中各元素的值为任意数,但一般均将其各位置
1,即将开始位置的各元素初始化为0XFF,初始化的元素数目与当前数组相同,其后的元素则要存入每
一个第一次出现的字符串了。如果加大串表的长度可进一步提高压缩效率,但会降低解码速度。
B.压缩方法 了解压缩方法时,先要了解几个名词,一是字符流,二是代码流,三是当前码,四是当前前缀。
字符流是源图象文件中未经压缩的图象数据;代码流是压缩后写入GIF 文件的压缩图象数据;当前码
是从字符流中刚刚读入的字符;当前前缀是刚读入字符前面的字符。GIF 文件在压缩时,不论图象色彩位数是多少,均要将颜色值按字节的单位放入代码流中,每个字节
均表示一种颜色。虽然在源图象文件中用一个字节表示16色、4色、2色时会出现4位或更多位的浪费(
因为用一个字节中的4位就可以表示16色),但用LZW 压缩法时可回收字节中的空闲位。在压缩时,先
从字符流中读取第一个字符作为当前前缀,再取第二个字符作为当前码,当前前缀与当前码构成第一
个基本字符串(如当前前缀为A,当前码为B则此字符串即为AB),查串表,此时肯定不会找到同样字
符串,则将此字符串写入串表,当前前缀写入前缀数组,当前码写入当前数组,并将当前前缀送入代
码流,当前码放入当前前缀,接着读取下一个字符,该字符即为当前码了,此时又形成了一个新的基
本字符串 (若当前码为C,则此基本字符串为BC),查串表,若有此串,则丢弃当前前缀中的值,用
该串在串表中的位置代码(即下标)作为当前前缀,再读取下一个字符作为当前码,形成新的基本字
符串,直到整幅图象压缩完成。由此可看出,在压缩时,前缀数组中的值就是代码流中的字符,大于
色彩数目的代码肯定表示一个字符串,而小于或等于色彩数目的代码即为色彩本身。
C.清除码 事实上压缩一幅图象时,常常要对串表进行多次初始化,往往一幅图象中出现的第一次出现的基
本字符串个数会超过4096个,在压缩过程中只要字符串的长度超过了4096,就要将当前前缀和当前码
输入代码流,并向代码流中加入一个清除码,初始化串表,继续按上述方法进行压缩。
D.结束码 当所有压缩完成后,就向代码流中输出一个图象结束码,其值为色彩数加1,在256色文件中,结
束码为257。
E.字节空间回收 在GIF文件输出的代码流中的数据,除了以数据包的形式存放之外,所有的代码均按单位存贮,样
就有效的节省了存贮空间
您可能关注的文档
最近下载
- 广东省建筑施工安全生产隐患识别图集(装配式建筑混凝土预制构件工程).pdf VIP
- 民用无人机驾驶执照CAAC理论考试题库(各地真题).docx VIP
- 《武经射学正宗》原文及翻译注释.docx VIP
- 医院纪检监察室工作制度岗位职责汇编.docx VIP
- 长城钢铁行业主要设备润滑要求及润滑解决方案.ppt VIP
- 古籍《射经》王琚.pdf VIP
- 部编版六上语文课程纲要 .pdf VIP
- DB32_T 4787-2024 城镇户外广告和店招标牌设施设置技术标准.docx VIP
- 2024NFPA101美国国家消防安全规范中文版.pdf VIP
- 一种松香胺聚氧乙烯醚及其制备方法与应用.pdf VIP
文档评论(0)