算术编码实现性能提升

时间:2013-03-20 19:56:32

标签: math encoding compression

我正在努力优化算术压缩实现。我在下面列出了一个基本的算术编码算法:

lower bound = 0
upper bound = 1

while there are still symbols to encode
  current range = upper bound - lower bound
  upper bound = lower bound + (current range × upper bound of new symbol)
  lower bound = lower bound + (current range × lower bound of new symbol)
end while

我有一个想法来舍入我的值,但为了这样做,上限的计算不能使用下限值。我无法弄清楚如何做到这一点。

更多信息:我计划将下界四舍五入,缩小范围,从而保持精确度,同时使我的数字减少数字。然后以同样的方式将我的上限向下舍入。 但是,如果我们增加下限的值,上限的计算会使它增加,从而使算法不正确。

我的问题是:如何在不使用下限值的情况下计算上限?

1 个答案:

答案 0 :(得分:0)

关于将字符串向左移动,请使用:string.substring(1)