无损数据压缩

| 此條目没有列出任何参考或来源。 (2021年4月12日)
維基百科所有的內容都應該可供查證。请协助補充可靠来源以改善这篇条目。无法查证的內容可能會因為異議提出而被移除。

|

| 此條目可参照英語維基百科相應條目来扩充。
若您熟悉来源语言和主题，请协助参考外语维基百科扩充条目。请勿直接提交机械翻译，也不要翻译不可靠、低品质内容。依版权协议，译文需在编辑摘要注明来源，或于讨论页顶部标记`{{Translated page}}`标签。

|

有损无损数据压缩

非破壞性資料壓縮（Lossless Compression），是指資料經過壓縮後，資訊不被破壞，還能完全恢復到壓縮前的原樣。相比之下，破壞性資料壓縮只允許一個近似原始資料進行重建，以換取更好的壓縮率。

非破壞性壓縮在許多應用程式中使用。例如，ZIP和gzip。

非破壞性壓縮通常用於嚴格要求「經過壓縮、解壓縮的資料必須與原始資料一致」的場合。典型的例子包括文字檔、程式執行檔、程式原始碼。有些圖片檔案格式，例如PNG和GIF，使用的是非破壞性壓縮。其他例如TIFF、MNG則可以採用非破壞性或破壞性壓縮。非破壞性音訊格式最常用於歸檔或製作用途。破壞性音訊格式則常用於攜帶型播放器或儲存空間受限制的裝置，或不要求音訊完全還原的情況。

## 非破壞性壓縮技術[编辑]

多數的非破壞性壓縮程式會依序進行這兩個步驟：

1. 產生輸入資料的統計模型
2. 利用這個統計模型將較常出現的資料用較短的位元序列表示，較不常出現的資料用較長的位元序列表示

生成位元序列的編碼演算法主要有霍夫曼編碼（也用於DEFLATE）和算術編碼。算術編碼能使壓縮率接近資訊熵所給出的最佳可能壓縮率。而霍夫曼編碼較簡單快速，但在符號的出現機率接近1的時候效果不彰。

有兩種建構統計模型的主要方法：

* 在 靜態 模型中，會分析資料並建立一個模型，然後將這個模型儲存在壓縮資料中。這個方法較簡單且模組化，但缺點是模型本身可能耗費龐大的空間來儲存。而且這個方法對單次的全部壓縮資料都使用同一個統計模型，所以如果各個檔案之間差異甚大，壓縮效果並不好。
* 在 自適應 模型中，壓縮資料的同時模型會不斷的更新。雖然會導致壓縮初期的壓縮率不理想，但隨著讀取的資料增加，壓縮效果也會提升。目前最熱門的壓縮方法都採用自適應編碼方法。

## 霍夫曼編碼與算術編碼比較[编辑]

* 霍夫曼編碼是將每一筆資料分開編碼
* 算術編碼則是將多筆資料一起編碼，因此壓縮效率比霍夫曼編碼更高，近年來的資料壓縮技術大多使用算術編碼

## 常見的非破壞性壓縮格式[编辑]

参见：Category:无损压缩算法

### 通用格式[编辑]

* 變動長度編碼法 (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（英语：Statistical Lempel Ziv） – 結合統計方法和字典方法，相較於只採用單一方法有更好的壓縮率
* Brotli – 一個現代的基于LZ的壓縮方法，速度大約與DEFLATE一樣快，但擁有與LZMA相近的壓縮率

### 圖片格式[编辑]

* BMP (RLE)
* GIF
* JPEG 2000、JPEG XR，亦支援破壞性資料壓縮
* PNG
* TIFF
* SVG（無壓縮）

### 3D圖片格式[编辑]

* OpenCTM（英语：OpenCTM） – 用於3D三角網格的非破壞性壓縮

### 音訊格式[编辑]

* ALAC
* Ape
* FLAC
* LPAC
* LTAC（英语：LTAC）
* MPEG-4 ALS
* OptimFROG
* Shorten（英语：Shorten (file format)）
* TAK
* TTA
* WavPack
* WMA Lossless

* WAV（無壓縮）

### 視訊格式[编辑]

* Huffyuv（英语：Huffyuv）

## 常見的非破壞性壓縮演算法[编辑]

* ABO (算法)（英语：Adaptive_Binary_Optimization）
* DEFLATE
* LZMA
* LZW
* RAR
* ZIP
* 算術編碼

* 查
* 论
* 编

数据压缩方法

理论|

* 熵
* 语法（英语：Grammar-based code）
* 信息论
* 柯氏复杂度
* 量化
* 率失真理论
* 信息冗余

无损数据压缩|

熵編碼

* 算术编码
* 非对称数字系统编码（英语：Asymmetric numeral systems）
* 格倫布編碼
* 霍夫曼编码
* 适应性
* 范型
* 改进
* 區間編碼
* 香农编码
* 香农-范诺编码
* 香農-范諾-埃利西斯編碼
* Tunstall编码（英语：Tunstall coding）
* 一元编码（英语：Unary coding）
* 通用編碼（英语：Universal code (data compression)）
* 指數格倫布編碼
* 斐波那契編碼
* 以利亞伽瑪編碼
* 萊文斯坦編碼（英语：Levenshtein coding）

|

字典編碼（英语：Dictionary coder）

* 字节对编码
* LZ77 / LZ78
* 842（英语：842 (compression algorithm)）
* Brotli
* Deflate
* LZ4
* LZFSE
* LZJB（英语：LZJB）
* LZMA
* LZO
* LZRW（英语：LZRW）
* LZS（英语：Lempel–Ziv–Stac）
* LZSS
* LZW
* LZWL（英语：LZWL）
* LZX
* Snappy
* Zstandard

* BWT
* CTW（英语：CTW）
* 差分编码
* DMC
* 差分脉冲编码调制
* 无损离散余弦变换
* MTF
* PAQ（英语：PAQ）
* PPM（英语：Prediction by partial matching）
* RLE

有损数据压缩|

变换编码

* DCT
* MDCT
* DST
* FFT
* 小波变换
* 多贝西
* DWT
* SPIHT（英语：Set partitioning in hierarchical trees）

|

预测编码

* DPCM
* ADPCM（英语：Adaptive differential pulse-code modulation）
* LPC
* ACELP（英语：Algebraic code-excited linear prediction）
* CELP
* LAR（英语：Log area ratio）
* LSP
* WLPC（英语：Warped linear predictive coding）
* 运动
* 运动补偿
* 运动预测
* 运动矢量
* 心理声学

音频|

* 码率
* 平均码率
* 恒定码率
* 可变码率
* 压扩（英语：Companding）
* 卷积
* 动态范围
* 延迟（英语：Latency (audio)）
* 采样
* 采样定理
* 音质
* 语音编码
* 子带编码

|

编解码组件

* A-law（英语：A-law）
* μ-law（英语：μ-law）
* DPCM
* ADPCM（英语：Adaptive differential pulse-code modulation）
* DM
* FT
* FFT
* LPC
* ACELP（英语：Algebraic code-excited linear prediction）
* CELP
* LAR（英语：Log area ratio）
* LSP
* WLPC（英语：Warped linear predictive coding）
* CELP
* MDCT
* 心理聲學模型

图像|

* 色度抽样
* 编码树单元
* 色彩空間
* 壓縮失真
* 图像分辨率
* 宏块
* 像素
* 峰值信噪比
* 量化
* 标准测试图像

|

* DCT
* Deflate
* 分形压缩
* K-L变换
* LP（英语：Pyramid (image processing)）
* RLE
* 小波变换
* 多贝西
* DWT
* SPIHT（英语：Set partitioning in hierarchical trees）

视频|

* 码率
* 平均码率
* 恒定码率
* 可变码率
* 显示分辨率
* 帧（英语：Film frame）
* 帧率
* 帧类型
* 隔行扫描
* 視訊特性
* 視訊質量

|

编解码组件

* DCT
* DPCM
* 去区块滤波器
* 重叠变换（英语：Lapped transform）
* 运动
* 运动补偿
* 运动预测
* 运动矢量
* 量化

另见压缩格式和数据压缩软件
*[查]: 查看该模板
*[论]: 讨论该模板
*[编]: 编辑该模板