手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

位图文档内部初探

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!


   尽管tiff是那么的复杂,但仍是一种最好的跨平台格式。因为他很灵活,无论在视觉上还是其他方面,都能把任何图象编码成二进制形式而不丢失任何属性。

   gif文档

   当许多图象方面的权威一想到lzw的时候,他们也会想到gif(graphicsinterchangeformat,读作jiff)这是一种常用的跨平台的位图文档格式,最初为compuserve公司所创。Gif文档通常带有.gif的扩展名,而且在compuseve上大量存在。

   gif文档的结构取决于他属于哪一个版本,现在的两种版本分别是gif87a和gif89a,前者较简单。无论是哪个版本,他都以一个长13字节的文档头开始,文档头中包含判定此文档是gif文档的标记、版本号和其他的一些信息。假如这个文档只有一幅图象,文档头后紧跟一个全局色表来定义图象中的颜色。假如含有多幅图象(gif和tiff格式相同,允许在一个文档里编码多个图象),那么全局色表就被各个图象自带的局部色表所替代。

   在gif87a文档中,文档头和全局色表之后是图象,他可能会是头尾相接的一串图象中的第一个,每个图象由三部分组成,一个10字节长的图象描述,一个可选的局部色表和位图数据。为有效利用空间,位图数据用lzw算法来压缩。

   gif89a结构和此类似,但他还包括可选的扩展块来存放每个图象的附加信息。Gif89a周详定义了四种扩展块:图象控制扩展块,他用来描述图象怎样被显示(例如,显示是应该象一个透明物去覆盖上一个图象,还是简单的替换他);简单文本扩展块,他包含显示在图象中的文本;注释扩展块,他以ascii文本形式存放注释;应用扩展块,他存放生成该文档的应用程式的私有数据。这些扩展块能够出现在文档中全局色表的任何地方。

   gif最显著的长处是他的广泛使用和他的紧密性。但他有两个弱点,一个是用gif格式存放的文档最多只能含有256种颜色。另一个可能更重要,就是那些使用了gif格式的软件研发者必须征得compuserve的同意,他们每卖出一个拷贝都要向compuserve付版税。这个政策是compuserve仿效unisys公司作出的,他抑制了那些程式员在他的图象应用程式中支持gif文档。

   png文档

   png(portablenetworkgraphic,发音做ping)文档格式是作为gif的替代品研发的,他能够避免使用gif文档所碰到的常见问题。他从gif那里继承了许多特征,而且支持真彩色图象。更重要的是,在压缩位图数据时他采用了一种颇受好评的lz77算法的一个变种,lz77则是lzw的前身,而且能够免费使用。由于篇幅所限,在这里就不花时间来具体讨论png格式了。

   jpeg文档

   jpeg(jointphotographicexpertsgroup,发音做jay-peg)文档格式最初由c-cubemicrosystems推出,是为了提供一种存储深度位象素的有效方法,例如对于照片扫描,颜色很多而且差别细微(有时也不细微)。Jpeg和这里讨论的其他格式的最大区别是jpeg使用一种有损压缩算法,无损压缩算法能在解压后准确再现压缩前的图象,而有损压缩则牺牲了一部分的图象数据来达到较高的压缩率。但是这种损失很小以至于人们很难察觉。

   jpeg图象压缩是个复杂的过程,经常需要专门的硬件来帮助。首先图象以象素为单位分成8*8的块。然后,每个块分三个步骤被压缩。第一步使用dct(discretecosinetransform)离散余弦变换把8*8的象素矩阵变成8*8的频率(也就是颜色改变的速度)矩阵。第二步对频率矩阵中的值用量化矩阵进行量化,滤掉那些总体上对图象不重要的部分。第三步,也就是最后一步,对量化后的频率矩阵使用无损压缩。

   因为被量化后的频率矩阵缺了许多高频信息,通常能被压缩到一半甚至更少。无损压缩一般根本不能压缩真正的照片图象,所以50%的压缩率已是相当不错了,但另一方面,无损压缩能把一些图象文档尺寸减少90%,这样的图象文档就不适合用jpeg来压缩。

   jpeg的有损部分产生在第二步,量化矩阵的值越高,从图象中丢掉的信息就越多,从而压缩率就越高,可是同时图象的质量就越差。在jpeg压缩时能够选择一个量化因子,这个因子的值决定了量化矩阵中的数值。理想的量化因子要在压缩率和图象质量间达到平衡,所以对不同的图象要选择不同的量化因子,通常要经过若干次尝试后方可确定.




文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS