指数哥伦布码

k阶指数哥伦布码的编码过程

指数哥伦布码(指数Golomb码),一种压缩编码方法。用来表示非负整数的k阶指数哥伦布码可用如下步骤生成:

  • 将数字以二进制形式写出,去掉最低的k个比特位,之后加1;
  • 计算留下的比特数,将此数减一,即是需要增加的前导零个数;
  • 将第一步中去掉的最低k个比特位补回比特串尾部。
    ——维基百科

0阶指数哥伦布码如下所示:

原始码 二进制形式 去掉最低的0个比特位 加1 增加前导0 补尾
0 0 0 1 1 1
1 1 1 10 010 010
2 10 10 11 011 011
3 11 11 100 00100 00100
4 100 100 101 00101 00101
5 101 101 110 00110 00110
6 110 110 111 00111 00111
7 111 111 1000 0001000 0001000
8 1000 1000 1001 0001001 0001001

k阶指数哥伦布码的解码过程

解析k阶指数哥伦布码时,首先从比特流的当前位置开始寻找第一个非零比特leadingZeroBits,然后根据公式计算出codeNum的值:

codeNum=2leadingZeroBits+k2k+values;

其中,values为第一个非零比特其后的(leadingZeroBits + k)个比特的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值