Ⅰ 数字图像的无损压缩是指
答案是A,解压后重建的图像与原始图像完全相同。
虽然不能完全恢复原始数据,但是所损失的部分对理解原始图像的影响缩小,却换来了大得多的压缩比,即指使用压缩后的数据进行重构,重构后的数据与原来的数据有所不同,但不影响人对原始资料表达的信息造成误解。有损压缩适用于重构信号不一定非要和原始信号完全相同的场合。
图像和声音的压缩(因为其中包含的数据往往多于我们的视觉系统和听党系统所能接收的信息,丢掉一些数据而不至于对声音或者图像所表达的意思产生误解但可大大提高压缩比)。有损压缩广泛应用于语音,图像和视频数据的压缩。
2、无损压缩格式则是利用数据的统计冗余进行压缩,可完全恢复原始数据而不引起任何失真,但压缩率是受到数据统计冗余度的理论限制,一般为2:1到5:1。
这类方法广泛用于文本数据,程序和特殊应用场合的图像数据(如指纹图像,医学图像等)的压缩。即指使用压缩后的数据进行重构(或者叫做还原,解压缩),重构后的数据与原来的数据完全相同;无损压缩用于要求重构的信号与原始信号完全致的场合。
Ⅱ 无损压缩有哪几种格式
1、AAL
ATRAC Advanced Lossless是由Sony CorporATIon 开发的一种 ATRAC 格式。通过结合 ATRAC3 或 ATRAC3plus 背后的音频压缩技术以及最新的无损压缩算法,在保持与传统设备的播放兼容性的同时,以很低的数据大小完美实现了数据的无损压缩。
2、APE
APE(Monkey's Audio)无疑是一个很着名的无损压缩格式,在国内应用得已经比较广泛了。它的压缩率相当优秀,而且效率高、速度快,综合能力绝对属于当今的佼佼者。而且广泛使用的Monkey'sAudio制作软件也大大推动了该格式的普及。
3、FLAC
FlAC(FreeLosslessAudioCodec)是一个非常成熟的无损压缩格式,该格式的源码完全开放,而且兼容几乎所有的操作系统平台。它的编码算法相当成熟,已经通过了严格的测试,而且据说在文件点损坏的情况下依然能够正常播放(损坏部分以静音代替)。
4、WavPack
相当有特点的格式,非常值得一试。WavPack不仅仅是一个无损压缩格式,它还能同时作为有损压缩格式。
5、LPAC
中轨中矩的无损格式,各项指标都比较平均。作者TilmanLiebchen为它准备了不错的制作程序,不过已经停止独立更新,而是作为MPEG4的一项标准。
6、WMALossless
微软在WindowsMediaPlayer9.0以后也开始提供无损压缩功能了。只需点击菜单“工具”=》“选项”,在“复制音乐”选项卡里选择“WindowsMedia音频无损”格式。
7、AppleLossless
最新版的苹果iTunes音乐软件里也提供了AppleLossless无损压缩格式。
8、La
La,是LosslessAudio的简称,该格式名气虽然不大,但却是压缩比冠军,压缩率方面无人能敌,包括一向以压缩率高而着称的APE。LosslessAudioCompressor。
9、OptimFROG
该格式的压缩率可以媲美La,但是速度比La还要慢。
10、Kenwood
Kenwood原创的无损压缩方式(Kenwood Lossless)来记录高品质音乐CD的内容,这便能更有效地使用硬盘存储器的容量存储更多数据(平均压缩率为60%),同时也能有效地将压缩文件还原成原始状态,这样才能有高品质的音质保证。
11、TAK
TAK(Tom's Audio Kompressor)是一种新型的无损音频压缩格式,全称是Tom's Audio Kompressor,产于德国,流行程度正在上升。
12、TTA
TTA(True Audio) 是一种自由又简单的实时无损音频编解码器,不过流行程度正在下降。TTA是一种基于自适应预测过滤的无损音频压缩,主要的其他格式相比,能有相同或更好的压缩级别,同时保持较高的速度运行。
Ⅲ C语言都有哪些经典的无损压缩算法
C语言经典的无损压缩算法有:哈夫曼算法、LZ。
哈夫曼算法:
哈夫曼编码是David A. Huffman于1952年发明的一种满足对编码算法要求的一种编码算法。
哈夫曼算法是利用频率信息构造一棵二叉树,频率高的离根节点近(编码长度短),频率低的离根节点远(编码长度长),手动构造方法是先将字母按照频率从小到大排序,然后不断选择当前还没有父节点的节点中权值最小的两个,构造新的父节点,父节点的值为这两个节点值的和,直到构造成一棵二叉树。
LZ算法:
LZ算法及其衍生变形算法是压缩算法的一个系列。LZ77和LZ78算法分别在1977年和1978年被创造出来。虽然他们名字差不多,但是算法方法完全不同。这一系列算法主要适用于字母数量有限的信息,比如文字、源码等。流行的GIF和PNG格式的图像,使用颜色数量有限的颜色空间,其压缩就采用了两种算法的灵活变形应用。
Ⅳ 数据压缩技术一般分哪两种各有什么特点
数据压缩可分成两种类型,一种叫做无损压缩,另一种叫做有损压缩.
无损压缩是指使用压缩后的数据进行重构(或者叫做还原,解压缩),重构后的数据与原来的数据完全相同;无损压缩用于要求重构的信号与原始信号完全一致的场合.一个很常见的例子是磁盘文件的压缩.根据目前的技术水平,无损压缩算法一般可以把普通文件的数据压缩到原来的1/2~1/4.一些常用的无损压缩算法有霍夫曼(Huffman)算法和LZW(Lenpel-Ziv & Welch)压缩算法.
有损压缩是指使用压缩后的数据进行重构,重构后的数据与原来的数据有所不同,但不影响人对原始资料表达的信息造成误解.有损压缩适用于重构信号不一定非要和原始信号完全相同的场合.例如,图像和声音的压缩就可以采用有损压缩,因为其中包含的数据往往多于我们的视觉系统和听觉系统所能接收的信息,丢掉一些数据而不至于对声音或者图像所表达的意思产生误解,但可大大提高压缩比.
Ⅳ 关于无损压缩算法的疑问
你要造成压缩后更大的情况很简单,你将一个文件压缩后,对这个rar再次压缩看看,不断的重复这个过程,最终总会出现压缩后比前面更大的情况(实际上一般压缩过一次之后,第二次再压缩的时候,压缩后的文件就会出现比压缩前更大的情况)。
Ⅵ 无损数据压缩有哪些算法
看书吧,书上最清楚。
lz77,lz78,lzw,哈夫曼编码,等
Ⅶ 压缩算法原理
哈夫曼
哈夫曼编码是无损压缩当中最好的方法。它使用预先二进制描述来替换每个符号,长度由特殊符号出现的频率决定。常见的符号需要很少的位来表示,而不常见的符号需要很多为来表示。
哈夫曼算法在改变任何符号二进制编码引起少量密集表现方面是最佳的。然而,它并不处理符号的顺序和重复或序号的序列。
2.1 原理
我不打算探究哈夫曼编码的所有实际的细节,但基本的原理是为每个符号找到新的二进制表示,从而通常符号使用很少的位,不常见的符号使用较多的位。
简短的说,这个问题的解决方案是为了查找每个符号的通用程度,我们建立一个未压缩数据的柱状图;通过递归拆分这个柱状图为两部分来创建一个二叉树,每个递归的一半应该和另一半具有同样的权(权是 ∑ N K =1 符号数 k , N 是分之中符号的数量,符号数 k 是符号 k出现的次数 )
这棵树有两个目的:
1. 编码器使用这棵树来找到每个符号最优的表示方法
2. 解码器使用这棵树唯一的标识在压缩流中每个编码的开始和结束,其通过在读压缩数据位的时候自顶向底的遍历树,选择基于数据流中的每个独立位的分支,一旦一个到达叶子节点,解码器知道一个完整的编码已经读出来了。
压缩后的数据流是 24 位(三个字节),原来是 80 位( 10 个字节)。当然,我应该存储哈夫曼树,这样解码器就能够解码出对应的压缩流了,这就使得该例子中的真正数据流比输入的流数据量大。这是相对较短的数据上的副作用。对于大数据量来说,上面的哈夫曼树就不占太多比例了。
解码的时候,从上到下遍历树,为压缩的流选择从左 / 右分支,每次碰到一个叶子节点的时候,就可以将对应的字节写到解压输出流中,然后再从根开始遍历。
2.2 实现
哈夫曼编码器可以在基本压缩库中找到,其是非常直接的实现。
这个实现的基本缺陷是:
1. 慢位流实现
2. 相当慢的解码(比编码慢)
3. 最大的树深度是 32 (编码器在任何超过 32 位大小的时候退出)。如果我不是搞错的话,这是不可能的,除非输出的数据大于 2 32字节。
另一方面,这个实现有几个优点:
1. 哈夫曼树以一个紧密的形式每个符号要求 12 位(对于 8 位的符号)的方式存储,这意味着最大的头为 384 。
2. 编码相当容易理解
哈夫曼编码在数据有噪音的情况(不是有规律的,例如 RLE )下非常好,这中情况下大多数基于字典方式的编码器都有问题。
Ⅷ 无损数据压缩的定义与特点
无损压缩用于要求重构的信号与原始信号完全一致的场合。也就是说数据经过压缩后信息不受损失,还能完全恢复到压缩前的原样。它和有损数据压缩相对。这种压缩通常压缩比小于有损数据压缩的压缩比。
一个很常见的例子是磁盘文件的压缩。根据目前的技术水平,无损压缩算法一般可以把普通文件的数据压缩到原来的1/2~1/4。一些常用的无损压缩算法有霍夫曼(Huffman)算法和LZW(Lenpel-Ziv & Welch)压缩算法。