无损数据压缩
(重定向自非破壞性資料壓縮)
非破壞性資料壓縮(Lossless Compression),是指資料經過壓縮後,資訊不被破壞,還能完全恢復到壓縮前的原樣。相比之下,破壞性資料壓縮只允許一個近似原始資料進行重建,以換取更好的壓縮率。
非破壞性壓縮通常用於嚴格要求「經過壓縮、解壓縮的資料必須與原始資料一致」的場合。典型的例子包括文字檔、程式執行檔、程式原始碼。有些圖片檔案格式,例如PNG和GIF,使用的是非破壞性壓縮。其他例如TIFF、MNG則可以採用非破壞性或破壞性壓縮。非破壞性音訊格式最常用於歸檔或製作用途。破壞性音訊格式則常用於攜帶型播放器或儲存空間受限制的裝置,或不要求音訊完全還原的情況。
非破壞性壓縮技術编辑
多數的非破壞性壓縮程式會依序進行這兩個步驟:
- 產生輸入資料的統計模型
- 利用這個統計模型將較常出現的資料用較短的位元序列表示,較不常出現的資料用較長的位元序列表示
生成位元序列的編碼演算法主要有霍夫曼編碼(也用於DEFLATE)和算術編碼。算術編碼能使壓縮率接近資訊熵所給出的最佳可能壓縮率。而霍夫曼編碼較簡單快速,但在符號的出現機率接近1的時候效果不彰。
有兩種建構統計模型的主要方法:
- 在 靜態 模型中,會分析資料並建立一個模型,然後將這個模型儲存在壓縮資料中。這個方法較簡單且模組化,但缺點是模型本身可能耗費龐大的空間來儲存。而且這個方法對單次的全部壓縮資料都使用同一個統計模型,所以如果各個檔案之間差異甚大,壓縮效果並不好。
- 在 自適應 模型中,壓縮資料的同時模型會不斷的更新。雖然會導致壓縮初期的壓縮率不理想,但隨著讀取的資料增加,壓縮效果也會提升。目前最熱門的壓縮方法都採用自適應編碼方法。
霍夫曼編碼與算術編碼比較编辑
- 霍夫曼編碼是將每一筆資料分開編碼
- 算術編碼則是將多筆資料一起編碼,因此壓縮效率比霍夫曼編碼更高,近年來的資料壓縮技術大多使用算術編碼
常見的非破壞性壓縮格式编辑
通用格式编辑
- 變動長度編碼法 (RLE) – 一個非常簡單的方法,在資料連續重複的情況下有不錯的壓縮率
- LZ77與LZ78、LZW – 用於GIF和多種應用
- LZF (页面存档备份,存于互联网档案馆) – 基本的LZ壓縮法(deflate),對於快速壓縮有做最佳化(Lempel-Ziv Fast)
- DEFLATE – 用於gzip、ZIP (從2.0版開始),也是PNG、点对点协议(PPP)、HTTP、SSH的一部分
- bzip2 – 使用Burrows-Wheeler變換,速度較DEFLATE慢但壓縮率更高
- LZMA – 用於7zip、xz等程式,相較於bzip2有更好的壓縮率和更快的速度
- LZO – 專為高速壓縮/解壓縮設計的方法,代價是壓縮率較差
- Statistical Lempel Ziv – 結合統計方法和字典方法,相較於只採用單一方法有更好的壓縮率
- Brotli – 一個現代的基于LZ的壓縮方法,速度大約與DEFLATE一樣快,但擁有與LZMA相近的壓縮率
圖片格式编辑
3D圖片格式编辑
- OpenCTM – 用於3D三角網格的非破壞性壓縮
音訊格式编辑
- WAV(無壓縮)
視訊格式编辑
- Huffyuv
常見的非破壞性壓縮演算法编辑
🔥 Top keywords: Baike: 首页Special:搜索胖猫跳江事件背着善宰跑九龍城寨之圍城逆天奇案2璩静淚之女王歌手2024Energy (組合)新生 (网络剧)习近平匈牙利邊佑錫劉俊謙 (香港)金智媛神耆小子塞尔维亚金秀賢 (男演員)母亲节猩球崛起:王國誕生九龍寨城馴鹿寶貝家族榮耀之繼承者Seventeen (組合)六四事件不夠善良的我們张维为楊佩潔TripleS支配物种庆余年郭葦昀洪若潭命案金惠奫2024年英雄联盟季中邀请赛春色寄情人BABYMONSTER笑看風雲乘風2024排球少年!!角色列表破墓徐巧芯中华人民共和国中華民國打天下2WIND BREAKER—防風少年—习明泽排球少年!!彭丽媛磁暴ILLIT贾斯汀·比伯逆天奇案BOYNEXTDOOR猿人爭霸戰:猩凶革命張書偉我的婆婆怎麼那麼可愛我獨自升級怪獸8號謝坤達IVE (組合)與鳳行關於我轉生變成史萊姆這檔事角色列表黃道十二宮福建號航空母艦虽然不是英雄葉乃文五月天張員瑛草榴社区張文傑2024年花蓮地震极光香緹·摩爾迷宮飯呂家愷搜查班長1958日本劉德華海莉·鮑德溫蕭景鴻越位 (足球)葬送的芙莉蓮周處除三害 (電影)毛泽东願榮光歸香港林峯周雨彤伍允龍羅毓儀香港Baike: 分類索引沒有秘密猩球崛起:終極決戰角質層唐振剛柯佳嬿文化大革命