压缩与解压缩.docx

上传人:b****6 文档编号:6001393 上传时间:2023-01-02 格式:DOCX 页数:74 大小:113.77KB
下载 相关 举报
压缩与解压缩.docx_第1页
第1页 / 共74页
压缩与解压缩.docx_第2页
第2页 / 共74页
压缩与解压缩.docx_第3页
第3页 / 共74页
压缩与解压缩.docx_第4页
第4页 / 共74页
压缩与解压缩.docx_第5页
第5页 / 共74页
点击查看更多>>
下载资源
资源描述

压缩与解压缩.docx

《压缩与解压缩.docx》由会员分享,可在线阅读,更多相关《压缩与解压缩.docx(74页珍藏版)》请在冰豆网上搜索。

压缩与解压缩.docx

压缩与解压缩

压缩与解压缩

压缩与解压缩1—概述和NTFS压缩

一提到“压缩”与“解压缩”,几乎所有人都会想到.rar格式文件,WinRAR软件,仅此而已。

真的就这些了吗?

那么,什么是压缩呢?

压缩的原理是什么呢?

数据压缩的实现就是对数据进行重新编码,它的理论基础是信息论。

从信息论的角度看,压缩基本上是这样一个过程:

通过消除信息中的冗余成分来减少数据量。

即保留不确定的信息,去除确定的、可推知的信息,也就是用一种更接近信息本质的描述来代替原有的描述,这涉及到信息的重新编码。

1.图像压缩编码

活动图像的压缩实质上是将数字化的视频信息重新编码成一种数据流。

图像的数字编码是指在保持原图像质量(即解码后的图像质量等同于编码前的图像质量)前提下来减少需要存储和传送的图像或视频数据。

据视频压缩的可能性通常利用两种基本原理,一种是减少图像信号中多余的信息,即时间冗余信息和空间冗余信息,以减少存储和传送无用的信息,这可以通过分析视频信号来实现。

视频信号的主要部分有一定的可预知性。

考虑到了图像原始数据的统计特性方法,以香农的信息论为基础。

这些基于数据统计(去掉数据冗余)的编码方法属于第一代即低层的编码方法,总的来说就是要识别并去除冗余信息,从而减少存储量和所需带宽。

另一种是利用人类视觉心理特性的编码方法,一方面考虑了人眼的视觉特性,另一方面也考虑到图像传递的景物特征。

其实人眼视觉系统本身就是一种最优的图像编码系统,这种编码方法属于第二代即中、高层的编码方法。

具体来说压缩过程涉及到空间和时间两个方面,利用视频信息在空间上存在冗余成分进行编码的方法称为空间冗余编码;利用视频信息在时间上存在冗余成分进行的编码的方法称为时间冗余编码。

2.空间冗余编码

空间冗余编码也常常被称为帧内压缩或空间压缩,就是说数据的压缩是发生在同一帧内,仅仅考虑本帧内的数据而不考虑相邻帧之间的冗余信息。

一般来说在同一幅图像中,规则物体和规则背景的在形状、颜色上具有相似之处。

更具体来说一帧图像内的任何一个场景都是由若干像素点构成的,因此一个像素通常与它周围的某些像素在亮度和色度上存在一定的关系,呈渐变状。

这种关系称为空间相关性;一幅图像中或连续运动的图像之间都有可能存在着大量的色彩或亮度相同、相近的像素块。

这些相关性在数字化图像中就表现为数据的空间冗余。

空间压缩原理

比如一幅画面表现的是蓝天白云间飞翔着一架飞机,分析画面我们可以得到这样的结论:

画面中绝大部分表示天空背景的像素都是蓝色的(假设这天晴空万里),表现飞机和云朵的那部分像素是不同于蓝色,但其中表现云朵的像素之间像素是相近的颜色,表现飞机的像素之间是相近的颜色。

这样在存储这幅图像时,就没有必要去存储图像中每一点颜色的数据,可以用一种代码来记录:

比如用一种代码来描述画面中的蓝色像素,用另一种代码描述白色像素,等等,这样就可以记录下图像的特征,就可以完全重现蓝天、白云、飞机的画面。

而这种代码的数据量是很小的。

因此说图像中相邻像素间或数个相邻像素块间存在的高度相关性是空间冗余编码的依据。

帧内压缩的编码效率较低,压缩比只有两三倍。

但是由于帧内压缩时各个帧之间没有相互关系,所以压缩后的视频文件可以以帧为单位进行编辑,它适用于电视节目制作。

3.时间冗余编码

时间冗余编码也常常被称为帧间压缩或时间压缩。

它的依据是活动图像之间存在着时间上的相关性。

电影电视等活动影像的一段画面常常由若干帧连续图像组成的图像序列构成,一般来说,图像序列中相邻帧的图像内容变化不大,也存在一定的关系,这种关系称为时间相关性,或可称为时间冗余度。

而在传统的模拟电视系统中,记录、传输时是将每帧图像的数据都传输出去,而不管相邻帧的内容是相同、相似还是不同,这样造成的数据率的增加。

降低时间冗余度的有效方法是只记录和传送相邻图像之间变化的部分,即差值,它代表了图像的运动部分和变更部分。

一幅图像与其前一幅和后一幅都是相关的,或者说一幅图像可以通过前一幅图像和后一幅图像描述出来,是可以推知的。

时间压缩原理

比如我们还用上面的例子,蓝天白云之间飞行着一架飞机,这段视频长度为5秒钟。

对125幅画面进行分析我们同样可以得出结论:

每两幅图像之间蓝天、白云基本上是不变的,即使白云在飘动当它的颜色和形状也是相近的。

而变化的主要是描述飞机的像素块。

这样如何编码呢?

与帧内压缩时不需要记录每一个像素点的数据一样,在编码时我们也没有必要描述每一幅画面的数据,只要描述一幅基础的画面和表示图像之间差别的数据就可以表示出连续的画面来。

如果用一种代码描述一幅画面,再用包含更少的数据量的代码来描述当前画面与后继画面之间的差别,同样可以还原出活动图像。

这种冗余编码是发生在相邻帧或连续帧之间的,这种压缩类型也被称为帧间压缩。

在实际的压缩过程中,则是使用了以上所有的原理而形成特有的压缩算法,甚至在很多压缩文件内使用了多种压缩算法。

关于压缩的原理就说到这里,绝不继续废话啦,呵呵。

至于压缩算法……对于本教程,即不适合展开,也不应该展开。

那么,是不是只有Rar、Zip等才使用了压缩呢?

当然不是。

我们常见的几乎所有文件都是被压缩了的。

一般情况下,只有txt等文本类,部分的bmp图象、avi视频、wav音频文件没有被压缩,其他的,甚至exe应用程序都被压缩了。

(说明:

bmp文件一般可以使用BI_RLE4或BI_RLE8来压缩,这些压缩文件被广泛使用在windows应用程序的资源里。

在windows应用程序的资源中的avi文件,使用的是BI_RLE8压缩,而从网络上下载的avi视频的压缩更是五花八门。

至于wav音频,他的压缩可以使用%SystemRoot%\system32\sndrec32.exe录音机,系统自带的一个wav压缩转换工具!

压缩,按照损失的情况,可以分为有损压缩和无损压缩。

例如,将bmp文件转换成jpg文件的过程中,一般都是有损压缩(jpeg2000支持无损压缩)。

而上面所介绍的三种冗余编码原理,都是属于无损压缩。

无损压缩也称冗余度压缩,它利用数据的统计冗余进行压缩,这种压缩方法从数学上讲是一种可逆运算,还原后和压缩编码前的数据完全相同。

不存在数据丢损的问题是无损压缩最大的优点,因此它被广泛应用于文本、程序、指纹图像、医学图像等等需要完整保存数据的领域。

但这种压缩方法由于受到数据统计冗余度的理论限制,无法得到比较大的压缩比,一般压缩比率只有2:

1到5:

1。

而有损压缩方法也称信息量压缩,这种压缩方法利用了人类视觉或者人类听觉对图像或声音中的某些频率成分不敏感的特性,从原始数据中将这一部分人类视觉或者人类听觉不敏感的数据去除,以达到压缩的目的。

不能完全恢复原始数据是有损压缩方法最大的缺点,但是所损失的部分对理解原始图像或者倾听原始声音的影响较小,却换来了大得多的压缩比,因此,有损压缩广泛应用于语音、图像和视频数据的压缩。

不好意思,又要跑题。

那么,我们今天要讲什么呢?

这里的压缩,实际是指压缩包文件的压缩和解压缩。

这些压缩包和压缩及解他们的软件,使用的是通用算法(例如,估计没人用BI_RLE4/8算法压缩txt文本文件,因为BI_RLE4/8是用来压缩媒体类型文件滴)。

简单的说,就是可以用来压缩更多的文件。

并且在压缩过程中,根据内含的不同文件,调用不同的算法,以实现更大的压缩比。

所以,压缩文件、文件夹和程序可以减小其大小,并可减小它们在驱动器或可移动存储设备上所占用的空间。

驱动器压缩可以减小存储在该驱动器上的文件、文件夹所占用的空间。

首先,我们讲两种不需要第三方软件的压缩。

即Windows支持两种压缩类型:

NTFS压缩和使用“zip压缩文件夹”功能的压缩。

NTFS压缩

∙1,如果没有NTFS驱动器,则该选项不可用。

要确定驱动器是否已格式化为NTFS,请打开我的电脑,右键单击某驱动器,然后单击“属性”。

在“常规”选项卡中将显示当前文件系统。

∙2,可以利用NTFS压缩单个文件和文件夹,也可以压缩整个NTFS驱动器。

∙3,可以压缩一个文件夹而不压缩其中的内容。

∙4,可以直接使用NTFS压缩文件,而不必将它们解压缩。

∙5,可以使用不同颜色来显示NTFS压缩文件和文件夹名称,以易于区分它们。

∙6,您可能注意到当使用NTFS压缩文件时会降低性能。

当打开一个压缩的文件时,Windows会将它自动解压缩,当您关闭这个文件时,Windows又将它重新压缩。

这个过程可能会降低计算机性能。

∙7,仅当NTFS压缩文件和文件夹存储在NTFS驱动器时,它们才会保持压缩状态。

∙8,不能加密一个NTFS压缩文件。

∙9,NTFS文件压缩在WindowsXPHomeEdition上不可使用。

在windowsxppro的系统上,该功能是被默认开启并使用的,例如大量的补丁备份文件、dllcache备份文件夹等。

对,就是那些蓝色字的文件和文件夹。

当然,我们也可以对一些不常用的零碎的文件和文件夹使用NTFS压缩。

方法1:

右键单击选中的文件和文件夹,选择“属性”——“高级”,然后勾选“压缩内容以便节省磁盘空间”。

方法2:

对于内部存储大量不常用而又零碎的文件和文件夹的驱动器,我们可以直接压缩该驱动器。

右键单击选中的驱动器,选择“属性”,勾选“压缩驱动器以节省磁盘空间”。

警告:

不要乱用这个功能,如果将应用程序和系统,以及页面文件都放到C盘,再对C盘压缩,那么就等着机器慢得吐血而死好了。

Why?

看上面第六条即可……

压缩与解压缩2—Zip和zipfldr.dll

Zip、Cab,较为特殊的两种压缩包文件。

特殊在他们是可以在不依赖第三方软件的情况下,Windows即可对其进行压缩和解压缩。

其他的压缩包文件则需要第三方软件来完成压缩和解压缩。

在这里,第三方的工具软件,推荐使用WinRAR。

Zip的压缩和解压缩是由外壳程序Explorer下加载的模块zipfldr.dll来实现的。

文件自身包含的信息:

出品者:

MicrosoftCorporation

描述:

Compressed(zipped)Folders(metodaZIP)

内部名称:

Compressed(zipped)FoldersShellExtension

版权:

(C)MicrosoftCorporation.Allrightsreserved.

源文件名:

ZIPFLDR.DLL

产品名称:

Microsoft(R)Windows(R)OperatingSystem

属于:

windowszipregsvr32folderscompressedxp'sfoldersupportmicrosoftcopy

辅助说明:

CoreDLLofWindowsoperatingsystem-czechedition.

系统进程:

操作系统版本:

WinNT32

文件版本:

6.00.2900.5512(xpsp.080413-2105)

注释:

这是一个zip压缩文件夹模块。

启动位置:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellExtensions\Approved]

"{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}"="压缩(zipped)文件夹"

"{BD472F60-27FA-11cf-B8B4-444553540000}"="Compressed(zipped)FolderRightDragHandler

"{888DCA60-FC0A-11CF-8F0F-00C04FD7D062}"="Compressed(zipped)FolderSendToTarget

说明:

相关的信息及图标、对话窗口,均在这个文件里。

如果想修改,请使用资源修改软件打开此文件。

zip压缩文件夹的简单介绍:

zip压缩文件夹

∙使用“zip压缩文件夹”功能压缩的文件和文件夹可以在FAT和NTFS驱动器上都保持压缩特性。

∙您可以直接运行压缩文件夹中的某些程序,而无需将其解压。

还可以直接从压缩文件夹打开文件。

∙可以将zip压缩文件和文件夹移动到计算机上的任意驱动器或文件夹、或移动到Internet或您的网络上,它们与其它文件压缩程序兼容。

∙使用这个特性的压缩文件夹可以被zip压缩程序图标识别。

∙可以用密码保护zip压缩文件夹中的文件。

∙使用“zip压缩文件夹”压缩文件夹不会降低计算机的性能。

∙要用“zip压缩文件夹”压缩单个文件,请先创建一个压缩文件夹,然后将这些文件移动或复制到这个文件夹。

注意

∙“zip压缩文件夹”特性在WindowsXP64-BitEdition上不可使用。

∙向Windows中安装不同的压缩程序,将会从右键单击菜单选项中删除“压缩文件夹”选项,并使用新的压缩程序图标替代它。

如果不想使用该zip压缩文件夹功能,可运行regsvr32/uzipfldr.dll;恢复zip压缩文件夹功能,需要运行regsvr32zipfldr.dll。

(但是在实际使用中,不推荐这样做。

因为当第三方软件出现问题,或者没有安装第三方压缩解压缩软件时,我们可以用系统自带的这个zip压缩文件夹功能来完成对zip压缩包文件的解压缩和压缩。

为什么zip文件,windows系统称呼他为“zip压缩文件夹”或是“压缩(zipped)文件夹”呢?

这是因为,默认关联到zipfldr.dll时,系统会将zip压缩包以一个文件夹的形式显示和管理。

这个就是系统默认关联zip时的图标。

1,创建zip压缩文件夹。

①,这个操作很简单,右键单击文件夹的空白处,选择新建“zip压缩文件夹”或是“压缩(zipped)文件夹”即可。

②,如果安装有第三方软件,例如WinRAR,则只需要右键单击文件夹的空白处,选择新建“WinRARzip压缩文件”即可。

2,添加到zip压缩文件夹。

①,将选中的文件复制并粘贴到“zip压缩文件夹”或是“压缩(zipped)文件夹”里即可。

②,如果安装有第三方软件,例如WinRAR,则使用其“添加”功能。

3,压缩为zip压缩文件夹。

①,需先执行第一个操作,创建一个新建“zip压缩文件夹”或是“压缩(zipped)文件夹”,然后将需要的文件复制并粘贴到此zip压缩包里即可。

②,如果安装有第三方软件,例如WinRAR,可以直接选中待压缩的文件夹或文件等,使用WinRAR向导或“添加到压缩文件——zip”来压缩。

4,zip压缩文件夹内的操作。

①,可以像在文件夹那样,对包内的文件执行“复制”、“剪切”、“删除”、“打开”等操作。

②,如果安装有第三方软件,例如WinRAR,则需要先打开WinRAR,选中zip压缩包,然后执行“复制”、“剪切”、“删除”、“打开”等操作。

5,解压zip压缩文件夹。

①,启用zip压缩文件夹功能时,对于zip压缩包不需要解压缩。

②,如果安装有第三方软件,例如WinRAR,则选中zip压缩包,在右键菜单中根据需要选择一个解压操作即可。

6,zip压缩文件夹功能和第三方压缩软件。

如果想使用系统的zip压缩文件夹功能,而又同时安装第三方压缩软件,以关联其他类型的压缩包,可以有以下几种方法。

①,运行regsvr32zipfldr.dll,以恢复zip压缩文件夹功能。

②,在第三方软件,如WinRAR的“选项”——“设置”——“综合”里,找到“WinRAR关联文件”,将“zip”一项勾选去掉即可。

③,在“文件夹选项”——“文件类型”中找到“zip”,将其更改为压缩(zipped)文件夹,即“Compressed(zipped)Folders”。

④,任意选中一个zip压缩包文件,右键单击“打开方式”——“选择程序”,选择压缩(zipped)文件夹,即“Compressed(zipped)Folders”。

7,一般认为,zip文件在压缩的很多方面,其性能不如rar文件。

但也有些特殊情况下推荐压缩成zip文件,即这个文件不是很大,忽略更高的压缩比,并且不确定对方装有第三方解压软件时。

8,RAR和ZIP的比较:

WinRAR可以创建两种不同的压缩文件格式:

RAR和ZIP。

下面是每一种格式的优点叙述:

ZIP压缩文件

在ZIP文件的最大优点就是普及率。

比如说,大部分在Internet的压缩文件都是ZIP压缩文件,所以如果你要传送压缩文件给某一个人,但你无法确定你的收件人是否有WinRAR来解压压缩文件的内容时,使用ZIP格式是个好推荐。

要不然你也可以发送自解压文件。

此类的压缩文件稍微大了一点点,但不需要任何的外部程序便可以解压。

另一个ZIP的优点便是速度。

ZIP压缩文件通常在创建时会比RAR快一些。

RAR压缩文件

RAR格式比ZIP更能够提供较好的压缩率,特别是在固实模式时。

另外一个RAR的重要功能是支持多卷压缩文件。

它们比起ZIP的“跨磁盘”压缩文件更加便利和简易。

WinRAR不支持ZIP的磁盘拆分,如果你要创建分卷压缩文件,请使用RAR的分卷压缩来代替。

RAR格式也有一些在ZIP中所缺乏的重要功能,例如恢复记录,它允许物理受损数据的恢复,还能锁定重要的压缩文件,以防止它们被别人意外地更改。

RAR格式可以管理的文件大小几乎是无限制的(最大到8,589,934,591GB),而在ZIP压缩文件的单个文件的最大值为4GB。

需注意的是,旧式的文件系统不支持大于4GB的文件,此类的文件你必须使用NTFS磁盘格式才能正常工作。

压缩与解压缩3—Cab和IExpress(含自释放)

一,概述

IExpress是微软为压缩CAB文件及制作安装程序所开发的小工具,其实应该算是MAKECAB的一个Shell。

虽一直藏身于微软的产品中,却从未对它说明过,但不能否认是一款不错的免费软件。

这个版本是IExpress2.0的完全汉化版,包括加壳的DOS程序,并对程序做了美化和修饰。

本汉化版是绿色软件,解压到一个目录中就能运行。

当然,推荐将其复制到system32目录下,替换系统原有的英文版文件。

内含3个文件:

IExpress.exe:

CAB压缩向导,主程序。

Makecab.exe:

CAB压缩命令行程序。

wExtract.exe:

CAB自解压模块程序。

说明:

如果想定制自己的CAB模块,就用资源修改软件修改wExtract.exe。

注意:

对wExtract.exe的不恰当修改,很容易造成生成的自解压文件无法解压缩,而只能自解压缩,甚至在自解压过程中出错!

WinRAR也存在类似的现象。

Zip、Cab,较为特殊的两种压缩包文件。

特殊在他们是可以在不依赖第三方软件的情况下,Windows即可对其进行压缩和解压缩。

其他的压缩包文件则需要第三方软件来完成压缩和解压缩。

在这里,第三方的工具软件,推荐使用WinRAR。

如果不想使用该Cab文件查看器功能,可运行regsvr32/ucabview.dll;恢复zip压缩文件夹功能,需要运行regsvr32cabview.dll。

(但是在实际使用中,不推荐这样做。

因为当第三方软件出现问题,或者没有安装第三方压缩解压缩软件时,我们可以用系统自带的这个Cab文件查看器功能功能来完成对cab压缩包文件的解压缩和查看。

声明:

PPC下的CAB文件比较特殊,建议不要解压,修改等操作,请使用WinCECABManager软件。

CAB的查看和解压缩是由外壳程序Explorer下加载的模块cabinet.dll和cabview.dll来实现的。

cabinet.dll包含的信息:

出品者:

MicrosoftCorporation

描述:

MicrosoftCabinetFileAPI

内部名称:

cabinet.dll

版权:

(C)MicrosoftCorporation.Allrightsreserved.

源文件名:

cabinet.dll

产品名称:

Microsoft(R)Windows(R)OperatingSystem.

属于:

MicrosoftCabinetFile.

系统进程:

操作系统版本:

WinNT32

文件版本:

5.1.2600.5512(xpsp.080413-2105)

注释:

这是一个Cab压缩包应用程序接口相关文件。

cabview.dll包含的信息:

出品者:

MicrosoftCorporation

描述:

CabinetFileViewerShellExtension

内部名称:

cabview.dll

版权:

(C)MicrosoftCorporation.Allrightsreserved.

源文件名:

cabview.dll

产品名称:

Microsoft(R)Windows(R)OperatingSystem

属于:

MicrosoftCabinetFileViewerShellExtension.

系统进程:

操作系统版本:

WinNT32

文件版本:

5.1.2600.5512(xpsp.080413-2105)

注释:

这是一个Cab文件查看器外壳扩展。

启动位置:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellExtensions\Approved

"{0CD7A5C0-9F37-11CE-AE65-08002B2E1262}"=".CABfileviewer"

说明:

相关的信息及图标、对话窗口,均在这个文件里。

如果想修改,请使用资源修改软件打开此文件。

而CAB的压缩,则需要IExpress。

这里为什么要提供这个IExpress的下载地址捏?

那是因为系统自带滴IExpress是鸟语滴……

这个就是系统默认关联Cab时的图标。

二、CAB的压缩与解压缩。

默认启用Cab文件查看器时,系统会将CAB压缩包以一个文件夹的形式显示和管理。

1,解压缩CAB压缩包文件。

①,启用Cab文件查看器功能时,对于zip压缩包不需要解压缩。

②,如果安装有第三方软件,例如WinRAR,则选中cab压缩包,在右键菜单中根据需要选择一个解压操作即可。

2,CAB压缩包文件内的操作。

①,可以像在文件夹那样,对包内的文件执行“复制”、“提取”等操作。

②,如果安装有第三方软件,例如WinRAR,则需要先打开WinRAR,选中zip压缩包,然后执行“复制”、“剪切”、“删除”、“打开”等操作。

3,压缩为CAB压缩包文件。

第一步:

运行IExpress或IExpress.exe,以打开IExpress向导。

第二步:

在“IExpress2.0的欢迎”界面下,选择“创建新的SED文件”,然后选择“下一步”。

第三步:

在“压缩包目的”界面下,选择“建立CAB压缩包”,然后选择“下一步”。

第四步:

在“选择压缩文件”界面下,根据自己的需要,“增加”一个或多个文件,然后选择“下一步”。

第五步:

在“压缩包文件名和选项”界面下,设置压缩后保存的CAB文件的路径和文件名,然后选择“下一步”。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1