LZO是致力於解壓速度的一種數據壓縮演算法,LZO是Lempel-Ziv-Oberhumer的縮寫。這個演算法是無失真演算法,參考實現程式是線程安全的。

實現它的一個自由軟件工具是lzop。最初的庫是用ANSI C編寫、並且遵從GNU通用公眾特許條款釋出的。現在LZO有用於PerlPython以及Java的各種版本。代碼著作權的所有者是Markus F. X. J. Oberhumer。

LZO庫實現了許多有下述特點的演算法:

  • 解壓簡單,速度非常快。
  • 壓縮相當地快。
  • 允許在壓縮部分以損失壓縮速度為代價提高壓縮率,解壓速度不會降低。
  • 包括生成預先壓縮數據的壓縮級別,這樣可以得到相當有競爭力的壓縮比。
  • 演算法是線程安全的。
  • 演算法是無失真的。

LZO支援重複壓縮以及原地解壓。

LZO是塊壓縮演算法——壓縮解壓成塊的數據。壓縮與解壓所用塊的大小必須一樣。

LZO將數據塊壓縮成匹配數據(滑動字典)與非匹配文字的序列。LZO對於較長的匹配數據以及較長的非匹配文字序列有專門的處理,這樣對於高度冗餘的數據能夠取得很好的效果,並且對於不可壓縮的數據也能得到可以接受的效果。

當處理不可壓縮數據的時候,LZO將每個1024位元組的輸入數據塊擴充16位元組。

外部連結 編輯