在计算机中,任何信息最终都以数据文件的形式保存。虽然可以利用各种编码技术记录并表示各种数值、字符、图形、图像、音频、视频等多种媒体信息,但是,这些信息往往需要很大的存储空间。举个例子:一个1080p分辨率格式下90分钟的无压缩视频要多大?
·1帧大小=1920×1080×3=6220800 bytes(1920×1080是每一帧的像素数,3指的是每个像素红绿蓝三个通道各占一个字节0~256)
·每秒大小=6220800×25=155.52MB!(假设帧率为每秒25帧)
·90分钟大小=155.52MB×60×90=839.81GB
前面介绍过存储高清视频的蓝光光碟容量不过大约50GB,这么大文件如果不压缩根本没法存储,更不用说通过网络进行传输了。较大存储空间的文件需要较大的内存空间运行,同时也需要较多的传输时间。解决以上问题的基本思想是在保证基本数据不丢失的情况下缩小文件的存储要求,而实现这种数据处理思想的技术为数据压缩。
数据压缩能够实现是因为多数现实世界的数据都有统计冗余。例如,字母“e”在英语中比字母“z”更加常用,字母“q”后面是“z”的可能性非常小。无损数据压缩通常利用了统计冗余,这样就能更加简练地、但仍然是完整地表示发送方的数据。
如果允许一定程度的保真度损失,那么还可以实现进一步的压缩。例如,人们看图画或者电视画面的时候可能并不会注意到一些细节并不完善。同样,两个音频录音采样序列可能听起来一样,但实际上并不完全一样。有损数据压缩在带来微小差别的情况下使用较少的位数表示图像、视频或者音频。
然而,经常有一些文件不能被有损数据压缩压缩,实际上对于不含可以辨别样式的数据任何压缩算法都不能压缩。另外,试图压缩已经经过压缩的数据通常得到的结果实际上是增加数据。
由于可以帮助减少如硬盘空间与连接带宽这样的重要资源的消耗,所以压缩非常重要,然而要注意的是压缩和解压缩需要消耗更多的处理器资源,这也可能会影响系统的整体性能。所以数据压缩机制的设计需要在压缩能力、有损度、所需计算资源以及其他需要考虑的不同因素之间进行折衷。(www.xing528.com)
数据压缩技术可以分为磁盘压缩和软件压缩两种类型。磁盘压缩是在文件的存储设备上设定一个特殊的区域,对存储到该区域的文件先压缩后存储。磁盘压缩不需要专门的数据压缩软件,由操作系统完成和管理。软件压缩则需要使用专门的压缩软件工具对文件进行压缩。数据压缩技术可以应用到文本、图形图像、音频数据、视频数据等各种类型的文件。
数据压缩的对象是数据信息中的冗余部分,因为数据文件中的数据信息描述客观事物的属性和特征,所以不可避免地存在着大量的冗余数据,这些冗余数据不仅增加了文件的容量,还占用了大量的存储空间和内存空间,并造成较长的传输时间。数据冗余大致分以下几种。
·空间冗余:空间冗余是指图像中,规则物体和规则背景的表面物理特性具有相关性,数字化后表现出来的空间上的冗余。例如,某图片的画面中有一个规则物体,其表面颜色均匀,各部分的亮度、饱和度相近,把该图片进行数字化生成位图(点阵图)后,很大数量的相邻像素的数据是完全一样或十分接近的。完全一样的数据当然可以压缩,对于人眼分辨不出来的十分接近的数据同样可以压缩。
·时间冗余:序列图像和语音数据的前后有很强的相关性,经常包含着冗余。对于图像序列中的两幅相邻的图像,后一幅图像与前一幅图像有很大的相关性,这种相关性就称之为时间冗余。
·结构冗余:数字化图像中的物体表面往往存在非常强的纹理结构,这种纹理冗余称为结构冗余(如草席图像的纹理很规范清晰,就存在结构冗余)。
·知识冗余:人类对许多图像的理解与某些基础知识有相当大的相关性。如人的头像、门、地球等都有固定的结构。这种规律性的结构可由先验知识和背景知识得到,此类冗余称为知识冗余.
·视觉冗余:人类的视觉系统对于图像的注意是非均匀和非线性的,视觉系统并不是对图像的任何变化都能感觉到的。因此,某些图像的失真是人眼不易觉察的。
·信息熵冗余:单位信息量大于其熵(信息量的度量方法,它表示一个事件出现的消息越多,事件发生的可能性就越小,即发生的概率越小),即编码冗余。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。