有损数据压缩
无损与有损压缩简介
我们可以借由无损压缩,在不失去任何信息的条件下,将数据压缩得更小。例如,当一张图片存储成数字文件时,我们会将它转换成一连串的点,再分别存储每个点的颜色信息。如果某张图片由200个红点构成,我们会以类似“红点、红点、...(重复197次)...、红点”的格式来存储它。在这个例子中,我们可以改成用“200个红点”这样的格式来存储这张图片,就能不失去任何信息的完成压缩。
然而,若要保留源文件案的所有信息,信息论说明了,无论使用任何压缩方法,文件大小都无法低于一个下界。一个直观的例子:压缩后得到的zip文件会比源文件案更小,但一直重复压缩同一个文件并不会让文件大小变成0,因为源文件案终究含有一定量的信息。
有损压缩却可以突破这个限制。在很多情况下,数据会包含比必要的还多的信息。例如,一张分辨率过高的照片,其中的细节肉眼可能已无法辨识;同理,在一个音量很高的音频片段中,一些细节可能是人耳难以察觉的。舍弃这些人类无法察觉的细节,就可以用更小的数据量,提供与原始数据相差无几的感官体验。有时也允许失去一部分可以察觉的细节,来达到更好的压缩率。
有损压缩的类型
有两种基本的有损压缩机制:
一种是有损变换编解码,首先对图像或者声音进行采样、切成小块、变换到一个新的空间、量化,然后对量化值进行熵编码。
另外一种是预测编解码,先前的数据以及随后解码数据用来预测当前的声音采样或者图像帧,预测数据与实际数据之间的误差以及其它一些重现预测的信息进行量化与编码。
有些系统中同时使用这两种技术,变换编解码用于压缩预测步骤产生的误差信号。
有损与无损压缩比较
有损方法的一个优点就是在有些情况下能够获得比任何已知无损方法小得多的文件大小,同时又能满足系统的需要。
有损方法经常用于压缩声音、图像以及视频。有损视频编解码几乎总能达到比音频或者静态图像好得多的压缩率(压缩率是压缩文件与未压缩文件的比值)。音频能够在没有察觉的质量下降情况下实现10:1的压缩比,视频能够在稍微观察质量下降的情况下实现如300:1这样非常大的压缩比。有损静态图像压缩经常如音频那样能够得到原始大小的1/10,但是质量下降更加明显,尤其是在仔细观察的时候。
当用户得到有损压缩文件的时候,譬如为了节省下载时间,解压文件与原始文件在数据位的层面上看可能会大相径庭,但是对于多数实用目的来说,人耳或者人眼并不能分辨出二者之间的区别。
一些方法将人体解剖方面的特质考虑进去,例如人眼只能看到一定频率的光线。心理声学模型描述的是声音如何能够在不降低声音感知质量的前提下实现最大的压缩。
人眼或人耳能够察觉的有损压缩带来的缺陷称为压缩有损。
有损压缩实例
上面的图像展示了用不同的有损压缩方法压缩同一幅图像得到的文件大小。这幅图像选自事实上的测试图像工业标准莲娜图。
好的有损压缩算法能够扔掉“不重要”的信息并且能够保留“关键”的信息。
有损压缩方法
分形压缩
JPEG
JPEG2000,使用小波的JPEG下一代,同时亦支持无损数据压缩。
JPEG XR
小波压缩
Cartesian Perceptual Compression:也叫做CPC
DjVu
ICER, Mars Rovers使用:使用小波所以与JPEG2000相关
H.261
H.263
H.264/MPEG-4 AVC
H.265/MPEG-H HEVC
MPEG-1Part 2
MPEG-2Part 2
MPEG-4Part 2
VP4
VP5
VP6
VP7
VP8
VP9
AV1
VC-1
WMV-微软开发
Motion JPEG
MNG(支持JPEG sprites)
Flash(也支持JPEG sprites)
OggTheora(由于没有专利限制而知名)
Sorenson video codec
MP2
MP3
AAC -苹果计算机使用
WMA-微软开发
ADPCM
ATRAC
Dolby AC-3
Musepack
OggVorbis(由于没有专利限制而知名)
Opus(由于没有专利限制而知名)
CELP
G.711
G.726
HILN
AMR(GSM单元载波使用,如T-Mobile)
Speex(由于没有专利限制而知名)
其他类型数据
从技术的角度来讲,去除文字元音字母也可以看作是有损数据压缩的一种方法,只有子音的情况下根据上下文通常也仍然可以阅读。研究人员也曾经半开玩笑地用字典中的短单词替换长单词或者使用生成文本技术(generative text techniques)[1]进行文本压缩,尽管这种方法有时是属于相关的(有损数据转换(英语:Lossy data conversion)领域。
参见
无损数据压缩
压缩有损
编解码器列表
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
- 有价值
- 一般般
- 没价值