引言
最近在看H.264/AVC的一些编码信息,印象最深的就是sps,pps 中的指数哥伦布(Golomb)熵编码算法,从网上搜了一些内容,发现讲解的不是很详细,所以自己总结一下便于自己查看
sps,pps中常用的指数哥伦布编码算法有
1、无符号指数哥伦布熵编码 ue(v)
2、有符号指数哥伦布熵编码 se(v)
3、映射指数哥伦布熵编码 me(v)
4、截断指数哥伦布熵编码 te(v)
后两者不是很常用,目前也没有搞明白,先略过,只解释前两者
1、无符号指数哥伦布熵编码
1.1 编码过程
1、将待编码的数加1转换为最小的二进制序列(假设一共M位);
2、此二进制序列前面补充M-1个0;
3、enjoy!
1.1.1 示例
对 4 进行无符号指数哥伦布熵编码
1、将4加1(为5)转换为最小的二进制序列即 101 (此是M=3)
2、此二进制序列前面补充M-1即两个0
3、得出的4的无符号指数哥伦布熵编码的序列为 00101
1.2 解码过程
1、获取二进制序列开头连续的N个0
2、读取之后的N+1位的值,假设为X
3、X-1获取解码后的值
1.2.1 示例
如对 00101进行无符号指数哥伦布熵解码
1、获取开头连续的N个0, 此时N = 2
2、再向后读取N+1位的值,即 101,为5
3、 5 - 1 =4 获取其解码后码值,enjoy!
1.3 其他
注意