新闻资讯
看你所看,想你所想

无损

无损

无损

无损,即无损数据压缩(Lossless Compression)指数据经过压缩后,信息不受损失,还能完全恢复到压缩前的原样。“无损”一词是相对于有损数据压缩,有损数据压缩只允许一个近似原始数据进行重建,以换取更好的压缩率。

基本介绍

  • 中文名:无损
  • 外文名:Lossless Compression
  • 别称:无损数据压缩
  • 释义:数据经过压缩后,信息不受损失

简介

无损数据压缩(Lossless Compression)指数据经过压缩后,信息不受损失,还能完全恢复到压缩前的原样。“无损”一词是相对于有损数据压缩,有损数据压缩只允许一个近似原始数据进行重建,以换取更好的压缩率。
无损压缩通常用于严格要求“经过压缩、解压缩的数据必须与原始数据一致”的场合。典型的例子包括文字档案、程式执行档、程式原始码。有些图片档案格式,例如PNG和GIF,使用的是无损压缩。其他例如TIFF、MNG则可以採用无损或有损压缩。无损音频格式最常用于归档或製作用途。有损音频格式则常用于携带型播放器或存储空间受限制的设备,或不要求音频完全还原的情况。

无损压缩技术

多数的无损压缩程式会依序进行这两个步骤:
  1. 产生输入数据的统计模型
  2. 利用这个统计模型将较常出现的数据用较短的比特序列表示,较不常出现的数据用较长的比特序列表示
生成比特序列的编码算法主要有霍夫曼编码(也用于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相近的压缩率

图片格式

  • BMP(RLE)
  • GIF
  • JPEG 2000、JPEG XR,亦支持有损数据压缩
  • PNG
  • TIFF

3D图片格式

  • OpenCTM– 用于3D三角格线的无损压缩

音频格式

  • ALAC
  • Ape
  • FLAC
  • LPAC
  • LTAC
  • MPEG-4 ALS
  • OptimFROG
  • Shorten
  • TAK
  • TTA
  • WavPack
  • WMA Lossless

视频格式

  • Huffyuv

常见的无损压缩算法

  • ABO
  • LZW
  • ZIP
  • RAR
  • 7-Zip
  • 算术编码

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com