版权归原作者所有,如有侵权,请联系我们

[科普中国]-指数哥伦布码

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

指数哥伦布码(Exponential-Golomb coding)是一种无损数据压缩方法。Exp-Golomb编码是一种可变长前缀码, 其硬件实现简单, 无需事先建立和存储码表, 不但可以通过硬件计算快速产生码字, 而且可以根据信源PDF函数灵活调整级数k, 因而, 可以达到很高的编码效率1。

前言在计算机中,一般数字的编码都为二进制,但是由于以相等长度来记录不同数字,因此会出现很多的冗余信息,如下:

|| ||

如数字1,原本只需要1个bit就能表示的数据,如今需要8个bit来表示,那么其余7个bit就可以看做是冗余数据,在网络传输时,如果以原本等长的编码方式来传输数据,则会出现很大的冗余量,加重网络负担但是如果只用有效字节来传输上述码流,则会是:10110011111111101,这样根本不能分离出原本的数据。哥伦布编码则是作为一种压缩编码算法,能很有效地对原本的数据进行压缩,并且能很容易地把编码后的码流分离成码字。

原理用来表示非负整数的k阶指数哥伦布码可用如下步骤生成:

将数字以二进制形式写出,去掉最低的k个比特,之后加1

计算留下的比特数,将此数减一,即是需要增加的前导零个数

将第一步中去掉的最低k个比特位补回比特串尾部

0~9的0~3级指数哥伦布编码如下图:

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所