13、音频编码技术:从熵编码到无损预测编码

音频编码技术:从熵编码到无损预测编码

1. Golomb - Rice编码

1.1 编码原理

Golomb - Rice编码器是一种简单的熵编码器,适用于待编码的索引 $i$ 具有拉普拉斯概率分布的情况,即 $p(i) \propto e^{-|k \cdot i|}$,其中 $k$ 为常数。在这种情况下,索引 $i$ 的最优码字长度 $H(i)$ 与 $k \cdot |i|$ 成正比,即 $H(i) \propto \log_2(p(i)) = k \cdot |i|$。

为了反映不同常数 $k$ 下码字长度的不同增长情况,Golomb - Rice 编码器的编码分为两部分:
1. 第一部分 :对索引 $i$ 的大致大小进行编码。通过将 $i$ 除以“块大小” $M$ 得到块索引 $i_b$,即 $i_b = \lfloor \frac{i}{M} \rfloor$,其中“$\lfloor \cdot \rfloor$” 是向下取整操作。当 $M$ 为 2 的幂次方时,编码会更简单,通常设 $M = 2^b$。块索引 $i_b$ 使用“一元”编码,即一个 0 后面跟着 $i_b$ 个 1。
2. 第二部分 :对“块内索引” $i - i_b \cdot M$ 进行编码,使用固定长度的二进制编码,其长度足以编码所有可能的块内索引。

1.2 Python示例

以下是 $b = 1$ 时的 Python 示例代码:

# for installation: su
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值