發(fā)文章
發(fā)文工具
撰寫
網(wǎng)文摘手
文檔
視頻
思維導(dǎo)圖
隨筆
相冊
原創(chuàng)同步助手
其他工具
圖片轉(zhuǎn)文字
文件清理
AI助手
留言交流
一、行程長度壓縮原理是將一掃描行中的顏色值相同的相鄰像素用一個計數(shù)值和那些像素的顏色值來代替。例如:aaabccccccddeee,則可用3a1b6c2d3e來代替。對于擁有大面積,相同顏色區(qū)域的圖像,用RLE壓縮方法非常有效。由RLE原理派生出許多具體行程壓縮方法:1. PCX行程壓縮方法該算法實際上是位映射格式到壓縮格式的轉(zhuǎn)換算法,該算法對于連續(xù)出現(xiàn)1次的字節(jié)Ch,若Ch>0xc0則壓縮時在該字節(jié)前加上0xc1,否則直接輸出Ch,對于連續(xù)出現(xiàn)N次的字節(jié)Ch,則壓縮成0xc0+N,Ch這兩個字節(jié),因而N最大只能為ff-c0=3fh(十進(jìn)制為63),當(dāng)N大于63時,則需分多次壓縮。2. BI_RLE8壓縮方法在WINDOWS3.0、3.1的位圖文件中采用了這種壓縮方法。該壓縮方法編碼也是以兩個字節(jié)為基本單位。其中第一個字節(jié)規(guī)定了用第二個字節(jié)指定的顏色重復(fù)次數(shù)。如編碼0504表示從當(dāng)前位置開始連續(xù)顯示5個顏色值為04的像素。當(dāng)?shù)诙€字節(jié)為零時第二個字節(jié)有特殊含義:0表示行末;1表示圖末;2轉(zhuǎn)義后面2個字節(jié),這兩個字節(jié)分別表示下一像素相對于當(dāng)前位置的水平位移和垂直位移。這種壓縮方法所能壓縮的圖像像素位數(shù)最大為8位(256色)圖像。3. BI_RLE壓縮方法該方法也用于WINDOWS3.0/3.1位圖文件中,它與BI_RLE8編碼類似,唯一不同是:BI_RLE4的一個字節(jié)包含了兩個像素的顏色,因此,它只能壓縮的顏色數(shù)不超過16的圖像。因而這種壓縮應(yīng)用范圍有限。4. 緊縮位壓縮方法(Packbits)該方法是用于Apple公司的Macintosh機上的位圖數(shù)據(jù)壓縮方法,TIFF規(guī)范中使用了這種方法,這種壓縮方法與BI_RLE8壓縮方法相似,如1c1c1c1c2132325648壓縮為:831c2181325648,顯而易見,這種壓縮方法最好情況是每連續(xù)128個字節(jié)相同,這128個字節(jié)可壓縮為一個數(shù)值7f。這種方法還是非常有效的。二、霍夫曼編碼壓縮也是一種常用的壓縮方法。是1952年為文本文件建立的,其基本原理是頻繁使用的數(shù)據(jù)用較短的代碼代替,很少使用的數(shù)據(jù)用較長的代碼代替,每個數(shù)據(jù)的代碼各不相同。這些代碼都是二進(jìn)制碼,且碼的長度是可變的。如:有一個原始數(shù)據(jù)序列,ABACCDAA則編碼為A(0),B(10),C(110),D111),壓縮后為010011011011100。產(chǎn)生霍夫曼編碼需要對原始數(shù)據(jù)掃描兩遍,第一遍掃描要精確地統(tǒng)計出原始數(shù)據(jù)中的每個值出現(xiàn)的頻率,第二遍是建立霍夫曼樹并進(jìn)行編碼,由于需要建立二叉樹并遍歷二叉樹生成編碼,因此數(shù)據(jù)壓縮和還原速度都較慢,但簡單有效,因而得到廣泛的應(yīng)用。三、LZW壓縮方法LZW壓縮技術(shù)比其它大多數(shù)壓縮技術(shù)都復(fù)雜,壓縮效率也較高。其基本原理是把每一個第一次出現(xiàn)的字符串用一個數(shù)值來編碼,在還原程序中再將這個數(shù)值還成原來的字符串,如用數(shù)值0x100代替字符串"abccddeee"這樣每當(dāng)出現(xiàn)該字符串時,都用0x100代替,起到了壓縮的作用。至于0x100與字符串的對應(yīng)關(guān)系則是在壓縮過程中動態(tài)生成的,而且這種對應(yīng)關(guān)系是隱含在壓縮數(shù)據(jù)中,隨著解壓縮的進(jìn)行這張編碼表會從壓縮數(shù)據(jù)中逐步得到恢復(fù),后面的壓縮數(shù)據(jù)再根據(jù)前面數(shù)據(jù)產(chǎn)生的對應(yīng)關(guān)系產(chǎn)生更多的對應(yīng)關(guān)系。直到壓縮文件結(jié)束為止。LZW是可逆的,所有信息全部保留。四、算術(shù)壓縮方法算術(shù)壓縮與霍夫曼編碼壓縮方法類似,只不過它比霍夫曼編碼更加有效。算術(shù)壓縮適合于由相同的重復(fù)序列組成的文件,算術(shù)壓縮接近壓縮的理論極限。這種方法,是將不同的序列映像到0到1之間的區(qū)域內(nèi),該區(qū)域表示成可變精度(位數(shù))的二進(jìn)制小數(shù),越不常見的數(shù)據(jù)要的精度越高(更多的位數(shù)),這種方法比較復(fù)雜,因而不太常用。五、JPEG(聯(lián)合攝影專家組JointPhotographicExprertsGroup)JPEG標(biāo)準(zhǔn)與其它的標(biāo)準(zhǔn)不同,它定義了不兼容的編碼方法,在它最常用的模式中,它是帶失真的,一個從JPEG文件恢復(fù)出來的圖像與原始圖像總是不同的,但有損壓縮重建后的圖像常常比原始圖像的效果更好。JPEG的另一個顯著的特點是它的壓縮比例相當(dāng)高,原圖像大小與壓縮后的圖像大小相比,比例可以從1%到80~90%不等。這種方法效果也好,適合多媒體系統(tǒng)。
來自: mtjs > 《CGI》
0條評論
發(fā)表
請遵守用戶 評論公約
BMP、GIF和JPEG文件格式簡介及相互轉(zhuǎn)換
由RLE原理派生出許多具體行程壓縮方法: 1.PCX行程壓縮方法: 該算法實際上是位映射格式到壓縮格式的轉(zhuǎn)換算法,該算法對于連續(xù)出現(xiàn)1次的字節(jié)Ch,若Ch>0xc0則壓縮時在該字節(jié)前加上0xc1,否則直接輸...
BMP文件格式
BMP文件格式。Windows 3.0以后的BMP位圖文件格式與顯示設(shè)備無關(guān),因此把這種BMP位圖文件格式稱為設(shè)備無關(guān)位圖(device-independent bitmap,DIB)格式,目的是為了讓W(xué)indows能夠在任何類型的顯示設(shè)備上顯...
位圖格式資料
位圖格式資料位圖格式資料。第二部分結(jié)構(gòu):0x000EH - 0x0011H 4 BYTES 位圖信息頭的長度大小 整個第二部分結(jié)構(gòu)的大小,可能會增加字段,所以需要讀取該值0x0012H - 0x0015H 4 BYTES 位圖寬度 ...
常用數(shù)據(jù)無損壓縮算法分析
典型的無損壓縮算法有:Shanno-Fano編碼、Huffman(哈夫曼)編碼、算術(shù)編碼、游程編碼、LZW編碼等。3.3 基于哈夫曼編碼原理的壓縮算法 ...
DIB文件格式
DIB文件格式 DIB作為一種文件格式,它的擴展名為.BMP,在極少數(shù)的情況下為.DIB。對于16位、24位或32位DIB也可以為非0,在這種情況下Windows不使用色彩表來解釋像素位,但它指出DIB中色彩表的大小,...
位圖文件結(jié)構(gòu)
BITMAPINFOHEADER結(jié)構(gòu)包含有位圖文件的大小、壓縮類型和顏色格式,其結(jié)構(gòu)定義為: typedef struct tagBITMAPINFOHEADER { DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biB...
幾種壓縮算法原理介紹|壓縮算法,原理
圖2.1顯示了一個如何使用RLE算法來對一個數(shù)據(jù)流編碼的例子,其中出現(xiàn)六次的符號''93''已經(jīng)用3個字節(jié)來代替:一個標(biāo)記字...
轉(zhuǎn)貼:BMP格式詳解 二
轉(zhuǎn)貼:BMP格式詳解 二.這種編碼格式所考慮的情況是,若4bpp或8bpp位圖的尺寸較大時,由于色彩總數(shù)非常有限,所以圖像中必然會有很多顏色重復(fù)的像素。如果你是一個有優(yōu)化癖的程序員,當(dāng)你發(fā)現(xiàn)一張8bpp、...
計算機基礎(chǔ)系列之壓縮算法
計算機基礎(chǔ)系列之壓縮算法文件存儲。1.首先對 AAAAAABBCDDEEEEEF 這 17 個半角字符的文件(文本文件)進(jìn)行壓縮,由于半角字符(其實就是...
微信掃碼,在手機上查看選中內(nèi)容