差分編碼

差分编码（），又稱增量編碼，是指在序列式資料之間以形式儲存或傳送資料的方式（相對於儲存傳送完整檔案的方式）。通常應用於目標檔案和參考檔案之間存在高度冗餘的情況，使壓縮後檔案大小比僅使用目標檔案壓縮小，可以提高網路和磁碟資源的使用效率。

差異儲存在稱為「delta」或「diff」的不連續檔案中。由於改變通常很小（平均佔全部大小的2%），差分編碼能大幅減少資料的重複。一連串獨特的delta檔案在空間上要比未編碼的相等檔案有效率多了。

差分編碼的簡單例子是儲存序列式資料之間的差異（而不是儲存資料本身）：不存「2, 4, 6, 9, 7」，而是存「2, 2, 2, 3, -2」。單獨使用用處不大，但是在序列式數值常出現時可以幫助壓縮資料。
應用
典型的應用場景包括管理有多版本的檔案，透過網路傳輸軟體的補丁或更新包，此時需要接收者已經擁有舊版本的資料。或是當網頁有共同的佈局和選單結構時可以壓縮。
需要查看文件的歷史更改記錄（版本控制、git等）、Windows中的、在线备份等場景均用到了差分編碼。
大多數使用增量編碼的檔案為文字或二進位檔案。

RCS和SCCS是兩種傳統系統，為單一檔案提供增量壓縮的版本控制。更新的版本控制系統，如 CVS和PRCS強調對檔案集合（而不是單一檔案）提供版本控制的重要性，因此常使用RCS和SCCS進行後端儲存而不是用於版本控制。

參考資料
Suel, Torsten. "Delta compression techniques." Encyclopedia of Big Data Technologies 63 (2019).
MacDonald, Joshua. (2003). File System Support for Delta Compression. 
相關條目
 演算法
 資料壓縮
 資料結構
 增量調變
 編碼

Category:无损压缩算法