课后习题:
1-1 数据压缩的一个基本问题是“我们要压缩什么”,对此你是怎样理解的?
数据压缩,就是以最少的数码表示信源所发的信号,减少容纳给定的信息集合或数据采样集合的信号空间(物理空间、时间区间、电磁频段)。
1-2 数据压缩的另一个基本问题是“为什么进行压缩”,对此你又是如何理解的?
数据压缩是指在不丢失信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率的一种技术方法。
在有限的网络带宽,载体容量的前提下,直接使用未压缩的多媒体数据显得有点力不从心.虽然现在很多人都喜欢无损的东西。
压缩就是牺牲一定的质量而减少了数据的体积。
1-6 数据压缩技术是如何进行分类的?
数据压缩,通俗地说,就是用最少的数码来表示信号。 其作用是:能较快地传输各种信号,如传真、Modem通信等; 数据压缩的分类方法繁多,尚未统一。但是,一般可以将数据压缩方法分为两大类:第一类是无损压缩,第二类是有损压缩。无损压缩:即就是指的在无损压缩技术中不存在信息损失,数据经过无损压缩后可以从压缩数据中准确地恢复出原数据,所以又叫做可逆压缩;有损压缩:就是指的在有损压缩技术中会造成一些信息损失,采用有损技术压缩后的数据不能再准确还原或重构,所以又叫做不可逆压缩。
参考书:1.4
1.在同一电脑上压缩不同类型的文件,有的大小变化是不大的,但有的会变得很小,所以,不同文件的压缩比率是不同的。
2.所谓冗余度,就是从安全角度考虑多余的一个量,这个量就是为了保障仪器、设备或某项工作在非正常情况下也能正常运转。
正因为是多余的一个量,才能对本文本进行压缩,而且压缩后不会影响其的信息传递。不同的信息有不同的冗余度,或许有的大,有的小,所以说我们是不能对摘自不同来源的文字做冗余度定量论述的。
3.给定符号集A={a1,a2,a3,a4},求以下条件下的一阶熵:
(a)P(a1)=P(a2)=P(a3)=P(a4)=1/4
(b)P(a1)=1/2 , P(a2)=1/4 , P(a3)=P(a4)=1/8
(c)P(a1)=0.505 , P(a2)=1/4 , P(a3)=1/8 , P(a4)=0.12
解:
(a) P(a1)=P(a2)=P(a3)=P(a4)=1/4
H=(-1/4*log21/4)*4
=2(bits)
(b) P(a1)=1/2 ,P(a2)=1/4,P(a3)=P(a4)=1/8
H=-1/2*log21/2-1/4*log21/4-1/8*log21/8-1/8*log21/8
=7/4=1.75(bits)
(c) P(a1)=0.505 ,P(a2)=1/4,P(a3) =1/8, P(a4) =0.12
H=-0.505*log20.505-1/4*log21/4-1/8*log21/8-0.12*log20.12
=-0.505*log20.505+1/2+3/8-0.12*log20.12
=1.75(bits)
5.P(A)=21/84=1/4,
P(T)=23/84,
P(G)=16/84=4/21,
P(C)=24/84=2/7.
(a)H=-1/4*log21/4-23/84*log223/84-4/21*log24/21-2/7*log22/7
=1/2+0.52+0.46+0.52
=2(bits)
7 代码如下:
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { char a[26]; int i=0,j,t; srand(time(NULL)); for(i=0;i<26;i++) { a[i]=i+97; } for(i=0;i<100;i++) { for(j=0;j<4;j++) { t=rand()%26; printf("%c",a[t]); } printf(" "); } }