族谱网 头条 人物百科

数据压缩

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:501
转发:0
评论:0
概要对于任何形式的通信来说,只有当信息的发送方和接受方都能够理解编码机制的时候压缩数据通信才能够工作。例如,只有当接受方知道这篇文章需要用汉语字符解释的时候这篇文章才有意义。同样,只有当接受方知道编码方法的时候他才能够理解压缩数据。数据压缩能够实现是因为多数现实世界的数据都有统计冗余。例如,字母“e”在英语中比字母“z”更加常用,字母“q”后面是“z”的可能性非常小。无损数据压缩通常利用了统计冗余,这样就能更加简练地、但仍然是完整地表示发送方的数据。如果允许一定程度的保真度损失,那么还可以实现进一步的压缩。例如,人们看图画或者电视画面的时候可能并不会注意到一些细节并不完善。同样,两个音频录音采样序列可能听起来一样,但实际上并不完全一样。有损数据压缩在带来微小差别的情况下使用较少的位数表示图像、视频或者音频。然而,经常有一些文件不能被有损数据压缩压缩,实际上对于不含可以辨别样式的数据任何压缩...

概要

对于任何形式的通信来说,只有当信息的发送方和接受方都能够理解编码机制的时候压缩数据通信才能够工作。例如,只有当接受方知道这篇文章需要用汉语字符解释的时候这篇文章才有意义。同样,只有当接受方知道编码方法的时候他才能够理解压缩数据。

数据压缩能够实现是因为多数现实世界的数据都有统计冗余。例如,字母“e”在英语中比字母“z”更加常用,字母“q”后面是“z”的可能性非常小。 无损数据压缩 通常利用了统计冗余,这样就能更加简练地、但仍然是完整地表示发送方的数据。

如果允许一定程度的保真度损失,那么还可以实现进一步的压缩。例如,人们看图画或者电视画面的时候可能并不会注意到一些细节并不完善。同样,两个音频录音采样序列可能听起来一样,但实际上并不完全一样。 有损数据压缩 在带来微小差别的情况下使用较少的位数表示图像、视频或者音频。

然而,经常有一些文件不能被有损数据压缩压缩,实际上对于不含可以辨别样式的数据任何压缩算法都不能压缩。另外,试图压缩已经经过压缩的数据通常得到的结果实际上是增加数据。

实际上,有损数据压缩也会最终达到不能工作的地步。例如一个极端的例子:压缩算法每次去掉文件最后一个字节,那么经过这个算法不断的压缩直至文件变空,压缩算法将不能继续工作。

由于可以帮助减少如硬盘空间与连接带宽这样的昂贵资源的消耗,所以压缩非常重要,然而压缩需要消耗信息处理资源,这也可能是费用昂贵的。所以数据压缩机制的设计需要在压缩能力、有损度、所需计算资源以及其它需要考虑的不同因素之间进行折衷。

应用

一种非常简单的压缩方法是进程长度编码,这种方法使用数据及数据长度这样简单的编码代替同样的连续数据,这是无损数据压缩的一个实例。这种方法经常用于办公计算机以更好地利用磁盘空间、或者更好地利用计算机网络中的带宽。对于电子表格、文本、可执行文件等这样的符号数据来说,无损是一个非常关键的要求,因为除了一些有限的情况,大多数情况下即使是一个数据位的变化都是无法接受的。

对于视频和音频数据,只要不损失数据的重要部分一定程度的质量下降是可以接受的。通过利用人类感知系统的局限,能够大幅度的节约存储空间并且得到的结果质量与原始数据质量相比并没有明显的差别。这些有损数据压缩方法通常需要在压缩速度、压缩数据大小以及质量损失这三者之间进行折衷。

有损图像压缩用于数码相机中,大幅度地提高了存储能力,同时图像质量几乎没有降低。用于DVD的有损MPEG-2编解码视频压缩也实现了类似的功能。

在有损音频压缩中,心理声学的方法用来去除信号中听不见或者很难听见的成分。人类语音的压缩经常使用更加专业的技术,因此人们有时也将“语音压缩”或者“语音编码”作为一个独立的研究领域与“音频压缩”区分开来。不同的音频和语音压缩标准都属于音频编解码范畴。例如语音压缩用于因特网电话,而音频压缩被用于CD翻录并且使用MP3播放器解码。

理论

压缩的理论(它与算法信息论密切相关)以及率有损理论,这个领域的研究工作主要是由美国学者克劳德·香农(Claude Elwood Shannon)奠定的,他在二十世纪四十年代末期及五十年代早期发表了这方面的基础性的论文。Doyle和Carlson在2000年写到数据压缩“是所有的工程领域最简单、最优美的设计理论之一”。密码学与编码理论也是密切相关的学科,数据压缩的思想与统计推断也有很深的渊源。

许多无损数据压缩系统都可以看作是四步模型,有损数据压缩系统通常包含更多的步骤,例如它包括预测、频率变换以及量化。

Lempel-Ziv(LZ)压缩方法是最流行的无损存储算法之一。DEFLATE是LZ的一个变体,它针对解压速度与压缩率进行了优化,虽然它的压缩速度可能非常缓慢,PKZIP、gzip以及PNG都在使用DEFLATE。LZW(Lempel-Ziv-Welch)是Unisys的专利,直到2003年6月专利到期限,这种方法用于GIF图像。另外值得一提的是LZR (LZ-Renau) 方法,它是Zip方法的基础。LZ方法使用基于表格的压缩模型,其中表格中的条目用重复的数据串替换。对于大多数的LZ方法来说,这个表格是从最初的输入数据动态生成的。这个表格经常采用霍夫曼编码维护(例如SHRI、LZX)。 目前一个性能良好基于LZ的编码机制是LZX,它用于微软公司的CAB格式。

最好的压缩工具将概率模型预测结果用于算术编码。算术编码由芬兰信息理论学家Jorma Rissanen发明,并且由Witten、Neal以及Cleary将它转变成一个实用的方法。这种方法能够实现比众人皆知的哈夫曼算法更好的压缩,并且它本身非常适合于自适应数据压缩,自适应数据压缩的预测与上下文密切相关。算术编码已经用于二值图像压缩标准JBIG、文档压缩标准DejaVu。文本输入系统Dasher是一个逆算术编码器。

参见

数据压缩专题

柯氏复杂性

信息熵

自解压缩档

图像压缩

语音压缩

视频压缩

多媒体压缩

最小描述长度

最小消息长度(two-part lossless compression designed for inference)

压缩算法

无损数据压缩

进程长度编码

字典编码

局部匹配预测(也称为PPM)

熵编码

Slepian-Wolf编码:无损的分布式信源编码

有损数据压缩

离散余弦变换

分形压缩(fractal compression)

小波压缩

向量量化(vector quantization)

线性预测编码

Wyner-Ziv编码(有损的分布式信源编码)

实现实例

DEFLATE(LZ77与哈夫曼编码的组合)– ZIP、gzip、zlib与PN]文件在使用

LZMA:7-Zip与StuffitX使用

LZO(非常快速的LZ变体,针对速度要求)

Unixcompress工具(.Z文件格式)、以及GIF使用LZW

bzip2(Burrows-Wheeler变换与哈夫曼编码的组合)

PAQ(一种基于context mixing的超高压缩率的算法,但是极度缓慢,是最高压缩比竞争中的佼佼者。)

JPEG(使用离散余弦变换、量化、哈夫曼编码的图像压缩)

MPEG(广泛使用的音频及视频压缩标准族,视频压缩使用离散余弦变换以及运动补偿预测)

MP3(MPEG-1标准中用于声音及音乐压缩的部分,使用子带、MDCT、感知模型、量化以及哈夫曼编码)

WMA(WMV音频编码规范中的一部分,使用MDCT、感知模型、低比特率量化、量化以及哈夫曼编码)

Vorbis(类似于AAC的基于DCT的音频编解码,为了避免专利问题而设计)

JPEG 2000(使用小波、量化、熵编码的图像压缩)

TTA(使用线性预测编码,用于无损音频压缩)

FLAC(用于无损音频压缩的线性预测编码)


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
打赏
私信

推荐阅读

· 有损数据压缩
无损与有损压缩简介我们可以借由无损压缩,在不失去任何信息的条件下,将数据压缩得更小。例如,当一张图片存储成数字文件时,我们会将它转换成一连串的点,再分别存储每个点的颜色信息。如果某张图片由200个红点构成,我们会以类似“红点、红点、...(重复197次)...、红点”的格式来存储它。在这个例子中,我们可以改成用“200个红点”这样的格式来存储这张图片,就能不失去任何信息的完成压缩。然而,若要保留源文件案的所有信息,信息论说明了,无论使用任何压缩方法,文件大小都无法低于一个下界。一个直观的例子:压缩后得到的zip文件会比源文件案更小,但一直重复压缩同一个文件并不会让文件大小变成0,因为源文件案终究含有一定量的信息。有损压缩却可以突破这个限制。在很多情况下,数据会包含比必要的还多的信息。例如,一张分辨率过高的照片,其中的细节肉眼可能已无法辨识;同理,在一个音量很高的音频片段中,一些细节可能是人...
· 无损数据压缩
无损压缩技术多数的无损压缩程序会依序进行这两个步骤:产生输入数据的统计模型利用这个统计模型将较常出现的数据用较短的比特序列表示,较不常出现的数据用较长的比特序列表示生成比特序列的编码算法主要有霍夫曼编码(也用于DEFLATE)和算术编码。算术编码能使压缩率接近信息熵所给出的最佳可能压缩率。而霍夫曼编码较简单快速,但在符号的出现概率接近1的时候效果不彰。有两种建构统计模型的主要方法:在静态模型中,会分析数据并创建一个模型,然后将这个模型存储在压缩数据中。这个方法较简单且模块化,但缺点是模型本身可能耗费庞大的空间来存储。而且这个方法对单次的全部压缩数据都使用同一个统计模型,所以如果各个文件之间差异甚大,压缩效果并不好。在自适应模型中,压缩数据的同时模型会不断的更新。虽然会导致压缩初期的压缩率不理想,但随着读取的数据增加,压缩效果也会提升。目前最热门的压缩方法都采用自适应编码方法。常见的无损压缩...

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信