中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

計算機中常用的無損壓縮算法有哪些

發布時間:2021-03-02 14:23:55 來源:億速云 閱讀:987 作者:小新 欄目:互聯網科技

這篇文章主要介紹了計算機中常用的無損壓縮算法有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

常用的無損壓縮算法有:1、LZ77算法,該算法是很多其他無損壓縮算法的基礎;2、LZR算法,是旨在提升LZ77的一個算法;3、LZSS算法,該算法目標是成為LZ77的一個線性時間替換算法;4、DEFLATE算法;5、LZMA算法等等。

數據壓縮是保留相同或絕大部分數據前提下減小文件大小的過程。 它的原理是消除不必要的數據或以更高效的格式重新組織數據。在進行數據壓縮時,你可以選擇使用有損方法或無損方法。有損方法會永久性地擦除掉一些數據,而無損方法則能保證持有全部的數據。使用哪類方法取決于你要讓你的文件保持多大的精準度。

本文會為你介紹6種不同的無損數據壓縮算法,以及4種基于深度學習的圖像/視頻壓縮算法。

6款無損數據壓縮算法

無損壓縮算法通常被用于歸檔或其他高保真目的。這些算法能夠讓你在確保文件可被完整恢復的同時減少文件大小。有很多種無損壓縮算法供你選擇。下面介紹6種常用的算法:

1. LZ77

LZ77算法發布于1977年。作為很多其他無損壓縮算法的基礎,它使用了“滑動窗口”的概念。在這個概念中,LZ77管理了一個字典。該字典使用三元組的方式:

偏移量(Offset):短語起始處于文件開頭之間的距離

行程長度(Run length):組成短語的字符數

偏離字符:表明新短語的標記符,匹配結束后,前向緩沖區中的第一個符號

當文件被解析時,字典會被實時更新以反映最新的壓縮數據和大小。舉個例子,如果一個文件包含字符串"abbadabba",那么被壓縮到字典中的項就是"abb(0,1,'d')(0,3,'a')"。你可以看下下表的拆解過程:

計算機中常用的無損壓縮算法有哪些

這個例子中,被壓縮后的數據并不比初始數據小多少。但一般情況下,當文件很長時,這種壓縮效果就會顯現出來。

2. LZR

LZR由Michael Rodeh于1981年提出,它是在LZ77的基礎上發展而來。這個算法目標是成為LZ77的一個線性時間替換算法,但編碼后Udell指針可能指向文件的任意偏移量,意味著需要耗費可觀的內存,因此表現不如LZ77。

3. LZSS

LZSS,全稱Lempel-Ziv-Storer-Szymanski,于1982年提出。它也是旨在提升LZ77的一個算法。它引入了一個方法能夠檢測是否真的減少了文件大小。如果未能起到壓縮效果,就保持原來的輸入格式。LZSS還移除了對偏離字符的使用,只使用<偏移量,長度>對。這個壓縮算法廣泛用于歸檔格式,如RAR以及網絡數據的壓縮。

4. DEFLATE

DEFLATE算法于1993年提出。作者是Phil Katz。該算法結合了LZ77或LZSS預處理器與霍夫曼編碼。霍夫曼編碼是1952年提出的訴法。它是一種熵編碼,主要基于字符出現頻度分配編碼。

5. LZMA

LZMA算法,全稱是Lempel-Ziv Markov chain Algorithm(LZMA),于1998年提出,是LZ77的改進版,旨在實現.7z格式的7-ZIp文件歸檔。它使用鏈式壓縮方法,在比特而非字節級別上應用修改后的LZ77算法。該壓縮算法的輸出稍后被算數編碼進行處理以便后續進一步壓縮。根據具體的實現不同,可能會引入其他的壓縮步驟。

6. LZMA2

LZMA2算法于2009年提出,是LZMA的改良版。它提升了LZMA在多線程能力上的性能以及提升了處理不可壓縮類型數據的表現。

4種基于深度學習的圖像/視頻壓縮算法

除了上面介紹的靜態壓縮算法,還有基于深度學習的壓縮算法可供選擇。

1. 基于多層感知機的壓縮算法

多層感知機(Multi-Layer Perceptron,MLP)技術使用多層神經元來獲取、處理以及輸出數據。它能夠被應用到數據降維任務和數據壓縮。首個基于MLP的算法于1988年被提出,目前已經被應用到:

二進制編碼——標準的雙符號編碼

量化——限制從連續集到離散集的輸入

特定領域內的轉換——像素級的數據變更

MLP算法利用分解神經網絡上一步的輸出來確定最佳的二進制碼組合。后面,使用預測技術優化這個方法。預測技術能夠通過反向傳播基于相鄰數據來提升數據準確度。

2. DeepCoder -- 基于視頻壓縮的深度神經網絡

DeepCoder是一個基于卷積神經網絡(CNN)的框架,它是傳統視頻壓縮技術的替代。該模型為預測信號和殘留信號使用單獨的CNN。它使用標量量化技術和一個傳統的文件壓縮算法——霍夫曼編碼——將編碼特征映射到一個二進制流中。一般認為,該模型的性能要優于著名的H.264/AVC視頻編碼規范。

3. 基于CNN的壓縮算法

CNN是分層的神經網絡,通常用于圖像識別和特征檢測。當應用到壓縮時,這些神經網絡使用卷積操作來計算相鄰像素點之間的相關性。CNN展示出了比基于MLP算法更好的壓縮結果,提升了超分辨率下的性能以及減少了偽影。另外,基于CNN的壓縮還提升了JPEG圖像的品質,因為它減少了峰值信噪比(PSNR)和結構相似性(SSIM)。基于CNN的壓縮通過使用熵估計法還實現了HEVC的性能。

4. 基于生成式對抗網絡(GAN)的壓縮算法

GAN屬于神經網絡的一種,它使用兩個神經網絡彼此競爭的方式來產生更精確的分析和預測。最早基于GAN的壓縮算法于2017年被提出。這些算法的文件壓縮比例是其他常見方法(如JPEG、WebP等)的2.5倍。你可以使用基于GAN的方法通過并行化處理來實現實時壓縮。主要的原理是基于最相關的特征來壓縮圖片。當解碼的時候,算法基于這些特征來重建圖像。和基于CNN算法相比,基于GAN的壓縮算法通過消除對抗損失能夠產生更高品質的圖像。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“計算機中常用的無損壓縮算法有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汉川市| 瓦房店市| 南漳县| 班戈县| 志丹县| 沂水县| 泰顺县| 精河县| 鄂州市| 泽州县| 三台县| 宿州市| 六盘水市| 都兰县| 封丘县| 兴化市| 理塘县| 宜川县| 玛曲县| 罗定市| 射洪县| 金平| 宁津县| 循化| 班玛县| 静安区| 龙里县| 黑水县| 双柏县| 高陵县| 勐海县| 贵南县| 绿春县| 松滋市| 沭阳县| 海淀区| 达日县| 慈溪市| 黄平县| 扎赉特旗| 美姑县|