行程長度壓縮演算法

2022-07-04 20:18:07 字數 697 閱讀 4789

run-length encoding(rle)行程長度的原理是將一掃瞄行中的顏色值相同的相鄰畫素用乙個計數值和那些畫素的顏色值來代替。例如:aaabccccccddeee,則可用3a1b6c2d3e來代替。對於擁有大面積,相同顏色區域的影象,用rle壓縮方法非常有效。由rle原理派生出許多具體行程壓縮方法:

1、pcx行程壓縮方法:該演算法實際上是位對映格式到壓縮格式的轉換演算法,該演算法對於連續出現1次的位元組ch,若ch>0xc0則壓縮時在該位元組前加上0xc1,否則直接輸出ch,對於連續出現n 次的位元組ch,則壓縮成0xc0 + n,ch這兩個位元組,因而n最大只能為ff - c0=3fh(十進位制為63),當n大於63時, 則需分多次壓縮。

2、bi_rle8壓縮方法:在windows的位**件中採用了這種壓縮方法。該壓縮方法編碼也是以兩個位元組為基本單位。其中第乙個位元組規定了用第二個位元組指定的顏色重複次數。 如編碼 0504表示從當前位置開始連續顯示5個顏色值為04的畫素。當第二個位元組為零時第二個位元組有特殊含義:0表示行末;1表示圖末;2轉義後面2個位元組, 這兩個位元組分別表示下一畫素相對於當前位置的水平位移和垂直位移。這種壓縮方法所能壓縮的影象畫素位數最大為8位(256色)影象。

3、bi_rle壓縮方法:該方法也用於windows位**件中,它與 bi_rle8編碼類似,唯一不同是,bi_rle4的乙個位元組包含了兩個畫素的顏色,因此,它只能壓縮的顏色數不超過16的影象。因而這種壓縮應用範圍有限。 

**:

行程長度編碼科普

在某些情況下,乙個字元可能在乙個長序列中反覆出現。在英語文字中,這種重複不常見,但在大的資料流中 如dna序列 中,這種情況則經常出現。一種名為行程長度編碼的文字壓縮方法利用了這種情況。行程長度編碼有時又稱為迭代編碼。在行程長度編碼中,重複字元的序列將被替換為標誌字元,後面加重複字元和說明字元重複次...

RLE行程長度編碼概述

rle行程長度編碼概述 目前,壓縮技術已經廣泛應用於各種軟體 聲音 影像格式等領域。總的來說,有兩種截然不同的影象格式壓縮型別 有失真壓縮和無失真壓縮 1 有失真壓縮利用視覺識別的原理可以大大地壓縮檔案的資料,但是會影響影象質量。無失真壓縮的基本原理是相同的顏色資訊只需儲存一次,可以刪除一些重複資料...

c筆記 行程長度編碼

之前寫過哈弗曼編碼的壓縮檔案的程式,今天在書上看到乙個更簡單用途單一的壓縮演算法 行程長度編碼 如果檔案包含許多相同位元組的長序列,效果很明顯,實現 如下 include includeint main int argc,char ar char newname 256 strcpy newname...