資料壓縮的基本原理,壓縮檔案的壓縮原理

時間 2022-04-03 09:10:06

1樓:

資料壓縮技術就是對原始資料進行資料編碼或壓縮編碼。

目前常用的壓縮編碼有:冗餘壓縮法(無失真壓縮法、熵編碼)和熵壓縮法(有失真壓縮法)兩類。

無失真壓縮是可逆的;有失真壓縮是不可逆的。

變長編碼

使用長度可變的**來對以不同頻率出現的樣本進行編碼。

1·huffman編碼

huffman編碼又稱最佳編碼。

huffman編碼過程是:

*將信源符號按概率遞減順序排列;

*把兩個最小的概率加起來,作為新符號的概率;

*重複上述兩步驟,直到概率的和達到1為止;

*在每次合併訊息時,將被合併的訊息賦予1和0或賦予0和1;

*尋找從每一信源符號到概率為1的路經,記錄下路經上的1和0;

*對每一符號寫出從碼樹的根到終結點1、0序列。

例:對信源

[x1,x2,x3,x4,x5,x6]=[0.25,0.25,0.20,0.15,0.10,0.05]

進行huffman編碼。

其中:x1=01;x2=10;x3=11;x4=000;x5=0010;x6=0011。

2·算術編碼

算術編碼是一種二元編碼。

這種編碼方法是在不考慮信源統計的情況下,只要監視一小段時間內碼字出現的頻率,不管統計是平穩的或非平穩的,編碼的位元速率總能趨近於信源熵值,每次迭代的編碼演算法只處理乙個資料符號,並且只有算術運算。

對二進位制編碼來說,信源符號只有兩個。在算術編碼的初級階段,可設乙個大概率pe和小概率qe,然後對被編碼位元流符號進行判斷。

其步驟:

*設編碼初始化子區間為[0,1],qe從0算起,則pe=1-qe。

*確定子區間起始位置:子區間起始位置=前子區間的長度+ 當前符號的區間左端x前子區間長度

*確定新子區間長度:新子區間長度=前子區間的長度x當前符號的概率

*隨著被編碼資料流符號的輸入,子區間逐漸縮小,

*最後得到的子區間長度決定了表示該區域內的某乙個數所需的位數。

例:p42

**編碼

(自習)

變換編碼

變換編碼是指對訊號進行變換後在編碼。

例如:典型的編碼結構是:

模型編碼

模型編碼是指採用模型的方法對傳輸的影象進行引數估測。

模型編碼有:隨機馬爾可夫場和分形影象編碼。

1·分形的概念

分形的含義是其組成部分以某種方式與整體相似的形(一類無規則、混亂而複雜),其區域性與整體有相似性的體系,即:自相似性體系。

2·分形編碼

*基本原理:分形的方法是把一幅數字影象,通過一些影象處理技術將原始影象分成一些子影象,然後在分形集中查詢這樣的子影象。分形集儲存許多迭代函式,通過迭代函式的反覆迭代,可以恢復原來的子影象。

分形編碼壓縮的步驟:

第一步:把影象劃分為互不重疊的、任意大小的的d分割槽;

第二步:劃定一些可以相互重疊的、比d分割槽大的r分割槽;

第三步:為每個d分割槽選定仿射變換表。

分形編碼解壓步驟:

首先從檔案中讀取d分割槽劃分方式的資訊和仿射變換係數等資料;

然後劃定兩個同樣大小的緩衝區給d影象和r影象,並把r初始化到任一初始階段;

根據仿射變換係數把其相應的r分割槽做仿射變換,並用變換後的資料取代該d分割槽的原有資料;

對d中所有的d分割槽都進行上述操作,全部完成後就形成乙個新的d影象;

再把新d影象的內容拷貝到r中,把新r當作d,d當作r,重複操作(迭代)。

。分形編碼的特點:

壓縮比高,壓縮後的檔案容量與影象畫素數無關,在壓縮時時間長但解壓縮速度快。

2樓:匿名使用者

符號編碼具有資料壓縮功能

壓縮檔案的壓縮原理

3樓:傑士芟

把檔案的二進位制**壓縮,把相鄰的0,1**減少,比如有000000,可以把它變成6個0 的寫法60,來減少該檔案的空間。

由於計算機處理的資訊是以二進位制數的形式表示的,因此壓縮軟體就是把二進位制資訊中相同的字串以特殊字元標記來達到壓縮的目的。為了有助於理解檔案壓縮,請在腦海裡想象一幅藍天白雲的**。對於成千上萬單調重複的藍色像點而言,與其乙個乙個定義「藍、藍、藍……」長長的一串顏色,還不如告訴電腦:

「從這個位置開始儲存1117個藍色像點」來得簡潔,而且還能大大節約儲存空間。這是乙個非常簡單的影象壓縮的例子。其實,所有的計算機檔案歸根結底都是以「1」和「0」的形式儲存的,和藍色像點一樣,只要通過合理的數學計算公式,檔案的體積都能夠被大大壓縮以達到「資料無損稠密」的效果。

總的來說,壓縮可以分為有損和無失真壓縮兩種。如果丟失個別的資料不會造成太大的影響,這時忽略它們是個好主意,這就是有失真壓縮。有失真壓縮廣泛應用於動畫、聲音和影象檔案中,典型的代表就是影碟檔案格式mpeg、**檔案格式***和影象檔案格式jpg。

但是更多情況下壓縮資料必須準確無誤,人們便設計出了無失真壓縮格式,比如常見的zip、rar等。壓縮軟體(compression software)自然就是利用壓縮原理壓縮資料的工具,壓縮後所生成的檔案稱為壓縮包(archive),體積只有原來的幾分之一甚至更小。當然,壓縮包已經是另一種檔案格式了,如果想使用其中的資料,首先得用壓縮軟體把資料還原,這個過程稱作解壓縮。

常見的壓縮軟體有winzip、winrar等。

有兩種形式的重複存在於計算機資料中,zip就是對這兩種重複進行了壓縮。

一種是短語形式的重複,即三個位元組以上的重複,對於這種重複,zip用兩個數字:1.重複位置距當前壓縮位置的距離;2.

重複的長度,來表示這個重複,假設這兩個數字各佔乙個位元組,於是資料便得到了壓縮,這很容易理解。

乙個位元組有 0 - 255 共 256 種可能的取值,三個位元組有 256 * 256 * 256 共一千六百多萬種可能的情況,更長的短語取值的可能情況以指數方式增長,出現重複的概率似乎極低,實則不然,各種型別的資料都有出現重複的傾向,一篇**中,為數不多的術語傾向於重複出現;一篇**,人名和地名會重複出現;一張上下漸變的背景**,水平方向上的畫素會重複出現;程式的原始檔中,語法關鍵字會重複出現(我們寫程式時,多少次前後copy、paste?),以幾十 k 為單位的非壓縮格式的資料中,傾向於大量出現短語式的重複。經過上面提到的方式進行壓縮後,短語式重複的傾向被完全破壞,所以在壓縮的結果上進行第二次短語式壓縮一般是沒有效果的。

第二種重複為單位元組的重複,乙個位元組只有256種可能的取值,所以這種重複是必然的。其中,某些位元組出現次數可能較多,另一些則較少,在統計上有分布不均勻的傾向,這是容易理解的,比如乙個 ascii 文字檔案中,某些符號可能很少用到,而字母和數字則使用較多,各字母的使用頻率也是不一樣的,據說字母 e 的使用概率最高;許多**呈現深色調或淺色調,深色(或淺色)的畫素使用較多(這裡順便提一下:png **格式是一種無失真壓縮,其核心演算法就是 zip 演算法,它和 zip 格式的檔案的主要區別在於:

作為一種**格式,它在檔案頭處存放了**的大小、使用的顏色數等資訊);上面提到的短語式壓縮的結果也有這種傾向:重複傾向於出現在離當前壓縮位置較近的地方,重複長度傾向於比較短(20位元組以內)。這樣,就有了壓縮的可能:

給 256 種位元組取值重新編碼,使出現較多的位元組使用較短的編碼,出現較少的位元組使用較長的編碼,這樣一來,變短的位元組相對於變長的位元組更多,檔案的總長度就會減少,並且,位元組使用比例越不均勻,壓縮比例就越大。

電腦中把檔案壓縮的原理是什麼?

4樓:

電腦裡檔案都是以二進位制儲存的。壓縮原理就是通過特定的演算法,將檔案轉化,而轉化以後的檔案占用的空間較小。

舉個簡單得例子(當然這個例子應該有點問題,但是能說明問題):

原始檔案:111110000001

演算法:當連續同樣的1或者0的個數超過5個,則將其轉化成xx1或者xx0得形式;如果不超過5個,保持不變。xx是連續的1或者0的個數,如果連續數量較多,xx得位數可以增加。

於是11111可以表示成5個1,寫成二進位制就是1011;000000可以表示成6個0,寫成二進位制就是1100;而1保持不變。

這樣,轉化以後的檔案就變成了101111001

可見,原始檔案需要12個儲存位置,而轉化後的檔案只需要9個儲存位置。

當然,實際上壓縮得演算法多種多樣,要比這個例子複雜的多。根據檔案種類的不同壓縮演算法也經常不同。

5樓:匿名使用者

演算法不一樣,具體我也不懂。不過根據我的經驗,自己壓縮並不怎麼減少空間。

網上的壓縮包,提別是比較大的檔案,人家是經過提別壓縮的,而不是簡單的這樣壓縮就行。

一樓回答的很好。

壓縮檔案的字尾名是什麼啊,壓縮檔案的字尾名都有什麼

位默宿爾柳 壓縮檔案的副檔名是rar zip arj等。簡單來說,經過壓縮軟體壓縮的檔案叫壓縮檔案,壓縮的原理是把檔案的二進位制 壓縮,把相鄰的0,1 減少,比如有000000,可以把它變成6個0的寫法60,來減少該檔案的空間。壓縮檔案的基本原理是查詢檔案內的重複位元組,並建立乙個相同位元組的 詞典...

投資外匯的基本原理有哪些,管理的基本原理有哪些?

a龍哥說 各國的政治決定未來的金融走向!盲目學習理論是不行的!找到各種新聞政治相互因果聯絡那就是大師了 管理的基本原理有哪些? 雲南萬通汽車學校 1 系統原理 任何社會組織都是由人 物 資訊組成的系統,任何管理都是對系統的管理,沒有系統,也就沒有管理。2 人本原理 人本原理就是以人為中心的管理思想。...

關於壓縮檔案破解速度的問題

破解rar壓縮檔案的幾個方法 1,為了演示如何破解rar密碼,首先製作乙個加密的rar檔案,如用圖中的 資料.txt 進行壓縮 一,被壓縮的 資料.txt 檔案 二,選擇壓縮框中 高階 項 三,按 設定密碼 按鈕 四,輸入密碼,為了演示,輸入乙個簡單密碼123 五,勾選選項 六,確定 七,返回後再確...