第一題:
參考書《資料壓縮導論(第4版)》page 66。2(a)(b),4,5
2、利用程式huff_enc和huff_dec進行以下操作(在每種情況下,利用由被壓縮影象生成的碼本)。
(a)對sena、sensin和omaha影象進行編碼。
解:(a)
檔名壓縮前
壓縮後壓縮比
sena
64k56.1k
87.66%
sensin
64k61k
95.31%
omaha
64k57k
89.06%
4、乙個信源從符號集a=中選擇字母,概率為p(a1)=0.15,p(a2)=0.04,p(a3)=0.26,p(a4)=0.05,p(a5)=0.50。4、
(a)計算這個信源的熵。
(b)求這個信源的霍夫曼編碼。
(c)求(b)中**的平均長度及其冗餘度。
解:信源a的熵的計算公式為-p(a)log2
p(a)得:
(a)該信源的熵h(a)= -0.15*log20.15-0.04*log20.04-0.26*log20.26-0.05*log20.05-0.50*log20.50
=0.15* 2.737+0.04*4.644+0.26*1.943+0.05*4.322+0.5*1
=0.411+0.186+0.505+0.216+0.5
=1.82(bits)
(b)首先由概率從小到大依次排列,然後再用霍夫曼編碼規則進行編碼,具體編碼如下:
因此,該信源的霍夫曼編碼為如下:
a1001
a20000
a301
a40001a51
(c)平均長度:l=0.15*3+0.04*4+0.26*2+0.05*4+0.5*1
=0.45+0.16+0.52+0.2+0.5
=1.83(bits)
冗餘度:l-h(a)=1.83-1.82=0.01(bits)
5、乙個符號集a=,其概率為p(a1)=0.1,p(a2)=0.3,p(a3)=0.25,p(a4)=0.35,使用以下過程找出一種霍夫曼碼:
(a)本章概述的第一種過程;
(b)最小方差過程。
解釋這兩種霍夫曼碼的區別。
解:(a)
第一種方法結果如下:符號碼
a1a2
a3a4
第二種方法結果如下:符號碼
a1a2
a3a4
第一種方法的平均碼長=3*0.1+2*0.3+3*0.25+1*0.35=2(bits)
第二種方法的平均碼長=2*0.1+2*0.3+2*0.25+2*0.35=2(bits)
第一種方法的平均方差=0.1(3-2)2+0.3(2-2)2+0.25(3-2)2+0.35(1-2)2=0.70(bits)
第二種方法的平均方差=0.1(2-2)2+0.3(2-2)2+0.25(2-2)2+0.35(2-2)2 =0(bits)
由上可知:兩種方法的平均碼長都是一樣的,就由方差來決定,第二種方法方差為0bits,顯然優於第一種方法,所以綜上,霍夫曼編碼為:a1=00,a2=10,a3=01,a4=11
第二題:
參考書《資料壓縮導論(第4版)》page 30 6
2-6. 在本書配套的資料集中有幾個影象和語音檔案。
(a)編寫一段程式,計算其中一些影象和語音檔案的一階熵。
(b)選擇乙個影象檔案,並計算其二階熵。試解釋一階熵和二階熵之間的差別。
(c)對於(b)中所用的影象檔案,計算其相鄰畫素之差的熵。試解釋你的發現。
解:檔名
一階熵二階熵
差階熵gabe.raw
7.116338
6.654578
8.978236
omaha.img
6.942426
4.488626
6.286834
sena.img
6.834299
3.625204
3.856989
sensin.img
7.317944
4.301673
4.541597
berk.raw
7.151537
6.705169
8.976150
earth.img
4.770801
2.568358
3.962697
由上表可知:一階熵比二階熵大的多,並且可以看出,大部分的差階熵都在一階熵和二階熵之間,可能差階熵更適合估計影象檔案的儲存!!!
第二次作業
execise02 1.查詢85年以後出生的學生姓名 性別和出生日期 2.列表顯示所有可能的學生選課組合 學號 課程號 3.查詢1 2 4班中陳姓同學的資訊 4.查詢所有及格的學生姓名 所選課程名及所得分數 5.統計各門課程的及格人數 課程編號 課程名 及格人數 6.統計各門課程的總人數 及格人數和...
第二次作業
第一題 p1 1 遞迴寫法,效率低 include 1.寫乙個函式返回引數值為1的個數 比如 15 0000 1111 4個1 程式原型 int count one bits unsigned int value int fuc int x else return 0 void mainp1 p1 ...
第二次作業
檔名稱 516.cpp 作 者 闕文榮 完成日期 2016 年 3 月 11 日 版 本 號 v1.1 對任務及求解方法的描述部分 用while語句控制輸出 輸入描述 略 問題描述 現在北京有一套房子,200萬,假設房價每年 10 乙個軟體工程師每年固定能賺40萬。他想買這套房子,多大的 率能夠忍受...