《data compression》笔记

第三章 打破香农熵

信息熵仅仅从整个数据集符号的静态频率统计上考虑,把符号看作是孤立的个体,而忽视了符号之间的顺序(普遍联系),这使得将数据压缩到超越信息熵的限制成为可能。(马哲yyds)

第四章 变长编码

  • Elias gamma encoding
    • 2 N + L 2^N+L 2N+L
    • 举例:42
    • N = 5 , L = 10 N=5,L=10 N=5,L=10
    • 两部分编码:11110,01010
    • 最终编码:1111001010
  • Elias delta coding
    • 举例:12
    • 二进制编码为1100,长度 C = 4 C=4 C=4
    • C C C编码为100,二进制编码去掉最左边的1得到100
    • 拼接:100100
    • 确定 C C C的长度减一,用0计数:00
    • 最终编码:00100100
  • 问题
    • 不能对齐到字节或字
    • 为了解码,不得不记录额外信息,使得n过大时,编码长度趋于超过 log ⁡ 2 ( n ) \log_2(n) log2(n)
    • 解码慢(一次读一比特)
  • varInt
    • 小数少字节,大数多字节
    • 字节最高位标记是否为该数的最后一个字节,剩余7比特用补码编码
    • 小端编码
    • 双赢:既有变长编码的灵活性,又有现代体系结构的效率
  • 结论
    • 选择与数据集符号概率分布的相匹配的变长编码

第五章 统计编码

Gorilla 浮点数异或编码

  • 第一个数不压缩
  • 如果与前一个数的异或值为0,只存储比特‘0’
  • 如果与前一个数的异或值不为0,计算有意义部分的前导零和尾随零的数量,存储比特‘1’,然后根据情况后面跟随:
    • a) 比特‘0’:如果有意义部分落在了上一个异或值的有意义部分内(前导零和尾随零的数量大于等于前一个异或值),只记录这部分内容(包括前后的部分0)
    • b) 比特‘1’:5个比特记录前导零长度,6个比特记录异或值的有意义部分长度,后面跟随有意义部分

举个例子:
前一个数:12.0,0x4028000000000000
当前的数:24.0,0x4038000000000000
异或值:0x0010000000000000
假设小于前一个编码后的前导零数量,则先输出比特‘11’,然后该异或值有11个前导零,输出‘01011’,然后有意义部分长度为1,输出‘000001’,最后输出有意义的部分‘1’,最终24.0被编码为‘11010110000011’,从64比特压缩到14比特。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据压缩比是指压缩后数据长度和原始数据长度之比,那么越高的数据压缩比表示数据压缩效果越好。数据压缩是一种常见的数据处理技术,可以减少数据存储和传输的需求,提高系统效率和资源利用率。 在进行数据压缩时,会使用各种算法和方法来减小数据的体积。常见的数据压缩算法包括无损压缩和有损压缩。无损压缩算法可以完全还原原始数据,而有损压缩算法则会在压缩过程中丢失部分信息。 数据压缩比可以用来衡量一个压缩算法的效率和性能。当数据压缩比接近1时,表示压缩效果不明显,压缩后的数据并没有减少太多。而当压缩比大于1时,表示压缩后的数据比原始数据还要长,这可能是由于压缩算法不适用于特定类型的数据。 选择合适的压缩算法需要根据具体的需求和数据特点进行,不同的压缩算法适用于不同的数据类型和应用场景。比如,对于图片、音频和视频等媒体数据,常常使用有损压缩算法,因为人们对这些数据的细微差异不敏感;而对于文本、代码和数据库等重要数据,则更倾向于使用无损压缩算法,以保证数据的完整性和准确性。 在实际应用中,我们通常会综合考虑数据压缩比、压缩和解压缩的时间开销以及系统性能等因素,以选择最适合的压缩算法。数据压缩技术的发展和应用,对于降低数据存储和传输成本,提高数据处理效率,具有重要意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值