0

算術圧縮の実装の最適化に取り組んでいます。以下に基本的な算術符号化アルゴリズムを含めました。

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

値を四捨五入する考えがありますが、そうするには、上限の計算で下限値を使用できません。その方法がわかりません。

詳細情報: 数値の桁数を減らしながら、下限を切り上げて範囲を狭め、精度を維持することを計画しています。次に、同じ方法で上限を下に丸めます。ただし、上限の計算では、下限の値を大きくすると上限が大きくなり、アルゴリズムが正しくなくなります。

私の質問は次のとおりです。下限の値を使用せずに上限を計算するにはどうすればよいですか?

4

1 に答える 1