一、哥伦布编码(Golomb)
哥伦布编码是一种无失真资料压缩方法,由数学家所罗门·格伦布在1960年代提出。其优点为易于编码与解码,另外对于拥有几率分布为几何分布{G( p ),p=0.5}的资料,格伦布编码是最佳的前缀码,且能无限逼近该资料的熵,目前广泛用于无损影像压缩。wiki
哥伦布编码主要针对正整数进行编码,编码使用可调参数m,将输入的正整数n分为{q,r}两部分,其中q为n被m除后的结果,r为余数。
即 :q=n/m,r=n-m*q,对于q和r两部分,分别单独编码:
1、对q使用一元编码:一元编码就是对整数q编码成q个“1”+“0”的编码
2、对r使用固定长度的二进制编码
哥伦布编码实质是均匀的分组编码方式,有效的压缩了数据位宽,但是由于分布均匀,对于数值分布不均匀的数据并不能体现出优势。
二、哥伦布莱斯编码(Golomb-rice)
Golomb-rice编码进一步限制了m必须是2的次幂,限定m为2的次幂一方面有利于计算机系统和硬件电路实现,另一方面计算余数和除法转换为移位运算,便于实现
三、指数哥伦布编码(Exponential Golomb)
Exponential Golomb编