压缩软件比如winrar的压缩原理时什么?

如题所述

我们使用计算机所做的事情大多都是对文件进行处理。每个文件都会占用一定的磁盘空间,我们希望一些文件,尤其是暂时不用但又比较重要不能删除的文件(如备份文件,有点像鸡肋呀),尽可能少的占用磁盘空间。但是,许多文件的存储格式是比较松散的,这样就浪费了一些宝贵的计算机存储资源。这时,我们可以借助压缩工具解决这个问题,通过对原来的文件进行压缩处理,使之用更少的磁盘空间保存起来,当需要使用时再进行解压缩操作,这样就大大节省了磁盘空间。当你要拷贝许多小文件时,通过压缩处理可以提高执行效率。如果小文件很多,操作系统要执行频繁的文件定位操作,需要花费很多的时间。如果先把这些小文件压缩,变成一个压缩文件后,再拷贝时就很方便了。由于计算机处理的信息是以二进制数的形式表示的,因此压缩软件就是把二进制信息中相同的字符串以特殊字符标记来达到压缩的目的。为了有助于理解文件压缩,请您在脑海里想象一幅蓝天白云的图片。对于成千上万单调重复的蓝色像点而言,与其一个一个定义“蓝、蓝、蓝……”长长的一串颜色,还不如告诉电脑:“从这个位置开始存储1117个蓝色像点”来得简洁,而且还能大大节约存储空间。这是一个非常简单的图像压缩的例子。其实,所有的计算机文件归根结底都是以“1”和“0”的形式存储的,和蓝色像点一样,只要通过合理的数学计算公式,文件的体积都能够被大大压缩以达到“数据无损稠密”的效果。总的来说,压缩可以分为有损和无损压缩两种。如果丢失个别的数据不会造成太大的影响,这时忽略它们是个好主意,这就是有损压缩。有损压缩广泛应用于动画、声音和图像文件中,典型的代表就是影碟文件格式mpeg、音乐文件格式mp3和图像文件格式jpg。但是更多情况下压缩数据必须准确无误,人们便设计出了无损压缩格式,比如常见的zip、rar等。压缩软件(compression software)自然就是利用压缩原理压缩数据的工具,压缩后所生成的文件称为压缩包(archive),体积只有原来的几分之一甚至更小。当然,压缩包已经是另一种文件格式了,如果你想使用其中的数据,首先得用压缩软件把数据还原,这个过程称作解压缩。常见的压缩软件有winzip、winrar等

参考资料:http://zhidao.baidu.com/question/21479985.html

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-06-05
数据压缩技术就是对原始数据进行数据编码或压缩编码。

目前常用的压缩编码有:冗余压缩法(无损压缩法、熵编码)和熵压缩法(有损压缩法)两类。

无损压缩是可逆的;有损压缩是不可逆的。
变长编码

使用长度可变的代码来对以不同频率出现的样本进行编码。

1·Huffman编码

Huffman编码又称最佳编码。

Huffman编码过程是:

*将信源符号按概率递减顺序排列;

*把两个最小的概率加起来,作为新符号的概率;

*重复上述两步骤,直到概率的和达到1为止;

*在每次合并消息时,将被合并的消息赋予1和0或赋予0和1;

*寻找从每一信源符号到概率为1的路经,记录下路经上的1和0;

*对每一符号写出从码树的根到终结点1、0序列。

例:对信源

[X1,X2,X3,X4,X5,X6]=[0.25,0.25,0.20,0.15,0.10,0.05]

进行Huffman编码。

其中:X1=01;X2=10;X3=11;X4=000;X5=0010;X6=0011。

2·算术编码

算术编码是一种二元编码。

这种编码方法是在不考虑信源统计的情况下,只要监视一小段时间内码字出现的频率,不管统计是平稳的或非平稳的,编码的码率总能趋近于信源熵值,每次迭代的编码算法只处理一个数据符号,并且只有算术运算。

对二进制编码来说,信源符号只有两个。在算术编码的初级阶段,可设一个大概率Pe和小概率Qe,然后对被编码比特流符号进行判断。

模型编码

模型编码是指采用模型的方法对传输的图像进行参数估测。

模型编码有:随机马尔可夫场和分形图像编码。

1·分形的概念

分形的含义是其组成部分以某种方式与整体相似的形(一类无规则、混乱而复杂),其局部与整体有相似性的体系,即:自相似性体系。

2·分形编码

*基本原理:分形的方法是把一幅数字图像,通过一些图像处理技术将原始图像分成一些子图像,然后在分形集中查找这样的子图像。分形集存储许多迭代函数,通过迭代函数的反复迭代,可以恢复原来的子图像。

分形编码压缩的步骤:

第一步:把图像划分为互不重叠的、任意大小的的D分区;

第二步:划定一些可以相互重叠的、比D分区大的R分区;

第三步:为每个D分区选定仿射变换表。

分形编码解压步骤:

首先从文件中读取D分区划分方式的信息和仿射变换系数等数据;

然后划定两个同样大小的缓冲区给D图像和R图像,并把R初始化到任一初始阶段;

根据仿射变换系数把其相应的R分区做仿射变换,并用变换后的数据取代该D分区的原有数据;

对D中所有的D分区都进行上述操作,全部完成后就形成一个新的D图像;

再把新D图像的内容拷贝到R中,把新R当作D,D当作R,重复操作(迭代)。

。分形编码的特点:

压缩比高,压缩后的文件容量与图像像素数无关,在压缩时时间长但解压缩速度快
第2个回答  2008-06-05
搜索下。。。。