下载
第10章 数据
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示
1 7 7 5年4月1 8日,美国革命前夕。马萨诸赛洲的民兵正挤在圆桌旁,计划着如何抵抗全副武
装的英国士兵。如果民兵们能够派遣一名侦察员去收集英军的进攻路线,他怎样才能把信息传
回来呢?民兵用L o n g f e l l o w的一首诗中叙述有关Paul Revere的著名工具的计划解决了这个问题:
One if by land, and two if by sea;
And I on the opposite shore will be,
Ready to ride and spread the alarm
Through every Middlesex village and farm.
从几英里外就可以看见这个古老的教堂。作为 Paul Revere的信号,会在教堂的塔上点上一
个或两个灯笼。一个灯笼意味着英军会从陆地进攻,而两个灯笼则意味着英军会从海上进攻。
但如果一部分英军从陆地进攻,而另部分英军从海上进攻怎么办呢?是否需要使用第
三只灯笼呢?当你理解了这一章中的数据表示和信息论之后,就会知道问题的答案。
在第5章,引入了二进制、A S C I I和E B C D I C码来表示数据。本章中,我们会将数
据表示引向深入,并且会介绍计算机怎样存储图形、视频和声音数据。
本章概要
在这一章中,会帮助你理解为什么文件会以不同的格式进行存储,以及文
件的扩展名(如:. p c x,. t i f,. w m f,. m i d,. w a v等)的重要性。还会告诉你怎样
用压缩软件来减少文件大小,节约磁盘空间。学习完本章之后,你将能够:
• 解释信息论是怎样应用到计算机数据表示中去的。
• 对于给定的消息数量,应该用多少位来进行表示。
• 定义A S C I I、A N S I、E B C D I C和U n i c o d e的重要特征。
• 解释位图文件和矢量文件的区别。
• 计算单色、灰度和彩色位图所需的存储空间。
• 解释WAV和M I D I音乐之间的区别。
• 列出数据压缩的优缺点。
• 使用文件扩展名来表示压缩文件时使用的格式。
10.1 信息论
民兵在山上需要使用 2 0或者3 0个灯笼来拼出“L A N D”或者“S E A”。但是,如
果接收L o n g f e l l o w的计算,在1 7 7 5年的那个晚上,民兵可以使用一个简单的编码:用
一个灯表示“陆地”,用两个灯表示“大海”。看来,民兵使用了一个相当有效的方法
来传送信息。但是,是不是还有更加有效的方法呢?可以使用信息论—研究信息表
示和信息编码最有效的方法—来解决这个问题。对于计算机和软件设计来说,信息
论是一个重要的概念。如果信息能有效地进行表示,则能把它们存储在一个较小的空间里,并
且快速传输。
使用信息论,计算机科学家们设计出了各种方法来对信息进行编码和储存。在计算机里,
数据表示
实验
信息网
信息论
2
信息网
Paul Revere
信号
1
信息编码的方法称作文件格式。存储字处理文档的文件格式和存储图形数据或音频数据的文件
格式是不同的。在本章中,会介绍几种不同的数据编码和编码后的文件格式。
10.1.1 有效地存储和传送信息
民兵们能用少于两个灯笼来传送消息吗?
有些存储和传送信息的方法要比另外一些方法更为高效,通过信息论,可以对民兵们的编
码方式进行评价。然后,就可以理解计算机存储和传输信息的效率。
民兵们有两个消息需要传送。我们把这些可能的消息称作“信息单元”,这些信息单元中
的一个为“陆地”,另一个为“大海”,如图1 0 - 1所示。
图10-1 Paul Revere的编码
信息论告诉我们,民兵们可以使用更为有效的编码方式:只要使用一个灯笼,而不是两个。
从图1 0 - 2可以看出,用一个灯笼也可能传送两个单元的信息。灯笼的开与关,可以表示“是”
第10章 数 据 表 示 287
下载
教堂塔上的一个灯笼标示英军从陆地进攻 两个灯笼标示英军从海上进攻
图10-2 一个灯笼可以传送两个单元的信息
当灯笼点亮时,表示英军从
陆地进攻,当灯笼灭了时,表
示英军从海上进攻
或“否”、“陆地”或“大海”、“真”或“假”等等。
那这些怎样应用到计算机中去呢?正如第 4章所讲的那样,计算机是一个存储和操纵电流
的电子设备,电流可用来表示比特—0和1。可以把比特当作灯笼,一个比特可以是 1或0,正
如灯笼可以开或关一样。灯笼的开状态对应着 1,而灯笼的关状态表示0。计算机可以用一个比
特(灯笼)来存储和传输两个单元的信息。 1可能对应着“是”,0对应着“否”;1也可能对应
着“陆地”,而0对应着“大海”等等。
你可能会认为用不点灯来传送消息并不太好。教堂中黑暗的塔顶会表示很多意思,如:教
堂可能锁住了,所以没有人能将灯放到塔顶上去;或者,灯可能烧掉了。在这些情况中,教堂
的塔顶都会是暗的,但这些并不意味着英国军队会从海上进攻。
关键问题在于:信息论只是从原理上告诉我们可以用一个灯来表示“陆地”或“大海 ”,
然而实际上却可能行不通。将在第11章看到,在数据传输时,信息论可能会引起一些问题。
10.1.2 信息表示
怎样对更为复杂的消息进行编码?
在计算机中,对于由一串比特构成的更为复杂的消息来说,比特好比建筑中的
砖块。一个比特能传输两个消息。如果计算机使用两个比特(两个灯笼)或三个比
特(三个灯笼),那么它能传输多少个信息单元呢?图 1 0 - 3显示了两个比特可以传输
四个信息单元。
图10-3 使用两位来表示信息
能传送的信息单元的个数也就是给定比特的不
同的排列组合的数量。下面有一个模式,使用一
个比特,可以传送两个信息单元;使用两个比特,
可以传送四个信息单元;使用三个比特,可以传
送八个信息单元。这些数字都是 2的幂次,如图
1 0 - 4所示。
这样,我们得出了传送信息的规则:在 n个比特
时,可以传送的最大不同信息单元个数为2 n,例如,
使用4个比特(4个灯笼)时,指数 n = 4,这是可以
传送的信息单元为24,或2 * 2 * 2 * 2,即1 6。因此,如
果使用四个比特,能传送的最大信息单元个数为1 6。
图1 0 - 5总结了这个规律。
在比特(灯笼)数一定时,通过图 1 0 - 5可以看出可以传送多少不同的信息。下面,我们把
这个规则反过来应用:如果知道要传送的信息个数,怎样求出需要的比特最小个数。假设 P a u l
288 计算机文化
下载
实验
数字表示
消息1:英军不会来 消息2:英军从陆地上
来
消息4:一些英军从陆
地上来,另外的一些从海
上来
消息3:英军从海上来
图10-4 2的幂级数
关 关
关开
开
开 开
关
R e v e r e知道在英国军队中有一间谍在收集英军进攻的月份。但间谍需要使用多少灯笼来传送从
一月到十二月之间的任何月份呢?可以通过计算 2的多少次幂满足要求来求出结果。2的多少次
幂能提供至少1 2个消息呢?
假设间谍使用3个灯笼,指数为 3,因此间谍可以传送 23个(8个)消息—不够表示1 2个
月。四个灯笼能提供24个消息(1 6个消息),因此,间谍至少应该使用4个灯笼来传送1 2个不同
的消息。
10.1.3 数字表示
当民兵希望能传送英军中先头部队数量的消息时怎么办?
假设教堂中的那个人知道英军先头部队有5 0个连,我们知道可以用不到5 0个灯笼来传送消
息。但是信息论告诉我们,民兵只要使用六个灯笼就可以传送 5 0个连英军进攻的消息。但哪些
灯笼要打开,哪些要关闭呢?
尽管民兵和我们一样,对十进制数字系统很熟悉,但是,对于传送信息给Paul Revere来说,
二进制更为有效。二进制系统只使用两个数字0和1,正好对应灯笼的开和关。
十进制数5 0用二进制表示为 11 0 0 1 0,为了传送数 5 0,民兵可以这样安排灯笼的开与关:
开-开-关-关-开-关,如图1 0 - 6所示。
图10-6 用6个灯笼来表示数字5 0
第10章 数 据 表 示 289
使用1位(1个灯
笼)时
使用2位(2个灯
笼)时
使用 3位( 3个灯
笼)时
使用 4为( 4个灯
笼)时
可以传送2个消息
可以传送 4个
消息
可以传送 8个
消息
可以传送 1 6
个消息
图10-5 使用n位可以传送的信息单元的最大的数量为2n
二进制数
代表的值
32 16 6 4 2 1
(十进制)二进制转换为十进制
下载
计算机可以通过开关比特来用二进制格式存储十进制数字。信息论告诉我们,二进制系统
存在着某些限制。例如,许多早期的计算机系统的字长为 8比特,那么,计算机用二进制可以
存储的最大十进制数是多少呢?如果回答是 2 5 5,那么你对啦。如果把 1赋给所有的8个比特,
可以得到二进制数11111111,等于十进制的2 5 5。
使用二进制系统,8位的计算机系统不能表示大于 2 5 5和小于0的数。这样的计算
机系统不会很有用处,因此计算机科学家发明了替代
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
来使用比特的开和关来表示
更大的数字。因为这些替代的方案使用二进制数0和1,所以也称二进制编码。如果你
主修计算机,你会在进一步的课程中学习到这些二进制编码。
我们已经知道了民兵怎样用灯笼来表示数字和计算机怎样用一系列的 1和0来表示
数字。下面,开始学习计算机怎样存储字符和标点符号。
10.1.4 字符表示
如果传送一条由字符组成的消息,民兵们要使用多少灯笼呢?
字符表示是指用一系列比特来表示非数字的数据(如字符、标点符号)的方法。字符表示
编码,也简称为编码,是指一系列用来表示字符、符号和数字的比特串。但是,不要把编码和
加密、密码混淆。计算机中使用的用来表示数据的编码是公开的,而且必须这样才能在计算机
之间共享。
假设你要表示字符表中的 2 6个字符,需要多少灯笼或比特呢?尽管看起来用 5个比特已足
够表示这2 6个字符,但是,英语中每个字符有大小写,还有大量的标点符号、缩略语(如$、#、
@、&、+)。如果把这些计算在内,则总共有9 5个不同的字符需要表示,需要5个以上的比特。
在最初计算机发展的四五十年代,出现了几种字符表示编码。今天,使用最广的三种字符
编码方式是A S C I I、A N S I和E B C D I C。而第四种编码方式U n i c o d e是为将来的使用做准备的。
A S C I I(美国国家信息交换标准码)是使用最广的,针对字符的编码方案。数据使用
A S C I I编码的文件称为A S C I I文件。标准的A S C I I编码使用7个比特来表示27个符号(1 2 8个符号),
包括大小写字符、特殊控制字符、数字和标点符号。通常用一个表来给出 A S C I I编码。图1 0 - 7
显示了如何用一个矩阵来寻找字符“a”的A S C I I编码。
A N S I(美国国家标准协会)编码使用 8个比特来表示每个符号。8个比特能表示28,即2 5 6
290 计算机文化
下载
信息网
二进制数字
3
3. 该行开始处的四个二
进制数表示最右边的位
4. 小写字母 a的
A S C I I码是11 0 0 0 0 1
1. 找出矩阵中
小写字母a的位置
2. 该列的上部的三个
二进制数表示最左边的位
图10-7 ASCII码矩阵
个信息单元,因此它可以对2 5 6个字符和符号进行编码。A N S I的开始1 2 8个字符的编码和A S C I I
定义的一样,只是在最左边加了一个 0。例如:在A S C I I中,字符“a”用11 0 0 0 0 1表示,而在
A N S I中,则用0 11 0 0 0 0 1表示,除了A S C I I表示的1 2 8个字符外,A N S I还可以表示另外的1 2 8个
符号,如版权符、英镑符、外国语言字符等。
E B C D I C(扩展二、十进制交换码)是 I B M为它的大型机开发的 8位字符表示编码。在开
始的1 2 8个字符中,E B C D I C和A S C I I或A N S I使用的编码并不相同。例如:在E B C D I C中,字符
“a”的编码是1 0 0 0 0 0 0 1。
标准的A S C I I编码定义的1 2 8个字符,对数字、字符和英语中的标点符号来说是足够了。
A N S I编码表示了所有的字符以及欧洲语言中的字符。 E B C D I C表示了标准的字符和控制代码。
然而,没有一种编码方案支持可选的字符集,如 H e b r e w、C y r i l l i c或A r a b i c。这些编码方案也不
支持需要数千不同字符的语言,如汉语、日语等。
U n i c o d e是一组1 6位编码,可以表示超过 65 000个不同的字符。从原理上来说,
U n i c o d e可以表示现在正在使用的、或者已经没有使用的任何语言中的字符。对于国
际商业和通讯来说,这种编码方式是非常有用的,因为在一个文件中可能需要包含有
汉语、英语和日语等不同的文字。并且, U n i c o d e还适合于软件的本地化,也就是针
对特定的国家修改软件。使用 U n i c o d e,软件开发人员可以修改屏幕的提示、菜单和
错误信息来适合于不同的语言和地区。微软和苹果公司都已经宣布将在他们的操作系统中支持
U n i c o d e。
习题A
1. __是一个描述根据使用的信息编码方式的不同,能够传播多少信息的研究领域。
2. 要传播9个信息单元,最少需要使用多少灯笼。
3. 如果编码数据使用__数字系统,8位的计算机可以使用的最大的数字为2 5 5。
4. __编码使用7位来表示1 2 8个符号,包括大写字母、小写字母、控制代码和标点符号。
5. __是一个1 6位的编码,用来表示当今使用的任何语言中的符号。
6. 当一个软件开发者修改了计算机中的程序,使得可以用不同的语言来显示提示、菜单和
错误信息,这称为软件的__。
10.2 图形和视频表示
图形(例如照片和图画)和只包含数字和文字的文档不同。显而易见,计算机用
字符表示编码(如A S C I I)来存储和传送图形,计算机必须将图形编码成 0和1来存储
和传送。但这是怎样实现的呢?
在计算机系统中,有两种非常不同的图形编码方法:位图和矢量。两种编码方法
的不同,影响到图像的质量、存储图像的空间大小、图像传送的时间和修改图像的难
易程度。
10.2.1 位图图像
计算机怎样存储图形数据?
计算机通过指定每个独立的点(或像素)在屏幕上的位置来存储位图图像,最简单的位图
图像是单色图像。单色图像包含的颜色仅仅有黑色和白色两种。为了理解计算机怎样对单色图
像进行编码,可以考虑把一个网格叠放到图像上。网格把图像分成许多单元,每个单元相当于
第10章 数 据 表 示 291
下载
信息网
Unicode编码
4
信息网
图形格式
5
计算机屏幕上的一个像素。对于单色图像,每个单元(或像素)都标记为黑色或白色。如果图
像单元对应的颜色为黑色,则在计算机中用 0来表示;如果图像单元对应的颜色为白色,则在
计算机中用1来表示。网格的每一行用一串0和1来表示,如图1 0 - 8所示。
图10-8 存储一幅单色位图图像
对于单色图像来说,用来表示满屏图像的比特数和屏幕中的像素数正好相等。所以,用来
存储图像的字节数等于比特数除以8。看看图1 0 - 9的计算,可以知道它是怎样工作的。
图10-9 计算单色位图图像的大小
292 计算机文化
下载
原始图像
计算机将图像按照屏幕的
分辨率分割一个矩阵。这里只
可以看到整个矩阵的一部分
计算机检查矩阵中
的每个单元,当单元
为白色时,编码为
1;当单元为黑色时,
编码为 0。通过这些 0
和1,图像存储到了
磁盘中
1. 将屏幕的水平分辨率和垂直分辨率相乘
6 4 0×480=307 200像素
这样,求出了屏幕中的像素的个数,因为单色图像使
用一位来表示一个像素,所以也计算出了存储图像时需
要的比特数。
2. 当需要将存储图像需要的比特数转换为需要的字节
数时,更加方便。因为每个字节中有 8个比特,将总共的
比特数除以8就得到了需要的字节数
307 200÷8=38 40
0字
个人自传范文3000字为中华之崛起而读书的故事100字新时代好少年事迹1500字绑架的故事5000字个人自传范文2000字
节
如图1 0 - 9所示,分辨率为6 4 0×4 8 0的单色图像需要6 4 0×4 8 0(307 200)个比特。每个字
节为8个比特,因此,图像需要 38 400个字节,
相当小的存储空间。然而,单色图像很少使用,
因为它们看起来不太真实。
灰度图像用灰色按比例显示图像。如果单色
图像和老式的侧面轮廓图相类似,那么灰度图像
则和黑白照片相似。使用的灰度级越多,图像看
起来更真实。为了表示如图1 0 - 1 0所示的图像,计
算机需要使用比单色图像更为复杂的编码方案。
通常,计算机用 2 5 6级灰度来显示图像。对
于2 5 6级灰度,需要使用多少个比特呢?使用前
面提到的信息论可以回答这个问题。在 2 5 6级灰
度图像中,每个像素可以是白色、黑色或灰度中
2 5 4级中的任何一个—总共2 5 6中可能性。传送
2 5 6个信息单元需要多少比特呢?答案是 28= 2 5 6。
这样, 2 5 6级灰度需要 8个比特(一个字节)。
一幅分辨率为 6 4 0×4 8 0的2 5 6级灰度图像需要
307 000个字节,其计算过程如图 1 0 - 11所示。
图1 0 - 11 计算2 5 6级灰度图像的大小
如果需要更为真实的图像,计算机可以显示彩色图像。计算机可以使用 16 256种颜色或
1 . 6 7 0万种颜色来显示彩色图像。对于 1 6色的图像,每个像素可以有 1 6种颜色。为了表示这 1 6
种不同的信息单元,每个像素需要4个比特来存储。因此,一个1 6色的全屏图像需要153 600个
字节来存储。
2 5 6色图像中,每个像素需要8个比特(一个字节)。一个全屏图像需要307 200个字节—
是1 6色图像的两倍,和2 5 6级灰度图像一样多。
但照片质量的图像显示的颜色已经超过了 1 . 6 7 0万种颜色,称为2 4位或真彩色图像。为了
表示1 . 6 7 0万色图像,每个像素需要2 4个比特(3个字节)。1 6色、2 5 6色和真彩色图像的图像质
量有什么区别吗?可以通过比较图1 0 - 1 2来判别一下。
可以看出,包含图像的文件都很大。这样大的文件需要很长的传输和下载时间。例如,从
因特网上下载一个分辨为6 4 0×4 8 0的2 5 6色图像至少需要1分钟。一个1 6色的图像文件只需要一
半的时间。
有两种方法用来减少图像的存储空间和传输时间。首先,可以通过压缩这种技术来减少图
像文件的大小,这一点会在后面讨论。第二种方法是通过一种称为抖动的技术,即减少图像中
的颜色数,来减少文件大小。抖动技术根据人类眼睛对颜色和阴影的分辨率,通过由两个或多
个颜色组成的模式产生附加的颜色和阴影。例如, 2 5 6色图像上的一片琥珀色的区域可以通过
第10章 数 据 表 示 293
下载
图10-10 256级灰度的位图图像
将屏幕的水平分辨率和垂直分辨率相乘
6 4 0×480=307 200
这样可以得到屏幕的像素的个数。 2 5 6级灰度图像中使用一个字节来表
示每个像素,因此,这也得出了存储图像需要的字节数
抖动技术转换为1 6色图像上的黄红色小点模式。
在因特网的W W W页面上,抖动技术是用来减少图像大小的常用技术。假设有一张 2 5 6色
的巨石阵的图像,你想减少We b浏览者显示图片的时间,因此必须减少表示图像的字节数。如
果只是简单的将它转换为 1 6色图像,那么会和原始图像有很大的不同,然而,如果对 2 5 6色图
像进行抖动,其结果一个由 1 6色图像组成的、和原图更为相似的图像。从图 1 0 - 1 3中可以看出
其中的不同。
位图图像通常用于现实中的图像,如扫描的图像。文件的扩展名为: . b m p,. p c x,. t i f,
. j p g和. g i f,通常指文件中包含有位图图像。文件的扩展名通常和文件的格式一样,如文件的扩
展名为. g i f的文件是G I F文件。
图10-13 使用抖动来模拟彩色。在这里,使用了黄色和红色的点模式来模拟天空
294 计算机文化
下载
图10-12 彩色图像的比较
256色图像
16色图像
真彩色图像
原始256色图像
16色抖动图像 16色非抖动图像
因为位图文件用一系列的比特来表示像素,因此可以修改或编辑单个的像素。可以使用位
图软件,也称为照片编辑软件或绘画软件,来修改位图文件。软件包,如 Microsoft Paint,P C
P a i n t b r u s h,Adobe Photoshop或Micrografx Picture Publisher等,能够将图片的局部进行放大,
以便更加方便地进行修改。因为一个像素一个像素地修改大幅图像是很乏味的过程,位图软件
提供了一些附加的工具,如剪切、拷贝、粘贴和改变图片区域的颜色等。
位图图像软件具有修改照片级质量图像的能力。例如:可以润饰和修复老照片,通过从几
幅图片中剪切和粘贴来设计引人注目的新照片(见图 1 0 - 1 4)。
图10-14 使用位图图像软件,可以点对点地编辑图像。例如,
可以擦除图像中妇女脸上的像素,代之以另一个人的脸
10.2.2 矢量图像
矢量图像和位图图像之间有什么区别?
矢量图像由一串可重构图像的指令构成。在创建矢量图片的时候,可以用不同的颜色来画
线和图形。然后计算机将这一串线条和图形转换为能重构图像的指令。计算机只存储这些指令,
而不是真正的图像。矢量图像看起来没有位图图像真实,如图 1 0 - 1 5所示。
图10-15 和位图图像相比较,矢量图像看起来不太真实
第10章 数 据 表 示 295
下载
位图图像
矢量图像
但是,矢量图像有几个优点。首先,矢量图像的存储空间比位图图像小。矢量图像的存储
空间依赖于图像的复杂性,每条指令都需要存储空间,所以,图像中的线条、图形、填充模式
越多,所需要的存储空间越大。如图1 0 - 1 5所示的矢量图像仅仅需要4 894个字节。
矢量图像的第二个优点是:使用矢量图像软件,可以方便地修改图像。可以把矢量图像的
一部分当作一个单独的对象,单独加以拉申、缩小、变形、移动和删除。例如:图像中有一个
黄色的太阳,你可以方便地把它移到不同的位置、把它放大或改变它的颜色。
包含矢量图像的文件的扩展名为: . w m f,. d x f,. m g x和. c g m。矢量图像软件指的是绘画软
件,而且通常情况下,是一个和位图图像软件不同的软件包。流行的矢量图像软件包有:
Micrographx Designer和C o r e l D R AW。
但是用矢量图像软件来画一个图像时,可以使用画图工具来创建图形或物体。例如,可以
使用带填充的画圆工具来画一个圆,并填充以颜色。创建这个圆的数据可以用一条指令(如
CIRCLE 40 Y 200 150)进行
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
,其中指令表示创建一个直径为 4 0个像素、颜色为黄色,并
且把它放到距离屏幕左边2 0 0个像素、距离屏幕上方1 5 0个像素的地方。
使用画图工具,可以创建如填充矩形或圆的几何物体。通过连接不同的点,可以创建不规
则图形的外轮廓。通过改变图形的位置、大小和颜色可以将画出的图形组合成一个图像。画图
软件会相应地调整指令。例如,如果把一个圆移到图像的右边,计算机存储的该条指令会变成
CIRCLE 40 Y 500 200。图1 0 - 1 6显示了怎样用画图软件来创建一个矢量图形。
图10-16 要绘制一个圆,选择填充圆工具,然后拖动鼠标。在窗口底部的调色板可以让你选择
不同的颜色。一旦创建了圆这个对象,可以移动,改变大小或者颜色。
可以将短线进行连接,来绘制不规则形状的物体,如云
296 计算机文化
下载
填充圆工具
圆对象
云
填充圆
填充矩形
石头阵
10.2.3 数字视频
计算机怎样存储视频数据呢?
视频由一系列的帧组成,每个帧是一幅静止的图片,并且图像也使用位图文件形式表示的。
然而,视频每秒钟需要显示3 0帧,这意味着视频需要巨大的存储空间。
一幅全屏的、分辨率为6 4 0×4 8 0的2 5 6色图像有307 200个像素。因此,一秒钟视频需要的
空间是3 0乘上这个数,即9 216 000个字节,大约9兆(如图1 0 - 1 7)。两小时的电影需要66 355
200 000个字节,超过6 6 G字节!甚至只有使用超级计算机,才有可能播放。就如本章后面所叙,
视频数据需要一些特殊的编码技术来产生兆字节数量级的视频文件。
图10-17 如果这是一个和6 4 0×4 8 0的屏幕一样大的4秒钟的视频,需要3 6 M的存储空间
习题B
1. __图像是使用指示屏幕中显示的每一个像素的状态的编码来表示的。
2. 256级灰度图像中的每个像素需要__个比特。
3. 将2 5 6色图像减少为1 6色图像的技术称为__,通常,这样可以减小因特网上存储的图
像文件的大小。
4. __图像存储的是一串怎样重新绘制图像中物体的指令。
5. Bmp, .wmf, .dxf和. t i f是位图文件的扩展名,对吗?__。
6. 3G的硬盘可以轻易存储全长电影的数字数据,对吗?__。
10.3 声音表示
计算机可以记录、存储和播放声音(如发音、音乐等)。声音或音频数据是以两种不同的
方法进行表示的:波形或M I D I音乐。两者之间的区别类似于磁带录音与钢琴表演。
10.3.1 波形音频
计算机怎样存储音乐呢?
波形音频是声音的数字形式表示。对于声音的数字记录来说,会周期性地对声音
波形进行采样并以数字数据的形式进行存储。音乐、发音和声音都可以以波形形式进
行存储。图1 0 - 1 8显示了计算机怎样用数字方式采样一个波形。
第10章 数 据 表 示 297
下载
信息网
数字音频
6
图10-18 声音波形采样
采样速率指的是在记录过程中,每秒钟对声音测量的次数。采样速率以 H z为单位。每秒钟
采样1 0 0 0次即为1 0 0 0 H z或1 K H z。声音每秒钟需要88 200个字节。而立体声需要两倍的存储空
间,因为需要记录两个记录来达到立体声的效果。但采样速率为 4 4 . 1 K H z时,在1 . 4 4 M B的软盘
上,仅仅能存储8秒钟的音乐。而典型的一辑摇滚乐(4 5分钟)需要4 7 5 M B。
为了保存空间,不需要高质量音乐的应用程序可以降低采样速率。发音通常的采样速率为
11 K H z,即每秒采样11 000次。这样,声音的质量比较低,但文件大小是以 4 4 . 1 K H z录制的相
似声音文件的1 / 4。
存储在计算机上的波形文件的扩展
名为: . w a v,. m o d,. a u和. v o c。要记录
和播放波形文件,需要使用音乐软件。
这些音乐软件通常需要使用声卡。你可
以使用Windows 3.1下的Sound Recorder
应用程序或Windows 95或Windows 98下
的Media Player,如图1 0 - 1 9所示。
298 计算机文化
下载
两个波峰之间的距离称为频率,频率
指示了声调。当波峰相隔很远时,声音
很低;当波峰相隔很近时,声音很高亢
波形的高度记录了每次采样,
在这里,用 8个比特来记录每个采
样,这样,波形的高度从0~2 5 6
从采样中可以大
致看出声波的形状,
但是,采样之间的
声波细节却丢失了
声波的高度称为振幅,
振幅指示了声音的大小
要对声波进行采样,需要把每
一秒钟的声波分为几千份。在这
里,很难看出这些采样,因此只
显示了声波的3 0个采样
声波的高度
为1 5 5,因此这
个采样用二进制
编码为1 0 0 11 0 11
如果假定每个采样之间的高度
并不会改变,可以在每个高度之
间画一条垂直线。这种用数字表
示的声波称为“分步波形”
图10-19 使用音乐软件,如Windows Sound Recorder,
可以看到正在听的声音波形
10.3.2 MIDI音乐
可以用M I D I存储发音和音乐数据呢?
乐器数字接口(M I D I,Musical Instrument Digital Interface)文件包含有M I D I乐器和M I D I
声卡用来重构声音的指令。 M I D I文件能存储和重构乐器声音,但不能存储和重构发音。 M I D I
文件比波形文件更为紧凑。3分钟的M I D I音乐仅仅需要1 0 K B的存储空间,而3分钟的波形音乐
需要1 5 M B的存储空间。
M I D I是一个音乐符号系统,它允许计算机和音乐合成器进行通讯。计算机把音乐编码成
一个序列并以 . m i d、. c m f或. r o l的文件扩展名进行存储。音乐序列类似于钢琴演奏者使用的用来
得知是怎样演奏音乐的信息。 M I D I序列包含的指令有:音符的定调、开始音符、演奏音符的
乐器、音符的音量和音符的时间等等,如图1 0 - 2 0所示。
图10-20 MIDI序列用一系列的音轨(t r a c k)来存储。每个音轨表示一种乐器。
当合成M I D I音乐时,可以为每个音轨分配一个乐器、指明音量和声音质量
习题C
1. __音频和位图图像类似,然而,__音乐和矢量图像类似。
2. __速率表示了每秒钟记录声音的次数。
3. MIDI序列是人类语言的数字记录,对吗?__。
4. 人类语言的采样频率应该用比音乐的采样频率更高,对吗?__。
5. 用WAV格式来存储十分钟的音乐需要的空间比用 M I D I格式存储的十分钟的音乐更大,
对吗?__。
10.4 数据压缩
尽管可以使用信息论来设计有效的编码方案来表示字符、图像和声音,但是包含
这些数据的文件十分巨大。就像本章前面提到的一样,一秒钟的视频需要 9 M空间,
一幅全屏的位图需要307 200个字节,4 5分钟的波形声音文件可能需要4 7 5 M空间。大
文件需要大量的存储空间,容易形成磁盘碎片,从而降低计算机硬盘的利用率,并且
第10章 数 据 表 示 299
下载
信息网
数据压缩
7
需要更长的传输时间。如果可以减少文件的大小而不丢失数据,就可以避免这些问题。
数据压缩是对数据重新进行编码,以减少所需存储空间的通用术语。数据压缩是可逆的,
因此数据可以恢复成原状。数据压缩的逆过程有时也称为解压缩、展开等。图1 0 - 2 1会帮助你
直观地理解压缩是怎样影响文件中数据大小的。
图10-21 数据压缩
当数据压缩之后,文件的大小变小了。压缩的数量称为压缩比。例如,压缩比为2 0:1表
示压缩后的文件是原始文件1 / 2 0。
数据压缩技术可以用到文字、图像、声音和视频数据。有些压缩技术需要特殊的计算机硬
件,而另一些技术则完全由软件实现。用来对图像、声音和视频文件进行压缩和解压缩的硬软
件过程称为多媒体数字信号编解码器(C O D E C,C O m p r e s s o r / D E C o m p r e s s o r)。
有两种数据压缩技术:磁盘压缩和文件压缩。磁盘压缩把文件压缩后放到特定的硬盘卷上。
硬盘卷是一个有唯一名字的磁盘或区域,当作一个分离的磁盘。磁盘压缩会创建一个压缩卷来
包含重新编码过的数据,以便使存储空间的使用更为有效。当你想使用磁盘压缩卷上的文件,
计算机会自动把文件展开到原始大小。当你将一个文件存储到压缩卷上时,计算机会自动进行
压缩。磁盘压缩的优点是不要购买新的硬盘就可以获得存储空间。在理想情况下,可以使硬盘
的容量翻一倍,但通常情况下,获得的磁盘空间要小一些(见图 1 0 - 2 2)。
图10-22 要压缩一个磁盘,必须使用磁盘压缩实用程序。流行的磁盘压缩实用程序包括 D o u b l e S p a c e、
D r i v e S p a c e、S t a c k e r、S u p e r S t o r和A d d S t o r等,Windows 95和Windows 98操作系统
也包括了一个磁盘压缩实用程序。
300 计算机文化
下载
初始文件包含
有20 000个字节
文件压缩
初始文件 压缩文件 解压后文件
文件解压缩 解压缩后的文件和文
件的原始大小一样
文本文件,如字处理
文档,通常可以压缩到
原始大小的6 0 %,20 000
个字节的文件可以压缩
到大约12 000个字节
磁盘压缩有两个潜在的不足:首先,如果你决定不再想要磁盘上的压缩卷,必须要有足够
的空间来存放所有解压后的文件。许多用户通过磁盘压缩获得存储空间之后,将不会有空闲的
磁盘空间了。第二个不足是压缩卷上的一个文件错误会丢失压缩卷上的所有数据。对磁盘压缩
而言,经常性的备份是很重要的。
文件压缩把一个或多个文件压缩成一个单独的较小文件。和磁盘压缩创建压缩卷不同 , 文
件压缩创建一个压缩文件。在展开这个压缩文件之前,不能使用这个文件。 P K Z I P和Wi n Z i p是
压缩和解压缩方面两个流行的共享软件。用计算机行话,压缩一个文件有时也称为 z i p p i n g,
解压缩称为u n z i p p i n g。压缩文件的优点在于你可以有选择地进行压缩,并把他们放到一张软
盘中,或上载、或用电子邮件发出等。而缺点在于使用前必须手工把这些文件解压缩。
文件压缩的一个变通方法是自展开可执行文件,它包含有压缩后的数据和展开它需要用到
的软件。这些文件以 . e x e为扩展名。但运行一个自展开可执行文件时,它会自动展开它所包含
的数据。这能节省你寻找压缩软件、定位要展开的文件和运行展开文件功能的时间。
使用文件压缩工具,可以将文本和 . b m p压缩7 0 %。然而,有些类型的文件因为它们本身就
是以压缩格式存储的,因而很难进行压缩。在下一节中会知道,为什么压缩软件对文字和 . b m p
比较有效,而对 . t i f和. p c x却作用不大。
10.4.1 文本文件压缩
压缩软件是怎样压缩文档文件的呢?
文本文件包含有许多重复的单词和空格,因此使用自适应的模式替换和指针,压缩软件可
以把文本文件压缩到原始大小的二分之一以下。
自适应的模式替换是针对于压缩文本文件而设计的压缩技术。这种压缩技术扫描整个文本
并且寻找两个或多个字节组成的模式。但它发现了一个模式,会用一个文件中其他地方没有用
到的字节来代替这个模式,并在字典中加入一个入口。我们来看一个简单的例子。
使用自适应模式替换技术,你能把“ the rain in Spain stays mainly on the plain, but the rain
in Maine falls again and again”压缩到多少?没有压缩时,包含空格和标点符号在内,这句短
语有8 8个字节。看看图1 0 - 2 3,看自适应模式替代技术是怎样压缩这个短语的。
图10-23 文本压缩:自适应模式替代
在图1 0 - 2 3中使用的符号是真实的字符,而且只是在例子中使用的。显然,在一个真实的
文档中是不能使用这些字符的,因为在文档的其他地方可能会用到它们。你一定不愿意计算机
把e - m a i l地址c o c o @ c a n i n e . c o m替换为c o c o a i n c a n i n e . c o m!
自适应模式替换技术的有效性依赖于文档的内容。当文档中含有大量重复信息时,压缩的
第10章 数 据 表 示 301
下载
1. 初始文件包含有 8 8个字符,
或者说 8 8个字节。计算字节数目
时,记住要统计空白和标点符号
2. #用来替代t h e,t h e有三个字
节,但是 #只有一个字节。每次
替代都会节省两个字节
3. 用 来^替代i n,每
次这个替代都可以节
省一个字节
4. 用@来替代 a i n,
每次这个替代都可以
节省两个字节
5. 压缩软件为每个替代方
式维护了一个辞典入口,这
样,文件可以解压缩到它原
来的状态
6. 压缩后的文件为 6 4个字符,或者说 6 4个字节。
辞典为 11个字节。这样压缩文件为 7 5个字符。和原
始文件大小相比,减少了 1 3个字节,大约减少了2 0 %
效果最好。文件越长,更有可能包含重复信息,因此,它们的压缩比率要高于比它们短的文件。
另外一种文本压缩技术扫描整个文件并寻找重复的单词。但一个单词的出现次数多于一次,
那么第二次以及以后该单词的出现都会用一个数字来代替。这个数字当作原始文件单词的指针。
图1 0 - 2 4说明了这种方法是怎样工作的。
图10-24 文本压缩:使用指针来压缩文件
记住在你使用文件之前必须解压。如果你试图使用 Wo r d处理软件打开一个压缩的文件,
该文件将是不可读的。压缩的字节已不能解释为字母和单词。相反,会产生如图 1 0 - 2 5所示的
不可识别的字母或符号。
图10-25 如果试图在解压缩之前打开一个压缩文档,文字将会是不可读的
10.4.2 图形文件压缩
可以用压缩软件压缩图形文件吗?
没有压缩的位图图像文件是很大的,然而,它们通常包含有可以压缩的重复的数据,如一
大块同一种颜色的区域等。游程编码是一种寻找字节模式并用一个可以描述这个模式的消息进
行替代的压缩技术。作为一个简单的例子,假设图像中有一个 1 6 7个像素的白色区域,并且每
个像素用一个字节来表示。经过游程编码压缩后,这一串 1 6 7个字节的数据被压缩成2个字节,
如图1 0 - 2 6所示。
以. b m p为扩展名的文件通常包含有没有压缩过的位图文件。而以 . t i f,. p c x和. j p g为文件扩
展名的文件包含有压缩过的位图文件。以 . t i f为文件扩展名的文件使用的是 T I F F(即带标志的
302 计算机文化
下载
1. 原始文件的大
小为 8 8个字节,包
括空白和标点符号
2. 当t h e第二次和第三次出现时,这个单词用一个
指针来替代,这个指针用来表示“这个单词和文件中
的第一个单词相同”。符号#表示一个特殊字符,表示
其后的数字是一个指针,而不是真实文本的一部分 3. rain的第二次和第三次出现
都替换为文件中的第二个单词
5. 单词a g a i n的第二次出现用
一个指向文件中的第1 6个单词
的指针来代替。注意到一个指
针需要三个字节:符号#,1和6
6. 压缩的文件的大小为 8 3个字节,对于
这个文本例子来说,只压缩了 6个字节。通
常情况下,文件越大,单词替代的频率越高,
因而压缩效果越好
4. 单词i n的第二次出现也替换
为文件中的第三个单词。这种替
换并不能减少文件的大小,因为
初始的单词仅仅有两个字节,而
替代也需要两个字节。正因为这
个原因,大部分的压缩程序并不
会替换仅有两个字节的单词
图像文件格式)格式,以P C X格式存储的文件使用的是不同的压缩技术。
以. j p g为扩展名的文件使用的是有损失的J P E G (联合图像专家组, Joint Photographic Experts
G r o u p)格式。有损压缩会损失一些原始图像的信息。它的原理是,人类的眼睛感觉不到信息
的丢失。当存储图像时,大部分的图像软件会让你选择图像是以B M P、T I F F、P C X和J P E G中的
哪一种进行存储。文件一旦使用压缩格式进行存储后,压缩软件(如 P K Z I P)很难再把它变小。
因此,可以用P K Z I P来显著压缩. b m p格式的文件,却难以压缩. p c x、. t i f和. j p g格式的文件。
图10-26 图像的游程编码
10.4.3 视频文件压缩
有没有方法压缩巨大的视频文件?
从本章的前一部分可以知道,视频由一系列帧组成,每一帧又是一幅位图图像。而且我们
还知道视频需要巨大的存储空间。长篇电影《玩具总动员》就是由计算机制作的(见图1 0 - 2 7)。
第10章 数 据 表 示 303
下载
1. 位图图像引进放大了,以便显示单个的像
素,例如白色像素。每个像素用 8个比特来表
示(一个字节)。白色像素的编码为11111111
2. 开始的5行和第6行的开始的7列都是白色的。
在没有压缩的文件中,这些像素需要 1 6 7个字节。
但是它们可以用“1 0 1 0 0 11111111111”来进行编码。
开始的字节表示1 6 7,第二个字节是白色的编码
5. 重复次数的二进制表示
6. 颜色的
二进制表示
3. 下面的 5个像素是黑色的,黑色的
二进制表示时0 0 0 0 0 0 0 0,这一片图像区
域可以编码为“ 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0”,
第一个字节表示5,第二个字节表示黑色
的编码
4. 在不压缩时,
开始的9行需要2 8 8
个字节。使用游程
编码进行压缩后,
这一片区域仅仅需
要3 0个字节
显然,存储和播放长篇电影超过了今天个人计算机的能力。然而,却可以通过减
少每秒钟播放的帧数、减少视
频窗口的大小或者只对每帧之
间变化的内容进行编码来在个
人计算机上播放视频。
Video for Wi n d o w s、
Q u i c k Ti m e和M P E G是进行编
码、压缩、存储和播放数字视
频时常常采用的格式。 Vi d e o
for Wi n d o w s文件的扩展名为. a v i,
Q u i c k Ti m e文件的扩展名为 . m o v,尽管
M P E G(运动图像专家组)文件的扩展
名为 . m p g,但是从技术上来说更是一种
压缩技术,而不是文件格式。在最初,
M P E G需要特殊的硬件进行压缩和解压
缩。在今天快速计算机的支持下,已经
可能不需要硬件而直接播放。然而,对
于压缩过程来说,仍需要硬件。 M P E G
可以将两个小时的视频压缩成几个G B,表1 0 - 1比较了现在的三种视频格式。
表10-1 视频格式
格 式 文件扩展名 帧/秒 分 辨 率 颜色调和板 声 音
Video for Wi n d o w s . a v i 3 0 3 2 0×2 4 0 8位 8位单声
Quick Ti m e . m o v 1 0 ~ 1 2 3 2 0×2 4 0 8位 8位单声
M P E G - 1 . m p g 3 0 3 5 2×2 4 0 2 4位 C D立体声
M P E G - 2 . m p g 6 0 7 2 0×4 8 0或 2 4位 C D立体声
1 2 8 0×7 2 0
每秒钟播放的帧数直接影响到了视频的平滑性。高质量的视频每秒钟需要播放 3 0帧,而低
质量的视频每秒钟仅仅播放1 5帧,这样,视频可能会有些抖动,但对于某些计算机应用来说已
经足够了,如训练用的视频或动画产品目录。
另外一种使得微机可以播放视频的技术是减少图像的大小。显示一个只有屏幕 1 / 4大小的
图像只有全屏图像数据的 1 / 4,所以大部分计算机视频应用只使用计算机屏幕上的一个小屏
幕。
如果把视频的每一帧用标准的图像压缩技术(如 J P E G)进行压缩,也能减少视频的大小,
这种技术称为帧内压缩。根据每帧的内容,这种技术的压缩比率在2 0:1到4 0:1之间。
另一种技术需要计算机计算两帧之间的差别,并且只存储改变的内容。假设一个视频片断
每帧之间变化不太大,如正在说话的头部是一个很好的例子,只有嘴和眼睛在变化,而背景却
保持相当的稳定。这样,一种称为运动补偿的技术可以只存储每一帧之间变化的数据,而不需
要存储每一帧中所有的数据。根据数据的不同,运动补偿的压缩比率可以达到 2 0 0:1,图1 0 -
2 8显示了怎样把几种技术综合使用来减少视频文件的大小。
304 计算机文化
下载
信息网
玩具总动员
8
信息网
数字视频
9
图10-27 用计算机产生一个全长的电影《玩具总动员》
时,需要相当于1 2 0 0个C D - R O M的存储空间
图10-28 这个四秒钟的视频使用帧内压缩和运动压缩可以压缩到6 8 9 K B。当播放视频时,
可以轻易看出,和原始的非压缩的视频相比,质量有所下降
习题D
1. __是一种记录数据的技术,这样对存储空间的需求可以减少。
2. 磁盘压缩会在硬盘上创建一个压缩__。
3. __的优势是可以压缩指定的文件,并且把它们放到一个软盘上。
4. 用较小的字节模式来替换字符序列重复出现来压缩文本文件的技术称为__。
5. JPEG使用一种称为__压缩的技术,这种压缩技术会丢失一些原始图像的信息。
6. 有一种减少视频文件大小的技术是减少每秒钟显示的帧数,对吗?__。
10.5 使用压缩软件
Wi n Z i p是一个很流行的压缩软件包,可以通过 m a i l从共享软件发行商处取得,或
从因特网上下载,或者从本地计算机上得到。这个软件可以有效地减小文本文件
和. b m p文件的大小。我们可以通过一个例子来看看这个软件是怎样用的。假设硬盘
(驱动器C)目录R E P O RT S上有一个1 . 8 M B的C l i e n t s . d o c文件中包含一些你想发送给合
作者的商业信息,你想把它们放到一张 1 . 4 4 M B的软盘上去,因为 C l i e n t s . d o c需要
1 . 8 M的存储空间,所以软盘上放不下这个没有压缩过的文件。
10.5.1 用Wi n Z i p压缩文件
怎样用Wi n Z i p来压缩文件?
要把文件压缩后再给合作者,首先需要确认已经在计算机上安装了 Wi n Z i p软件。在你点击
Wi n d o w s开始按钮后,应该能在 P r o g r a m s菜单中找到它,在压缩 C l i e n t s . d o c文件之前,要先给
压缩文件取个名字C l i e n t s . z i p。然后告诉Wi n Z i p应该压缩哪些文件。
结果,Wi n Z i p会将C l i e n t s . d o c压缩成驱动器A上的一个更小的文件 C l i e n t s . z i p,如图1 0 - 2 9
所示。
第10章 数 据 表 示 305
下载
信息网
压缩软件
10
图10-29 压缩了一个文件以后,压缩软件会显示压缩文件的大小信息
10.5.2 展开文件
在使用文件之前,合作者是否要展开这个文件?
因为不可能直接使用压缩文件,合作者必须将文件 C l i e n t . z i p展开。要展开这个文件,合作
者必须打开Wi n Z i p程序,然后指定要展开的文件。 Wi n Z i p还需要知道应该把解压缩后的文件
放到什么地方。如图1 0 - 3 0所示,Wi n Z i p展开了文件C l i e n t . z i p,并且把展