1
3
哈夫曼和自适应哈夫曼是 编码 ,它利用符号概率的统计偏差将它们编码为尽可能少的位。(还有其他类型的编码,如算术、范围和非对称数字系统。) Lempel Ziv是 建模 ,它获取被压缩的特定类型数据(本例中为文本)中的冗余,并将其转换为一系列适合 编码 . Lempel Ziv的工作假设是,文本中经常会重复不同长度的字符串,自然语言就是这样。 这种假设对于音频或图像文件根本不起作用,因为在这些文件中,冗余的形式非常不同。作为建模的一部分,将对数据执行转换,以按频率分离组件。此外,有损压缩对于人类消费的音频和图像数据都是可以接受的,其中数据可以根据其在频域中的位置进行抽取或丢弃,还可以使用其他方式利用心理声学或心理视觉有效冗余。 一旦那样 建模 完成,然后类似 编码 可用于将结果符号编码为最小大小的比特流。 压缩包括 建模 ,这在很大程度上取决于要压缩的数据类型,以及在有损压缩的情况下数据的使用者,然后是 编码 ,它将生成的信息压缩为压缩比特流。 |
2
0
是的,你提到的算法在二进制文件上都同样有效——大多数论文在示例中使用字符数据只是为了方便。 至于块大小,虽然这不是一个要求,但现代通用压缩算法总是将输入视为字节流(8位值)。 请注意,虽然原则上您可以尝试使用哈夫曼压缩来压缩音频文件,但结果可能是徒劳的,因为哈夫曼依赖于某些符号比其他符号更频繁。特殊用途的压缩算法,如MPEGx,通常用于音频。 |
Adam Fraser · 以字符串形式高效地读取java中的任何文件 6 年前 |
MathBunny · 适用于小字符串列表的良好字符串压缩算法/方法? 6 年前 |
Barny · 特定长阵列的压缩可能性 6 年前 |
aja · 验证是否使用lzo1z压缩对数据进行压缩 6 年前 |
Philippe Ear · 哈夫曼压缩[关闭] 6 年前 |