資源描述:
《笨笨數(shù)據(jù)壓縮教程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、笨笨數(shù)據(jù)壓縮教程大家好,我叫王笨笨。在過(guò)去的幾個(gè)月里,因?yàn)楣ぷ餍枰冶容^多的關(guān)注了數(shù)據(jù)壓縮技術(shù)的現(xiàn)狀及其發(fā)展,并親自動(dòng)手實(shí)現(xiàn)了幾個(gè)數(shù)據(jù)壓縮模塊。在這一過(guò)程中,我發(fā)現(xiàn)這一領(lǐng)域的中文技術(shù)資料極其匱乏。為此,王笨笨決定編寫(xiě)這本《數(shù)據(jù)壓縮教程》,以便有一個(gè)總結(jié)記錄這幾個(gè)月學(xué)習(xí)過(guò)程的機(jī)會(huì)。誰(shuí)需要看這本書(shū)如果你僅僅希望將你自己的一大堆霸占硬盤(pán)空間的大文件壓縮成單個(gè)的小文件,那么不要看這本書(shū),去看Winzip,ARJ,RAR等應(yīng)用程序的幫助好了;如果你僅僅想把手中的精美圖片、語(yǔ)音信息、CD音軌乃至動(dòng)畫(huà)、視頻壓縮保存,那么不要看這本書(shū),去學(xué)習(xí)和使用Photoshop、MP3Compress等多媒體文件編輯壓
2、縮工具就足夠了。如果你對(duì)數(shù)據(jù)能被壓縮到如此之小感到驚訝和迷惑不解,如果你想知道上面提到的這許多壓縮工具是如何工作的,如果你正要為自己的應(yīng)用程序加入靈活的壓縮、解壓縮模塊,如果你正在編寫(xiě)自己的圖形圖像編輯工具……那么,這本書(shū)就是你的選擇,這里有詳細(xì)的算法描述,有可供直接使用的源代碼,有Internet上關(guān)于壓縮技術(shù)的資源介紹,有對(duì)你進(jìn)一步學(xué)習(xí)壓縮技術(shù)的有效建議,快來(lái)吧!不過(guò)記住,王笨笨比較笨,書(shū)中一定有不少缺點(diǎn)和錯(cuò)誤,還望諸位高手指正。壓縮技術(shù)概貌首先大致了解一下壓縮技術(shù)的現(xiàn)狀吧,不懂沒(méi)有關(guān)系,了解一下而已。壓縮技術(shù)大致可以按照以下的方法分類(lèi):;;;;;;;;;;;;;壓縮技術(shù);;;;;;;;;
3、;;;;;;
4、;;;;;;;;;;/------------------------------;;;;;通用無(wú)損數(shù)據(jù)壓縮;;;;;;多媒體數(shù)據(jù)壓縮(大多為有損壓縮);;;;;;;;;
5、;;;;;;;;;;;;;;;;;;;;
6、;;/----------------;;;;;;;/------------------------------------基于統(tǒng)計(jì);;;;;基于字典;;音頻壓縮;;;;圖像壓縮;;;;;;;;;;視頻壓縮模型的壓;;;;;模型的壓;;;;
7、;;;;;;;;
8、;;;;;;;;;;;;;;
9、縮技術(shù);;;;;;縮技術(shù);;;;;MP3等;;;/------------
10、-------、;;;AVI;;
11、;;;;;;;;;;
12、;;;;;;;;;;;二值;灰度;彩色;矢量;;MPEG2等;/------;;;;;;/-------------;;;圖像;圖像;圖像;圖像Huffman;算術(shù);;;LZ77;LZ78;LZW;;;;
13、;;;
14、;;;
15、;;;
16、編碼;;編碼;;;;-------------/;;傳真機(jī);FELICS;GIF;ostScript;
17、;;;;;
18、;;;;;;;;;
19、;;;;;;;標(biāo)準(zhǔn);;JPEG等;JPEG等WindowsWMF等UNIX下;;接近無(wú)損;;PKZIP、LHarc、ARJ、的COMPACT壓縮極限;;UNIX下的COMP
20、RESS程序等;;的高級(jí)應(yīng)用;程序等本書(shū)也將大致遵循上面的結(jié)構(gòu)展開(kāi),準(zhǔn)備好了嗎?開(kāi)始關(guān)于版權(quán)問(wèn)題的幾點(diǎn)補(bǔ)充說(shuō)明《笨笨數(shù)據(jù)壓縮教程》中介紹的壓縮算法中,有一部分受到美國(guó)專(zhuān)利法的保護(hù)(例如LZW算法的某些部分和高階算術(shù)壓縮算法的某些細(xì)節(jié)等)。雖然在這一問(wèn)題上王笨笨認(rèn)為在計(jì)算機(jī)領(lǐng)域?qū)δ撤N抽象的算法而非程序?qū)崿F(xiàn)加以保護(hù)有阻礙技術(shù)進(jìn)步之嫌,但仍然需要提醒那些試圖在自己的程序中實(shí)現(xiàn)某種壓縮技術(shù)并將程序用于商業(yè)目的的人們,在實(shí)現(xiàn)以前,最好先對(duì)技術(shù)專(zhuān)利情況加以了解,以免最終陷入商業(yè)被動(dòng)?!侗勘繑?shù)據(jù)壓縮教程》中提供的源代碼有一部分由王笨笨本人編寫(xiě),有一部分由文思軟件工作室的其他程序員編寫(xiě),還有部分源代碼由王笨笨
21、從因特網(wǎng)上獲得,但這些代碼全部都是“自由代碼”(freecode)。如果你打算在你的程序中使用這些代碼,你必須仔細(xì)閱讀并遵守以下所有規(guī)定:你可以使用、復(fù)制、發(fā)布、修改這些代碼,并將其用于包括個(gè)人、組織、商業(yè)在內(nèi)的各種目的,你不需要為此向我們支付任何款項(xiàng)。我們不為使用這些代碼的后果承擔(dān)任何法律責(zé)任。但如果你在代碼中發(fā)現(xiàn)了錯(cuò)誤或?qū)Υa存有疑問(wèn),你可以使用E-Mail方式通知我們,我們會(huì)在力所能及的前提下提供技術(shù)支持。不要以任何方式假定是你編寫(xiě)了這些代碼。如果你將這些代碼用于你的程序中,請(qǐng)你務(wù)必于程序的顯著位置(例如About對(duì)話框或Readme文檔中)注明“本程序中的某些代碼由文思軟件工作室提供”
22、。目錄第一章:輕松一下:數(shù)據(jù)壓縮簡(jiǎn)史第二章:技術(shù)準(zhǔn)備:概率、模型和編碼第三章:奇妙的二叉樹(shù):Huffman的貢獻(xiàn)第四章:向極限挑戰(zhàn):算術(shù)編碼第五章:聰明的以色列人(上):LZ77第六章:聰明的以色列人(下):LZ78和LZW第七章:小結(jié)一下:壓縮方法的比較和應(yīng)用(附索引數(shù)據(jù)的壓縮)第八章:抓住特性:從行程編碼到二值和灰度圖像壓縮第九章:熟悉的格式:GIF和TIFF第十章:損失一點(diǎn)精度:偉大的JPE