1. 在做动态压缩试验时若材料厚度太小怎么办
wodesj979 加入VIP|个人中心 |
1|网络首页
网络文库_文档分享平台
新闻 网页 贴吧 知道 音乐 图片 视频 地图 网络文库
首页分类教育文库精品文库 个人认证 机构合作 文库VIP个人中心
网络文库专业资料工程科技材料科学
上传文档
文档贡献者
翾辕
贡献于2014-04-30
相关文档推荐
包装材料实验报告
12页 免费
材料拉伸压缩实验报告
6页 免费
实验二 压缩实验报告
2页 免费
材料拉伸压缩实验报告
6页 1下载券
材料拉伸压缩实验报告
暂无评价 4页 免费
包装用缓冲材料动态压缩实验~实验报告
暂无评价|34人阅读|2次下载|举报文档
2 A7组:49.8mm 以 A4组详述:测量标准的已知参量: d0=8.32mm d1=23.1mm d2=24.64mm 四角的厚度分别为: d1=9.33mm d2=7.87mm d3=9.70mm d4=8.47mm d均=(9.33+7.87+9.70+8.47)/4=8.84mm 压缩前试样的厚度为: T=23.1+24.64+8.84-8.32=48.26mm 压缩之后测量标准的已知参量: d0=8.32mm d1=29.12mm d2=24.0mm 四、 试验方法 1. 实验室的温湿度条件 实验室的温度:21摄氏度 实验室的湿度:35% 2. 实验样品的预处理 将实验材料放置在试验温湿度条件下24小时以上 3. 实验步骤 (1) 将试验样品放置在式烟机的底座上,并使
3 其中心与重锤的中心在同一垂线上。适当的固定试验样品,固定时应不使实验样品产生变形。 (2) 使试验机的重锤从预定的跌落高度 (760mm)冲击实验样品,连续冲击五次,每次冲击脉冲的间隔不小于一分钟。记录每次冲击加速度-时间历程。实验过程中,若未达到5次冲击时就已确认实验样品发生损坏或丧失缓冲能力时则中断实验。 4. 冲击试验结束3分钟后,按原来方法测量试验样品的厚度作为材料动态压缩实验后的厚度dT实验步骤 (1) 将试验样品放置在式烟机的底座上,并使 其中心与重锤的中心在同一垂线上。适当的固定试验样品,固定时应不使实验样品产生变形。 (2) 使试验机的重锤从预定的跌落高度 (760mm)冲击实验样品,连续冲击五次,
4 每次冲击脉冲的间隔不小于一分钟。记录每次冲击加速度-时间历程。实验过程中,若未达到5次冲击时就已确认实验样品发生损坏或丧失缓冲能力时则中断实验。 (3) 冲击试验结束3分钟后,按原来方法测量 试验样品的厚度作为材料动态压缩实验后的厚度dT (4) 五、 实验数据与处理 1. 实验后数据表格 静应力计算公式:410/AWst 动力压缩残余应变:(T-Td)/T×100% 厚度(压缩之后)的测量以及残余应变: A1组:46.39mm 4.59% A2组:49.38mm 1.16% A3组:46.96mm 3.06% A4组:47.13mm 2.34% A5组:47.47mm 0.71% A6组:47.6mm 9.42% A7组:48.08mm 3.45% 以A4组详述压缩后厚度的测量:
5 d1=3.13mm d2=1.9mm d3=1.48mm d4=2.80mm d均=(3.13+1.9+1.48+2.8)/4=2.33mm 压缩后试样的厚度为: Td=29.12+24+2.33-8.32=47.13mm 那么,动力压缩残余应变: (48.26-47.13)/48.26=2.34% 2、试验样品的最大加速度静应力曲线
材料:EPE缓冲材料 ρ=0.023g/cm³ 材料厚度:48.26mm 实验环境:温度:21℃ 湿度:35%RH 跌落高度:760cm 组别 G1 G2 G3 G4 G5 G均后四个的平均数 重锤的质量(kg) σst静应力(Pa) 正偏差 负偏差 第一组 60.39 66.41 65.88 66.12 65.36 65.9425 2.68 2626.4 0.4675 0.5825 第二组 61.99 98.38 83.1 67.71 76.89 81.52 3.68 3606.4 16.86 13.81 第三组 67.5 73.97 74.92 67.66 86.25 75.7 4.68 4586.4 10.55 8.04 第四组 49.59 86.36 68.9 83.18 74.67 78.2775 5.68 5566.4 8.0825 9.3775 第五组 73.7 109.86 83.66 78.61 79.12 87.8125 6.68 6546.4 22.0475 9.2025 第六组 81.69 93.15 95.36 100.82 95.57 96.225 7.68 7526.4 4.595 3.075 第七组 80.81 84.89 92.03 94.24 90.49 90.4125 8.68 8506.4 3.8275 5.5225
6 G的值越大,材料承受外力的值越大;下落高度不变,G越小,就要靠变形量的的增加来吸收相应的能量 六、 实验中出现的问题与解决办法 1. 实验样品为缓冲材料,用尺子直接测量其厚度时,会对其产生一定的压力,使测量不准确。因此,在测量时,在试样表面放置一块平整的刚性平板,使试验样品受到KPa02.020.0的压缩载荷。压缩30s后在载荷状态下用高度尺测量四角的厚度,再取其平均值,较为合理,在实际测量时已考虑。 2. 在测定最大加速度—静应力曲线时,重物下落后未及时拖住,导致缓冲材料受到多次的冲击,以
!@#$%^&&*()_+.一三五七九贰肆陆扒拾,。青玉案元夕东风夜放花千树更吹落星如雨宝马雕车香满路凤箫声动玉壶光转一夜鱼龙舞蛾儿雪柳黄金缕笑语盈盈暗香去众里寻他千网络暮然回首那人却在灯火阑珊处
阅读已结束,如果下载本文需要使用
1下载券
下载
想免费下载本文?
立即加入VIP
文档免下载券下载特权
全站付费文档8折起
千本精品电子书免费看
今日推荐
88份文档
2014全国高考状元联手分享状元笔记
衡水中学文科学霸高中数学笔记
清华附中文科学霸高中政治笔记
东北师大附中理科学霸高中化学选修5笔记
36份文档
2015开学季
大学高数公式大全
大学英语作文模板
大学生性生理与性卫生
48份文档
春季养生
春季男性必吃的12种食物
男性常搓九部位补肾又健脑
春季养生及疾病预防知识
您的评论
240发布评论
用户评价
暂无评论
©2015 Bai 使用网络前必读 | 文库协议 | 网站地图
关闭
您有1份新手礼包尚未领取
评价文档:
3
下载
1 下载券
/8分享到:QQ空间新浪微博微信
新版反馈
加入文库VIP,获得免下载券特权
下载
1 下载券
用手机扫此二维码:×
以下结果由提供:×
网络翻译
网络词条:×
网络
复制 | 搜索 | 翻译 | 网络 | 分享 | 二维码
文字已复制
分享至:×
2. PCA(主成分分析):从压缩图像到手写数字识别实验
在看数字图像处理的压缩章节,突然看到PCA可以用来压缩图像,于是学乎。本文主要大致简单说下整个实验的过程和一些关键的点,详细和更好的解说在我给出的资料里面有。
压缩的一种方法论就是先将一张图片,一个信号的数据量进行某种分解,这种分解必须是有某种“compact”(紧凑)的特性,也就是说大部分的信息存在于少量的系数中,而像不是原始数据中的那样子简单均匀的分布。如果分解得好,压缩的时候只保留少量的数据量就可以保留几乎一张图片或者一个信号。这里是有损压缩,但是这种分解还原的方法也可以进行无损压缩。怎么做得到呢?如果我们不扔掉大部分不重要的系数,我们好像没有办法减少数据量啊?我们分解后系数比较小的那些我们可以用比较少的位数对其进行编码,这样子就可以较少数据量啦,而且这个过程没有损失掉即使很少的信息。我知道的分解有,傅里叶变换,小波变换,SVD分解(同本文的PCA,只不过是不同角度的)。
下一张用PCA进行分解压缩的图片,PCA首先分解为很多个系数乘以矩阵的形式,这些系数有大有小,我们用一小部分比较大的那些系数进行还原图像,可以看到取到了其中的30个系数得出图像已经非常好了,取到前50个系数的时候,几乎是看不出来有什么分别,这时数据压缩比是6.46%。
PCA叫做主成分分析,对这个名称最直观的感受我们可以来看下一个例子。两个绿色的点是两个向量的端点,原点是向量的起点,这两个向量几乎在同一条直线上,如果采用直角坐标系来表示这两组向量需要4个系数,这两个向量进行主成分分析之后得到一个新的单位正交基,如下图中的直角坐标系所示,如果用这个单位正交基来表示这两个向量。这两个新的单位正交基就是PCA中的主成分,从图中我们可以知道我们每个向量只要用一个基就可以很好地接近原始的向量。这就达到了降维的效果。
现实中我们采集数据存在很大的冗余度,如果不进行降维,计算的量是非常大的。比如一幅32*32人脸或者手写数字的图像,我们展开成1*1024维的向量后通过比对这些向量的接近程度来识别人脸或者手写数字(k近邻算法,参考《机器学习实战指南》第二章)。但是比对这1024维的数据计算量太大了,一个简单的降维方法是,你可以抽取只取图像偶数行数和偶数列数来构建一个新的低维向量,但是这样子降低的维数是比较少的,再继续进行几次这样子的操作,但在保证识别效果前提下,降低的维数是十分有限的。在后面的实验中,你可以看到我们只需取其中的50维,甚至20多维就可以得到很好的效果。反之在下面的这张1024个,我利用迭代取偶数行列的方式最后得到其中50个像素,你能通过计算机识别出是哪个数字吗?这种降维方式显然失去了很信息量。但是我们取出PCA分解出来的50多维数据确是各个数字的最“主”的主成分,信息量被很好地集中在这50维的数据里面。
于是我们就用这种方法来进行计算,首先是用PCA对训练数据求出主成分,保留其中一部分的主成分,降低了维数。在识别手写数字的时候,我们将上图中的手写数字0的图片当作向量 a 分解到0~9各自的取出的那部分主成分,然后再分别还原到原始的图像,还原回来的图像向量因为丢失了部分的维数,大多数情况下会跟原始的向量 a 有一些差别err,但这种差异如果分解在手写数字0的图片s训练出来的主成分理论上是最小的,因此我们可以从此识别出是数字0。
对比k近邻算法1024维近乎绝望的计算复杂度,这里我们只用了50多维进行计算,大大提高了计算效率。
两种算法的速度对比,接近10倍的差值,错误率确是相近的。
降低PCA计算的维度到大概20多,看计算速度是否有提升,错误率是否也上升,错误率没有进一步提升,然并卵。
再进行降维,降到个位数以内,奇迹出现了,错误率上升了一倍,但是计算的复杂度也下降了。
接着我们来看看算错的那些图片是图片奇葩还是算法不好?
这个测试库里面说是0,而算法测出来是4............
最后放上一些可能有用的链接:
PAC普林斯顿讲义
本文相关线性代数很清晰的一个ppt
基于PCA的人脸识别步骤
主成分分析(PCA)原理详解
3. asc文件是干嘛的
1、asc文件的数据存储
asc文件是一种纯文本格式的文件,能够以人类可读的方式保存数据。它通常由一系列的行组成,每行表示一个数据点或一组数据。这种格式不仅在计算机中易于存储和读取,而且在文本编辑器中也可以直接进行修改和查看。因此,asc文件常被用于保存实验数据、传感器数据、地理数据等各种类型的数据。
与其他二进制格式相比,asc文件的优势在于可读性和易编辑性。不论是人类还是计算机都可以轻松读取和解析这种文件格式,而无需专门的软件支持。这对于数据存储和共享来说非常重要,因为它能够确保数据的可靠性和可访问性。
此外,asc文件还可以通过压缩和加密等手段增强数据的安全性。通过对文件内容进行压缩,可以减少文件大小,提高存储效率。而加密则能够防止未经授权的访问和修改,确保数据的完整性和保密性。
2、asc文件的数据传输
asc文件是一种通用的数据交换格式,可以在不同的平台和应用之间进行数据的传输和共享。无论是计算机、手机、平板还是其他设备,只要支持文本文件的读取和写入操作,都可以处理asc文件。这使得不同系统之间的数据传输变得更加便捷和灵活。
在互联网时代,数据交换和共享变得越来越重要。asc文件作为一种标准的数据格式,在数据传输中发挥着重要的作用。通过将数据保存为asc文件,我们可以轻松地将数据发送给他人或从他人那里接收数据。这种方式不仅方便了数据的共享和传递,而且还减少了数据格式转换的麻烦和误差。
此外,asc文件还可以通过网络进行传输,实现远程访问和数据共享。通过将asc文件上传到云存储或FTP服务器上,我们可以随时随地获取和传输数据。这种方式使得数据的获取和处理更加高效,为科研和工作提供了更多的便利。
3、asc文件的数据处理
asc文件是一种灵活的数据处理工具,可以实现各种数据操作和分析。通过读取和解析asc文件,我们可以对数据进行筛选、过滤、转换等操作,以满足不同需求。
在数据处理领域中,asc文件常被用于数据清洗和预处理。通过对asc文件进行处理,我们可以去除无效数据、填充缺失值、标准化数据等,从而提高数据的质量和可用性。这对于后续的数据分析和建模非常重要。
此外,asc文件还可以与各种数据处理软件和编程语言结合使用。例如,我们可以使用Python、R、MATLAB等工具读取和处理asc文件,并进行统计分析、机器学习、可视化等操作。这些工具提供了丰富的函数库和算法,能够帮助我们更好地理解和利用数据。
4、asc文件的数据分析
asc文件在数据分析中是一种重要的数据源和工具。它不仅包含了原始数据,还可以保存和传递数据的上下文信息。这使得asc文件在数据挖掘、机器学习、统计分析等领域中得到广泛应用。
通过对asc文件进行数据整理和加工,我们可以从中提取有价值的信息和模式。例如,通过对时间序列数据的分析,我们可以找出趋势、周期和异常点,预测未来的走势。通过对空间数据的分析,我们可以探索地理分布、相似性和聚类等问题。
此外,asc文件还可以与GIS软件和可视化工具结合使用,显示和呈现数据的地理特征。通过绘制图表、制作地图等方式,我们可以更直观地理解和展示数据,为决策和研究提供支持。
4. 数据压缩技术的数据压缩技术简史
电脑里的数据压缩其实类似于美眉们的瘦身运动,不外有两大功用。第一,可以节省空间。拿瘦身美眉来说,要是八个美眉可以挤进一辆出租车里,那该有多省钱啊!第二,可以减少对带宽的占用。例如,我们都想在不到 100Kbps 的 GPRS 网上观看 DVD 大片,这就好比瘦身美眉们总希望用一尺布裁出七件吊带衫,前者有待于数据压缩技术的突破性进展,后者则取决于美眉们的恒心和毅力。
简单地说,如果没有数据压缩技术,我们就没法用 WinRAR 为 Email 中的附件瘦身;如果没有数据压缩技术,市场上的数码录音笔就只能记录不到 20 分钟的语音;如果没有数据压缩技术,从 Internet 上下载一部电影也许要花半年的时间……可是这一切究竟是如何实现的呢?数据压缩技术又是怎样从无到有发展起来的呢? 一千多年前的中国学者就知道用“班马”这样的缩略语来指代班固和司马迁,这种崇尚简约的风俗一直延续到了今天的 Internet 时代:当我们在 BBS 上用“ 7456 ”代表“气死我了”,或是用“ B4 ”代表“ Before ”的时候,我们至少应该知道,这其实就是一种最简单的数据压缩呀。
严格意义上的数据压缩起源于人们对概率的认识。当我们对文字信息进行编码时,如果为出现概率较高的字母赋予较短的编码,为出现概率较低的字母赋予较长的编码,总的编码长度就能缩短不少。远在计算机出现之前,着名的 Morse 电码就已经成功地实践了这一准则。在 Morse 码表中,每个字母都对应于一个唯一的点划组合,出现概率最高的字母 e 被编码为一个点“ . ”,而出现概率较低的字母 z 则被编码为“ --.. ”。显然,这可以有效缩短最终的电码长度。
信息论之父 C. E. Shannon 第一次用数学语言阐明了概率与信息冗余度的关系。在 1948 年发表的论文“通信的数学理论( A Mathematical Theory of Communication )”中, Shannon 指出,任何信息都存在冗余,冗余大小与信息中每个符号(数字、字母或单词)的出现概率或者说不确定性有关。 Shannon 借鉴了热力学的概念,把信息中排除了冗余后的平均信息量称为“信息熵”,并给出了计算信息熵的数学表达式。这篇伟大的论文后来被誉为信息论的开山之作,信息熵也奠定了所有数据压缩算法的理论基础。从本质上讲,数据压缩的目的就是要消除信息中的冗余,而信息熵及相关的定理恰恰用数学手段精确地描述了信息冗余的程度。利用信息熵公式,人们可以计算出信息编码的极限,即在一定的概率模型下,无损压缩的编码长度不可能小于信息熵公式给出的结果。
有了完备的理论,接下来的事就是要想办法实现具体的算法,并尽量使算法的输出接近信息熵的极限了。当然,大多数工程技术人员都知道,要将一种理论从数学公式发展成实用技术,就像仅凭一个 E=mc 2 的公式就要去制造核武器一样,并不是一件很容易的事。 设计具体的压缩算法的过程通常更像是一场数学游戏。开发者首先要寻找一种能尽量精确地统计或估计信息中符号出现概率的方法,然后还要设计一套用最短的代码描述每个符号的编码规则。统计学知识对于前一项工作相当有效,迄今为止,人们已经陆续实现了静态模型、半静态模型、自适应模型、 Markov 模型、部分匹配预测模型等概率统计模型。相对而言,编码方法的发展历程更为曲折一些。
1948 年, Shannon 在提出信息熵理论的同时,也给出了一种简单的编码方法—— Shannon 编码。 1952 年, R. M. Fano 又进一步提出了 Fano 编码。这些早期的编码方法揭示了变长编码的基本规律,也确实可以取得一定的压缩效果,但离真正实用的压缩算法还相去甚远。
第一个实用的编码方法是由 D. A. Huffman 在 1952 年的论文“最小冗余度代码的构造方法( A Method for the Construction of Minimum Rendancy Codes )”中提出的。直到今天,许多《数据结构》教材在讨论二叉树时仍要提及这种被后人称为 Huffman 编码的方法。 Huffman 编码在计算机界是如此着名,以至于连编码的发明过程本身也成了人们津津乐道的话题。据说, 1952 年时,年轻的 Huffman 还是麻省理工学院的一名学生,他为了向老师证明自己可以不参加某门功课的期末考试,才设计了这个看似简单,但却影响深远的编码方法。
Huffman 编码效率高,运算速度快,实现方式灵活,从 20 世纪 60 年代至今,在数据压缩领域得到了广泛的应用。例如,早期 UNIX 系统上一个不太为现代人熟知的压缩程序 COMPACT 实际就是 Huffman 0 阶自适应编码的具体实现。 20 世纪 80 年代初, Huffman 编码又出现在 CP/M 和 DOS 系统中,其代表程序叫 SQ 。今天,在许多知名的压缩工具和压缩算法(如 WinRAR 、 gzip 和 JPEG )里,都有 Huffman 编码的身影。不过, Huffman 编码所得的编码长度只是对信息熵计算结果的一种近似,还无法真正逼近信息熵的极限。正因为如此,现代压缩技术通常只将 Huffman 视作最终的编码手段,而非数据压缩算法的全部。
科学家们一直没有放弃向信息熵极限挑战的理想。 1968 年前后, P. Elias 发展了 Shannon 和 Fano 的编码方法,构造出从数学角度看来更为完美的 Shannon-Fano-Elias 编码。沿着这一编码方法的思路, 1976 年, J. Rissanen 提出了一种可以成功地逼近信息熵极限的编码方法——算术编码。 1982 年, Rissanen 和 G. G. Langdon 一起改进了算术编码。之后,人们又将算术编码与 J. G. Cleary 和 I. H. Witten 于 1984 年提出的部分匹配预测模型( PPM )相结合,开发出了压缩效果近乎完美的算法。今天,那些名为 PPMC 、 PPMD 或 PPMZ 并号称压缩效果天下第一的通用压缩算法,实际上全都是这一思路的具体实现。
对于无损压缩而言, PPM 模型与算术编码相结合,已经可以最大程度地逼近信息熵的极限。看起来,压缩技术的发展可以到此为止了。不幸的是,事情往往不像想象中的那样简单:算术编码虽然可以获得最短的编码长度,但其本身的复杂性也使得算术编码的任何具体实现在运行时都慢如蜗牛。即使在摩尔定律大行其道, CPU 速度日新月异的今天,算术编码程序的运行速度也很难满足日常应用的需求。没办法,如果不是后文将要提到的那两个犹太人,我们还不知要到什么时候才能用上 WinZIP 这样方便实用的压缩工具呢。 逆向思维永远是科学和技术领域里出奇制胜的法宝。就在大多数人绞尽脑汁想改进 Huffman 或算术编码,以获得一种兼顾了运行速度和压缩效果的“完美”编码的时候,两个聪明的犹太人 J. Ziv 和 A. Lempel 独辟蹊径,完全脱离 Huffman 及算术编码的设计思路,创造出了一系列比 Huffman 编码更有效,比算术编码更快捷的压缩算法。我们通常用这两个犹太人姓氏的缩写,将这些算法统称为 LZ 系列算法。
按照时间顺序, LZ 系列算法的发展历程大致是: Ziv 和 Lempel 于 1977 年发表题为“顺序数据压缩的一个通用算法( A Universal Algorithm for Sequential Data Compression )”的论文,论文中描述的算法被后人称为 LZ77 算法。 1978 年,二人又发表了该论文的续篇“通过可变比率编码的独立序列的压缩( Compression of Indivial Sequences via Variable Rate Coding )”,描述了后来被命名为 LZ78 的压缩算法。 1984 年, T. A. Welch 发表了名为“高性能数据压缩技术( A Technique for High Performance Data Compression )”的论文,描述了他在 Sperry 研究中心(该研究中心后来并入了 Unisys 公司)的研究成果,这是 LZ78 算法的一个变种,也就是后来非常有名的 LZW 算法。 1990 年后, T. C. Bell 等人又陆续提出了许多 LZ 系列算法的变体或改进版本。
说实话, LZ 系列算法的思路并不新鲜,其中既没有高深的理论背景,也没有复杂的数学公式,它们只是简单地延续了千百年来人们对字典的追崇和喜好,并用一种极为巧妙的方式将字典技术应用于通用数据压缩领域。通俗地说,当你用字典中的页码和行号代替文章中每个单词的时候,你实际上已经掌握了 LZ 系列算法的真谛。这种基于字典模型的思路在表面上虽然和 Shannon 、 Huffman 等人开创的统计学方法大相径庭,但在效果上一样可以逼近信息熵的极限。而且,可以从理论上证明, LZ 系列算法在本质上仍然符合信息熵的基本规律。
LZ 系列算法的优越性很快就在数据压缩领域里体现 了 出来,使用 LZ 系列算法的工具软件数量呈爆炸式增长。 UNIX 系统上最先出现了使用 LZW 算法的 compress 程序,该程序很快成为了 UNIX 世界的压缩标准。紧随其后的是 MS-DOS 环境下的 ARC 程序,以及 PKWare 、 PKARC 等仿制品。 20 世纪 80 年代,着名的压缩工具 LHarc 和 ARJ 则是 LZ77 算法的杰出代表。
今天, LZ77 、 LZ78 、 LZW 算法以及它们的各种变体几乎垄断了整个通用数据压缩领域,我们熟悉的 PKZIP 、 WinZIP 、 WinRAR 、 gzip 等压缩工具以及 ZIP 、 GIF 、 PNG 等文件格式都是 LZ 系列算法的受益者,甚至连 PGP 这样的加密文件格式也选择了 LZ 系列算法作为其数据压缩的标准。
没有谁能否认两位犹太人对数据压缩技术的贡献。我想强调的只是,在工程技术领域,片面追求理论上的完美往往只会事倍功半,如果大家能像 Ziv 和 Lempel 那样,经常换个角度来思考问题,没准儿你我就能发明一种新的算法,就能在技术方展史上扬名立万呢。 LZ 系列算法基本解决了通用数据压缩中兼顾速度与压缩效果的难题。但是,数据压缩领域里还有另一片更为广阔的天地等待着我们去探索。 Shannon 的信息论告诉我们,对信息的先验知识越多,我们就可以把信息压缩得越小。换句话说,如果压缩算法的设计目标不是任意的数据源,而是基本属性已知的特种数据,压缩的效果就会进一步提高。这提醒我们,在发展通用压缩算法之余,还必须认真研究针对各种特殊数据的专用压缩算法。比方说,在今天的数码生活中,遍布于数码相机、数码录音笔、数码随身听、数码摄像机等各种数字设备中的图像、音频、视频信息,就必须经过有效的压缩才能在硬盘上存储或是通过 USB 电缆传输。实际上,多媒体信息的压缩一直是数据压缩领域里的重要课题,其中的每一个分支都有可能主导未来的某个技术潮流,并为数码产品、通信设备和应用软件开发商带来无限的商机。
让我们先从图像数据的压缩讲起。通常所说的图像可以被分为二值图像、灰度图像、彩色图像等不同的类型。每一类图像的压缩方法也不尽相同。
传真技术的发明和广泛使用促进了二值图像压缩算法的飞速发展。 CCITT (国际电报电话咨询委员会,是国际电信联盟 ITU 下属的一个机构)针对传真类应用建立了一系列图像压缩标准,专用于压缩和传递二值图像。这些标准大致包括 20 世纪 70 年代后期的 CCITT Group 1 和 Group 2 , 1980 年的 CCITT Group 3 ,以及 1984 年的 CCITT Group 4 。为了适应不同类型的传真图像,这些标准所用的编码方法包括了一维的 MH 编码和二维的 MR 编码,其中使用了行程编码( RLE )和 Huffman 编码等技术。今天,我们在办公室或家里收发传真时,使用的大多是 CCITT Group 3 压缩标准,一些基于数字网络的传真设备和存放二值图像的 TIFF 文件则使用了 CCITT Group 4 压缩标准。 1993 年, CCITT 和 ISO (国际标准化组织)共同成立的二值图像联合专家组( Joint Bi-level Image Experts Group , JBIG )又将二值图像的压缩进一步发展为更加通用的 JBIG 标准。
实际上,对于二值图像和非连续的灰度、彩色图像而言,包括 LZ 系列算法在内的许多通用压缩算法都能获得很好的压缩效果。例如,诞生于 1987 年的 GIF 图像文件格式使用的是 LZW 压缩算法, 1995 年出现的 PNG 格式比 GIF 格式更加完善,它选择了 LZ77 算法的变体 zlib 来压缩图像数据。此外,利用前面提到过的 Huffman 编码、算术编码以及 PPM 模型,人们事实上已经构造出了许多行之有效的图像压缩算法。
但是,对于生活中更加常见的,像素值在空间上连续变化的灰度或彩色图像(比如数码照片),通用压缩算法的优势就不那么明显了。幸运的是,科学家们发现,如果在压缩这一类图像数据时允许改变一些不太重要的像素值,或者说允许损失一些精度(在压缩通用数据时,我们绝不会容忍任何精度上的损失,但在压缩和显示一幅数码照片时,如果一片树林里某些树叶的颜色稍微变深了一些,看照片的人通常是察觉不到的),我们就有可能在压缩效果上获得突破性的进展。这一思想在数据压缩领域具有革命性的地位:通过在用户的忍耐范围内损失一些精度,我们可以把图像(也包括音频和视频)压缩到原大小的十分之一、百分之一甚至千分之一,这远远超出了通用压缩算法的能力极限。也许,这和生活中常说的“退一步海阔天空”的道理有异曲同工之妙吧。
这种允许精度损失的压缩也被称为有损压缩。在图像压缩领域,着名的 JPEG 标准是有损压缩算法中的经典。 JPEG 标准由静态图像联合专家组( Joint Photographic Experts Group , JPEG )于 1986 年开始制定, 1994 年后成为国际标准。 JPEG 以离散余弦变换( DCT )为核心算法,通过调整质量系数控制图像的精度和大小。对于照片等连续变化的灰度或彩色图像, JPEG 在保证图像质量的前提下,一般可以将图像压缩到原大小的十分之一到二十分之一。如果不考虑图像质量, JPEG 甚至可以将图像压缩到“无限小”。
JPEG 标准的最新进展是 1996 年开始制定, 2001 年正式成为国际标准的 JPEG 2000 。与 JPEG 相比, JPEG 2000 作了大幅改进,其中最重要的是用离散小波变换( DWT )替代了 JPEG 标准中的离散余弦变换。在文件大小相同的情况下, JPEG 2000 压缩的图像比 JPEG 质量更高,精度损失更小。作为一个新标准, JPEG 2000 暂时还没有得到广泛的应用,不过包括数码相机制造商在内的许多企业都对其应用前景表示乐观, JPEG 2000 在图像压缩领域里大显身手的那一天应该不会特别遥远。
JPEG 标准中通过损失精度来换取压缩效果的设计思想直接影响了视频数据的压缩技术。 CCITT 于 1988 年制定了电视电话和会议电视的 H.261 建议草案。 H.261 的基本思路是使用类似 JPEG 标准的算法压缩视频流中的每一帧图像,同时采用运动补偿的帧间预测来消除视频流在时间维度上的冗余信息。在此基础上, 1993 年, ISO 通过了动态图像专家组( Moving Picture Experts Group , MPEG )提出的 MPEG-1 标准。 MPEG-1 可以对普通质量的视频数据进行有效编码。我们现在看到的大多数 VCD 影碟,就是使用 MPEG-1 标准来压缩视频数据的。
为了支持更清晰的视频图像,特别是支持数字电视等高端应用, ISO 于 1994 年提出了新的 MPEG-2 标准(相当于 CCITT 的 H.262 标准)。 MPEG-2 对图像质量作了分级处理,可以适应普通电视节目、会议电视、高清晰数字电视等不同质量的视频应用。在我们的生活中,可以提供高清晰画面的 DVD 影碟所采用的正是 MPEG-2 标准。
Internet 的发展对视频压缩提出了更高的要求。在内容交互、对象编辑、随机存取等新需求的刺激下, ISO 于 1999 年通过了 MPEG-4 标准(相当于 CCITT 的 H.263 和 H.263+ 标准)。 MPEG-4 标准拥有更高的压缩比率,支持并发数据流的编码、基于内容的交互操作、增强的时间域随机存取、容错、基于内容的尺度可变性等先进特性。 Internet 上新兴的 DivX 和 XviD 文件格式就是采用 MPEG-4 标准来压缩视频数据的,它们可以用更小的存储空间或通信带宽提供与 DVD 不相上下的高清晰视频,这使我们在 Internet 上发布或下载数字电影的梦想成为了现实。
就像视频压缩和电视产业的发展密不可分一样,音频数据的压缩技术最早也是由无线电广播、语音通信等领域里的技术人员发展起来的。这其中又以语音编码和压缩技术的研究最为活跃。自从 1939 年 H. Dudley 发明声码器以来,人们陆续发明了脉冲编码调制( PCM )、线性预测( LPC )、矢量量化( VQ )、自适应变换编码( ATC )、子带编码( SBC )等语音分析与处理技术。这些语音技术在采集语音特征,获取数字信号的同时,通常也可以起到降低信息冗余度的作用。像图像压缩领域里的 JPEG 一样,为获得更高的编码效率,大多数语音编码技术都允许一定程度的精度损失。而且,为了更好地用二进制数据存储或传送语音信号,这些语音编码技术在将语音信号转换为数字信息之后又总会用 Huffman 编码、算术编码等通用压缩算法进一步减少数据流中的冗余信息。
对于电脑和数字电器(如数码录音笔、数码随身听)中存储的普通音频信息,我们最常使用的压缩方法主要是 MPEG 系列中的音频压缩标准。例如, MPEG-1 标准提供了 Layer I 、 Layer II 和 Layer III 共三种可选的音频压缩标准, MPEG-2 又进一步引入了 AAC ( Advanced Audio Coding )音频压缩标准, MPEG-4 标准中的音频部分则同时支持合成声音编码和自然声音编码等不同类型的应用。在这许多音频压缩标准中,声名最为显赫的恐怕要数 MPEG-1 Layer III ,也就是我们常说的 MP3 音频压缩标准了。从 MP3 播放器到 MP3 手机,从硬盘上堆积如山的 MP3 文件到 Internet 上版权纠纷不断的 MP3 下载, MP3 早已超出了数据压缩技术的范畴,而成了一种时尚文化的象征了。
很显然,在多媒体信息日益成为主流信息形态的数字化时代里,数据压缩技术特别是专用于图像、音频、视频的数据压缩技术还有相当大的发展空间——毕竟,人们对信息数量和信息质量的追求是永无止境的。 从信息熵到算术编码,从犹太人到 WinRAR ,从 JPEG 到 MP3 ,数据压缩技术的发展史就像是一个写满了“创新”、“挑战”、“突破”和“变革”的羊皮卷轴。也许,我们在这里不厌其烦地罗列年代、人物、标准和文献,其目的只是要告诉大家,前人的成果只不过是后人有望超越的目标而已,谁知道在未来的几年里,还会出现几个 Shannon ,几个 Huffman 呢?
谈到未来,我们还可以补充一些与数据压缩技术的发展趋势有关的话题。
1994年, M. Burrows 和 D. J. Wheeler 共同提出了一种全新的通用数据压缩算法。这种算法的核心思想是对字符串轮转后得到的字符矩阵进行排序和变换,类似的变换算法被称为 Burrows-Wheeler 变换,简称 BWT 。与 Ziv 和 Lempel 另辟蹊径的做法如出一辙, Burrows 和 Wheeler 设计的 BWT 算法与以往所有通用压缩算法的设计思路都迥然不同。如今, BWT 算法在开放源码的压缩工具 bzip 中获得了巨大的成功, bzip 对于文本文件的压缩效果要远好于使用 LZ 系列算法的工具软件。这至少可以表明,即便在日趋成熟的通用数据压缩领域,只要能在思路和技术上不断创新,我们仍然可以找到新的突破口。
分形压缩技术是图像压缩领域近几年来的一个热点。这一技术起源于 B. Mandelbrot 于 1977 年创建的分形几何学。 M. Barnsley 在 20 世纪 80 年代后期为分形压缩奠定了理论基础。从 20 世纪 90 年代开始, A. Jacquin 等人陆续提出了许多实验性的分形压缩算法。今天,很多人相信,分形压缩是图像压缩领域里最有潜力的一种技术体系,但也有很多人对此不屑一顾。无论其前景如何,分形压缩技术的研究与发展都提示我们,在经过了几十年的高速发展之后,也许,我们需要一种新的理论,或是几种更有效的数学模型,以支撑和推动数据压缩技术继续向前跃进。
人工智能是另一个可能对数据压缩的未来产生重大影响的关键词。既然 Shannon 认为,信息能否被压缩以及能在多大程度上被压缩与信息的不确定性有直接关系,假设人工智能技术在某一天成熟起来,假设计算机可以像人一样根据已知的少量上下文猜测后续的信息,那么,将信息压缩到原大小的万分之一乃至十万分之一,恐怕就不再是天方夜谭了。
回顾历史之后,人们总喜欢畅想一下未来。但未来终究是未来,如果仅凭你我几句话就可以理清未来的技术发展趋势,那技术创新的工作岂不就索然无味了吗?依我说,未来并不重要,重要的是,赶快到 Internet 上下载几部大片,然后躺在沙发里,好好享受一下数据压缩为我们带来的无限快乐吧。