算术编码

对于编码分布已知的随机变量,只需要一个字符接一个字符的进行,采用霍夫曼编码是最优的,但是霍夫曼编码收到码长必须是整数的限制,所以在编码的有效性方面会有多达一个比特/字符的损失,虽然通过分组,能将损失降低到1/n比特/字符,但是随着n的增加编码的复杂性也会增加。在算术编码中,不使用比特序列表示一个区间,而是用单位区间的子区间来表示字符。字符序列的编码是一个区间,它的长度随着增加更多的字符到序列中而减少。以下是香农-fano-elias编码,是算术编码的基础。算术编码
算术编码