1-1
对于“我们要压缩什么”,我的理解是:压缩那些比较大的文件 冗余度比较高的文件
1-2
对于问题“为什么压缩”,对此我的理解是:对其进行压缩后可以减少冗余度,在发送大文件的时候,先通过压缩,可以缩短发送时间。如果不压缩,很多应用或者服务不可用(如视频),
还有对文字、图片、声音、动画进行压缩等等。数据压缩通常有时间域、空间域等方面,所以也可以说着些方面进行压缩。
1-6
数据压缩可分为有损压缩(不可逆压缩)和无损压缩(可逆压缩)。
所谓可逆压缩:是指能够准确无误地重现原始数字波形数据的压缩方式。从压缩后的数据能够完全恢复出原来的数据,信息没有任何丢失,称为无损压缩;
不可逆压缩:无法完全恢复出原数据,信息有一定的丢失,称为有损压缩。
其中可逆压缩和不可逆压缩又可以重新细分,可逆压缩可细分为:统计编码和其他编码;不可逆压缩可细分为特征抽取和量化。
2、参考书《数据压缩导论(第4版)》Page 8
1.4 项目与习题
1. 用你的计算机上的压缩工具来压缩不同文件。研究原文件的大小和类型对于压缩文件与原文件大小之比的影响。
通过多次实验发现,对文件进行压缩后,压缩后的文件大小明显比压缩前小, 对于音频,视频等的压缩程度会比文本文档的压缩程度要大,对于传输更能节约空间与时间。
但这些压缩对于文件都是无损压缩,通过解压可还原文件。
2. 从一本通俗杂志中摘录几段文字,并删除所有不会影响理解的文字,实现压缩。例如,在"this is the dog that belong to my friend” 中,删除 is 、the、that和to之后,仍然能传递相同的意思。用被删除的单词数与原文本的总单词数之比来衡量文本中的冗余度。用一本技术期刊中的文字来重复这一实验。对于摘自不同来源的文字,我们能否就其冗余度做出定量论述?
我的理解:我们不能就其冗余度做出定量论述。冗余度它表征源信息率的多于程度,是描述信源客观统计特性的一个物理量。对于不同的文字段,某些文字的重复度是不一样的, 信源=信息+冗余度 ,也就是说删除多余的一个量,它不会影响整个数据的完整性,冗余度越大,压缩潜力也就越大,压缩后不会影响信息的传递。
3、 参考书《数据压缩导论(第4版)》Page 30
3, 5, 7(a)
我的回答:
3--(a) H=Σ P(Ai) logb1/P(Ai)=4*1/4*log24=2
(b) H=Σ P(Ai) logb1/P(Ai)=1/2*log22+1/4*log24+2*1/8*log28=1.75
(c) H=Σ P(Ai) logb1/P(Ai)=0.505*log21/0.505+1/4*log24+1/8*log28+0.12*log21/0.12
=101/200/log2200/101+1/2+3/8+0.12*log225/3
5. 由题可得: PA=21/84=1/4 PC=24/84=2/7 PT=23/84 PG=16/84=4/21
H=Σ P(Ai) logb1/P(Ai)=1/4* log24+2/7* log27/2+23/84* log284/23+4/21* log221/4
=2
7、做一个实验,看看一个模型能够多么准确地描述一个信源。
(a)编写一段程序,从包括26个字母的符号集{a,b,...,z}中随机选择字母,组成100个四字母单词,这些单词中有多少是有意义的?
答案如下:
#include<stdio.h> #include <stdlib.h> #include<time.h> void main() { char a[200][200]; int R; srand((int)time(NULL)); for(int i=1;i<=100;i++) { for(int j=1;j<=4;j++) { R=rand()%26; a[i][j]=R+'a'; } } for( i=1;i<=100;i++) { for(int j=1;j<=4;j++) { printf("%c",a[i][j]); } printf(" "); } }
这些单词中只有三个单词有意义